在生成ROM時需要提供coe文件,如下圖所示。這個coe文件本質上就是Memory的初始化文件,Xilinx對其有具體的格式要求。
coe文件格式
coe文件格式要求如下圖所示,其中前兩行是固定的。其中第一行定義了Radix,可以是2、10或16,意味著第2行定義的數(shù)據(jù)向量內容可以是二進制、十進制或十六進制。這里需要說明的是定義的數(shù)據(jù)向量各個數(shù)據(jù)之間可以是空格,也可以是逗號(但此時最后一個數(shù)據(jù)要以分號結尾)或者回車換行符。
生成coe文件
Matlab作為主流的算法開發(fā)與驗證平臺之一往往成為很多數(shù)據(jù)的重要來源,因此,在Matlab下生成coe文件是非常普遍的操作。這里要用到Matlab提供的一些文件操作函數(shù),如fopen、fprintf和fclose等。在此,我們定義函數(shù)gen_coe,它接收兩個參數(shù)fn和data。其中fn為生成的coe文件名,data為行或列向量。要求為十進制整數(shù)。
Python提供了擴展庫Numpy,可以方便地實現(xiàn)對矩陣的操作,利用Python也可以快捷地生成coe文件。這里提供兩個版本。兩個函數(shù)都有相同的參數(shù)fn和data,含義與上文提到的Matlab函數(shù)保持一致。在gen_coe_v1中,通過write()完成了寫數(shù)據(jù)操作。在gen_coe_v2中,則是通過np.savetxt完成了寫數(shù)據(jù)操作。在這個案例中,np.savetxt接收3個參數(shù),第一個參數(shù)為文件ID,第二個參數(shù)為矩陣的行索引,第三個參數(shù)為寫入格式。
原文標題:如何生成ROM的coe文件
文章出處:【微信公眾號:Lauren的FPGA】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
FPGA
+關注
關注
1630文章
21803瀏覽量
606465 -
ROM
+關注
關注
4文章
575瀏覽量
86053 -
Memory
+關注
關注
1文章
77瀏覽量
29118
原文標題:如何生成ROM的coe文件
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
解鎖 EtherCAT-CoE:小米電機驅動實戰(zhàn)
![解鎖 EtherCAT-<b class='flag-5'>CoE</b>:小米電機驅動實戰(zhàn)](https://file1.elecfans.com/web2/M00/C4/8A/wKgZomX0EhWACv8DAAAUet8ikhs451.png)
ROM數(shù)據(jù)丟失的常見原因
手機中的ROM與內存的區(qū)別
如何選擇適合的ROM類型
固態(tài)ROM的工作原理
請問PurePath里面帶ROM和不帶ROM的元件有什么區(qū)別呢?
labview程序生成exe文件怎么還原
labview工程文件如何生成exe
labview怎么生成可執(zhí)行文件
Efinity編譯生成文件使用指導-v1
![Efinity編譯<b class='flag-5'>生成文件</b>使用指導-v1](https://file1.elecfans.com/web2/M00/02/51/wKgZoma6-4iAHnXuAABuYLRstYU823.jpg)
請問TINA-TI如何生成.TLD文件?
利用ISE與Matlab創(chuàng)建并仿真FPGA設計中的ROM IP核
![利用ISE與Matlab創(chuàng)建并仿真FPGA設計中的<b class='flag-5'>ROM</b> IP核](https://file1.elecfans.com/web2/M00/C9/8E/wKgaomYd9YyAIpQRAAAu_w7iz_4862.png)
國內首個生成式人工智能安全技術文件發(fā)布,燧原科技深度參編
![國內首個<b class='flag-5'>生成</b>式人工智能安全技術<b class='flag-5'>文件</b>發(fā)布,燧原科技深度參編](https://file1.elecfans.com/web2/M00/C4/D9/wKgaomXvv-KAc8sYAAAPFlytcTc582.jpg)
評論