![基于fpga的DDS信號波形發(fā)生器_第1頁](http://file4.renrendoc.com/view/e9e9bd6b06b991e1963484b1d4538656/e9e9bd6b06b991e1963484b1d45386561.gif)
![基于fpga的DDS信號波形發(fā)生器_第2頁](http://file4.renrendoc.com/view/e9e9bd6b06b991e1963484b1d4538656/e9e9bd6b06b991e1963484b1d45386562.gif)
![基于fpga的DDS信號波形發(fā)生器_第3頁](http://file4.renrendoc.com/view/e9e9bd6b06b991e1963484b1d4538656/e9e9bd6b06b991e1963484b1d45386563.gif)
![基于fpga的DDS信號波形發(fā)生器_第4頁](http://file4.renrendoc.com/view/e9e9bd6b06b991e1963484b1d4538656/e9e9bd6b06b991e1963484b1d45386564.gif)
![基于fpga的DDS信號波形發(fā)生器_第5頁](http://file4.renrendoc.com/view/e9e9bd6b06b991e1963484b1d4538656/e9e9bd6b06b991e1963484b1d45386565.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于FPGA的信號發(fā)生器設(shè)計摘要作為一種新的頻率合成技術(shù),數(shù)字頻率合成技術(shù)(DDS技術(shù))能夠應用到基于FPGA的信號源設(shè)計中。由于微電子技術(shù)的快速發(fā)展以及數(shù)字電路的集成化越來越高,基于FPGA的DDS技術(shù)的優(yōu)越性越來越突出。直接數(shù)字頻率合成器(DDS技術(shù)),它是一種頻率合成器,實現(xiàn)方法全數(shù)字化,它的組成由相位累加器、存儲波形的ROM、D/A(數(shù)模轉(zhuǎn)換器)和低通濾波器。DDS技術(shù)有著較高的頻率分辨率,并且可以快速切換頻率、能夠時刻保持相位連續(xù)等很多優(yōu)點。M提供定制實物仿真服務(wù).本文首先介紹了DDS技術(shù)的發(fā)展以及DDS技術(shù)在信號源中的應用,其次介紹了FPGA以及quartus和vhdl等方面的相關(guān)
2、知識,再其次介紹FPGA和DDS技術(shù)設(shè)計信號源的思路以及硬件設(shè)計圖,最后對基于FPGA和DDS技術(shù)的信號源設(shè)計做出仿真和驗證,并且驗證本設(shè)計的合理性并對本設(shè)計的方案提出改進。關(guān)鍵詞:FPGA,VHDL,DDS,信號源 DESIGN OF SIGNAL GENERATOR BASED ON FPGAABSTRACTAs a new technology of frequency synthesis, digital frequency synthesis technology (DDS Technology) can be applied to the design of signal sour
3、ce based on FPGA. Due to the rapid development of microelectronics and integrated more and more digital circuit, based on the advantage of FPGA DDS technology is more and more prominent. Direct digital frequency synthesizer (DDS), it is a kind of frequency synthesizer, realization of full digital, i
4、t consists of the phase accumulator, stored waveform ROM, DA (DAC) and low pass filter. The DDS technique has a high frequency resolution, fast switching frequency, continuous phase and many advantages to keep time. This paper firstly introduces the application of the development of DDS technology a
5、nd DDS technology in the signal source, then introduces the related knowledge of FPGA and quartus and VHDL etc., then followed by the introduction of ideas as well as the hardware design of FPGA and DDS technology to design the signal source, the design of signal source based on FPGA and DDS technol
6、ogy to make the simulation and verification and validation, the rationality of design and the design scheme is proposed to improve. Key words: FPGA, VHDL, DDS, Signal Source目 錄TOC o 1-3 h u HYPERLINK l _Toc27293 TOC o 1-3 h z u HYPERLINK l _Toc356138785 ABSTRACT PAGEREF _Toc356138785 h 2 HYPERLINK l
7、 _Toc356138786 第一章 緒論 PAGEREF _Toc356138786 h 4 HYPERLINK l _Toc356138787 1.1引言 PAGEREF _Toc356138787 h 4 HYPERLINK l _Toc356138788 1.2 基于FPGA的DDS的信號源 PAGEREF _Toc356138788 h 4 HYPERLINK l _Toc356138789 1.3 本論文研究目的和主要內(nèi)容 PAGEREF _Toc356138789 h 5 HYPERLINK l _Toc356138790 第二章 FPGA設(shè)計相關(guān)知識簡介 PAGEREF _To
8、c356138790 h 6 HYPERLINK l _Toc356138791 2.1 FPGA簡介 PAGEREF _Toc356138791 h 6 HYPERLINK l _Toc356138792 2.1.1 FPGA的概述 PAGEREF _Toc356138792 h 6 HYPERLINK l _Toc356138793 2.1.2 FPGA結(jié)構(gòu)介紹 PAGEREF _Toc356138793 h 6 HYPERLINK l _Toc356138795 2.2 Quartus II開發(fā)系統(tǒng) PAGEREF _Toc356138795 h 8 HYPERLINK l _Toc35
9、6138796 2.3 硬件描述語言簡介 PAGEREF _Toc356138796 h 10 HYPERLINK l _Toc356138797 第三章 FPGA設(shè)計DDS原理介紹 PAGEREF _Toc356138797 h 14 HYPERLINK l _Toc356138798 3.1 系統(tǒng)設(shè)計及原理圖 PAGEREF _Toc356138798 h 14 HYPERLINK l _Toc356138800 3.2 DDS工作模塊 PAGEREF _Toc356138800 h 15 HYPERLINK l _Toc356138801 第四章 FPGA主程序的實現(xiàn) PAGEREF _
10、Toc356138801 h 18 HYPERLINK l _Toc356138802 4.1 FPGA控制DDS的信號源軟件程序設(shè)計 PAGEREF _Toc356138802 h 18 HYPERLINK l _Toc356138804 4.2 FPGA內(nèi)部模塊 PAGEREF _Toc356138804 h 19 HYPERLINK l _Toc356138806 4.3 FPGA控制DDS波形輸出模塊 PAGEREF _Toc356138806 h 25 HYPERLINK l _Toc356138807 4.4 FPGA控制DDS整體模塊設(shè)計和仿真波形 PAGEREF _Toc356
11、138807 h 34 HYPERLINK l _Toc356138808 4.5 FPGA控制DDS的信號源結(jié)論 PAGEREF _Toc356138808 h 36 HYPERLINK l _Toc356138809 第五章 實驗結(jié)論與研究展望 PAGEREF _Toc356138809 h 38 HYPERLINK l _Toc356138810 5.1 研究展望 PAGEREF _Toc356138810 h 38 HYPERLINK l _Toc356138811 5.2 結(jié)束語 PAGEREF _Toc356138811 h 38 HYPERLINK l _Toc356138812
12、 第六章 全文總結(jié) PAGEREF _Toc356138812 h 40 HYPERLINK l _Toc356138813 附錄 PAGEREF _Toc356138813 h 42 緒論M提供定制實物仿真服務(wù)1.1引言信號源是一種為測試信號提供信號的儀器,對于很多測試系統(tǒng),信號源有極其重要的作用,很多現(xiàn)代電子設(shè)備和系統(tǒng)的功能都依賴于所用頻率源的性能,而當今高性能的頻率源都是通過頻率合成技術(shù)來實現(xiàn)。傳統(tǒng)的頻率合成器有直接頻率合成器和鎖相環(huán)兩種,直接數(shù)字頻率合成技術(shù)是一種新型的頻率合成技術(shù),它是一種采用數(shù)字化技術(shù),通過控制相位的變化速度,直接產(chǎn)生各種不同頻率信號的頻率合成方法。隨著直接數(shù)字頻率
13、合成(DDS)技術(shù)的發(fā)展,很多公司開發(fā)出了功能各異的DDS專用集成芯片,同D/A轉(zhuǎn)換器和低通濾波器(LPF)一起可以組成任意波形信號的發(fā)生器,但因其控制方式相對固定,所以無法滿足各種需要。近年來現(xiàn)場可編程門陣列(Field Programmable Gate Array簡稱:FPGA)技術(shù)得到了迅速發(fā)展和廣泛應用,其工作頻率、資源容量以及集成度都有了極大提高,這使得利用FPGA實現(xiàn)某些專用數(shù)字集成電路的方法引起了大家的關(guān)注?;贔PGA實現(xiàn)的直接數(shù)字頻率合成器充分發(fā)揮了FPGA可編程的優(yōu)點,與專用芯片構(gòu)成的DDS系統(tǒng)相比具有以下優(yōu)點:靈活的接口和控制方式、轉(zhuǎn)換時間短、帶寬大、相位連續(xù)變化和頻率
14、分辨率高等,這為設(shè)計者實現(xiàn)高性能的DDS系統(tǒng)提供了一種靈活且實用的方法。1.2 基于FPGA的DDS的信號源基于FPGA設(shè)計的DDS信號源,它是一種全數(shù)字技術(shù),是一種基于相位產(chǎn)生所需波形的技術(shù),它在1971年被提出,由于當時科學技術(shù)水平低,器件發(fā)展水平不高,和當時的技術(shù)相比,DDS的性能遠遠跟不上要求,以至于人們當時不重視DDS技術(shù)。隨著科學技術(shù)的發(fā)展,DDS技術(shù)有了突飛猛進的發(fā)展。它的很多性能是其他頻率合成的方法所無法比擬的,很快成為領(lǐng)先者。最初DDS是DDS芯片,但是隨著FPGA技術(shù)的發(fā)展,由于FPGA有很多邏輯資源,可以通過FPGA去模擬DDS信號源,而且由于作為主控制芯片,可以節(jié)省DD
15、S芯片,從而更加節(jié)省資源,經(jīng)濟實用型以及便捷可設(shè)計性更好?;贔PGA的DDS的信號源,它需要設(shè)計波形存儲器存儲所需要產(chǎn)生的波形,比如正弦波,三角波,方波,鋸齒波,等波形,還可以產(chǎn)生任意波形,只需要改變波形存儲器中存儲的波形即可,因此具有良好的可設(shè)計性以及可移植性,同時根據(jù)需求可以設(shè)計出所需要性能的DDS信號源,結(jié)合FPGA以及DA芯片設(shè)計DDS信號源,可以達到很多設(shè)計要求的精度,輸出的模擬波形相位連續(xù),相位噪聲低。1.3 本論文研究目的和主要內(nèi)容隨著科學的發(fā)展,人們在信號源的研究與發(fā)展上取得了很大的突破,尤其是對基于DDS的信號源的研究有了突飛猛進的研究,同時人們對信號源的性能的要求越來越高
16、,比如信號源的分辨率,相位噪聲等。而信號源的精度等性能對工業(yè),農(nóng)業(yè)以及國防,教育,電子等事業(yè)測量的準確性都有著很大的影響,由于在通信,電子,教學,等行業(yè),對信號的要求很多,輸入測試信號的好壞直接影響整個實驗結(jié)果,因此設(shè)計高精度的信號源則顯得愈發(fā)重要,但是由于傳統(tǒng)的信號源體積龐大,而且很多教學等領(lǐng)域?qū)π盘柧纫鬀]有工業(yè)那么高,那么基于FPGA設(shè)計的DDS信號源的產(chǎn)生具有重大意義,既可以滿足精度相對高,相位噪聲低等特點,同時也可以滿足體積小,便攜性能好,能夠很好的設(shè)計等優(yōu)點,所以基于FPGA設(shè)計的DDS信號源的研究與設(shè)計具有重大的意義。首先根據(jù)基于FPGA設(shè)計的DDS信號與的需求以及意義,我們將
17、本論文分為六部分:第一章 主要介紹基于FPGA設(shè)計的DDS信號源的的背景,意義以及應用范圍;第二章 簡要介紹了FPGA和仿真軟件及其語言VHDL;第三章 介紹基于FPGA設(shè)計的DDS信號源的的硬件設(shè)計,并驗證硬件設(shè)計的正確性第四章 介紹基于FPGA設(shè)計的DDS信號源的的軟件設(shè)計,并進行仿真與討論第五章 對結(jié)論進行分析并分析該設(shè)計的缺點以及需要改進的地方,并總結(jié)了研究展望第二章 FPGA設(shè)計相關(guān)知識簡介2.1 FPGA簡介2.1.1 FPGA的概述FPGA(FieldProgrammable Gate Array),也叫現(xiàn)場可編程門陣列。早在1980年代中期,在各種PLD器件的基礎(chǔ)上,F(xiàn)PGA就
18、出現(xiàn)在世人的眼中。它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。也是一種應用在專用集成電路(ASIC)領(lǐng)域中的半定制電路,既解決了定制電路的開發(fā)周期長等不足,又克服了過去的可編程器件門電路數(shù)目有限的缺點。目前FPGA的硬件描述主要由硬件描述語言(Verilog 或 VHDL)來完成,寫好的用來描述硬件的程序通過簡單的綜合、布局,快速燒錄到 FPGA 芯片上進行測試,這也是當今主流的IC 設(shè)計驗證的技術(shù)方法。這些可編輯器件可以實現(xiàn)一些基本的數(shù)字邏輯門電路(比如AND、OR、XOR、NOT)或是更為復雜的功能例如編碼器、解碼器6。市面上的大多數(shù)的FPGA中都包含了記憶元件,例
19、如觸發(fā)器(Flipflop)等。一般而言,F(xiàn)PGA比ASIC(專用集成芯片)的速度要慢,很難完成復雜的設(shè)計,而且相對來說,會消耗更多的電能。但是它們的研發(fā)周期短、可維護性、低造價等優(yōu)點讓它們得到了快速的發(fā)展。 FPGA的基本特點主要有:采用FPGA設(shè)計ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。FPGA可做其它全定制或半定制ASIC電路的中試樣片。FPGA內(nèi)部有豐富的觸發(fā)器和IO引腳。FPGA是ASIC電路中設(shè)計周期最短、開發(fā)費用最低、風險最小的器件之一。FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容??梢哉f,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最
20、佳選擇之一。 FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。 加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。2.1.2 FPGA結(jié)構(gòu)介紹FPGA具有掩膜
21、可編程門陣列的通用結(jié)構(gòu),它由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊來實現(xiàn)不同的設(shè)計。FPGA一般由3種可編程電路和一個用于存放編程數(shù)據(jù)的靜態(tài)存儲器SRAM組成。這3種可編程電路是:可編程邏輯模塊(CLB-Configurable Logic Block)、輸入/輸出模塊(IOB-I/O Block)和互連資源(IRInterconnect Resource)??删幊踢壿嬆KCLB是實現(xiàn)邏輯功能的基本單元,它們通常規(guī)則的排列成一個陣列,散布于整個芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外部封裝腳的接口,它通常排列在芯片的四周;可編程互連資源包括各種長度的連接
22、線段和一些可編程連接開關(guān),它們將各個CLB之間或CLB、IOB之間以及IOB之間連接起來,構(gòu)成特定功能的電路。 CLB是FPGA的主要組成部分。圖2-1是CLB基本結(jié)構(gòu)框圖,它主要由邏輯函數(shù)發(fā)生器、觸發(fā)器、數(shù)據(jù)選擇器等電路組成。CLB中3個邏輯函數(shù)發(fā)生器分別是G、F和H,相應的輸出是G 、F和H。G有4個輸入變量G1、G2、G3和G4;F也有4個輸入變量F1、F2、F3和F4。這兩個函數(shù)發(fā)生器是完全獨立的,均可以實現(xiàn)4輸入變量的任意組合邏輯函數(shù)。邏輯函數(shù)發(fā)生器H有3個輸入信號;前兩個是函數(shù)發(fā)生器的輸出G和F,而另一個輸入信號是來自信號變換電路的輸出H1。這個函數(shù)發(fā)生器能實現(xiàn)3輸入變量的各種組合
23、函數(shù)。這3個函數(shù)發(fā)生器結(jié)合起來,可實現(xiàn)多達9變量的邏輯函數(shù)。CLB中有許多不同規(guī)格的數(shù)據(jù)選擇器(四選一、二選一等),通過對CLB內(nèi)部數(shù)據(jù)選擇器的編程,邏輯函數(shù)發(fā)生器G、F和H的輸出可以連接到CLB輸出端X或Y,并用來選擇觸發(fā)器的激勵輸入信號、時鐘有效邊沿、時鐘使能信號以及輸出信號。這些數(shù)據(jù)選擇器的地址控制信號均由編程信息提供,從而實現(xiàn)所需的電路結(jié)構(gòu)。CLB中的邏輯函數(shù)發(fā)生器F和G均為查找表結(jié)構(gòu),其工作原理類似于ROM。F和G的輸入等效于ROM的地址碼,通過查找ROM中的地址表可以得到相應的組合邏輯函數(shù)輸出。另一方面,邏輯函數(shù)發(fā)生器F和G還可以作為器件內(nèi)高速RAM或小的可讀寫存儲器使用,它由信號
24、變換電路控制。 輸入/輸出模塊IOB。IOB提供了器件引腳和內(nèi)部邏輯陣列之間的連接。它主要由輸入觸發(fā)器、輸入緩沖器和輸出觸發(fā)/鎖存器、輸出緩沖器組成。每個IOB控制一個引腳,它們可被配置為輸入、輸出或雙向I/O功能。當IOB控制的引腳被定義為輸入時,通過該引腳的輸入信號先送入輸入緩沖器。緩沖器的輸出分成兩路:一路可以直接送到MUX,另一路經(jīng)延時幾納秒(或者不延時)送到CLBCLBCLBCLBCLBBCLBCLBCLBCLBCLBCLBCLBCLBBCLBCLBCLB可編程開關(guān)矩輸入輸出模塊互連資源圖2-1 CLB基本結(jié)構(gòu)輸入通路D觸發(fā)器,再送到數(shù)據(jù)選擇器。通過編程給數(shù)據(jù)選擇器不同的控制信息,確
25、定送至CLB陣列的I1和I2是來自輸入緩沖器,還是來自觸發(fā)器。當IOB控制的引腳被定義為輸出時,CLB陣列的輸出信號OUT也可以有兩條傳輸途徑:一條是直接經(jīng)MUX送至輸出緩沖器,另一條是先存入輸出通路D觸發(fā)器,再送至輸出緩沖器。IOB輸出端配有兩只MOS管,它們的柵極均可編程,使MOS管導通或截止,分別經(jīng)上拉電阻接通Vcc、地線或者不接通,用以改善輸出波形和負載能力??删幊袒ミB資源IR??删幊袒ミB資源IR可以將FPGA內(nèi)部的CLB和CLB之間、CLB和IOB之間連接起來,構(gòu)成各種具有復雜功能的系統(tǒng)。IR主要由許多金屬線段構(gòu)成,這些金屬線段帶有可編程開關(guān),通過自動布線實現(xiàn)各種電路的連接。2.2
26、Quartus II開發(fā)系統(tǒng)Quartus II 是 HYPERLINK /view/3317625.htm t _blank Altera公司提供的開發(fā) HYPERLINK /view/37.htm t _blank 軟件,包括原理圖設(shè)計、VHDL設(shè)計、VerilogHDL以及AHDL設(shè)計(Altera Hardware Description Language)等多很多方式,它內(nèi)部有自己的的綜合器,并有自己的仿真器,從而實現(xiàn)PLD的輸入到配置硬件的整個設(shè)計。 Quartus II支持Linux,XP以及Unix等多種系統(tǒng)。既可以通過寫Tcl HYPERLINK /view/54.htm t
27、 _blank 腳本實現(xiàn)設(shè)計,也可以通過界面設(shè)計。具有很快的速度,界面統(tǒng)一,功能集中等特點。 Quartus II支持Altera的IP核,包括LPM,以及MegaFunction,用戶通過已有的模塊,使設(shè)計更加簡單、速度更加快快速。同時,它也支持其他第三方EDA仿真工具,方便用戶用戶通過第三方工具進行設(shè)計。 此外,Quartus II 還能結(jié)合DSP Builder工具與Matlab/Simulink,各種DSP系統(tǒng)的應用也可以在Quartus II上實現(xiàn);Altera的片上可進行編程的系統(tǒng)(SOPC)也可以在Quartus II上實現(xiàn),設(shè)計系統(tǒng)級、開發(fā) HYPERLINK /view/25
28、17315.htm t _blank 嵌入式軟件、都可以在Quartus II上完成。 Maxplus II 作為Altera的上一代PLD設(shè)計軟件,由于其出色的易用性而得到了廣泛的應用。目前Altera已經(jīng)停止了對Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設(shè)計輔助工具,集成了SOPC和HardCopy設(shè)計流程,并且繼承了Maxplus II 友好的圖形界面及簡便的使用方法。 Altera Quartus
29、II 作為一種可編程邏輯的設(shè)計環(huán)境, 由于其強大的設(shè)計能力和直觀易用的接口,越來越受到 HYPERLINK /view/3114367.htm t _blank 數(shù)字系統(tǒng)設(shè)計者的歡迎。Quartus II提供了完全集成且與電路結(jié)構(gòu)無關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計的全部特性,包括: 可利用原理圖、結(jié)構(gòu)框圖、Verilog HDL、AHDL和VHDL完成電路描述,并將其保存為設(shè)計實體文件; 芯片(電路)平面布局連線編輯; LogicLock增量設(shè)計方法,用戶可建立并優(yōu)化系統(tǒng),然后添加對原始系統(tǒng)的性能影響較小或無影響的后續(xù)模塊; 功能強大的邏輯綜合工具; 完備的電路功能仿真與時序邏輯仿真工具; 定
30、時/時序分析與關(guān)鍵路徑延時分析; 可使用SignalTap II邏輯分析工具進行嵌入式的邏輯分析; 支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來生成編程文件; 使用組合編譯方式可一次完成整體設(shè)計流程; Altera的Quartus II可編程邏輯軟件屬于第四代PLD開發(fā)平臺。該平臺支持一個工作組環(huán)境下的設(shè)計要求,其中包括支持基于Internet的協(xié)作設(shè)計。Quartus平臺與Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供應商的開發(fā)工具相兼容。改進了軟件的LogicLock模塊設(shè)計功能,增添了FastFit編譯選項,推
31、進了網(wǎng)絡(luò)編輯性能,而且提升了調(diào)試能力。支持MAX7000/MAX3000等乘積項器件。2.3 硬件描述語言簡介目前FPGA編程語言主要有VHDL和Verilog兩種硬件描述語言,是目前世界上最流行的兩種硬件描述語言(Hardware Description Language,HDL),都是IEEE在20世紀80年代中期提出的標準,Verilog HDL由Gateway Design Automation(GDA)公司開發(fā),VHDL由美國軍方研發(fā)。Verilog HDL和VHDL都是用于邏輯設(shè)計的硬件描述語言。Verilog HDL和VHDL的相同點在于:都能形式化地抽象表示電路的行為和結(jié)構(gòu);支
32、持邏輯設(shè)計中層次與范圍的描述;可以簡化電路行為的描述;具有電路仿真和驗證機制;支持電路描述由高層到底層的綜合轉(zhuǎn)換;與實現(xiàn)工藝無關(guān);偏于管理方面和設(shè)計重用。但Verilog HDL和VHDL又有各自的特點,由于VHDL推出較早,因而擁有更廣泛的客戶群體、更豐富的資源。Verilog HDL還有一個優(yōu)點就是容易掌握,如果具有C語言學習的基礎(chǔ),很快就能夠掌握。而VHDL需要Ada編程語言基礎(chǔ),一般需要半年以上的專業(yè)培訓才能夠掌握。傳統(tǒng)觀點認為Verilog HDL在系統(tǒng)抽象方面較弱,不太適合特大型的系統(tǒng),但經(jīng)過VHDL 2001標準的補充之后,系統(tǒng)級表述性能和可綜合性能有了大幅度提高??傊?,它們都是
33、一種用形式化方法來描述數(shù)字電路和系統(tǒng)的語言,可以從上層到下層來逐層描述自己的設(shè)計思想,用一系列分層次的模塊來表示復雜的數(shù)字系統(tǒng),并逐層進行驗證仿真,再把具體的模塊組合由綜合工具轉(zhuǎn)化成門級網(wǎng)標。接下來再利用布局布線工具把網(wǎng)表轉(zhuǎn)化為具體電路結(jié)構(gòu)的實現(xiàn)。在基于可編程邏輯器件的項目研發(fā)中,可以用來描述邏輯電路圖、邏輯表達式、數(shù)字系統(tǒng)硬件結(jié)構(gòu)和行為,也可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。本論文主要使用 VHDL語言,故接下來對其進行簡單介紹。自從1983年VHDL語言被GDA公司的Philip Moorby首次提出,經(jīng)過多年的發(fā)展與完善,現(xiàn)在在可編程數(shù)字系統(tǒng)中的應用越來越廣泛。Verilog HDL既
34、是一種行為描述語言,也是一種結(jié)構(gòu)描述語言。如果按照一定的規(guī)則和風格編寫代碼,可以將功能行為模塊通過工具自動轉(zhuǎn)化為門級互聯(lián)的結(jié)構(gòu)模塊。這意味著可以用Verilog HDL語言構(gòu)造一個個結(jié)構(gòu)清晰的模塊來描述復雜的大型設(shè)計,而且還可以對所作出的設(shè)計作出嚴格的仿真。另外,Verilog HDL語言的語法和C語言類似,上手比較快。因此在企業(yè)中得到了廣泛的應用,表2-1給出了Verilog HDL語言描述硬件的能力。描述級別抽象級別功能描述物理模型行為級系統(tǒng)級根據(jù)語言提供的結(jié)構(gòu),可以完成模塊外部性能的模型電路板,芯片以及根據(jù)物理進行劃分的子模塊算法級根據(jù)語言提供的功能能夠?qū)崿F(xiàn)算法運行的模型物理連接器件,電
35、路板RTL級描述數(shù)據(jù)在寄存器之間流動處理方式、濱隊數(shù)據(jù)流動的模型進行控制。芯片、宏單元邏輯級門級描述邏輯gate好邏輯gate連接的模型標準單元布圖電路級開關(guān)級描述器件中三極,以及存儲節(jié)點和它們之間連接的模型晶體管布圖表2-1 VHDL語言的表述能力用VHDL 硬件描述語言描述的電路設(shè)計一般被叫做該電路的VHDL模型,也就是我們常說的模塊。模塊是VHDL的基本描述單元。模塊一般用來描述某個設(shè)計的邏輯功能與結(jié)構(gòu),一般都定義了與其他模塊通信的外部接口。而且模塊是并行運行的,通常在更高層模塊中,我們可以調(diào)用低層次模塊的實例,從而對一個封閉的系統(tǒng)進行,封閉系統(tǒng)由測試的數(shù)據(jù)以及硬件描述組成。說明部分用來
36、定義的項,比如的寄存器、參數(shù),說明部分可以分散于模塊的任何地方,但是變量、寄存器、線網(wǎng)和參數(shù)等的說明必須在使用前出現(xiàn)。語句用于定義設(shè)計的功能和結(jié)構(gòu)。VHDL語言的基本要素包括模塊端口、數(shù)據(jù)類型、標識符、常量集合及運算符和表達式等。VHDL可以對實際電路進行不同抽象級別的建模。具體來說,有三種描不同述形式:結(jié)構(gòu)描述形式、數(shù)據(jù)流描述形式、行為級描述形式。結(jié)構(gòu)描述形式是從電路結(jié)構(gòu)的角度來描述電路模塊;數(shù)據(jù)流描述形式是對線型變量進行操作;行為級描述形式是從功能和行為的角度來描述一個實際電路。電路具有5種不同模型,其中,系統(tǒng)級、算法級、RTL級屬于行為描述;門級屬于結(jié)構(gòu)描述;開關(guān)級屬于模擬電路范疇,在數(shù)
37、字電路討論中一般不做考慮。VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成電路硬件描述語言)誕生于1982年,是由美國國防部開發(fā)的一種快速設(shè)計電路的工具,目前已經(jīng)成為IEEE(The Institute of Electrical and Electronics Engineers)的一種工業(yè)標準硬件描述語言。相比傳統(tǒng)的電路系統(tǒng)的設(shè)計方法,VHDL具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下(Top to Down)和基于庫(LibraryBased)的設(shè)計的特點,因此設(shè)計者可以不必了解硬件
38、結(jié)構(gòu)4。從系統(tǒng)設(shè)計入手,在頂層進行系統(tǒng)方框圖的劃分和結(jié)構(gòu)設(shè)計,在方框圖一級用VHDL對電路的行為進行描述,并進行仿真和糾錯,然后在系統(tǒng)一級進行驗證,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表,下載到具體的CPLD器件中去,從而實現(xiàn)可編程的專用集成電路(ASIC)的設(shè)計。用VHDL語言進行數(shù)字邏輯電路和數(shù)字系統(tǒng)的設(shè)計,是電子電路設(shè)計方法上的一次革命性變革3。VHDL采用基于庫( HYPERLINK /view/3655891.htm t _blank Library)的設(shè)計方法,可以建立各種可再次利用的模塊。這些模塊可以預先設(shè)計或使用以前設(shè)計中的存檔模塊,將這些模塊存放到庫中,就可以在
39、以后的設(shè)計中進行復用,可以使設(shè)計成果在設(shè)計人員之間進行交流和共享,減少硬件電路設(shè)計。與其他的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了他成為 HYPERLINK /view/170106.htm t _blank 系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計大規(guī)模 HYPERLINK /view/3958685.htm t _blank 電子系統(tǒng)的重要保證。VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計早期就能查驗設(shè)計系統(tǒng)的功能可行性,隨時可對設(shè)計進行仿真模擬。VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模
40、設(shè)計的分解和已有設(shè)計的再利用功能。符合市場需求的 HYPERLINK /view/1023867.htm t _blank 大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。對于用VHDL完成的一個確定的設(shè)計,可以利用EDA工具進行邏輯綜合和優(yōu)化,并自動的把VHDL描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表。VHDL對設(shè)計的描述具有相對獨立性,設(shè)計者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計實現(xiàn)的目標器件是什么,而進行獨立的設(shè)計。與其他硬件描述語言相比,VHDL具有以下特點:(1)功能強大、設(shè)計靈活VHDL具有功能強大的語言結(jié)構(gòu),可以用簡潔明確的 HYPERLINK /view/60376.ht
41、m t _blank 源代碼來描述復雜的 HYPERLINK /view/1838.htm t _blank 邏輯控制。它具有多層次的設(shè)計描述功能,層層細化,最后可直接生成電路級描述。VHDL支持 HYPERLINK /view/54180.htm t _blank 同步電路、 HYPERLINK /view/190230.htm t _blank 異步電路和 HYPERLINK /view/269420.htm t _blank 隨機電路的設(shè)計,這是其他硬件描述語言所不能比擬的。VHDL還支持各種設(shè)計方法,既支持自底向上的設(shè)計,又支持自頂向下的設(shè)計;既支持 HYPERLINK /view/1
42、89730.htm t _blank 模塊化設(shè)計,又支持層次化設(shè)計。(2)支持廣泛、易于修改由于VHDL已經(jīng)成為IEEE標準所規(guī)范的硬件描述語言,目前大多數(shù) HYPERLINK /view/5822.htm t _blank EDA工具幾乎都支持VHDL,這為VHDL的進一步推廣和廣泛應用奠定了基礎(chǔ)。在硬件電路設(shè)計過程中,主要的設(shè)計文件是用VHDL編寫的 HYPERLINK /view/60376.htm t _blank 源代碼,因為VHDL易讀和結(jié)構(gòu)化,所以易于修改設(shè)計。(3)強大的系統(tǒng)硬件描述能力VHDL具有多層次的設(shè)計描述功能,既可以描述系統(tǒng)級電路,又可以描述門級電路。而描述既可以采用
43、行為描述、 HYPERLINK /view/6159.htm t _blank 寄存器傳輸描述或結(jié)構(gòu)描述,也可以采用三者混合的混合級描述。另外,VHDL支持慣性延遲和 HYPERLINK /view/5408248.htm t _blank 傳輸延遲,還可以準確地建立硬件電路模型。VHDL支持預定義的和自定義的 HYPERLINK /view/675645.htm t _blank 數(shù)據(jù)類型,給硬件描述帶來較大的自由度,使設(shè)計人員能夠方便地創(chuàng)建高層次的 HYPERLINK /view/3688808.htm t _blank 系統(tǒng)模型。(4)獨立于器件的設(shè)計、與工藝無關(guān)設(shè)計人員用VHDL進行設(shè)
44、計時,不需要首先考慮選擇完成設(shè)計的器件,就可以集中精力進行設(shè)計的優(yōu)化。當設(shè)計描述完成后,可以用多種不同的器件結(jié)構(gòu)來實現(xiàn)其功能。(5)很強的 HYPERLINK /view/258047.htm t _blank 移植能力VHDL是一種標準化的硬件描述語言,同一個設(shè)計描述可以被不同的工具所支持,使得設(shè)計描述的移植成為可能。(6)易于共享和復用我們在此以vhdl為設(shè)計樣例: VHDL Examplelibrary HYPERLINK /view/3933.htm t _blank ieee;use HYPERLINK /view/3933.htm t _blank ieee.std_logic_1
45、164.all; -庫聲明entity TONE isport(A,B:in std_logic; -實體定義C:out std_logic);end TONE;architecture EX of TONE is - HYPERLINK /view/204974.htm t _blank 結(jié)構(gòu)體定義begin C clk, address = addr_fangbo, q = dout_fangbo );種不同波形的輸出。不同波形的輸出分別如下圖所示如圖4-3-1所示,當boxing_in為001輸出的波形為正弦波圖4-3-1如圖4-3-2所示,當boxing_in為010輸出的波形為三角波
46、圖4-3-2如圖4-3-3所示,當boxing_in為011輸出的波形為鋸齒波圖4-3-3如圖4-3-4所示,當boxing_in為100輸出的波形為方波圖4-3-4如圖4-3-5所示,當boxing_in分別為001,011和010時輸出的波形為依次為正弦波,鋸齒波和三角波。圖4-3-5經(jīng)過仿真,可以驗證本設(shè)計可以很好的改變波形,進行波形選擇,當用戶需要選擇不同的波形輸出時候,只需要改變boxing_in的狀態(tài),則就可以實時的改變波形的輸出,從而可以很好的選擇波形的輸出。4.3.2 頻率控制對于FPGA控制的DDS產(chǎn)生的信號源,它的頻率控制是通過頻率控制字控制的。DDS信號源輸出的頻率和三個
47、變量有關(guān)系,基于FPGA的 DDS控制的信號源的輸出信號的頻率,它是輸入頻率控制字(在本設(shè)計中為frequency_in,為26位)、FPGA控制的相位累加器的位數(shù)(本設(shè)計中為26)和FPGA的系統(tǒng)時鐘頻率之間的關(guān)系為公式3:(3),由于系統(tǒng)時鐘頻率 和相位累加器的位數(shù)N(本設(shè)計為26),都是固定的,因此只需要改變頻率控制字也就是frequency_in就可以改變信號的頻率,在被設(shè)計中,需要將得到頻率控制字的十進制轉(zhuǎn)化為26位的二進制輸入。改變頻率控制字的代碼如下:process(clk)variable phaseaddtemp:std_logic_vector(25 downto 0);b
48、eginif clkevent and clk=1 then phaseaddtemp:=phaseaddtemp+frequency_in; end if; phaseaddr_cos clk, address = addr_cos, q = dout_cos );juchi : rom_juchi PORT MAP ( clock = clk, address = addr_juchi, q = dout_juchi );sanjiao : rom_sanjiao PORT MAP ( clock = clk, address = addr_sanjiao, q = dout_sanjia
49、o );fangbo: rom_fangbo PORT MAP ( clock = clk, address = addr_fangbo, q = dout_fangbo );process(clk)variable phaseaddtemp:std_logic_vector(25 downto 0);begin if clkevent and clk=1 then phaseaddtemp:=phaseaddtemp+frequency_in; end if; phaseaddr_cos=phaseaddtemp;end process;addr_cos=phaseaddr_cos(25 d
50、ownto 16 );addr_juchi=phaseaddr_cos(25 downto 16 );addr_fangbo=phaseaddr_cos(25 downto 16 );addr_sanjiao if (fudu=0000000000)then boxing_out=dout_cos; else if(fudu=1000000000) then boxing_out if (fudu=0000000000)then boxing_out=dout_sanjiao; else if(fudu=1100000000) then boxing_out if (fudu=00000000
51、00)then boxing_out=dout_juchi(15 downto 0); else if(fudu=1010000000) then boxing_out if (fudu=0000000000)then boxing_out=dout_fangbo; else if(fudu=1001000000) then boxing_outnull; end case; end process;phase_add_out=phaseaddr_cos;end Behavioral;代碼2:rom代碼LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRA
52、RY altera_mf;USE altera_mf.all;ENTITY rom_cos ISPORT(address: IN STD_LOGIC_VECTOR (9 DOWNTO 0);clock: IN STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (15 DOWNTO 0);END rom_cos;ARCHITECTURE SYN OF rom_cos ISSIGNAL sub_wire0: STD_LOGIC_VECTOR (15 DOWNTO 0);COMPONENT altsyncramGENERIC (clock_enable_input_a: STRI
53、NG;clock_enable_output_a: STRING;init_file: STRING;intended_device_family: STRING;lpm_hint: STRING;lpm_type: STRING;numwords_a: NATURAL;operation_mode: STRING;outdata_aclr_a: STRING;outdata_reg_a: STRING;widthad_a: NATURAL;width_a: NATURAL;width_byteena_a: NATURAL);PORT (clock0: IN STD_LOGIC ;addres
54、s_a: IN STD_LOGIC_VECTOR (9 DOWNTO 0);q_a: OUT STD_LOGIC_VECTOR (15 DOWNTO 0);END COMPONENT;BEGINq BYPASS,clock_enable_output_a = BYPASS,init_file = ././a.mif,intended_device_family = Cyclone II,lpm_hint = ENABLE_RUNTIME_MOD=NO,lpm_type = altsyncram,numwords_a = 1024,operation_mode = ROM,outdata_acl
55、r_a = NONE,outdata_reg_a = CLOCK0,widthad_a = 10,width_a = 16,width_byteena_a = 1)PORT MAP (clock0 = clock,address_a = address,q_a = sub_wire0);END SYN;- =- CNX file retrieval info- =- Retrieval info: PRIVATE: ADDRESSSTALL_A NUMERIC 0- Retrieval info: PRIVATE: AclrAddr NUMERIC 0- Retrieval info: PRI
56、VATE: AclrByte NUMERIC 0- Retrieval info: PRIVATE: AclrOutput NUMERIC 0- Retrieval info: PRIVATE: BYTE_ENABLE NUMERIC 0- Retrieval info: PRIVATE: BYTE_SIZE NUMERIC 8- Retrieval info: PRIVATE: BlankMemory NUMERIC 0- Retrieval info: PRIVATE: CLOCK_ENABLE_INPUT_A NUMERIC 0- Retrieval info: PRIVATE: CLO
57、CK_ENABLE_OUTPUT_A NUMERIC 0- Retrieval info: PRIVATE: Clken NUMERIC 0- Retrieval info: PRIVATE: IMPLEMENT_IN_LES NUMERIC 0- Retrieval info: PRIVATE: INIT_FILE_LAYOUT STRING PORT_A- Retrieval info: PRIVATE: INIT_TO_SIM_X NUMERIC 0- Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING Cyclone II- R
58、etrieval info: PRIVATE: JTAG_ENABLED NUMERIC 0- Retrieval info: PRIVATE: JTAG_ID STRING NONE- Retrieval info: PRIVATE: MAXIMUM_DEPTH NUMERIC 0- Retrieval info: PRIVATE: MIFfilename STRING ././a.mif- Retrieval info: PRIVATE: NUMWORDS_A NUMERIC 1024- Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC 0-
59、Retrieval info: PRIVATE: RegAddr NUMERIC 1- Retrieval info: PRIVATE: RegOutput NUMERIC 1- Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING 0- Retrieval info: PRIVATE: SingleClock NUMERIC 1- Retrieval info: PRIVATE: UseDQRAM NUMERIC 0- Retrieval info: PRIVATE: WidthAddr NUMERIC 10- Retrieval
60、 info: PRIVATE: WidthData NUMERIC 16- Retrieval info: PRIVATE: rden NUMERIC 0- Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_A STRING BYPASS- Retrieval info: CONSTANT: CLOCK_ENABLE_OUTPUT_A STRING BYPASS- Retrieval info: CONSTANT: INIT_FILE STRING ././a.mif- Retrieval info: CONSTANT: INTENDED_DEVICE_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年壬二酸合作協(xié)議書
- 2025年汽車減震元件合作協(xié)議書
- 2025年種植施肥機械合作協(xié)議書
- 2025年非熱殺菌先進設(shè)備合作協(xié)議書
- 人教版 八年級英語下冊 Unit 1 單元綜合測試卷(2025年春)
- 2025年產(chǎn)品來料加工協(xié)議(三篇)
- 2025年個人投資理財委托協(xié)議簡單版(2篇)
- 2025年二灰拌合場地租賃協(xié)議范文(2篇)
- 2025年九年級化學實驗室工作總結(jié)模版(二篇)
- 2025年產(chǎn)品外觀專用協(xié)議標準版本(2篇)
- 醫(yī)院消防安全培訓課件
- 質(zhì)保管理制度
- 《00541語言學概論》自考復習題庫(含答案)
- 2025年機關(guān)工會個人工作計劃
- 2024年全國卷新課標1高考英語試題及答案
- 華為經(jīng)營管理-華為激勵機制(6版)
- 江蘇省南京市、鹽城市2023-2024學年高三上學期期末調(diào)研測試+英語+ 含答案
- 2024護理不良事件分析
- 光伏項目的投資估算設(shè)計概算以及財務(wù)評價介紹
- 2024新版《藥品管理法》培訓課件
- 干燥綜合征診斷及治療指南
評論
0/150
提交評論