文章目录
FIFO的实现方式
接口类型:Native、AXI Memory Mapped、AXI Stream。
Interface Type | description |
---|---|
Native | Implements a Native FIFO. |
AXI Memory Mapped | Implements an AXI4, AXI3 and AXI4-Lite FIFOs in First-Word-Fall-Through mode. |
AXI Stream | Implements an AXI4-Stream FIFO in First-Word-Fall-Through mode. |
其中在Native接口模式下可使用块RAM、分布式RAM、移位寄存器、内嵌FIFO四种选项实现FIFO。
对于内嵌的FIFO和块RAM FIFO,支持错误注入和纠正检测(ECC),支持嵌入式寄存器选项。
典型应用
FIFO类型 | 典型应用 |
---|---|
跨时钟域 | |
Native FIFO | 低延时存储器缓存 |
总线位宽调整 | |
AXI4-Stream FIFOs | AXI4-Stream FIFO 最适合非基于地址的点对点应用。使用它们可连接使用该接口的其他 IP 内核(例如,FFT、DDS 和 FIR 编译器等 DSP 功能的 AXI4 版本)。 |
AXI4/AXI3 Memory Mapped FIFOs | AXI4/AXI3 接口的完整版本称为 AXI4/AXI3。也可称为 AXI 内存映射。在内存映射系统总线设计中使用 AXI4/AXI3 FIFO,如需要内存映射接口连接其他 AXI4/AXI3 块的桥接应用。 |
AXI4-Lite FIFOs | AXI4-Lite 接口是一种更简单的 AXI 接口,支持只需执行简单的控制/状态寄存器访问或外设访问的应用。 |
位宽转换的数据对应关系
Native接口下只有用BRAM才能实现位宽转换。
以写位宽为8bit,读位宽为16bit;和写位宽为8bit,读位宽为4bit为例,如下图。
可以看出,FIFO的位宽转换和RAM中相反Xilinx RAM IP核的使用及注意事项,更符合我们先进先出的思想。
低位宽的起始地址从高位宽起始地址中数据的高位开始取数据。简单讲就是低字节的数据会被放在高地址。