fpga正交信號(hào)發(fā)生器課程設(shè)計(jì)_第1頁(yè)
fpga正交信號(hào)發(fā)生器課程設(shè)計(jì)_第2頁(yè)
fpga正交信號(hào)發(fā)生器課程設(shè)計(jì)_第3頁(yè)
fpga正交信號(hào)發(fā)生器課程設(shè)計(jì)_第4頁(yè)
fpga正交信號(hào)發(fā)生器課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、廣西大學(xué)行健文理學(xué)院課程設(shè)計(jì)報(bào)告課程名稱:FPGA課程設(shè)計(jì)設(shè)計(jì)題目: 正交信號(hào)發(fā)生器 系 別: 通信與控制工程系 專 業(yè): 電子信息工程 班 級(jí): 10級(jí)電子信息工程3班 學(xué)生姓名: 學(xué) 號(hào): 起止日期: 2013年6月8日 2012年6月18日 指導(dǎo)教師: 教研室主任: 摘 要 EDA技術(shù)是指以計(jì)算機(jī)為工作平臺(tái),融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動(dòng)設(shè)計(jì)。本文詳細(xì)介紹了基于FPGA的DSP開發(fā)技術(shù),提供了一種設(shè)計(jì)正交信號(hào)發(fā)生器的方案。在信號(hào)檢測(cè)和信號(hào)處理中經(jīng)常需要正交信號(hào)。由于正交方波信號(hào)較易得到,所以工程人員進(jìn)行相關(guān)檢測(cè)時(shí)所采用的正交信號(hào)源通常為

2、方波信號(hào)。但通過對(duì)方波信號(hào)作傅立葉分析可知,這種信號(hào)含有豐富的諧波分量,嚴(yán)重影響相關(guān)檢測(cè)中的接收精度及檢測(cè)靈敏度。采用可控的正、余弦波作正交信號(hào),就可以有效地避免諧波問題。本文采用MatlabDSP Builder建立模型來實(shí)現(xiàn)正交信號(hào)發(fā)生器,使用自頂向下的設(shè)計(jì)方法,設(shè)計(jì)簡(jiǎn)單,能夠提高設(shè)計(jì)效率。利用DSP Builder 建立起數(shù)學(xué)模型,實(shí)現(xiàn)了模塊化的設(shè)計(jì)變得直觀。在Simulink中進(jìn)行仿真驗(yàn)證,通過Signal Compiler 將模型轉(zhuǎn)換成硬件描述語(yǔ)言,經(jīng)過Quartus仿真正確后,下載到FPGA里,輸出的正交信號(hào)能靈活的調(diào)頻,調(diào)相,調(diào)幅,實(shí)現(xiàn)全數(shù)字化設(shè)計(jì)。該方案簡(jiǎn)化了硬件設(shè)計(jì)的難度。對(duì)

3、各個(gè)模塊的參數(shù)進(jìn)行簡(jiǎn)單的設(shè)置就能完成復(fù)雜的電子設(shè)計(jì)系統(tǒng)設(shè)計(jì)。 關(guān)鍵詞:EDA技術(shù);DSP Builder;正交信號(hào)發(fā)生器;Signal Compiler目 錄設(shè)計(jì)要求11、方案論證與對(duì)比11.1方案一11.2 方案二11.3方案選擇22、系統(tǒng)總體方案設(shè)計(jì)及實(shí)現(xiàn)22.1正交信號(hào)發(fā)生器設(shè)計(jì)22.1.1 DDS原理及設(shè)計(jì)22.1.2 頻率字輸入的計(jì)算62.1.3 輸出波形峰峰值的計(jì)算62.1.4 相位差的計(jì)算62.1.5正交信號(hào)發(fā)生器電路模型圖72.1.6 Simulink模型的仿真82.2 SignalCompiler的使用92.2.1 分析當(dāng)前的模塊92.2.2 設(shè)置SignalCompiler

