Entity: prim_fifo_sync_fpv
- File: prim_fifo_sync_fpv.sv
Diagram
Description
Copyright lowRISC contributors. Licensed under the Apache License, Version 2.0, see LICENSE for details. SPDX-License-Identifier: Apache-2.0
Testbench module for prim_fifo_sync. Intended to be used with a formal tool.
This formal testbench instantiates a set of differently parameterized FIFOs:
- a depth 0 pass through FIFO
- depth 1, 7, 8, 15, 16 pass through FIFOs
- depth 1, 7, 8, 15, 16 non-pass through FIFOs
Data/depth value checks are enabled up to depth 8 in order to constrain the runtime.
Generics
Generic name | Type | Value | Description |
---|---|---|---|
NumDuts | int unsigned | 11 | number of DUTs instantiated in this FPV testbench |
Width | int unsigned | 4 | fifo params |
MaxDepth | int unsigned | 16 | max depth used in this destbench |
DepthW | int unsigned | $clog2(MaxDepth+1) |
Ports
Port name | Direction | Type | Description |
---|---|---|---|
clk_i | input | ||
rst_ni | input | ||
clr_i | input | ||
wvalid_i | input | ||
wready_o | output | ||
wdata_i | input | [Width-1:0] | |
rvalid_o | output | ||
rready_i | input | ||
rdata_o | output | [Width-1:0] | |
depth_o | output | [DepthW-1:0] |
Constants
Name | Type | Value | Description |
---|---|---|---|
DepthW | int unsigned | $clog2(MaxDepth+1) |
Instantiations
- i_nopass1: prim_fifo_sync
Description
need to instantiate by hand since bind statements inside
generate blocks are currently not supported
//////////////////
non-pass FIFOs //
//////////////////
- i_nopass7: prim_fifo_sync
- i_nopass8: prim_fifo_sync
- i_nopass15: prim_fifo_sync
- i_nopass16: prim_fifo_sync
- i_pass0: prim_fifo_sync
Description
//////////////
pass FIFOs //
//////////////
depth_o-zero is per definition a pass-through FIFO
- i_pass1: prim_fifo_sync
- i_pass7: prim_fifo_sync
- i_pass8: prim_fifo_sync
- i_pass15: prim_fifo_sync
- i_pass16: prim_fifo_sync