在生成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
+關注
關注
1629文章
21736瀏覽量
603375 -
ROM
+關注
關注
4文章
572瀏覽量
85769 -
Memory
+關注
關注
1文章
77瀏覽量
29043
原文標題:如何生成ROM的coe文件
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論