// Hint for LSU EE 4702-1 Spring 2000 Homework 4.

// The iterator function is a convenient method for implementing
// a pattern of missing marks.


module hint();

   parameter marks = 4;
   parameter it_next_mark = 0;
   // parameters for other iterator operations goes here.

   reg       pd;
   time      markon, markoff;
       

   function integer iterator;
      input [1:0] operation;

      integer pattern[99:0];
      integer pptr;

      begin
         if( operation == it_next_mark ) begin
            iterator = pattern[pptr];
            pptr = pptr + 1;
            if( pptr === marks ) pptr = 0;
         end else begin
            // Code for initializing pattern goes here.
         end
      
      end
      
   endfunction // iterator

   initial begin
      //...;
      
      forever begin
         if( iterator(it_next_mark) ) pd <= 1;
         #markon;
         pd <= 0;
         #markoff;
      end

   end
   
endmodule // hint