4、92.2.3 把模型文件MDL 轉(zhuǎn)換成VHDL92.2.4 綜合92.2.5 Quartus試配102.3嵌入式鎖相環(huán)的設(shè)計(jì)102.4 引腳的鎖定103、設(shè)計(jì)結(jié)果與結(jié)論114、結(jié)束語(yǔ)及致謝115、元器件及儀器設(shè)備明細(xì)表126、參考文獻(xiàn)137、程序清單13正交信號(hào)發(fā)生器設(shè)計(jì)要求能通過按鍵進(jìn)行幅度控制,輸出信號(hào)的頻率在1050kHZ,或者固定在某一頻率上,要求峰-峰值大于3V,且輸出波形不失真。1、方案論證與對(duì)比1.1方案一該方案根據(jù)矩陣式鍵盤輸入給FPGA送出頻率控制字與相位控制字,用于設(shè)定輸出正弦波的頻率與相位。高速DA轉(zhuǎn)換器用于正弦波的DA轉(zhuǎn)換。FPGA構(gòu)成DDS的核心部分,用于接收送來的頻

5、率字與相位字,同時(shí)給DA轉(zhuǎn)換器輸出正弦波數(shù)據(jù)。采用字符型液晶顯示屏實(shí)時(shí)顯示輸出的頻率與相位。該方案需借助Quartus來完成。圖1 方案一原理框圖按鍵控制DDS相位累加器幅度控制D/A轉(zhuǎn)換電路A頻率字輸入相位字輸入A路輸出 1.2 方案二該方案是基于DSP Builder與DDS并借助于MATLAB進(jìn)行設(shè)計(jì)的。首先在Matlab中DSP Build的Simulink中進(jìn)行建模,系統(tǒng)仿真通過SignalCompiler將模型設(shè)計(jì)文件轉(zhuǎn)換成相應(yīng)的硬件描述語(yǔ)言(VHDL),在Quartus平臺(tái)上進(jìn)行綜合生成網(wǎng)表文件,并適配下載至FPGA。在這個(gè)方案中,有兩路正弦信號(hào),一路為參考信號(hào),另一路是可數(shù)控的

6、移動(dòng)信號(hào),并且這兩路可同步進(jìn)行幅度和頻率數(shù)控,即對(duì)于這兩路輸出的正弦信號(hào),在相位、頻率和幅度3個(gè)參數(shù)上都能完成等步長(zhǎng)數(shù)控步進(jìn),而且還能對(duì)指定的參數(shù)進(jìn)行設(shè)定。頻率字輸入圖2 方案二原理框圖信號(hào)輸出DDS相位累加器加法器查找表查找表相位字輸入信號(hào)輸出1.3方案選擇方案一是基于Quartus,在設(shè)計(jì)的過程中,利用VHDL完成電路設(shè)計(jì),必須借助于EDA工具中的綜合器、適配器、時(shí)序仿真器和編程器等工具進(jìn)行相應(yīng)的處理,才能使此項(xiàng)設(shè)計(jì)在FPGA上完成硬件實(shí)現(xiàn)并得到硬件測(cè)試,在進(jìn)行HDL文本輸入設(shè)計(jì)流程中比較繁瑣,而且容易出錯(cuò)。而方案二是基于DSP Builder進(jìn)行手動(dòng)流程設(shè)計(jì),在設(shè)計(jì)過程中,DSP Bui

7、lder會(huì)自動(dòng)完成VHDL的轉(zhuǎn)換、綜合、適配,而不像方案一那樣要進(jìn)行HDL文本輸入,這樣的話就能避免文本輸入過程中的絕大多數(shù)錯(cuò)誤。因而我們選擇方案二。2、系統(tǒng)總體方案設(shè)計(jì)及實(shí)現(xiàn)2.1正交信號(hào)發(fā)生器設(shè)計(jì)2.1.1 DDS原理及設(shè)計(jì)直接數(shù)字頻率合成技術(shù)(Direct Digital Synthesis,DDS)是一種從相位概念出發(fā)直接合成所需要的波形的新的全數(shù)字頻率合成技術(shù),該技術(shù)具有頻率分辨率高、頻率變化速度快、相位可連續(xù)性變化等特點(diǎn),在數(shù)字通信系統(tǒng)中被廣泛采用,是信號(hào)生成的最佳選擇。DDS主要由相位累加器、相位調(diào)制器、正弦ROM查找表、D /A轉(zhuǎn)換器等組成。系統(tǒng)時(shí)鐘clk由一個(gè)穩(wěn)定的晶體振蕩器

