✎ 编 者 按
快速了解在SpinalHDL中如何将ROM的初始化放置在RTL文件中。
》ROM的初使化
在之前的文章《Mem初始化太复杂?》中曾提到在SpinalHDL中如何对Mem进行初始化。以下面的代码为例:
在默认情况下,SpinalHDL在生成代码时会同时生成一个bin文件及一个RTL代码文件。在RTL代码中,会通过readmemb函数来载入初始化内容:
这么做没什么问题,平常我们这么做也较为经常。
这里面唯一不便的就是当我们用于跑仿真(直接用SpinalHDL仿真框架)或者用于制作工程时需要自己注意调整工程里所用到的bin文件的位置。
》inlineRom
在SpinalHDL中我们也可以通过SpinalConfig指定在生成RTL代码时直接将ROM初始化的设置放置在RTL文件中,通过设置inlineRom为true:
这时生成RTL代码时将不会再生成单独的bin文件,而是直接将ROM初始化放置在RTL代码中:
如此,无论是制作工程还是在跑仿真时,只需关注RTL代码的位置即可。
》写在最后
这个feature之前自己也很少用到,微信群里面的小伙伴讨论才留意到这个feature。目前微信交流群“SpinalHDL-CN”已满,开通“SpinalHDL-02-CN”,为了防止群里有太多的人潜水,所以这次的微信群采用“会员制”:
1、入群邀请不直接开放,采用邀请制
2、微信群入群费为5元,入群费不归我个人所有,微信群中每满50人群里红包发放。
感兴趣的小伙伴可以联系我~
☆ END ☆
作者:玉骐
原文链接:Spinal FPGA
微信公众号:
推荐阅读
更多SpinalHDL技术干货请关注Spinal FPGA欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。