Vivado的FIFO

1 选择IP核

       选择并双击”FIFO generator”

2 配置

 3    单击OK,弹出“generate output products”(生成输出产品)对话框

如图:在sources 窗口单击IP sources,选择并展开fifo_generator_0选项,在展开项中,找到instantiation template,Verilog语言,一般选择fifo_generator_0.veo文件

4 添加顶层设计文件

  在sources 窗口中,将标签页重新切换到hierarchy 标签页

  选中design  sources 文件夹,单击右键,出现add sources

  Create source file, file name “top”,然后在top module中编写代码

5 错误记录

 1)生成的FIFO的接口,带有DEST的接口,一般这个接口是用于分配数据的时候使用,比如主master需要向不同的slave写入数据,那么不同的slave的FIFO带有索引编号,第一个slave的接口TDEST标识1,第二个slave的接口标识为2

AXI stream的接口

Name

输入/输出

描述

s_axis_tid[m:0]

Input

TID: The data stream identifier that indicates different
streams of data.

s_axis_tdest[m:0]

Input

TDEST: Provides routing information for the data stream

s_axis_tuser[m:0]

Input

TUSER: The user-defined sideband information that can be
transmitted alongside the data stream

2)调试经验:

默认vivado生成的FIFO的timescale的精度为1ns/1ps,如果我们在写tb的时候,仿真的精度设置为1ps/1ps,出现的情况是FIFO的数据没有写进去,数据读出来全部为0,从波形上看,写入是成功的,但是读出来的数据为0

Vivado FIFO是一种在Xilinx Vivado设计工具中使用的先进先出(FIFO)数据结构。FIFO是一种存储数据的缓冲区,它按照先进先出的原则对数据进行读写操作。 根据引用中的描述,Vivado FIFO的写时钟速率为50MHz,读时钟速率为100MHz。这意味着在写入数据时,每个时钟周期可以写入一个数据,而在读取数据时,每个时钟周期可以读取两个数据。 引用中的仿真结果显示,在将数据0-2047写入FIFO后,FIFO的full信号被拉高,表示FIFO已满。此时,写使能信号wr_en被拉低,读使能信号rd_en被拉高,开始从FIFO中读取数据。 而引用中的仿真结果显示,写模块成功将16位的1-2047数据写入FIFO,读FIFO模块以8位的方式从FIFO中正确地读取出写入的数据。 综上所述,Vivado FIFO是一种在Vivado设计工具中使用的FIFO数据结构,可以按照先进先出的原则对数据进行读写操作,并具有相应的时钟速率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [VivadoFIFO核使用](https://blog.csdn.net/jiguangshen/article/details/124271242)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值