8、產(chǎn)生,用來同步整個(gè)合成器的各組成部分。同步寄存器的使用是為了當(dāng)輸入的頻率字改變時(shí)不會(huì)干擾相位累加器的正常工作。相位累加器是整個(gè)DDS的核心,它由N位加法器和N位相位寄存器級(jí)聯(lián)構(gòu)成,類似一個(gè)簡(jiǎn)單的加法器,完成上面推導(dǎo)中的相位累加功能。每來一個(gè)時(shí)鐘脈沖,加法器就將輸入的N位頻率字與相位寄存器輸出的累加相位數(shù)據(jù)相加,然后將相加后的結(jié)果送至相位累加器的輸入端,相位寄存器就將在上一個(gè)時(shí)鐘作用后產(chǎn)生的新相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一個(gè)時(shí)鐘的作用下繼續(xù)將相位數(shù)據(jù)與輸入的頻率字相加。當(dāng)相位累加器累加滿量(2) 時(shí),就會(huì)產(chǎn)生一次溢出,完成一個(gè)周期性的動(dòng)作,這個(gè)周期就是合成信號(hào)的一個(gè)周期,累加器的

9、溢出頻率就是DDS的合成信號(hào)頻率。相位調(diào)制器接收相位累加器的相位輸出,并與一個(gè)相位偏移值相加,主要用于信號(hào)的相位調(diào)制, 如PSK(相移鍵控)等。在不使用時(shí)可去掉該部分,或加一個(gè)固定的相位字輸入。注意相位字輸入也要用同步寄存器保持同步,但相位字輸入的寬度M與頻率字輸入N往往是不相等的,一般M N。正弦ROM查找表的作用是完成查表轉(zhuǎn)換,或理解為相位到幅度的轉(zhuǎn)換。將相位累加器或相位調(diào)制器輸出的相位數(shù)據(jù)作為取樣地址,來尋找正弦ROM表進(jìn)行相位到幅度的變換,輸出不同的幅度編碼。經(jīng)D /A轉(zhuǎn)換器得到相應(yīng)的階梯波,最后經(jīng)過低通濾波器對(duì)階梯波進(jìn)行平滑處理,得到由輸入的頻率字決定的連續(xù)變化的輸出正弦波。下面的即

10、為基本DDS結(jié)構(gòu)的常用參數(shù)計(jì)算公式: 輸出頻率: 頻率字: 其中是頻率控制字,為系統(tǒng)基準(zhǔn)時(shí)鐘的頻率值,N為相位累加器的數(shù)據(jù)位寬,也是頻率控制字的數(shù)據(jù)位寬。 圖3 DDS基本結(jié)構(gòu)原理圖相位字輸入同步寄存器M同步寄存器相位累加器相位調(diào)制器正弦ROMM正弦信號(hào)輸出頻率字輸入CLKN下圖為 DDS基本結(jié)構(gòu)原理圖,仔細(xì)觀察。頻率控制字的可調(diào)整性使得系統(tǒng)輸出頻率非常容易調(diào)整。輸出正弦波頻率f=fclk*frequword/220,系統(tǒng)時(shí)鐘,頻率控制字DDS系統(tǒng)時(shí)鐘12MHz,異步于CPU時(shí)鐘20bit頻率控制字,8bit相位控制字,8bit數(shù)據(jù)輸出每波形抽樣256個(gè)點(diǎn)。相位累加器相位累加器結(jié)構(gòu)如圖(4)所

