吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

想要對RAM初始化該怎么操作

FPGA技術驛站 ? 來源:fqj ? 2019-06-06 14:36 ? 次閱讀

RAM的初始化并沒有那么神秘,如果是采用Xilinx的IP Core,只需提供一個.coe文件,其內容就是RAM的初始值,只需要注意coe文件的格式就好,這里就不再贅述。

初始化方法

如果是自己寫的RTL代碼,如何初始化呢?這里提供兩個常用方法。來看一個例子,如下圖所示。

代碼第16行,通過default將所有地址的初始值設置為0;

代碼第17行,通過索引結合default的方式,將地址0的初始值設置為4,地址1的初始值設置為5,其余地址的初始值設置為0;

代碼第19行至第25行,采用initial語句,通過調用readmemb(類似的還有readmemh)實現對RAM的初始化。使用$readmemb時,需要提供一個.mem文件,文件內容就是RAM的初始值,這里給出一個.mem的例子,如下圖所示。

想要對RAM初始化該怎么操作

仿真問題

使用$readmemb時,需要把.mem文件加入到Vivado工程中,如下圖所示。

想要對RAM初始化該怎么操作

如果沒有添加此文件,會顯示如下Warning信息

綜合問題

無論是default還是readmemb定義的初始值,在綜合時都是可以生效的。對于一個深度為4寬度為4的單端口RAM,綜合后的網表如下圖所示。

想要對RAM初始化該怎么操作

通過如下圖所示的Tcl命令可獲得相應的初始值,與init_data.mem中定義的初始值是一致的。

想要對RAM初始化該怎么操作

結論

兩種RAM初始化的方式:

采用default或地址索引加default的方式;采用$readmemb或$readmemh的方式

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1369

    瀏覽量

    114999
  • 初始化
    +關注

    關注

    0

    文章

    50

    瀏覽量

    11948

