Gowin 异步 FIFO HS IP 可完成异步时钟域不同位宽的数据传递和缓存功能,根据用户的不同需求配置不同的输出控制信号和数据结构。
主要特征
● FIFO HS IP 内部存储结构的实现类型可配置,包括:Block RAM、 Distributed RAM 和 LUT;
● 写数据深度可配置,深度值为2的n次幂 ,最大为 65536;
● 写数据位宽可配置,大小为 1-256 bit;
● 读数据深度可配置,深度值为2的n次幂 ,最大为 65536;
● 读数据位宽=写数据深度 x 写数据位宽/读数据深度,不可配置。
注!
上述公式须能够整除,这也限制了读数据深度的最大值;
● 读写数据数目的输出可配置,可以选择输出读写数据的数目,也可以选择不输出;
● 复位功能可配置,可以选择不使用复位(由 GSR 完成复位),可以选择一个复位,也可以选择读写分别复位;
● 标志信号输出可选,可以选择输出半空、半满标志,也可以选择不输出半空、半满标志,输出的半空半满信号与原 FIFO IP 相比晚一个周期;
● 若选择输出半空、半满标志,则半空、半满的阈值可以进行配置,可以配置为:静态的单个常量阈值、静态的双常量阈值、动态的单个输入阈值、动态的双输入阈值;
● ECC 校验功能可选。当异步 FIFO HS IP 内部的存储结构由 Block RAM实现,且读写数据位宽相等并且小于等于 64bit 时,ECC 校验才可选;
● 输出寄存器功能可配置。若选择输出寄存器功能,则读使能(RdEn)控制可选。若选择读使能控制,则输出寄存器受 RdEn 控制,最后一个数据不能输出。若选择输出寄存器功能,不选择读使能控制,则读数据输出晚一个周期,最后一个数据会输出。
● 支持 First-Word Fall-Through 功能,但时序较差。