11、示。假設(shè)系統(tǒng)時(shí)鐘為Fc,輸出頻率為Fout。每次轉(zhuǎn)動(dòng)一個(gè)角度360/2N, 則可以產(chǎn)生一個(gè)頻率為Fc/2N 的正弦波的相位遞增量。那么只要選擇恰當(dāng)?shù)念l率控制字M,使得 Fout / Fc= M / 2N,就可以得到所需要的輸出頻率Fout,F(xiàn)out = Fc*M / 2N,相位幅度轉(zhuǎn)換通過相位累加器,我們已經(jīng)得到了合成Fout 頻率所對(duì)應(yīng)的相位信息,然后相位幅度轉(zhuǎn)換器把0360的相位轉(zhuǎn)換成相應(yīng)相位的幅度值。 (1)相位累加器結(jié)構(gòu)如圖(4)所示。圖4 相位累加器 (2)如圖5所示,該部分是頻率字輸入,不同的頻率字輸入會(huì)使得信號(hào)輸出波形的頻率不同。 圖5 頻率字輸入 (3)如圖6所示,該部分是輸入

12、地址為6位,輸出值位寬為8的正弦查找表模塊,且輸入地址總線為無符號(hào)整數(shù)。圖6 LUT模塊 高速D/A模塊GW_ADDA板含兩片10位超高速DAC(轉(zhuǎn)換速率最高150MHz),D/A全部處于使能狀態(tài),除了數(shù)據(jù)線外,任一器件的控制信號(hào)線只有時(shí)鐘線,這有利于高速控制和直接利用MATLAB/DSP Builder工具的設(shè)計(jì)。GW_ADDA板上工作時(shí)鐘必須由FPGA的I/O口提供,優(yōu)點(diǎn)是時(shí)鐘頻率容易變化,且可通過Cyclone中的PLL的到幾乎任何時(shí)鐘頻率。由此即可測(cè)試DAC的最高轉(zhuǎn)換頻率。 兩個(gè)電位器可分別調(diào)協(xié)兩個(gè)D/A輸出的幅度(輸出幅度峰峰值不可大于5V,否則波形失真);模擬信號(hào)從接插口的2針“A

13、IN”輸入,J1和J2分別是模擬信號(hào)輸出的PA、PB口,也可在兩掛鉤處輸出,分別是兩個(gè)10位DA5651輸出口。電路原理圖如圖7所示。相位累加器結(jié)構(gòu)如圖(4)所示。假設(shè)系統(tǒng)時(shí)鐘為Fc,輸出頻率為Fout。每次轉(zhuǎn)動(dòng)一個(gè)角度360/2N, 則可以產(chǎn)生一個(gè)頻率為Fc/2N 的正弦波的相位遞增量。下圖為高速DA模塊電路原理圖,認(rèn)真理解并運(yùn)用:圖7 高速DA模塊電路原理圖2.1.2 頻率字輸入的計(jì)算由DDS的頻率輸入字公式:計(jì)算,式中N為相位累加器的數(shù)據(jù)位寬,也是頻率輸入字的數(shù)據(jù)位寬,fclk是系統(tǒng)基準(zhǔn)時(shí)鐘的頻率值。本設(shè)計(jì)中N=20,fclk=12MHZ,fout=50KHZ根據(jù)計(jì)算得出頻率輸入字為43

