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

描述

》ROM的初使化    

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

HDL

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

HDL

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

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

》inlineRom

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

HDL

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

HDL

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





审核编辑:刘清

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分