基于FPGA的mif文件創(chuàng)建與使用
3.2.1 mif文件的修改方法1
mif文件的使用,即修改begin與end之間的內(nèi)容,最常用的就是高級(jí)語言法。本文借助實(shí)例給以說明,并給出相應(yīng)的m(Matlab)語言程序。
設(shè)計(jì)要求:8位地址輸入,8位數(shù)據(jù)輸出,輸出數(shù)等于地址高4位對(duì)應(yīng)的數(shù)加低4位對(duì)應(yīng)的數(shù),即實(shí)現(xiàn)1個(gè)4位二進(jìn)制加法的查找表。這里只用到lpm_ROM宏模塊的Address[]、q []兩個(gè)端口。lpm_ROM宏模塊及mif文件格式如圖3所示。
采用MATLAB語言產(chǎn)生含有begin與end之間內(nèi)容的txt文件,M文件的內(nèi)容為:
保存并運(yùn)行,然后打開aaa.txt文件(默認(rèn)路徑C:\MATLAB701\aaa.txt),拷貝到mif文件的begin與end之間,即完成了對(duì)該文件的修改。使用高級(jí)語言修改mif文件速度快,準(zhǔn)確度高且能實(shí)現(xiàn)復(fù)雜運(yùn)算。適用于數(shù)據(jù)較多的場(chǎng)合。
3.2.2 mif文件的修改方法2
mif文件的修改方法2是在MAX+PLUSⅡ環(huán)境下,直接修改lpm_ROM存儲(chǔ)器的各存儲(chǔ)單元的內(nèi)容。步驟如下:先引入lpm_ROM宏模塊,新建aa.mif文件并加載到LPM_FILE中,編譯完成后,波形編輯,然后仿真。此時(shí)MAX+PLUSⅡ會(huì)增加一個(gè)initialize菜單,點(diǎn)擊initialize->initialize memory…,即可在彈出的對(duì)話框中編輯存儲(chǔ)器各單元內(nèi)容,如圖4所示。
各存儲(chǔ)單元輸入后,點(diǎn)擊Export File…,在彈出的對(duì)話框中確定要輸出的mif文件名,即完成了對(duì)mif文件的修改。這種方法適合數(shù)據(jù)量較小的場(chǎng)合,比較簡(jiǎn)單直觀。
以四位二進(jìn)制加法查找表為例,分別采用以上兩種方法對(duì)mif文件進(jìn)行修改,仿真如下圖5所示。
仿真顯示,兩種方式下均正確實(shí)現(xiàn)了四位二進(jìn)制加法查找表。
4 結(jié)束語
本文詳細(xì)討論了基于FPGA的mif文件創(chuàng)建與使用,對(duì)于mif文件創(chuàng)建與使用均給出了兩種可行性的方法。mif文件具有固定格式,而對(duì)mif文件使用主要就是對(duì)mif。文件begin與end之間的內(nèi)容進(jìn)行修改。本文以四位二進(jìn)制加法查找表的實(shí)現(xiàn)為例,給出了m(Matlab)語言源程序。
存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
評(píng)論