Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 25 additions & 21 deletions umi/sumi/umi_fifo/rtl/umi_fifo.v
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,18 @@
******************************************************************************/

module umi_fifo
#(parameter TARGET = "DEFAULT", // implementation target
parameter DEPTH = 4, // FIFO depth
parameter AW = 64, // UMI width
parameter CW = 32, // UMI width
parameter DW = 256 // UMI width
#(parameter TARGET = "DEFAULT", // implementation target
parameter DEPTH = 4, // FIFO depth
parameter ALMOSTFULL = 0, // Almost full threshold
parameter AW = 64, // UMI width
parameter CW = 32, // UMI width
parameter DW = 256 // UMI width
)
(// control/status signals
input bypass, // bypass FIFO
input chaosmode, // enable "random" fifo pushback
output fifo_full,
output fifo_almost_full,
output fifo_empty,
// Input
input umi_in_clk,
Expand Down Expand Up @@ -86,24 +88,26 @@ module umi_fifo
//#################################

la_asyncfifo #(.DW(CW+AW+AW+DW),
.DEPTH(DEPTH))
.DEPTH(DEPTH),
.ALMOSTFULL(ALMOSTFULL))
fifo (// Outputs
.wr_full (fifo_full),
.rd_dout (fifo_dout[DW+AW+AW+CW-1:0]),
.rd_empty (fifo_empty),
.wr_full (fifo_full),
.wr_almost_full (fifo_almost_full),
.rd_dout (fifo_dout[DW+AW+AW+CW-1:0]),
.rd_empty (fifo_empty),
// Inputs
.wr_clk (umi_in_clk),
.wr_nreset (umi_in_nreset),
.wr_din ({umi_in_data[DW-1:0],umi_in_srcaddr[AW-1:0],umi_in_dstaddr[AW-1:0],umi_in_cmd[CW-1:0]}),
.wr_en (umi_in_valid),
.wr_chaosmode (chaosmode),
.rd_clk (umi_out_clk),
.rd_nreset (umi_out_nreset),
.rd_en (fifo_read),
.vss (vss),
.vdd (vdd),
.ctrl (1'b0),
.test (1'b0));
.wr_clk (umi_in_clk),
.wr_nreset (umi_in_nreset),
.wr_din ({umi_in_data[DW-1:0],umi_in_srcaddr[AW-1:0],umi_in_dstaddr[AW-1:0],umi_in_cmd[CW-1:0]}),
.wr_en (umi_in_valid),
.wr_chaosmode (chaosmode),
.rd_clk (umi_out_clk),
.rd_nreset (umi_out_nreset),
.rd_en (fifo_read),
.vss (vss),
.vdd (vdd),
.ctrl (1'b0),
.test (1'b0));

//#################################
// FIFO Bypass
Expand Down
2 changes: 1 addition & 1 deletion umi/sumi/umi_unpack/rtl/umi_unpack.v
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ module umi_unpack
// outputs
assign cmd_opcode[4:0] = packet_cmd[4:0];
assign cmd_size[2:0] = packet_cmd[7:5];
assign cmd_len[7:0] = {8{cmd_atomic}} & packet_cmd[15:8];
assign cmd_len[7:0] = {8{~cmd_atomic}} & packet_cmd[15:8];
assign cmd_atype[7:0] = packet_cmd[15:8];
assign cmd_qos[3:0] = packet_cmd[19:16];
assign cmd_prot[1:0] = packet_cmd[21:20];
Expand Down
Loading