14、69。2.1.3 輸出波形峰峰值的計(jì)算本設(shè)計(jì)中正弦查找模塊輸入地址為8位,輸出位寬為10位,且輸入地址總線為無符號(hào)整數(shù),可設(shè)置起始值為0、結(jié)束值為2、步進(jìn)值為2/26。為了得到完整滿度的波形輸出,計(jì)算式可寫成:511*sin0:2*pi/28:2*pi+5122.1.4 相位差的計(jì)算本設(shè)計(jì)用8bit相位控制字,8bit數(shù)據(jù)輸出每波形抽樣28=256個(gè)點(diǎn),所以每按一鍵增加或減小相位差為3600/256=1.400 符合設(shè)計(jì)要求。2.1.5正交信號(hào)發(fā)生器電路模型圖兩個(gè)電位器可分別調(diào)協(xié)兩個(gè)D/A輸出的幅度,使用時(shí)一定要調(diào)節(jié)好,使之能調(diào)幅?;贒DS的正交信號(hào)發(fā)生器是整個(gè)系統(tǒng)的設(shè)計(jì)核心部分,其電路模型

15、圖如圖8所示。圖8 基于DDS的正交信號(hào)發(fā)生器MDL模型DDS用來產(chǎn)生頻率、相位和幅度可變的正弦波。DDS的工作原理是利用正弦信號(hào)的相位與時(shí)間呈線性關(guān)系的特性”1,采用相位累加方法作為地址,讀出相應(yīng)ROM中的值,得到正弦信號(hào)的瞬時(shí)幅值,實(shí)現(xiàn)頻率合成。DDS包括頻率控制字、相位控制字、同步寄存器、相位累加器、波形存儲(chǔ)器、數(shù)模轉(zhuǎn)換器、低通濾波器。在系統(tǒng)時(shí)鐘的控制下相位累加器對(duì)頻率控制字K進(jìn)行累加,得到相位碼,相位碼尋址ROM得到幅值碼,經(jīng)過數(shù)模轉(zhuǎn)換后得到相應(yīng)的階梯波,再經(jīng)過低通濾波得到連續(xù)平滑的、由頻率控制字K決定的模擬輸出波形。DDS可以用來產(chǎn)生多種波形,只要改變ROM中的數(shù)據(jù)預(yù)先設(shè)置成正弦波、

16、余弦波等,根據(jù)查表就可以實(shí)現(xiàn)不同的波形。利用DSPBuilder設(shè)計(jì)DDS。然后轉(zhuǎn)換成VHDL。DDS的分辨率在相位累加器的位數(shù),足夠大時(shí),理論上可以獲得相應(yīng)的分辨精度。DDS是一個(gè)全數(shù)字結(jié)構(gòu)的開環(huán)系統(tǒng),無反饋環(huán)節(jié),速度非常快。DDS的相位誤差主要依賴于時(shí)鐘的相位特性,相位誤差小,相位是連續(xù)變化的,形成的信號(hào)具有良好的頻譜。這是傳統(tǒng)的直接頻率合成方法無法實(shí)現(xiàn)的。相位字輸入的數(shù)據(jù)寬度M往往小于相位寄存器字長(zhǎng),實(shí)際的DDS結(jié)構(gòu)中很大。其中Subsystem的原理圖如圖9 圖9 Subsystem的原理圖2.1.6 Simulink模型的仿真在Sinout模型編輯窗口中,選擇SlimulationS

17、tart命令,開始仿真,等待仿真結(jié)束后,雙擊Scope模塊,打開Scope觀察窗口。其仿真波形如圖10圖10 simulink模型仿真圖2.2 SignalCompiler的使用2.2.1 分析當(dāng)前的模塊雙擊Sinout模型中的SignalCompiler模塊,之后單擊Analyze按鈕后,SignalCompiler就會(huì)對(duì)Sinout模型進(jìn)行分析,檢查模型有無錯(cuò)誤,并在MATLAB主窗口中彈出對(duì)話框,并給出相關(guān)信息。2.2.2 設(shè)置SignalCompilerSignalCompiler窗口中大致分為3個(gè)功能部分:項(xiàng)目設(shè)置選項(xiàng) 硬件編譯流程信息框2.2.3 把模型文件MDL 轉(zhuǎn)換成VHDL當(dāng)

