@@ -79,14 +79,47 @@ module settings_fifo_ctrl
7979 wire command_fifo_full, command_fifo_empty;
8080 wire command_fifo_read, command_fifo_write;
8181
82+ wire [128 :0 ] fifo2_datain, fifo3_datain, fifo4_datain;
83+ wire fifo1_empty, fifo2_empty, fifo3_empty;
84+ wire fifo2_full, fifo3_full, fifo4_full;
85+ wire fifo1_to_fifo2, fifo2_to_fifo3, fifo3_to_fifo4;
86+
8287 shortfifo #(.WIDTH(129 )) command_fifo (
8388 .clk(clock), .rst(reset), .clear(clear),
8489 .datain({in_command_ticks, in_command_hdr, in_command_data, in_command_has_time}),
85- .dataout({out_command_ticks, out_command_hdr, out_command_data, out_command_has_time} ),
90+ .dataout(fifo2_datain ),
8691 .write(command_fifo_write), .full(command_fifo_full), // input interface
92+ .empty(fifo1_empty), .read(fifo1_to_fifo2) // output interface
93+ );
94+
95+ shortfifo #(.WIDTH(129 )) command_fifo2 (
96+ .clk(clock), .rst(reset), .clear(clear),
97+ .datain(fifo2_datain),
98+ .dataout(fifo3_datain),
99+ .write(fifo1_to_fifo2), .full(fifo2_full), // input interface
100+ .empty(fifo2_empty), .read(fifo2_to_fifo3) // output interface
101+ );
102+
103+ shortfifo #(.WIDTH(129 )) command_fifo3 (
104+ .clk(clock), .rst(reset), .clear(clear),
105+ .datain(fifo3_datain),
106+ .dataout(fifo4_datain),
107+ .write(fifo2_to_fifo3), .full(fifo3_full), // input interface
108+ .empty(fifo3_empty), .read(fifo3_to_fifo4) // output interface
109+ );
110+
111+ shortfifo #(.WIDTH(129 )) command_fifo4 (
112+ .clk(clock), .rst(reset), .clear(clear),
113+ .datain(fifo4_datain),
114+ .dataout({out_command_ticks, out_command_hdr, out_command_data, out_command_has_time}),
115+ .write(fifo3_to_fifo4), .full(fifo4_full), // input interface
87116 .empty(command_fifo_empty), .read(command_fifo_read) // output interface
88117 );
89118
119+ assign fifo1_to_fifo2 = ~ fifo2_full & ~ fifo1_empty;
120+ assign fifo2_to_fifo3 = ~ fifo3_full & ~ fifo2_empty;
121+ assign fifo3_to_fifo4 = ~ fifo4_full & ~ fifo3_empty;
122+
90123 // ------------------------------------------------------------------
91124 // -- The result fifo:
92125 // -- Stores an individual result of a command per line.
0 commit comments