1、引言
以交換機設計為例。在交換機設計前期,轉發表項是固化在交換機內部的(給FPGA片內BRAM初始值),但是在測試過程中,往往需要對表項進行修改,如果直接修改BRAM的coe文件,則需要重新綜合、實現、生成bit文件,其中,綜合與實現耗時十分嚴重,設計規模越大,消耗的時間越長,而生成bit文件消耗的時間則相對固定。針對上述問題,本文探究一種避免綜合與實現,直接修改BRAM初始化值的方法,可以避免綜合、實現兩個步驟,修改BRAM初始值后,直接生成bit文件,可節約大量的時間。
2、 操作方法
(1) 完成初始設計,綜合、實現(但是不生成bit文件) ;
(2) 打開布線后的dcp文件(使用Vivado直接打開),如下圖所示:

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

選擇需要修改的BRAM ;

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

保存,退出;
在主工程中打開實現設計,按照相同的方式可以找到對應的RAM與初始化值,可以發現初始化值已經改變了 ;
生成bitstream文件。
3、 上板實測
(1) coe文件:

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

(3) 上板實測結果:
4、 結論
在僅修改BRAM初始化值的場景下,該方法可以大大減小從修改BRAM初始值到重新生成bitstream的時間,在交換機調試過程中,具有一定實用價值。
編輯:hfy
-
交換機
+關注
關注
23文章
2904瀏覽量
104466 -
Vivado
+關注
關注
19文章
857瀏覽量
71107
發布評論請先 登錄
字符型、指針型等變量該如何初始化
Xilinx BRAM IP核配置及其例化
ZYNQ怎么修改PHY的初始化配置
初始化BRAM警告coe文件不存在
請問初始化BRAM后怎么顯示BRAM數據?
如何避免Spartan默認初始化BRAM?
初始化BRAM primitaves出現錯誤和循環漏洞的原因?
手機模塊初始化向導
uboot和內核里phy的初始化_內核里的雙網絡配置及phy的初始化
探究一種避免綜合與實現直接修改BRAM初始化值的方法
GraniStudio:初始化例程
修改BRAM初始化值的避免綜合與實現
評論