原文標題:對RAM初始化怎么做

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RT-Thread自動初始化詳解

    初始化函數不需要被顯式調用,只需要在函數定義處通過宏定義的方式進行申明,就會在系統啟動過程中被執行,非常的方便。 1 普通初始化 前面也講了,我們在寫單片機的程序時,需要對硬件進行初始化
    的頭像 發表于 06-25 21:38 ?1.1w次閱讀
    RT-Thread自動<b class='flag-5'>初始化</b>詳解

    字符型、指針型等變量如何初始化

    在敲代碼的時候,我們會給變量一個初始值,以防止因為編譯器的原因造成變量初始值的不確定性。對于數值類型的變量往往初始化為0,但對于其他類型的變量,如字符型、指針型等變量等如何
    發表于 09-23 11:50 ?2231次閱讀

    想要調用相機的初始化函數如何操作

    我在調用庫函數節點時遇到了困難,就是我想要調用相機的初始化函數,但是我不怎么明白它里面的參數,還有在參數設置哪里我怎么做,有幾個參數,還有參數類型怎么設?下面有第一張圖是相機
    發表于 07-31 17:27

    手機模塊初始化向導

    手機模塊初始化向導:為了剛好的對手機模塊進行初始化,所以把最基本的向導寫下來.本向導適用于本公司的西門子TC35I和華為GT9000模塊。一、在初始化手機模塊前,請先確定DT
    發表于 09-18 09:41 ?17次下載

    RDA1846S初始化設置

    RDA1846S初始化設置RDA1846S初始化設置RDA1846S初始化設置
    發表于 01-15 17:08 ?0次下載

    UCOS_III_配置與初始化

    UCOS_III_配置與初始化
    發表于 12-20 22:53 ?5次下載

    8259a初始化的步驟及代碼介紹

    本文首先介紹了8259a工作初始化的步驟及程序,其次介紹了通過OCW對8259A進行操作方法,最后介紹了8259A初始化編程。
    的頭像 發表于 05-23 14:24 ?3w次閱讀
    8259a<b class='flag-5'>初始化</b>的步驟及代碼介紹

    8253初始化程序分享_8253應用案例

    本文首先介紹了8253概念及8253各通道的工作方式,其次詳細介紹了8253初始化要求及編程,最后用一個例子介紹了8253的初始化程序。
    發表于 05-23 15:52 ?2.2w次閱讀
    8253<b class='flag-5'>初始化</b>程序分享_8253應用案例

    如何設置STM32單片機非初始化數據變量不被零初始化

    一些產品,當系統復位后(非上電復位),可能要求保持住復位前RAM中的數據,用來快速恢復現場,或者不至于因瞬間復位而重啟現場設備。而keil mdk在默認情況下,任何形式的復位都會將RAM區的非初始化變量數據清零。
    發表于 01-02 15:56 ?8430次閱讀
    如何設置STM32單片機非<b class='flag-5'>初始化</b>數據變量不被零<b class='flag-5'>初始化</b>

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

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

    霍爾無刷電機如何進行程序初始化

    定時計數、接口、看門狗等在內的多種模塊,多種模塊設計的初始化具體過程則如下文所示:1. 對時鐘頻率模塊的初始化,在此初始化過程中的系統振動器的振蕩頻率的值選擇,系統的時鐘頻率的設定值為
    的頭像 發表于 10-15 17:29 ?7780次閱讀

    Nand Flash驅動(實現初始化以及讀操作)

    Nand Flash驅動(實現初始化以及讀操作)
    發表于 12-02 12:36 ?11次下載
    Nand Flash驅動(實現<b class='flag-5'>初始化</b>以及讀<b class='flag-5'>操作</b>)

    C語言編程時,各種類型的變量如何初始化

    C語言編程時,各種類型的變量如何初始化? 在C語言中,每個變量都需要在使用之前進行初始化初始化是為變量分配內存空間并賦予初始值的過程。C
    的頭像 發表于 12-07 13:53 ?1329次閱讀

    MCU單片機GPIO初始化按什么順序配置?為什么初始化時有電平跳變?

    GPIO初始化時有時鐘配置、模式配置、輸出配置、復用配置,那么在編寫初始化代碼時,到底按什么順序執行呢?如果順序不當那初始化過程可能會出現短暫的電平跳變。
    的頭像 發表于 02-22 11:07 ?1657次閱讀
    MCU單片機GPIO<b class='flag-5'>初始化</b><b class='flag-5'>該</b>按什么順序配置?為什么<b class='flag-5'>初始化</b>時有電平跳變?

    字符型、指針型等變量等如何初始化

     對于數值類型的變量往往初始化為0,但對于其他類型的變量,如字符型、指針型等變量等如何初始化呢?
    的頭像 發表于 03-18 11:02 ?1621次閱讀
    百家乐网站东方果博| 百家乐投注秘笈| 百家乐官网出庄的概率| 百家乐官网d博彩论坛| 娱乐城注册送钱| 百家乐真人游戏| 百家乐智能系统| 爱赢百家乐开户送现金| 百家乐论坛百科| 电玩百家乐官网的玩法技巧和规则 | 博狗百家乐官网的玩法技巧和规则 | 百家乐一代龙虎机| 皇马百家乐官网的玩法技巧和规则 | 百家乐视频游戏金币| 天博百家乐官网娱乐城| 百家乐官网公式与赌法| 百家乐官网投注网址| 百家乐官网棋牌公式| 二八杠生死门| 网上娱乐城| 青岛人家棋牌室| 大发888网址| 威尼斯人娱乐城投注| 赌场百家乐实战| 澳门百家乐看路博客| 百家乐真人大头贴| 云鼎百家乐注册| 百家乐官网开户| 新花园百家乐官网的玩法技巧和规则 | 赌场百家乐网站| 百家乐翻天快播粤语| 百家乐玩法的秘诀| 百家乐优惠现金| 乐宝百家乐游戏| 百家乐的必赢术| 六十甲子24山吉凶| 百家乐官网秘籍下注法| 在线百家乐官网作| 太阳百家乐官网代理| 百家乐官网网开服表| 百家乐官网是个什么样的游戏 |