18、設(shè)置好Device和Synthesis后,右側(cè)的硬件編譯部分就會(huì)列出一個(gè)操作:(1)Convert MDL to VHDL(2) Synthesis(3) Quartus2.2.4 綜合單擊步驟(2)的圖標(biāo),完成綜合過程。2.2.5 Quartus試配單擊步驟(3)的圖標(biāo),調(diào)用Quartus完成編譯試配過程,生成編譯文件。編譯文件可以直接用于FPGA的編譯配置。打開Quartus后 ,需在VHDL文件程序中實(shí)體說明中添加: CLK : out std_logic;在結(jié)構(gòu)體最后加入:CLK=CLOCK;2.3嵌入式鎖相環(huán)的設(shè)計(jì)當(dāng)輸出波形頻率較高時(shí),由于采樣一個(gè)完整周期的波形數(shù)據(jù)點(diǎn)數(shù)減少,勢(shì)必引起

19、波形失真,要消除波形失真,一是可以增加采樣波形數(shù)據(jù)的點(diǎn)數(shù),二是提高系統(tǒng)的主工作時(shí)鐘頻率。若不增加外配ROM的情況下,可以使用后一種方法。本系統(tǒng)設(shè)計(jì)時(shí)在充分利用FPGA的存儲(chǔ)空間的情況下,為了提高波形的輸出頻率(在不失真的條件下),還使用了Cyclone器件中的嵌入式鎖相環(huán),提高系統(tǒng)的主工作時(shí)鐘頻率,在實(shí)際工作時(shí)的主時(shí)鐘頻率達(dá)12 MHz。2.4 引腳的鎖定設(shè)計(jì)中各引腳的鎖定如圖11所示。本設(shè)計(jì)選擇工作模式1,通過鍵盤控制波形輸出的幅度。圖11各引腳的鎖定3、設(shè)計(jì)結(jié)果與結(jié)論(1)嵌入式邏輯分析儀輸出波形如圖12圖12 嵌入式邏輯分析儀輸出波形(2)波形失真度與儲(chǔ)存波形ROM的位數(shù)及主工作時(shí)鐘頻率

20、有關(guān)。(3)1.,2,3鍵控制幅度,其中1是微調(diào),2,3粗調(diào)。由于我們頻率設(shè)定在一個(gè)固定值,在10HZ到50KHZ之間,能夠?qū)崿F(xiàn)在峰峰值大于3V波形不失真。且波形較穩(wěn)定。4、結(jié)束語(yǔ)及致謝在本文的撰寫過程中,老師作為我們的指導(dǎo)老師,他們治學(xué)嚴(yán)謹(jǐn),學(xué)識(shí)淵博,視野廣闊,為我營(yíng)造了一種良好的學(xué)術(shù)氛圍。置身其間,耳濡目染,潛移默化,使我不僅接受了全新的思想觀念,樹立了明確的學(xué)術(shù)目標(biāo),領(lǐng)會(huì)了基本的思考方式,掌握了通用的研究方法,而且還明白了許多待人接物與為人處世的道理。其嚴(yán)以律己、寬以待人的崇高風(fēng)范,樸實(shí)無華、平易近人的人格魅力,與無微不至、感人至深的人文關(guān)懷,令人如沐春風(fēng),倍感溫馨。這段時(shí)間的學(xué)習(xí),使我

21、們了解到了理論和實(shí)際之間的差別,第一次真正接觸到了實(shí)際中的問題,并通過和老師、同學(xué)交流,加強(qiáng)了自身的分析問題、解決問題的能力。同時(shí),我們也發(fā)現(xiàn)了自己在某些方面的不足,這是我們以后要加以改進(jìn)的方面。對(duì)于如何運(yùn)用MATLAB與DSPbuilder有了更好的運(yùn)用,使我們對(duì)硬件課程的學(xué)習(xí)有了更濃的興趣, 使我們對(duì)我們所學(xué)的這個(gè)方向服了更濃的興趣。雖然在做課設(shè)的過程中遇到過許多困難,尤其是思路一開始不正確的時(shí)候也產(chǎn)生過放棄的念頭,但最終還是堅(jiān)持了下來,終于把這個(gè)課設(shè)完整圓滿的做完了。在此特向老師致以衷心的謝意!向他們無可挑剔的敬業(yè)精神、嚴(yán)謹(jǐn)認(rèn)真的治學(xué)態(tài)度、深厚的專業(yè)修養(yǎng)和平易近人的待人方式表示深深的敬意

