Asymmetric Width Operation
Asymmetric aspect ratios allow the input and output of the FIFO width and depth to be configured differently. You only need to configure the write width and depth, while the read width and read depth are computed automatically by the FIFO based on your parameter settings. The following table lists the supported asymmetric width ratio.
| Ratio | Write Width | Read Width | Write Depth | Read Depth |
|---|---|---|---|---|
| 16:1 | N | N/16 | 2M | 2M x 16 |
| 8:1 | N | N/8 | 2M | 2M x 8 |
| 4:1 | N | N/4 | 2M | 2M x 4 |
| 2:1 | N | N/2 | 2M | 2M x 2 |
| 1:1 | N | N | 2M | 2M |
| 1:2 | N | N*2 | 2M | 2M / 2 |
| 1:4 | N | N*4 | 2M | 2M / 4 |
| 1:8 | N | N*8 | 2M | 2M / 8 |
| 1:16 | N | N*16 | 2M | 2M / 16 |
In operations with 2:1 aspect ratio, the write width is two times the read width. In the example below, each write request has 8-bit data which requires 2 read requests (4-bit width per clock cycle) to free-up the entry.
In operations with 1:2 aspect ratio, the read width is two times the write width. In the example below, each write request has 8-bit data where two write requests are required to contribute to a single read word (16-bit width).
For asymmetric width operation, the full and empty flags are active only when one complete word can be read or written. Therefore, accessing partial words is not allowed. For example, assuming a full FIFO, if the write width is 8 bits and read width is 4 bits, two valid read operations are needed before full de-asserts and a write operation is accepted.