Entity: oh_fifo_sync
- File: oh_fifo_sync.v
Diagram
Description
#############################################################################
Function: Synchronous FIFO
#############################################################################
Author: Andreas Olofsson
License: MIT (see LICENSE file in OH! repository)
#############################################################################
Generics
| Generic name | Type | Value | Description |
|---|---|---|---|
| N | 32 | FIFO width | |
| DEPTH | 32 | FIFO depth | |
| REG | 1 | Register fifo output | |
| SYNCPIPE | 2 | depth of synchronization pipeline | |
| SYN | "TRUE" | synthesizable | |
| TYPE | "DEFAULT" | implementation type | |
| SHAPE | "SQUARE" | hard macro shape (square, tall, wide), | |
| PROGFULL | DEPTH-1 | programmable almost full level | |
| AW | $clog2(DEPTH) | count width (derived) |
Ports
| Port name | Direction | Type | Description |
|---|---|---|---|
| clk | input | clock | |
| nreset | input | async reset | |
| clear | input | clear fifo (synchronous) | |
| wr_clk | input | write port | |
| wr_din | input | [N-1:0] | data to write |
| wr_en | input | write fifo | |
| wr_full | output | fifo full | |
| wr_almost_full | output | one entry left | |
| wr_prog_full | output | programmable full level | |
| wr_count | output | [AW-1:0] | pessimistic report of entries from wr side |
| rd_clk | input | read port | |
| rd_dout | output | [N-1:0] | output data (next cycle) |
| rd_en | input | read fifo | |
| rd_empty | output | fifo is empty | |
| bist_en | input | bist enable | |
| bist_we | input | write enable global signal | |
| bist_wem | input | [N-1:0] | write enable vector |
| bist_addr | input | [AW-1:0] | address |
| bist_din | input | [N-1:0] | data input |
| bist_dout | input | [N-1:0] | data input |
| shutdown | input | shutdown signal | |
| vss | input | ground signal | |
| vdd | input | memory array power | |
| vddio | input | periphery/io power | |
| memconfig | input | [7:0] | generic memory config |
| memrepair | input | [7:0] | repair vector |
Signals
| Name | Type | Description |
|---|---|---|
| wr_addr | reg [AW:0] | ############################ local wires ############################ |
| rd_addr | reg [AW:0] | |
| empty_reg | reg | |
| fifo_read | wire | |
| fifo_write | wire | |
| ptr_match | wire | |
| fifo_empty | wire |
Processes
- unnamed: ( @ (posedge clk or negedge nreset) )
Type: always
- unnamed: ( @ (posedge clk) )
Type: always
Description
Pipeline register to account for RAM output register