各種類型的Memory在FPGA設(shè)計中被廣泛使用,例如單端口RAM、簡單雙端口RAM、真雙端口RAM、單端口ROM以及雙端口ROM。這些RAM或ROM都可通過coe文件的形式定義其初始值。那么可能在實際應(yīng)用中會出現(xiàn)這樣一種情形:設(shè)計的其他部分未做任何改動,只是更新RAM初始值。那么該如何操作更為方便呢?
如果采用傳統(tǒng)方式,先定義好coe文件,然后重新生成IP,這樣就必須重新執(zhí)行整個設(shè)計流程包括綜合、布局布線,編譯時間可想而知。但換個角度,細(xì)細(xì)分析一下,只是初始值改動,那么能否通過ECO(Engineering Change Order)的方式實現(xiàn)呢,就像更改觸發(fā)器初始值或者查找表的真值表內(nèi)容一樣?答案是肯定的。這樣做好處也是顯而易見的:無需重新布局布線,只需更改RAM相關(guān)屬性,然后再次生成.dcp(這個不是必須的),最后生成.bit或.bin文件,這樣最大程度地繼承了原有設(shè)計,也最大程度地縮短了編譯時間。采用此方法的前提是RAM的規(guī)格要保持不變,這里的規(guī)格包括數(shù)據(jù)位寬和RAM深度。
這里我們以Block RAM為例,先看看有哪些屬性與初始值密切相關(guān),如下圖所示?;旧戏彩且訧NIT打頭的屬性都與初始值相關(guān)。更新初始值本質(zhì)上就是重新設(shè)定這些初始值。這些初始值是在IP生成階段根據(jù)coe內(nèi)容被設(shè)定的。
第一步,根據(jù)更新后的coe文件生成一個同規(guī)格的IP,并對該IP執(zhí)行OOC綜合。
第二步,打開第一步生成的.dcp文件,找到相應(yīng)的Block RAM,獲取上文提到的這些屬性對應(yīng)的屬性值。
原文標(biāo)題:ECO方式更新RAM/ROM初始值
文章出處:【微信公眾號:Lauren的FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
FPGA
+關(guān)注
關(guān)注
1636文章
21841瀏覽量
608497 -
ROM
+關(guān)注
關(guān)注
4文章
576瀏覽量
86347 -
RAM
+關(guān)注
關(guān)注
8文章
1383瀏覽量
115513
原文標(biāo)題:ECO方式更新RAM/ROM初始值
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
TLC5615芯片輸出的初始值是不是為0?
手機(jī)中的ROM與內(nèi)存的區(qū)別
ROM和RAM的主要區(qū)別
什么是RAM和ROM
ram存儲器和rom存儲器的區(qū)別是什么
內(nèi)存儲器一般由rom和ram組成嗎
外部存儲器是ROM還是RAM
rom和ram都是內(nèi)存儲器嗎
易靈思SOC onchip RAM初始化

評論