十二 · 2023年04月11日

二合一:ROM初始化放置到RTL中

✎ 编 者 按 

快速了解在SpinalHDL中如何将ROM的初始化放置在RTL文件中。

》ROM的初使化

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

image.png

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

image.png

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

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

》inlineRom

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

image.png

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

image.png

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

》写在最后

    这个feature之前自己也很少用到,微信群里面的小伙伴讨论才留意到这个feature。目前微信交流群“SpinalHDL-CN”已满,开通“SpinalHDL-02-CN”,为了防止群里有太多的人潜水,所以这次的微信群采用“会员制”:

    1、入群邀请不直接开放,采用邀请制

    2、微信群入群费为5元,入群费不归我个人所有,微信群中每满50人群里红包发放。

    感兴趣的小伙伴可以联系我~

☆ END ☆

作者:玉骐
原文链接:Spinal FPGA
微信公众号:
 title=

推荐阅读

更多SpinalHDL技术干货请关注Spinal FPGA欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
1581
内容数
133
用SpinalHDL提升生产力
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息