详解Xilinx Native FIFO的使用以及RST复位的注意事项

您所在的位置:网站首页 复位是哪个单词 详解Xilinx Native FIFO的使用以及RST复位的注意事项

详解Xilinx Native FIFO的使用以及RST复位的注意事项

2024-06-30 17:12| 来源: 网络整理| 查看: 265

文章目录 一、FIFO的简介二、Native FIFO 特点三、同步FIFO的不同配置以及仿真测试3.1 打开 FIFO Generrator3.2 端口设置3.3 标志信号设置3.3 数据数量信号设置3.4 标准读模式,读写位宽一致的FIFO仿真测试以及信号分析3.4.1 控制代码编写3.4.2 FIFO写数据端仿真结果分析3.4.3 FIFO读数据端仿真结果分析 3.5 标准读模式,打开output Register的FIFO仿真测试3.6 FWFT模式下,FIFO仿真测试以及信号解析3.7 标准读模式,读写位宽不一致的FIFO仿真测试以及信号分析3.7.1 写读宽度1:4的FIFO测试3.7.2 写读宽度4:1的FIFO测试 四、异步FIFO的不同配置以及仿真测试4.1 打开 FIFO Generrator4.2 端口设置4.3 标志信号设置4.4 读写数据数量信号设置4.5 关于FIFO异步复位需要注意的问题4.5.1 FIFO复位时,读或者写时钟丢失的情况仿真4.5.2 FIFO复位时,RST复位周期小于3个慢时钟周期的情况仿真 4.6 标准读模式,读写位宽一致的FIFO仿真测试以及读写域信号分析4.6.1 programmable flag仿真测试 五、使用FIFO的注意事项总结参考

一、FIFO的简介

  FIFO( First Input First Output)指的是一种数据结构,数据以先进先出的顺序进行处理。FIFO分为同步FIFO和异步FIFO,应用场景非常广泛,例如:跨时钟域传输、数据缓存、数据位宽转换等等。

  Xilinx FIFO支持自定义宽度、深度、状态标志、内存类型和写入 (读取)端口宽高比。FIFO 还可以进行定制,以利用某些 FPGA 系列中提供的块 RAM、分布式 RAM 或内置 FIFO 资源来创建高性能、面积优化等 FPGA 设计。Xilinx支持 Native、AXI4-Stream、AXI4、AXI3 和 AXI4-Lite 接口 本文主要讲解Native接口的FIFO,AXI接口的后续再讲解。其中Native接口异步FIFO结构如下: 在这里插入图片描述

二、Native FIFO 特点 FIFO 数据宽度为 1 至 1024 位对称或非对称宽高比(读写端口比范围为 1:8 至 8:1)同步或异步复位选项可选存储器类型(块 RAM、分布式 RAM) 、移位寄存器或内置 FIFO选择在标准或第一个字下降模式 (FWFT) 下运行满和空状态标志,以及用于指示左字的几乎满和几乎空标志可编程满和空状态标志,由用户定义的常量或专用输入端口设置可配置的握手信号支持 Block RAM 和内置 FIFO 配置的汉明错误注入和纠正检查 (ECC) 三、同步FIFO的不同配置以及仿真测试 3.1 打开 FIFO Generrator

在这里插入图片描述

用户给FIFO的命名,这里测试同步FIFO,因此命名为scfifo_test接口种类:正如上文所述,Xilinx支持Native和AXI接口,本文主要讲解Native接口组成FIFO的方式,同步还是异步,由块 RAM、分布式 RAM 还是内置 FIFO 资源构成各种FIFO支持的特性列表每种特性的是什么意思: (1) Non-symmetric aspect ratios:非对称纵横比(读写的数据端口位宽可以不一致,范围从 1:8 到 8:1) (2) First-Word Fall-Through:第一个字读出功能,当 FIFO 中存在数据时,第一个字将通过 FIFO自动出现在输出总线 dout上 (3) Uses Built-in FlFO primitives:使用内置的FIFO单元,从而可以通过在宽度和深度上级联内置 FIFO 来创建大型 FIFO (4) ECC support:纠正检查支持 (5) Dynamic Error Injection:汉明错误注入

我们就选择Native接口,由块Block RAM组成的同步FIFO

3.2 端口设置

在这里插入图片描述

读FIFO模式,标准的FIFO是读使能来临后,延迟一个时钟周期输出数据。这里选择标准,后面会测试FWFT。读写数据位宽以及深度,默认都是同位宽,后面会测试不同读写位宽。输出寄存器,如果打开,输出的数据会延迟一拍出来复位管脚复位模式,分为同步复位和异步复位复位时,dout数据显示什么数值读数据延迟的时钟周期 3.3 标志信号设置

在这里插入图片描述

可以操作的标准信号,几乎满标志和几乎空标志写确认确认信号和读有效信号,和读写溢出信号。可以打开看是否数据正确的读写进FIFO 3.3 数据数量信号设置

在这里插入图片描述   可以显示FIFO内还剩多少数量,因为这里选择的是同步FIFO,因此只有一个data_count。如果是异步FIFO,将会有读写数量。

3.4 标准读模式,读写位宽一致的FIFO仿真测试以及信号分析 3.4.1 控制代码编写 `timescale 1ns / 1ps module my_scfifo_test( input sys_clk , //输入时钟 input rst_n //系统复位 ); wire [17:0] dout ; //FIFO读数据 wire full ; //FIFO满信号 wire empty ; //FIFO空信号 wire almost_full ; //FIFO几乎满信号 wire almost_empty ; //FIFO几乎空信号 wire [9:0] data_count ; //FIFO数据数量 reg srst ; //FIFO复位 reg [17:0] din ; //FIFO写数据 reg wr_en ; //FIFO 写使能 reg rd_en ; //FIFO读使能 reg [6:0] wait_cnt ; //等待复位完成计数器 reg [2:0] state ; always @(posedge sys_clk or negedge rst_n) begin if(rst_n == 1'b0)begin wait_cnt


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3