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

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

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

修改BRAM初始化值的避免綜合與實現(xiàn)

454398 ? 來源:網(wǎng)絡(luò)交換FPGA ? 作者:網(wǎng)絡(luò)交換FPGA ? 2020-11-30 15:37 ? 次閱讀

1、引言

交換機設(shè)計為例。在交換機設(shè)計前期,轉(zhuǎn)發(fā)表項是固化在交換機內(nèi)部的(給FPGA片內(nèi)BRAM初始值),但是在測試過程中,往往需要對表項進行修改,如果直接修改BRAM的coe文件,則需要重新綜合、實現(xiàn)、生成bit文件,其中,綜合與實現(xiàn)耗時十分嚴重,設(shè)計規(guī)模越大,消耗的時間越長,而生成bit文件消耗的時間則相對固定。針對上述問題,本文探究一種避免綜合與實現(xiàn),直接修改BRAM初始化值的方法,可以避免綜合、實現(xiàn)兩個步驟,修改BRAM初始值后,直接生成bit文件,可節(jié)約大量的時間。

2、 操作方法
(1) 完成初始設(shè)計,綜合、實現(xiàn)(但是不生成bit文件) ;
(2) 打開布線后的dcp文件(使用Vivado直接打開),如下圖所示:

(3) 找到想修改的目標BRAM:
ctrl+f ;

選擇需要修改的BRAM ;

在properties界面,可以直接修改初始化文件(需要熟悉原語,其初始化方式與RAMB18E1相同);

保存,退出;
在主工程中打開實現(xiàn)設(shè)計,按照相同的方式可以找到對應(yīng)的RAM與初始化值,可以發(fā)現(xiàn)初始化值已經(jīng)改變了 ;
生成bitstream文件。

3、 上板實測
(1) coe文件:

(2) 修改后的RAM初始化值

(3) 上板實測結(jié)果:

4、 結(jié)論
在僅修改BRAM初始化值的場景下,該方法可以大大減小從修改BRAM初始值到重新生成bitstream的時間,在交換機調(diào)試過程中,具有一定實用價值。

編輯:hfy

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

    關(guān)注

    20

    文章

    2603

    瀏覽量

    98928
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    803

    瀏覽量

    66157
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    ZYNQ怎么修改PHY的初始化配置

    通信,我需要怎么修改系統(tǒng)或者修改哪里呢?怎么修改PHY的初始化配置呢?我在提供的那個dts里看到了這幾行,但是沒看懂那個reg-init后面怎么對應(yīng);也不知道設(shè)備樹是不是起這個
    發(fā)表于 11-25 14:21

    初始化BRAM警告coe文件不存在

    大家好,我搜索了幾個關(guān)于初始化BRAM的線程,但我找不到答案。我使用的是Vivado 2015.4。我寫了一個coe文件,想把coe文件加載到BRAM中。首先,我添加一個BRAM IP
    發(fā)表于 04-17 09:47

    請問初始化BRAM后怎么顯示BRAM數(shù)據(jù)?

    嗨,大家好,我想用coe文件初始化BRAM,但有兩個問題。首先,當我加載coe文件時,存在文件不存在的錯誤。見下圖:有人可以幫我解決問題嗎?其次,我刪除了錯誤文件,因為“文件組”下有兩個coe文件
    發(fā)表于 04-18 11:27

    如何避免Spartan默認初始化BRAM?

    嗨,我需要讀取BRAM的上電,但是在編程階段它們默認為0。有辦法防止這種情況嗎?謝謝以上來自于谷歌翻譯以下為原文Hi, I need to read the power-up values
    發(fā)表于 07-23 11:37

    初始化BRAM primitaves出現(xiàn)錯誤和循環(huán)漏洞的原因?

    大家好,我一直在嘗試在我的項目中初始化我的BRAM primitaves一段時間,并繼續(xù)遇到意外錯誤和循環(huán)漏洞。概述:用于綜合的Synplify Pro Version I-2014.03-SP1
    發(fā)表于 07-26 10:04

    手機模塊初始化向?qū)?/a>

    手機模塊初始化向?qū)?為了剛好的對手機模塊進行初始化,所以把最基本的向?qū)懴聛?本向?qū)нm用于本公司的西門子TC35I和華為GT9000模塊。一、在初始化手機模塊前,請先確定DT
    發(fā)表于 09-18 09:41 ?17次下載

    RDA1846S初始化設(shè)置

    RDA1846S初始化設(shè)置RDA1846S初始化設(shè)置RDA1846S初始化設(shè)置
    發(fā)表于 01-15 17:08 ?0次下載

    UCOS_III_配置與初始化

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

    淺析GEL文件在ARM初始化時的作用和修改.pdf

    淺析GEL文件在ARM初始化時的作用和修改
    發(fā)表于 04-22 10:39 ?1次下載

    uboot和內(nèi)核里phy的初始化_內(nèi)核里的雙網(wǎng)絡(luò)配置及phy的初始化

    uboot 和內(nèi)核里 phy 的初始化,以及內(nèi)核里的雙網(wǎng)絡(luò)配置及 phy 的初始化。 本文以盈鵬飛嵌入式的CoM-335x(基于AM335x)核心板及網(wǎng)絡(luò)芯片LAN8720 為例,說明修改步驟
    的頭像 發(fā)表于 05-17 08:19 ?1.2w次閱讀

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

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

    Nand Flash驅(qū)動(實現(xiàn)初始化以及讀操作)

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

    dart語言的變量聲明與初始化

    變量是每一們語言的基礎(chǔ),在Dart中所有變量都是對象,并且都有一個初始化null。
    的頭像 發(fā)表于 12-08 16:47 ?1198次閱讀

    探究一種避免綜合實現(xiàn)直接修改BRAM初始化的方法

    以交換機設(shè)計為例。在交換機設(shè)計前期,轉(zhuǎn)發(fā)表項是固化在交換機內(nèi)部的(給FPGA片內(nèi)BRAM初始值),但是在測試過程中,往往需要對表項進行修改,如果直接修改
    的頭像 發(fā)表于 02-02 14:03 ?922次閱讀