// Hint for LSU EE 4702-1 Spring 2000 Homework 4. // An easier version of the hint for homework 4. // The iterator function is a convenient method for implementing // a pattern of missing marks. module hint(); parameter marks = 4; reg pd; time markon, markoff; integer pattern[99:0]; function integer iterator; input reset; integer pptr; begin if( reset ) pptr = 0; iterator = pattern[pptr]; pptr = pptr + 1; if( pptr >= marks ) pptr = 0; end endfunction // iterator initial begin:I integer i, pattern_number, dummy; //...; for( pattern_number = 0; pattern_number < 5; pattern_number = pattern_number + 1 ) begin case( pattern_number ) // All Present 0: for( i=0; i<marks; i=i+1 ) pattern[i] = 1; // One missing. 1:;// Insert code here. // Maximum missing, spread out. 2:;// Insert code here. // Maximum missing, big gap. 3:;// Insert code here. // Some other interesting pattern. 4:;// Insert code here. endcase // case( pattern_number ) // Reset iterator. dummy = iterator(1); // Lots of other code here. // Code below may need to be changed slightly to work in // testbench. forever begin if( iterator(0) ) pd <= 1; #markon; pd <= 0; #markoff; end end end endmodule // hint