summaryrefslogtreecommitdiffstats
path: root/control_lib/fifo_reader.v
blob: 49d05b1a63a04f58364bf92a1794504e3c58c4c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
module fifo_reader
  #(parameter rate=4)
    (input clk,
     input [31:0] data_in,
     output read_o
     input ready_i,
     input done_i
     );

   reg [7:0] state = 0;
   
   always @(posedge clk)
     if(ready)
       if(state == rate)
	 state <= 0;
       else
	 state <= state + 1;
     else
       state <= 0;

   assign    read = (state == rate);

   initial $monitor(data_in);
   
endmodule // fifo_reader