版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、-. z.FPGA產(chǎn)生正弦波方法1/4周期COE文件 本文主要介紹通過(guò)查表法產(chǎn)生正弦波。涉及利用matlab生成四分之一周期的正弦相位、幅值對(duì)應(yīng)表,生成COE文件的IP核方法,F(xiàn)PGA編程產(chǎn)生數(shù)字正弦信號(hào)。正弦信號(hào),是一個(gè)模擬信號(hào)。FPGA只能產(chǎn)生數(shù)字信號(hào)。因此需要用DA將數(shù)字量轉(zhuǎn)化為模擬量。這里采用modelsim的模擬波形顯示,不表達(dá)DA轉(zhuǎn)換相關(guān)知識(shí)了。產(chǎn)生正弦信號(hào)的方法有很多,這里用的是查找rom的方法,產(chǎn)生正弦信號(hào)。正弦信號(hào),是一個(gè)幅值介于-1和1之間周期變化的模擬量,因此只需要將1/4周期的值存進(jìn)rom里,其波形就可以根據(jù)這1/4周期幅值的變化得到。matlab產(chǎn)生正弦信號(hào)的值。以0
2、.01為步長(zhǎng),從0采集到pi/2,共158個(gè)點(diǎn)。* = linspace(0, pi/2,158); 因sin的幅值值是小數(shù),而FPGA不能表示小數(shù),我們把幅值乘以12位二進(jìn)制后取整實(shí)現(xiàn)幅值整數(shù)化。即幅值放大4096倍。例如幅值為0.3,而0.3*212=1228.8,取整為1229。當(dāng)然這樣表示會(huì)有一定誤差,但可以根據(jù)精度需要調(diào)整參數(shù),使誤差可承受。 生成ROM。這里rom用的是ISE的IP rom。將matlab生成的數(shù)據(jù)存入rom里面,讀取rom的值,即可生成正弦信號(hào)。首先是生成rom的初始化文件。*ilin*的rom的初始化文件的后綴為.coe。這個(gè)特殊文件有固定的格式如下: 文件前面
3、兩行的容是固定的。MEMORY_INITIALIZATION_RADI*=10;表示下面的數(shù)字是10進(jìn)制數(shù),后面的數(shù)據(jù)是依次存入rom的值,以逗號(hào)分開(kāi),最后以一個(gè)分號(hào)完畢。生成初始化文件的matlab程序如下所示:fid = fopen(sin_rom.t*t,w);fprintf(fid,MEMORY_INITIALIZATION_RADI* = 10;n);fprintf(fid,MEMORY_INITIALIZATION_VECTOR =n);for i = 0:1:pi/2*100y = sin(i/100);rom =floor( y * 212);if i = 157fprintf
4、(fid,%d;,rom);elsefprintf(fid,%d,rom);endif mod(i,10)=0 & i = 0fprintf(fid,n);endendfclose(fid);matlab生成的文件是.t*t文件。將后綴直接改為.coe即可。然后復(fù)制到ISE分工程目錄下。初始化文件生成后,剩下就是編寫(xiě)verilog代碼。首先建一個(gè)工程,然后新建一個(gè)IP。找到rom,翻開(kāi)。設(shè)置按如下設(shè)置:這里是設(shè)置位寬,采用的是13位第一位為符號(hào)位,后面12位為數(shù)據(jù)位來(lái)顯示sin的值。因此這里是設(shè)置為13.深度是因?yàn)橐?58個(gè)值,所以這里設(shè)置為158.將剛剛生成的.coe文件載入,生成即可。接
5、著就是編寫(xiě)verilog代碼了。首次查看用ip生成的rom的例化代碼.sin_rom your_instance_name (.clka(clka), / input clka.addra(addra), / input 7 : 0 addra.douta(douta) / output 12 : 0 douta);從上面的程序可看出,只需要給時(shí)鐘信號(hào),和輸入地址,就可以了。輸出的就是正弦的數(shù)字信號(hào)了。分析正弦信號(hào),前1/4個(gè)周期,地址從0自加,一直加到1571/4個(gè)周期的點(diǎn)數(shù)。然后再自減,減到0。然后進(jìn)入到負(fù)半周,負(fù)數(shù)的表示是以二進(jìn)制的補(bǔ)碼來(lái)表示的,即絕對(duì)值數(shù)的二進(jìn)制取反在加1。編寫(xiě)地址自加
6、自減的代碼,然后再根據(jù)地址的值,判斷輸出值的正負(fù),如為負(fù)數(shù),則取反加1后再輸出。代碼,如下所示:module sin_top(input clk, /輸入時(shí)鐘信號(hào)input 9:0 address, /輸入地址信號(hào)output reg 12:0 data_out /輸出sin的數(shù)字值);reg 7:0 add;wire 12:0 douta;/ 以下是判斷地址的值always * beginif( address = 157 )add = address;else if( address = 314 )add = 10d314 - address;else if( address = 471
7、)add = address - 10d314;else if( address = 628 )add = 10d628 - address;elseadd = 0;end/例化之前生成的sin_romsin_rom u1_sin_rom (.clka(clk), / input clka.addra(add), / input 7 : 0 addra.douta(douta) / output 12 : 0 douta);/ 判斷輸出值是正數(shù)還是負(fù)數(shù)。always * beginif( address = 314)data_out = douta;else if( address = 628
8、 )data_out = douta + 1b1;elsedata_out = 0;endendmodule程序?qū)懞昧?,剩下就是要仿真了。仿真的testbench,只需要輸入時(shí)鐘和地址信號(hào)就可以了。地址信號(hào)一直加一,直到不小于628,剛好一個(gè)周期完畢。就返回0值,在繼續(xù)自加。測(cè)試代碼如下所示:module sin_top_test;/ Inputsreg clk;reg 9:0 address;/ Outputswire 12:0 data_out;/ Instantiate the Unit Under Test (UUT)sin_top uut (.clk(clk),.address(address),.data_out(data_out);always#5 clk = clk;initial begin/ Initialize Inputsclk = 0;address = 0;/ Wait 100 ns for global reset to finishwhile(1)begin(negedge(clk);if( address 628 )address
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《全球化與全球問(wèn)題》課件
- 《睪丸炎的護(hù)理》課件
- 《大海圖片》課件
- 《倉(cāng)庫(kù)的概念與類(lèi)型》課件
- 2025年度藝術(shù)品鑒定與交易綜合服務(wù)合同4篇
- 2025年度廚房用具安裝與配套家具供應(yīng)合同3篇
- 二零二五年度新能源汽車(chē)充電設(shè)施建設(shè)采購(gòu)合同4篇
- 2025年水上婚禮游船包租服務(wù)協(xié)議
- 二零二五年電商虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)技術(shù)應(yīng)用服務(wù)合同樣本3篇
- 二零二五版汽車(chē)美容養(yǎng)護(hù)擔(dān)保合同示范文本4篇
- 領(lǐng)導(dǎo)溝通的藝術(shù)
- 發(fā)生用藥錯(cuò)誤應(yīng)急預(yù)案
- 南潯至臨安公路(南潯至練市段)公路工程環(huán)境影響報(bào)告
- 綠色貸款培訓(xùn)課件
- 大學(xué)生預(yù)征對(duì)象登記表(樣表)
- 主管部門(mén)審核意見(jiàn)三篇
- 初中數(shù)學(xué)校本教材(完整版)
- 父母教育方式對(duì)幼兒社會(huì)性發(fā)展影響的研究
- 新課標(biāo)人教版數(shù)學(xué)三年級(jí)上冊(cè)第八單元《分?jǐn)?shù)的初步認(rèn)識(shí)》教材解讀
- (人教版2019)數(shù)學(xué)必修第一冊(cè) 第三章 函數(shù)的概念與性質(zhì) 復(fù)習(xí)課件
- 重慶市銅梁區(qū)2024屆數(shù)學(xué)八上期末檢測(cè)試題含解析
評(píng)論
0/150
提交評(píng)論