RTLDoc datamover (lkesting/konark) - RTLDoc example
module

hwpe_stream_fifo

hwpe-stream.bender/git/checkouts/hwpe-stream-d7752ab5ca8011c5/rtl/fifo/hwpe_stream_fifo.sv:68elaborated
4in
2out
0sub

The hwpe_stream_fifo module implements a hardware FIFO queue for HWPE-Stream streams, used to withstand data scarcity (valid`=0) or backpressure (`ready`=0), decoupling two architectural domains. This FIFO is single-clock and therefore cannot be used to cross two distinct clock domains. The FIFO will lower its `ready signal on the input stream push_i interface when it is completely full, and will lower its valid signal on the output stream pop_o interface when it is completely empty. The regular FIFO does not allow for transactions to fall through the FIFO queue if there are no stalls, therefore any transaction always "pays" at least 1 cycle latency through the FIFO. The alternative is the passthrough FIFO hwpe_stream_fifo_passthrough.

hwpe_stream_fifo design-time parameters.

Name

Default

Description

DATA_WIDTH

32

Width of the HWPE-Streams (typically multiple of 32, but this module does not care).

FIFO_DEPTH

8

Depth of the FIFO queue (multiple of 2).

LATCH_FIFO

0

If 1, use latches instead of flip-flops (requires special constraints in synthesis).

LATCH_FIFO_TEST_WRAP

0

If 1 and LATCH_FIFO is 1, wrap latches with BIST wrappers.

hwpe_stream_fifo output flags.

Name

Type

Description

empty

logic

1 if the FIFO is currently empty.

full

logic

1 if the FIFO is currently full.

push_pointer

logic[7:0]

Unused.

pop_pointer

logic[7:0]

Unused.

This module instantiates no other module.

Clocks

clk_i

Resets

rst_niactive-low

Ports 6

Inputs 4

DirNameTypeWidth
in clk_i logic 1
in rst_ni logic 1
in clear_i logic 1
in push_i hwpe_stream_intf_stream .sink -

Outputs 2

DirNameTypeWidth
out flags_o hwpe_stream_package::flags_fifo_t 20
out pop_o hwpe_stream_intf_stream .source -

Parameters 8

NameResolved value
DATA_WIDTH32'd512
ELEMENT_WIDTH32'd8
FIFO_DEPTH32'd2
LATCH_FIFO32'd0
LATCH_FIFO_TEST_WRAP32'd0
STRB_WIDTH32'd64
DATA_STRB_WIDTH32'd576
ADDR_DEPTH1

Instantiated by