FPGA存储块,有没有使能Primitives output Register作用

本文揭示了在FPGA中,启用PrimitivesoutputRegister选项如何影响RAM读取时序,不选则1周期出数据,选则需2周期。理解其作用有助于提升系统性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在FPGA中,ROM,RAM存储块在IP核配置中都有一个配置选项:Primitives output Register,比如下图的rom IP核配置界面在这里插入图片描述
接下来以RAM读写为例,我这里RAM的第一个数值为1,我们观察第一个数值的位置即可看出这个reg的作用,我这里是always Enable配置:

没有勾选Primitives output Register的情况,

在这里插入图片描述
当我们给了ADDR后,1个时钟周期后,RAM存储块能够读出数值。

勾选Primitives output Register的情况,

在这里插入图片描述

当我们给了ADDR后,2个时钟时钟周期后,RAM存储块读出数值。

总结

现象:有没有勾选 Primitives output Register区别在于给了addr后,多少个时钟出来数据。
作用:可以优化对应时序

在Vivado中,ROM数据存储通常通过实例化ROM的IP来实现。首先,你需要建立一个工程,并为ROM选择一个合适的名称。然后,你可以选择32位存储,例如8KB,这相当于2048个存储单元,每个存储单元宽度为32位。你可以使用ENA引脚来使能ROM,确保勾选Primitives Output Register以保证上升沿时采集到访存地址信号。此外,你还需要准备一个Coe文件来初始化存储器的内容。通过这些步骤,你就可以在Vivado中创建一个ROM数据存储了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [手撸MIPS32——5、利用Vivado IP设计指令存储器和数据存储器](https://blog.csdn.net/u010594449/article/details/106245700)[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_1"}}] [.reference_item style="max-width: 50%"] - *2* [43_ZYNQ7020开发板Vivado配置ROM并用Vivao自带逻辑分析仪分析](https://download.csdn.net/download/weixin_39193953/12833664)[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_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值