/
...
/
/
六.FIFO IP核 FP
Search
Try Notion
六.FIFO IP核 FP
一.FIFO简介
FIFO: First In First Out
高速异步数据交互-跨时钟域信号传递
缓冲区满: 写满写等待(写停止,直到读取来减少缓冲区) 读满读等待
FIFO IP结构
🖼️FIFO结构图
异步信号
wr_clk rd_clk: 写模块 读模块 时钟可以异步(两个分别的时钟)
wr_rst rd_rst: 也可以单独写写复位 单独读复位
缓冲区标志位
Full Empty: 写满标志位(Full): FIFO→设备 读满标志位(Empty): FIFO→设置
overflow underflow: 上下溢出(???如何去区别和Full Empty)
Almost_Full Almost_Empty: 提前一个时钟拉高
Prog_Full Prog_Empty: 数据大于/小于设定值时候拉高
Prog_Full_thresh_assert Prog_empty_thresn_assert(Option): 进行门限值修改标志位
Prog_Full_thresh_negate ... (Option): 门限值失效失效位(Reset)
Prog_Full_thresh ... (Option): 门限值传输的数据线
wr_date_count rd_date_count(Option): 还有多少可写数据 可读数据—即缓冲区现状
读写信号
din dout: 有BRAM(Block RAM) DRAM(Distributed RAM)两种资源: BRAM支持读写位宽不一致(一般选择) DRAM则不支持
wr_en rd_en: 当有一个脉冲时候,通知FIFO 输入/输出 数据
wr_ack valid(Option): 对应的ACK信号,对于读而言,只有valid也是高的,读出的数据才有效
FIFO读写时序
🖼️FIFO写时序
🖼️FIFO读时序
🖼️读写时序
think
二.FIFO IP使用
🖼️FIFO使用框架
FIFO Wizard配置
Basic
接口类型: Native AXI
使用资源: BlockRAM 记得选择读写可以不同步的时钟类型
Native Ports
Read Mode: Standard FIFO/First Word Fall Through
🖼️FWFT时序
Standard FIFO: 读使能后才有数据读出
FWFT: 读使能还没给的时候,第一个数据就已经送到Date上了,不延迟时钟
读写 宽度 深度
ECC选项,同RAM IP核
输出寄存器,同RAM IP核
复位: 本次实验不选择
Status Flags
Almost_Full Almost_Empty
Write_ACK OverFlow / Vaild UnderFlow
Threshold门限配置
Date Count