Matlab生成Xilinx Rom IP CORE的初始化內容coe檔案
在進行FPGA設計時,經常要對rom模組進行初始化。ISE或Quartus II軟體本身具備的初始化功能對於較小的rom是行之有效的,但面對大容量的rom時就顯得捉襟見肘了。而matlab作為一神器,在這時就有了用武之地。使用它生成.coe或.mif檔案,可以起到事半功倍的效果。
生成.coe檔案
一、瞭解.coe檔案的格式
在ISE中,對rom進行初始化的檔案是.coe檔案。它的格式如下:
memory_initialization_radix=10; -->檔案儲存資料的進位制,10即為10進位制
memory_initialization_vector = -->資料向量
65534,65533,……,65532,65528; -->所儲存的10進位制資料,每個資料使用逗號隔開,最後分號結束
**.coe檔案的前兩行的開頭格式是固定的,不能改變的。
**--|第一行:memory_initialization_radix=<進位制>;
**--|第二回:memory_initialization_vector=
**所儲存的資料數量與大小,是與設計rom的位寬和深度相對應的。
二、使用matlab生成.coe檔案
2.1 以下程式用於為位寬為16bit,深度為1024的rom生成初始化檔案
width=16; %rom的位寬
depth=1024; %rom的深度
x=linspace(0,2*pi,depth); %在一個週期內產生1024個取樣點
y_cos=cos(x); %生成餘弦資料
y_cos=round(y_cos*(2^(width-1)-1))+2^(width-1)-1; %將餘弦資料全部轉換為整數
fid=fopen('C:\Users\Administrator\Desktop\cos_coe.coe','w'); %建立.coe檔案
fprintf(fid,'%d,\n',y_cos); %向.coe檔案中寫入資料
fclose(fid); %關閉.coe檔案
2.2 編輯.coe檔案(最好使用UltraEdit開啟)
--在前兩行新增
memory_initialization_radix=10;
memory_initialization_vector =
--將最後的逗號改為分號
--最後檔案格式:
memory_initialization_radix=10;
memory_initialization_vector =
65534,
65533,
.....
65334,
65287;
生成.mif檔案
一、瞭解.mif檔案的格式
%.mif檔案的結構
%--WIDTH=16; -->位寬
%--DEPTH=1024; -->深度
%--ADDRESS_RADIX=UNS; -->地址的進位制,此處為無符號型別
%--DATA_RADIX=UNS; -->資料的進位制,此處為無符號型別
%--CONTENT BEGIN -->儲存內容的開頭
%--0:0;
%--……;
%--1023:43;
%--END; -->儲存內容的結束
二、使用matlab生成.mif檔案
width=16; %rom的位寬
depth=1024; %rom的深度
x=linspace(0,2*pi,depth); %在一個週期內產生1024個取樣點
y_cos=cos(x); %生成餘弦資料
y_cos=y_cos+1; %將生成的資料全部轉換為整數
y_cos=round(y_cos*(2^(width-1)-1)); %將幅值放大,並轉換為整數
y_sin=sin(x); %生成正弦資料
y_sin=y_sin+1;
y_sin=round(y_sin*(2^(width-1)-1)); %將幅值放大,並轉換為整數
fid=fopen('C:\Users\Administrator\Desktop\cos_mif.mif','w');
for num=0:depth-1;
fprintf(fid,'%d:%d;\n',num,y_cos(num+1));
end
fclose(fid);
fid=fopen('C:\Users\Administrator\Desktop\sin_mif.mif','w');
for num=0:depth-1;
fprintf(fid,'%d:%d;\n',num,y_sin(num+1));
end
fclose(fid);
%用於測試生成的資料
%plot(x,y_cos)
%plot(x,y_sin)
相關文章
- Matlab 生成 圖片的coe檔案初始化xilinx romMatlab
- 使用matlab生成rom初始化檔案.coeMatlab
- Xilinx COE檔案生成
- MATLAB生成coe檔案Matlab
- 用於初始化Xilinx 儲存 IP核的COE檔案格式
- Xilinx內建RAM的初始化資料COE檔案編寫
- Xilinx 中Block ram的初始化檔案.coe建立BloC
- 從Matlab到FPGA(Matlab生成coe檔案或mem檔案)MatlabFPGA
- MATLAB生成.coe檔案和.mif檔案程式碼示例Matlab
- matlab寫coe檔案Matlab
- Vivado開發環境,將COE檔案加入IP核ROM中開發環境
- 利用MATLAB產生COE檔案Matlab
- 用MATLAB編寫VIVADO的coe檔案Matlab
- 用MATLAB產生VIVADO可用的coe檔案Matlab
- Matlab生成exe檔案Matlab
- java檔案相關(檔案追加內容、檔案內容清空、檔案內容讀取)Java
- php生成日誌檔案(往內接著新增內容)PHP
- Matlab生成.exe格式檔案Matlab
- MATLAB生成可執行檔案Matlab
- 【SQL Profile】coe_xfr_sql_profile.sql內容SQL
- JXL包大解析;Java程式生成excel檔案和解析excel檔案內容JavaExcel
- COE檔案是什麼
- .NET CORE下最快比較兩個檔案內容是否相同的方法
- matlab (.m)檔案生成 windows 可執行(.exe)檔案MatlabWindows
- 帶COE檔案的核的tips
- 檔案內容拷貝
- Oracle 控制檔案內容Oracle
- 檔案內容比較
- vim內替換檔案內容
- matlab開啟和生成使用.p檔案和exe檔案Matlab
- IP核之ROM
- coe檔案資料後的逗號
- vite vue-cli 讀取檔案原始內容 使用base64內容的檔案ViteVue
- 讀取.net core配置檔案appsetting.json內容APPJSON
- 檔案內容對比工具
- C#分割檔案內容C#
- git檢視檔案內容Git
- properties檔案內容亂碼