elastic buffers classification
This commit is contained in:
@@ -42,34 +42,33 @@ module VX_elastic_buffer #(
|
||||
|
||||
end else if (SIZE == 1) begin
|
||||
|
||||
wire stall = valid_out && ~ready_out;
|
||||
|
||||
VX_pipe_register #(
|
||||
.DATAW (1 + DATAW),
|
||||
.RESETW (1)
|
||||
) pipe_register (
|
||||
.clk (clk),
|
||||
.reset (reset),
|
||||
.enable (~stall),
|
||||
.data_in ({valid_in, data_in}),
|
||||
.data_out ({valid_out, data_out})
|
||||
VX_pipe_buffer #(
|
||||
.DATAW (DATAW)
|
||||
) pipe_buffer (
|
||||
.clk (clk),
|
||||
.reset (reset),
|
||||
.valid_in (valid_in),
|
||||
.data_in (data_in),
|
||||
.ready_in (ready_in),
|
||||
.valid_out (valid_out),
|
||||
.data_out (data_out),
|
||||
.ready_out (ready_out)
|
||||
);
|
||||
|
||||
assign ready_in = ~stall;
|
||||
|
||||
end else if (SIZE == 2) begin
|
||||
|
||||
VX_skid_buffer #(
|
||||
.DATAW (DATAW),
|
||||
.FULL_BW (OUT_REG != 2),
|
||||
.OUT_REG (OUT_REG)
|
||||
) skid_buffer (
|
||||
.clk (clk),
|
||||
.reset (reset),
|
||||
.valid_in (valid_in),
|
||||
.valid_in (valid_in),
|
||||
.data_in (data_in),
|
||||
.ready_in (ready_in),
|
||||
.data_in (data_in),
|
||||
.data_out (data_out),
|
||||
.valid_out (valid_out),
|
||||
.data_out (data_out),
|
||||
.ready_out (ready_out)
|
||||
);
|
||||
|
||||
@@ -111,10 +110,10 @@ module VX_elastic_buffer #(
|
||||
.clk (clk),
|
||||
.reset (reset),
|
||||
.valid_in (~empty),
|
||||
.ready_in (ready_out_t),
|
||||
.data_in (data_out_t),
|
||||
.data_out (data_out),
|
||||
.ready_in (ready_out_t),
|
||||
.valid_out (valid_out),
|
||||
.data_out (data_out),
|
||||
.ready_out (ready_out)
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user