22、!5、元器件及儀器設(shè)備明細(xì)表設(shè)備與器件名數(shù)量備注計(jì)算機(jī)1臺(tái)MATLAB軟件1套MATLAB 7.0DSP Builder軟件1套DSP Builder6.0Quartus開發(fā)軟件1套Quartus II6.0EDA實(shí)驗(yàn)箱1個(gè)GW48-PK2數(shù)字示波器1臺(tái)ADS7022S6、參考文獻(xiàn)1邊計(jì)年,薛宏熙譯. 用VHDL設(shè)計(jì)電子線路. 北京:清華大學(xué)出版社,2000.2黃正謹(jǐn),徐堅(jiān)等. CPLD系統(tǒng)設(shè)計(jì)技術(shù)入門與應(yīng)用. 北京:電子工業(yè)出版社,2002.3蔣璇,蔵春華. 數(shù)學(xué)系統(tǒng)設(shè)計(jì)與PLD應(yīng)用技術(shù). 北京:電子工業(yè)出版社,2001.4李宗伯,王蓉暉譯. VHDL設(shè)計(jì)表示和綜合. 北京:機(jī)械工業(yè)出版社,

23、2002.5潘松,黃繼業(yè),王國(guó)棟. 現(xiàn)代DSP技術(shù). 西安:西安電子科技大學(xué)出版社,2003.6王金明,楊吉斌. 數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL. 北京:電子工業(yè)出版社,2002.7王鎖萍. 電子設(shè)計(jì)自動(dòng)化(EDA)教程. 成都: 電子科技大學(xué)出版社,2000.8徐志軍,徐光輝. CPLD/FPGA開發(fā)與應(yīng)用. 北京:電子工業(yè)出版社,2002.9Altera Corporation. Altera Digital Library. Altera,2002.10Xilinx Inc. Data Book 2001. Xilinx,2000.7、程序清單use dspbuilder.dspb

24、uilderblock.all;library lpm;use lpm.lpm_components.all; library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_signed.all;library dspbuilder;Entity biaozhun1 is Port(clk:out std_logic;clock:in std_logic;sclrp :in std_logic:=0;Input:in std_logic_vector(7 downto 0);Input1:in std_logic_vector(31 d

25、ownto 0);Input2:in std_logic_vector(7 downto 0);Input3:in std_logic_vector(7 downto 0);Output:out std_logic_vector(9 downto 0);Output1:out std_logic_vector(9 downto 0) );end biaozhun1;architecture aDspBuilder of biaozhun1 issignalSAOutputO:std_logic_vector(9 downto 0);signalSAOutput1O:std_logic_vect

26、or(9 downto 0);signal sclr :std_logic:=0;signalA0W:std_logic_vector(32 downto 0);signalA1W:std_logic_vector(9 downto 0);signalA2W:std_logic_vector(15 downto 0);signalA3W:std_logic_vector(8 downto 0);signalA4W:std_logic_vector(32 downto 0);signalA5W:std_logic_vector(8 downto 0);signalA6W:std_logic_ve

27、ctor(8 downto 0);signalA7W:std_logic_vector(33 downto 0);signalA8W:std_logic_vector(23 downto 0);signalA9W:std_logic_vector(32 downto 0);signalA10W:std_logic_vector(19 downto 0);signalA11W:std_logic_vector(19 downto 0);signalA12W:std_logic_vector(33 downto 0);signalA13W:std_logic_vector(34 downto 0)

