各種類型的Memory在FPGA設計中被廣泛使用,例如單端口RAM、簡單雙端口RAM、真雙端口RAM、單端口ROM以及雙端口ROM。這些RAM或ROM都可通過coe文件的形式定義其初始值。那么可能在實際應用中會出現這樣一種情形:設計的其他部分未做任何改動,只是更新RAM初始值。那么該如何操作更為方便呢?
如果采用傳統方式,先定義好coe文件,然后重新生成IP,這樣就必須重新執行整個設計流程包括綜合、布局布線,編譯時間可想而知。但換個角度,細細分析一下,只是初始值改動,那么能否通過ECO(Engineering Change Order)的方式實現呢,就像更改觸發器初始值或者查找表的真值表內容一樣?答案是肯定的。這樣做好處也是顯而易見的:無需重新布局布線,只需更改RAM相關屬性,然后再次生成.dcp(這個不是必須的),最后生成.bit或.bin文件,這樣最大程度地繼承了原有設計,也最大程度地縮短了編譯時間。采用此方法的前提是RAM的規格要保持不變,這里的規格包括數據位寬和RAM深度。
這里我們以Block RAM為例,先看看有哪些屬性與初始值密切相關,如下圖所示。基本上凡是以INIT打頭的屬性都與初始值相關。更新初始值本質上就是重新設定這些初始值。這些初始值是在IP生成階段根據coe內容被設定的。
第一步,根據更新后的coe文件生成一個同規格的IP,并對該IP執行OOC綜合。
第二步,打開第一步生成的.dcp文件,找到相應的Block RAM,獲取上文提到的這些屬性對應的屬性值。
原文標題:ECO方式更新RAM/ROM初始值
文章出處:【微信公眾號:Lauren的FPGA】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
FPGA
+關注
關注
1629文章
21742瀏覽量
603539 -
ROM
+關注
關注
4文章
572瀏覽量
85775 -
RAM
+關注
關注
8文章
1368瀏覽量
114715
原文標題:ECO方式更新RAM/ROM初始值
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論