0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在SpinalHDL中如何将ROM的初始化放置在RTL文件中?

Spinal FPGA 来源:Spinal FPGA 2023-04-01 15:27 次阅读

ROM的初使化

在之前的文章《Mem初始化太复杂?》中曾提到在SpinalHDL中如何对Mem进行初始化。以下面的代码为例:

72d5f742-d05e-11ed-bfe3-dac502259ad0.png

在默认情况下,SpinalHDL在生成代码时会同时生成一个bin文件及一个RTL代码文件。在RTL代码中,会通过readmemb函数来载入初始化内容:

73101f6c-d05e-11ed-bfe3-dac502259ad0.png

这么做没什么问题,平常我们这么做也较为经常。

这里面唯一不便的就是当我们用于跑仿真(直接用SpinalHDL仿真框架)或者用于制作工程时需要自己注意调整工程里所用到的bin文件的位置。

》inlineRom

在SpinalHDL中我们也可以通过SpinalConfig指定在生成RTL代码时直接将ROM初始化的设置放置在RTL文件中,通过设置inlineRom为true:

732e237c-d05e-11ed-bfe3-dac502259ad0.png

这时生成RTL代码时将不会再生成单独的bin文件,而是直接将ROM初始化放置在RTL代码中:

73553278-d05e-11ed-bfe3-dac502259ad0.png

如此,无论是制作工程还是在跑仿真时,只需关注RTL代码的位置即可。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ROM
    ROM
    +关注

    关注

    4

    文章

    525

    浏览量

    84817
  • HDL
    HDL
    +关注

    关注

    8

    文章

    323

    浏览量

    47104
  • RTL
    RTL
    +关注

    关注

    1

    文章

    377

    浏览量

    59069
  • BIN文件
    +关注

    关注

    0

    文章

    25

    浏览量

    8172

原文标题:二合一:ROM初始化放置到RTL中

文章出处:【微信号:Spinal FPGA,微信公众号:Spinal FPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    关于Quartus IIROM初始化数据.mif格式文件Modelsim仿真...

    各位大哥;小弟最近刚学FPGA,有个问题不懂,希望各位路过的大哥不吝赐教!我Quartus II调用了一个lpm_rom,用存放正弦波数值的.mif 格式文件
    发表于 03-24 18:02

    modelsim初始化ROM

    要在modelsim初始化ROM,夏雨闻书上说的是用系统任务readmemb,可是我用了怎么就不能初始化呢,求大神指教!
    发表于 05-13 18:01

    ISEROM初始化文件(.coe)的建立

    ISEROM初始化文的建立
    发表于 04-29 15:20

    FPGA片内ROM初始化文档创建

    文档创建既然是ROM,那么我们就必须实现给它准备好数据,然后FPGA实际运行时,我们直接使用这些预存储好的数据就行。Xilinx FPGA的片内ROM支持初始化数据配置。如图所示,我
    发表于 04-08 09:34

    IAR小课堂 | 如何将部分程序RAM运行

    初始化的函数代码从ROM 拷贝到 RAM。使用 __ramfunc 关键字的缺点就是不能指定函数RAM的具体位置。编译后的 map 文件
    发表于 10-31 14:09

    函数为什么IAP可以初始化通过

    使用STM32CubeIDE生成,当程序跳转到APP并且执行到函数SystemClock_Config的时候,初始化锁相环调用HAL_RCC_OscConfig函数的时候返回HA
    发表于 08-13 06:15

    SpinalHDL里实现优雅的添加待跟踪波形信号

    FPGA的开发过程,在线抓取波形往往是终极调试大法。而如何抓取信号,相信做逻辑开发的小伙伴都是轻车熟路,张口就来,无非两种方式嘛:待跟踪信号添加原语或者手动例Ila。而在SpinalHD
    发表于 06-22 14:37

    SpinalHDL的设计中集成现有RTL设计(IP)的渠道——BlackBox

    SpinalHDL例例一个带层次结构的RTL代码(RTL代码本身没什么意义,主要展示带层次结构的R
    发表于 06-22 14:59

    SpinalHDL关于casez的使用

    SpinalHDL的switch之前的文章中曾提到过SpinalHDLswitch的使用:通常情况下,switch对应着我们日常Ver
    发表于 07-06 10:59

    就Bits数据类型的初始化及使用方式做一个总结

    Bits:初始化Bits意味这一组有Bool类型组成的向量,类似与我们Verilog的多比特位宽变量。SpinalHDL
    发表于 07-12 16:31

    SpinalHDL的代码组织结构如何实现Component参数设计呢

    SpinalHDL在生成RTL时,会检测Bundle的所有元素是否都声明了端口方向。有一点是像上面的MyAdder端口声明放在Bun
    发表于 07-21 14:20

    请问SpinalHDL的Area到底是什么意思

    的电路对象本身也是一个scala类的实例对象,作为类的参数传递是可以直接定义电路对象的动作的。有了Area概念的引入,《SpinalHDL—像软件调用方法般例
    发表于 07-22 14:22

    studio硬件的初始化rt thread代码里面完成的吗

    请问用两种工具生成的代码是有区别吗?因为我用studio生成的工程如果要使用串口设备的话,代码只需要增加宏定义就能使用了,而ENV生成的工程是要需要在hal_msp.c文件添加相应的硬件
    发表于 08-31 14:39

    FPGA的ROM初始化问题讨论

    本文讨论FPGA的ROM初始化问题,详细介绍mit文件的创建与使用。利用FPGA实现的ROM只能认为器件处于用户状态时具备ROM功能。使用时
    发表于 02-08 14:24 5279次阅读
    FPGA的<b class='flag-5'>ROM</b><b class='flag-5'>初始化</b>问题讨论

    四种常见的ROM、RAM初始化文件格式

    Xilin ROM初始化文件,ISE初始化ROM的时候要用扩展名为coe的文件。其格式如下:
    的头像 发表于 06-29 09:08 1.1w次阅读