在生成ROM時需要提供coe文件,如下圖所示。這個coe文件本質(zhì)上就是Memory的初始化文件,Xilinx對其有具體的格式要求。
coe文件格式
coe文件格式要求如下圖所示,其中前兩行是固定的。其中第一行定義了Radix,可以是2、10或16,意味著第2行定義的數(shù)據(jù)向量內(nèi)容可以是二進制、十進制或十六進制。這里需要說明的是定義的數(shù)據(jù)向量各個數(shù)據(jù)之間可以是空格,也可以是逗號(但此時最后一個數(shù)據(jù)要以分號結(jié)尾)或者回車換行符。

生成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】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
FPGA
+關(guān)注
關(guān)注
1650文章
22219瀏覽量
628073 -
ROM
+關(guān)注
關(guān)注
4文章
578瀏覽量
88326 -
Memory
+關(guān)注
關(guān)注
1文章
79瀏覽量
30256
原文標題:如何生成ROM的coe文件
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
RISCV指令二進制編碼利用matlab生成E203仿真可用文件
如何在Vivado上仿真蜂鳥SOC,仿真NucleiStudio編譯好的程序
使用env生成的keil文件好多文件找不到路徑,為什么?
Analog Devices / Maxim Integrated PD60-4H-1461-CoE單軸步進電機數(shù)據(jù)手冊
基于FPGA搭建神經(jīng)網(wǎng)絡(luò)的步驟解析
解鎖 EtherCAT-CoE:小米電機驅(qū)動實戰(zhàn)

如何生成ROM的coe文件?
評論