28、;signalA14W:std_logic_vector(10 downto 0);signalA15W:std_logic_vector(10 downto 0);signalA16W:std_logic_vector(10 downto 0);signalA17W:std_logic_vector(10 downto 0);signalA18W:std_logic_vector(10 downto 0);Beginassert (10) report altversion severity Note;Output=SAOutputO;Output1=SAOutput1O;- Global

29、reset circuitry for the input global reset sclrpsclr=sclrp;- Input - I/O assignment from Simulink Block InputA3W(7 downto 0) = Input;A3W(8) = 0;- Input - I/O assignment from Simulink Block Input1A4W(31 downto 0) = Input1;A4W(32) = 0;- Input - I/O assignment from Simulink Block Input2A5W(7 downto 0)

30、= Input2;A5W(8) = 0;- Input - I/O assignment from Simulink Block Input3A6W(7 downto 0) = Input3;A6W(8) = 0;A0W(32)=0;- Constant assignment - Simulink Block Constant0A1W(9)=0;A1W(8 downto 0)=000000000;- Constant assignment - Simulink Block Constant1A2W(15)=0;A2W(14 downto 0)=000000000000000;- Concate

31、nation Operation - Simulink Block BusConcatenationA8W(22 downto 0) = A3W(7 downto 0) & A2W(14 downto 0);A8W(23)=0;- Concatenation Operation - Simulink Block BusConcatenation1A9W(31 downto 0) = A1W(8 downto 0) & A8W(22 downto 0);A9W(32)=0;A16W(10)=0;A17W(10)=0;A18W(10)11,width_inr=0,width_outl=10,wid

32、th_outr=0,lpm_signed=BusIsUnsigned,round=0,satur=0)port map (xin=A17W,yout=SAOutputO);- Output - I/O assignment from Simulink Block Output1Output1i : SBF generic map(width_inl=11,width_inr=0,width_outl=10,width_outr=0,lpm_signed=BusIsUnsigned,round=0,satur=0)port map (xin=A18W,yout=SAOutput1O);-Bus

33、Formatting Simulink Block AltBusAltBusi : SBF generic map(width_inl=34,width_inr=0,width_outl=32,width_outr=0,lpm_signed=BusIsUnsigned,round=0,satur=0)port map (xin =A7W,yout=A0W(31 downto 0);- Delay Element - Simulink Block DelayDelayi : SDelaygeneric map (LPM_WIDTH = 34,LPM_DELAY = 1,SequenceLengt

34、h = 1,SequenceValue = 1)port map (dataa=A12W,clock=clock,ena =1,sclr =sclr,result=A7W);- Product Operator - Simulink Block ProductProducti : AltiMult generic map (LPM_WIDTHA=11,LPM_WIDTHB=9,PIPELINE=0,one_input=0,lpm =1,lpm_hint=UNUSED,cst_val =000000000,SequenceLength=1,SequenceValue=1,dspb_widthr=

35、20)port map (DATAA=A14W,DATAB=A5W,clock=0,ena =1,sclr =0,result=A10W);- Product Operator - Simulink Block Product1Product1i : AltiMult generic map (LPM_WIDTHA=11,LPM_WIDTHB=9,PIPELINE=0,one_input=0,lpm =0,lpm_hint=UNUSED,cst_val =000000000,SequenceLength=1,SequenceValue=1,dspb_widthr=20)port map (DA

36、TAA=A15W,DATAB=A6W,clock=0,ena =1,sclr =0,result=A11W);- Sum Operator - Simulink Block ParallelAdderSubtractorParallelAdderSubtractori : SAdderSub generic map (lpm_width =33,pipeline=1,SequenceLength=1,SequenceValue=1,AddSubVal=AddAdd)port map (dataa=A0W,datab=A9W,clock=clock,ena =1,sclr =sclr,result=A12W);- Sum Operator - Simulink Block ParallelAdderSubtractor1ParallelAdderSubtractor1i : SAdderSub generic map (lpm_width =34,pipeline=1,SequenceLength=1,SequenceValue=1,AddSubVal=Add

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論