0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

Spinal FPGA ? 來源:Spinal FPGA ? 2023-04-01 15:27 ? 次閱讀

ROM的初使化

在之前的文章《Mem初始化太復(fù)雜?》中曾提到在SpinalHDL中如何對Mem進(jìn)行初始化。以下面的代碼為例:

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

在默認(rèn)情況下,SpinalHDL在生成代碼時(shí)會同時(shí)生成一個(gè)bin文件及一個(gè)RTL代碼文件。在RTL代碼中,會通過readmemb函數(shù)來載入初始化內(nèi)容:

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

這么做沒什么問題,平常我們這么做也較為經(jīng)常。

這里面唯一不便的就是當(dāng)我們用于跑仿真(直接用SpinalHDL仿真框架)或者用于制作工程時(shí)需要自己注意調(diào)整工程里所用到的bin文件的位置。

》inlineRom

在SpinalHDL中我們也可以通過SpinalConfig指定在生成RTL代碼時(shí)直接將ROM初始化的設(shè)置放置在RTL文件中,通過設(shè)置inlineRom為true:

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

這時(shí)生成RTL代碼時(shí)將不會再生成單獨(dú)的bin文件,而是直接將ROM初始化放置在RTL代碼中:

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

如此,無論是制作工程還是在跑仿真時(shí),只需關(guān)注RTL代碼的位置即可。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    572

    瀏覽量

    85772
  • HDL
    HDL
    +關(guān)注

    關(guān)注

    8

    文章

    327

    瀏覽量

    47390
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59789
  • BIN文件
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    8291

原文標(biāo)題:二合一:ROM初始化放置到RTL中

文章出處:【微信號:Spinal FPGA,微信公眾號:Spinal FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于Quartus IIROM初始化數(shù)據(jù).mif格式文件,Modelsim仿真...

    各位大哥;小弟最近剛學(xué)FPGA,有個(gè)問題不懂,希望各位路過的大哥不吝賜教!我Quartus II調(diào)用了一個(gè)lpm_rom,用存放正弦波數(shù)值的.mif 格式文件
    發(fā)表于 03-24 18:02

    modelsim初始化ROM

    要在modelsim初始化ROM,夏雨聞書上說的是用系統(tǒng)任務(wù)readmemb,可是我用了怎么就不能初始化呢,求大神指教!
    發(fā)表于 05-13 18:01

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

    ISEROM初始化文的建立
    發(fā)表于 04-29 15:20

    FPGA片內(nèi)ROM初始化文檔創(chuàng)建

    文檔創(chuàng)建既然是ROM,那么我們就必須實(shí)現(xiàn)給它準(zhǔn)備好數(shù)據(jù),然后FPGA實(shí)際運(yùn)行時(shí),我們直接使用這些預(yù)存儲好的數(shù)據(jù)就行。Xilinx FPGA的片內(nèi)ROM支持初始化數(shù)據(jù)配置。如圖所示,我
    發(fā)表于 04-08 09:34

    SpinalHDL的設(shè)計(jì)中集成現(xiàn)有RTL設(shè)計(jì)(IP)的渠道——BlackBox

    ,SpinalHDL例例一個(gè)帶層次結(jié)構(gòu)的RTL代碼(RTL代碼本身沒什么意義,主要展示帶層次結(jié)構(gòu)的R
    發(fā)表于 06-22 14:59

    SpinalHDL關(guān)于casez的使用

    SpinalHDL的switch之前的文章中曾提到過SpinalHDLswitch的使用:通常情況下,switch對應(yīng)著我們?nèi)粘er
    發(fā)表于 07-06 10:59

    就Bits數(shù)據(jù)類型的初始化及使用方式做一個(gè)總結(jié)

    Bits:初始化Bits意味這一組有Bool類型組成的向量,類似與我們Verilog的多比特位寬變量。SpinalHDL
    發(fā)表于 07-12 16:31

    SpinalHDL的代碼組織結(jié)構(gòu)如何實(shí)現(xiàn)Component參數(shù)設(shè)計(jì)呢

    ,SpinalHDL在生成RTL時(shí),會檢測Bundle的所有元素是否都聲明了端口方向。有一點(diǎn)是像上面的MyAdder端口聲明放在Bun
    發(fā)表于 07-21 14:20

    FPGA的ROM初始化問題討論

    本文討論FPGA的ROM初始化問題,詳細(xì)介紹mit文件的創(chuàng)建與使用。利用FPGA實(shí)現(xiàn)的ROM只能認(rèn)為器件處于用戶狀態(tài)時(shí)具備ROM功能。使用時(shí)
    發(fā)表于 02-08 14:24 ?5499次閱讀
    FPGA的<b class='flag-5'>ROM</b><b class='flag-5'>初始化</b>問題討論

    objc源碼NSObject如何進(jìn)行初始化

    + alloc 和 - init 這一對我們 iOS 開發(fā)每天都要用到的初始化方法一直困擾著我, 于是筆者仔細(xì)研究了一下 objc 源碼 NSObject 如何進(jìn)行
    發(fā)表于 09-26 09:58 ?0次下載

    四種常見的ROM、RAM初始化文件格式

    Xilin ROM初始化文件,ISE初始化ROM的時(shí)候要用擴(kuò)展名為coe的文件。其格式如下:
    的頭像 發(fā)表于 06-29 09:08 ?1.2w次閱讀

    51平臺下初始化文件的引入導(dǎo)致全局變量無法初始化的問題如何解決

    本文檔的主要內(nèi)容詳細(xì)介紹的是51平臺下初始化文件的引入導(dǎo)致全局變量無法初始化的問題如何解決。
    發(fā)表于 08-20 17:31 ?0次下載
    <b class='flag-5'>在</b>51平臺下<b class='flag-5'>初始化</b><b class='flag-5'>文件</b>的引入導(dǎo)致全局變量無法<b class='flag-5'>初始化</b>的問題如何解決

    簡述HLS的數(shù)組初始化遇到的那些個(gè)問題

    HLS中使用數(shù)組時(shí),尤其是對數(shù)組初始化時(shí),盡可能加上關(guān)鍵字static,這樣C++數(shù)組的行為才能與RTL存儲單元的行為保持一致。例如:
    的頭像 發(fā)表于 07-21 09:36 ?3887次閱讀
    簡述HLS<b class='flag-5'>中</b>的數(shù)組<b class='flag-5'>初始化</b>遇到的那些個(gè)問題

    根據(jù)MATLAB的偽隨機(jī)交織器產(chǎn)生的交織圖案初始化ROM的實(shí)驗(yàn)

    根據(jù)MATLAB的偽隨機(jī)交織器產(chǎn)生的交織圖案初始化ROM的實(shí)驗(yàn)(嵌入式開發(fā)工程師報(bào)名)-根據(jù)MATLAB的偽隨機(jī)交織器產(chǎn)生的交織圖案初始化
    發(fā)表于 07-30 16:19 ?13次下載
    根據(jù)MATLAB<b class='flag-5'>中</b>的偽隨機(jī)交織器產(chǎn)生的交織圖案<b class='flag-5'>初始化</b>到<b class='flag-5'>ROM</b>的實(shí)驗(yàn)

    labview運(yùn)行后如何初始化

    LabVIEW是一款強(qiáng)大的圖形編程軟件,在運(yùn)行之前通常需要進(jìn)行一些初始化操作。本文詳細(xì)介紹LabVIEW運(yùn)行前的初始化過程,并提供了一些常用的
    的頭像 發(fā)表于 12-28 17:24 ?2664次閱讀