基于FPGA的數(shù)字調(diào)制解調(diào)器設(shè)計(jì)說(shuō)明_第1頁(yè)
基于FPGA的數(shù)字調(diào)制解調(diào)器設(shè)計(jì)說(shuō)明_第2頁(yè)
基于FPGA的數(shù)字調(diào)制解調(diào)器設(shè)計(jì)說(shuō)明_第3頁(yè)
基于FPGA的數(shù)字調(diào)制解調(diào)器設(shè)計(jì)說(shuō)明_第4頁(yè)
基于FPGA的數(shù)字調(diào)制解調(diào)器設(shè)計(jì)說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩82頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 PAGE69 / NUMPAGES87基于FPGA的數(shù)字調(diào)制解調(diào)器設(shè)計(jì)摘要本設(shè)計(jì)使用FPGA在EDA技術(shù)開發(fā)軟件Quartus上實(shí)現(xiàn)以正弦信號(hào)為載波的三種調(diào)制信號(hào)ASK、FSK、PSK的調(diào)制和解調(diào)。系統(tǒng)采用ALTERA公司生產(chǎn)的DE2開發(fā)板,Cyclone II EP2C35F672C6型號(hào)的FPGA和EPCS16系列的配置驅(qū)動(dòng),使用VHDL硬件描述語(yǔ)言實(shí)現(xiàn),系統(tǒng)時(shí)鐘為50MHZ,經(jīng)四分頻產(chǎn)生一路時(shí)鐘信號(hào)經(jīng)過(guò)DDS波形發(fā)生器形成ASK,PSK與FSK的一路載波,F(xiàn)SK的另一路載波由系統(tǒng)時(shí)鐘經(jīng)八分頻后經(jīng)過(guò)DDS波形發(fā)生器后產(chǎn)生。由于ASK和PSK調(diào)制特性相近,載波都為一路信號(hào)。因此在設(shè)計(jì)時(shí)將A

2、SK和PSK調(diào)制放在同一模塊里設(shè)計(jì),用一個(gè)選擇鍵和兩個(gè)基帶信號(hào)控制端來(lái)控制。系統(tǒng)時(shí)鐘經(jīng)過(guò)512分頻后經(jīng)過(guò)隨機(jī)信號(hào)模塊產(chǎn)生一路周期為15的偽隨機(jī)序列作為數(shù)字調(diào)制的基帶信號(hào)。在解調(diào)時(shí),用非相干解調(diào)法解調(diào)ASK和PSK信號(hào),用過(guò)零檢測(cè)法解調(diào)FSK信號(hào)。經(jīng)過(guò)功能仿真和驗(yàn)證后,測(cè)試輸出信號(hào)與基帶信號(hào)是否相符。關(guān)鍵詞:FPGA, ASK, PSK, FSKDigital modulation and demodulation based on FPGAAbstractThis design uses FPGA on EDA technology development platform Quartus t

3、o achieve the generation and the demodulation of three modulation signalASK,FSK,PSK as carrier through sinusoidal signals.The system uses the ALTERA companys DE2 development board,FPGA of Type Cyclone II EP2C35F672C6FPGA and driver configuration of EPCS16 series.This system is realized in VHDL hardw

4、are description language,whose ASK,PSK and FSK carrier is generated when the four frequency produces a clock signal through the DDS waveform generator,and the system clock is 50MHZ.Becausethe characteristics of ASK and PSK modulation are similar to each other,which means their carrier are both one w

5、ay signal,the modulation of ASK and PSK are put on the same model when designed,with a selection key and the two baseband signal control ends controlling.System clock generates pseudo random sequence baseband signals whose one road cycle is 15 as baseband signals through random signal model after th

6、e 512 frequency division.When in modulation,we use non coherent demodulation to demodulate ASK and PSK signal,and the zero crossing detection method for FSK signal demodulation.After the system is tested through the function simulation and verification,whether the output signal and the baseband sign

7、al are conformed to each other or not will be testedKey words: FPGA, ASK, PSK, FSK目錄 TOC o 1-3 h z u HYPERLINK l _Toc3280593771 緒論 PAGEREF _Toc328059377 h 1HYPERLINK l _Toc3280593781.1 課題背景與研究現(xiàn)狀 PAGEREF _Toc328059378 h 1HYPERLINK l _Toc3280593791.1.1數(shù)字調(diào)制解調(diào)背景知識(shí) PAGEREF _Toc328059379 h 1HYPERLINK l _T

8、oc3280593801.1.2 FPGA背景知識(shí) PAGEREF _Toc328059380 h 2HYPERLINK l _Toc3280593811.2 課題的主要研究工作 PAGEREF _Toc328059381 h 4HYPERLINK l _Toc3280593821.3 本論文的結(jié)構(gòu) PAGEREF _Toc328059382 h 4HYPERLINK l _Toc3280593832.EDA技術(shù)簡(jiǎn)介 PAGEREF _Toc328059383 h 6HYPERLINK l _Toc3280593842.1 Quartus II 簡(jiǎn)介 PAGEREF _Toc328059384

9、 h 6HYPERLINK l _Toc3280593852.1.1 Quartus II的使用與主要設(shè)計(jì)流程 PAGEREF _Toc328059385 h 7HYPERLINK l _Toc3280593862.1.2 Quartus II的原理圖輸入設(shè)計(jì)流程 PAGEREF _Toc328059386 h 10HYPERLINK l _Toc3280593872.1.2 SignalTap II邏輯分析儀的使用 PAGEREF _Toc328059387 h 11HYPERLINK l _Toc3280593882.2 VHDL語(yǔ)言簡(jiǎn)介 PAGEREF _Toc328059388 h 1

10、3HYPERLINK l _Toc3280593892.2.1 VHDL的基本結(jié)構(gòu) PAGEREF _Toc328059389 h 14HYPERLINK l _Toc3280593902.2.2 VHDL的基本語(yǔ)法 PAGEREF _Toc328059390 h 19HYPERLINK l _Toc3280593913.數(shù)字調(diào)制解調(diào)原理 PAGEREF _Toc328059391 h 21HYPERLINK l _Toc3280593923.1 ASK的調(diào)制與解調(diào) PAGEREF _Toc328059392 h 21HYPERLINK l _Toc3280593933.1.1 ASK調(diào)制原理

11、 PAGEREF _Toc328059393 h 21HYPERLINK l _Toc3280593943.1.2 ASK解調(diào)原理 PAGEREF _Toc328059394 h 23HYPERLINK l _Toc3280593953.2 PSK的調(diào)制與解調(diào) PAGEREF _Toc328059395 h 23HYPERLINK l _Toc3280593963.2.1 PSK調(diào)制原理 PAGEREF _Toc328059396 h 23HYPERLINK l _Toc3280593973.2.2 PSK解調(diào)原理 PAGEREF _Toc328059397 h 25HYPERLINK l _

12、Toc3280593983.3 FSK的調(diào)制與解調(diào) PAGEREF _Toc328059398 h 26HYPERLINK l _Toc3280593993.3.1 FSK調(diào)制原理 PAGEREF _Toc328059399 h 26HYPERLINK l _Toc3280594003.3.2 FSK解調(diào)原理 PAGEREF _Toc328059400 h 27HYPERLINK l _Toc3280594014硬件模塊方案設(shè)計(jì)與實(shí)現(xiàn) PAGEREF _Toc328059401 h 30HYPERLINK l _Toc3280594024.1 DDS(直接數(shù)字式頻率合成器) PAGEREF _

13、Toc328059402 h 30HYPERLINK l _Toc3280594034.1.1 DDS原理 PAGEREF _Toc328059403 h 30HYPERLINK l _Toc3280594044.1.2硬件模塊設(shè)計(jì)圖 PAGEREF _Toc328059404 h 31HYPERLINK l _Toc3280594054.1.3 頻率控制模塊 PAGEREF _Toc328059405 h 32HYPERLINK l _Toc3280594064.1.4 波形選擇模塊 PAGEREF _Toc328059406 h 32HYPERLINK l _Toc3280594074.1

14、.5 波形存儲(chǔ)模塊 PAGEREF _Toc328059407 h 33HYPERLINK l _Toc3280594084.1.6 頂層實(shí)體模塊 PAGEREF _Toc328059408 h 34HYPERLINK l _Toc3280594094.1.7 程序與仿真結(jié)果分析 PAGEREF _Toc328059409 h 35HYPERLINK l _Toc3280594104.2 m序列發(fā)生器 PAGEREF _Toc328059410 h 36HYPERLINK l _Toc3280594114.2.1 m序列原理 PAGEREF _Toc328059411 h 36HYPERLIN

15、K l _Toc3280594124.2.2 m序列發(fā)生器設(shè)計(jì) PAGEREF _Toc328059412 h 38HYPERLINK l _Toc3280594134.2.3 m序列產(chǎn)生模塊 PAGEREF _Toc328059413 h 41HYPERLINK l _Toc3280594144.2.4 m序列仿真結(jié)果分析 PAGEREF _Toc328059414 h 41HYPERLINK l _Toc3280594154.3 分頻器設(shè)計(jì) PAGEREF _Toc328059415 h 43HYPERLINK l _Toc3280594164.4 ASK/PSK調(diào)制與解調(diào) PAGEREF

16、 _Toc328059416 h 43HYPERLINK l _Toc3280594174.4.1 ASK/PSK調(diào)制方案 PAGEREF _Toc328059417 h 43HYPERLINK l _Toc3280594184.4.2 ASK/PSK調(diào)制模塊 PAGEREF _Toc328059418 h 44HYPERLINK l _Toc3280594194.4.3 ASK/PSK調(diào)制仿真結(jié)果分析 PAGEREF _Toc328059419 h 45HYPERLINK l _Toc3280594204.4.4 ASK/PSK解調(diào)方案 PAGEREF _Toc328059420 h 46H

17、YPERLINK l _Toc3280594214.4.5 ASK/PSK解調(diào)模塊 PAGEREF _Toc328059421 h 47HYPERLINK l _Toc3280594224.4.6 ASK/PSK解調(diào)仿真結(jié)果分析 PAGEREF _Toc328059422 h 48HYPERLINK l _Toc3280594234.5 FSK調(diào)制與解調(diào) PAGEREF _Toc328059423 h 49HYPERLINK l _Toc3280594244.5.1 FSK調(diào)制方案 PAGEREF _Toc328059424 h 49HYPERLINK l _Toc3280594254.5.2

18、 FSK調(diào)制模塊 PAGEREF _Toc328059425 h 50HYPERLINK l _Toc3280594264.5.3 FSK仿真結(jié)果分析 PAGEREF _Toc328059426 h 50HYPERLINK l _Toc3280594274.5.4 FSK解調(diào)方案 PAGEREF _Toc328059427 h 51HYPERLINK l _Toc3280594284.5.5 FSK解調(diào)模塊 PAGEREF _Toc328059428 h 52HYPERLINK l _Toc3280594294.5.6 FSK解調(diào)仿真結(jié)果分析 PAGEREF _Toc328059429 h 5

19、2HYPERLINK l _Toc3280594305 系統(tǒng)調(diào)試 PAGEREF _Toc328059430 h 54HYPERLINK l _Toc3280594315.1 系統(tǒng)電路圖 PAGEREF _Toc328059431 h 54HYPERLINK l _Toc3280594325.2 系統(tǒng)仿真結(jié)果 PAGEREF _Toc328059432 h 54HYPERLINK l _Toc328059433結(jié)論 PAGEREF _Toc328059433 h 57HYPERLINK l _Toc328059434致 PAGEREF _Toc328059434 h 58HYPERLINK l

20、 _Toc328059435參考文獻(xiàn) PAGEREF _Toc328059435 h 59HYPERLINK l _Toc328059436附錄:源代碼 PAGEREF _Toc328059436 h 46HYPERLINK l _Toc328059437外文資料翻譯(附原文) PAGEREF _Toc328059437 h 661 緒論1.1 課題背景與研究現(xiàn)狀1.1.1數(shù)字調(diào)制解調(diào)背景知識(shí)如今社會(huì)通信技術(shù)的發(fā)展速度可謂日新月異,計(jì)算機(jī)的出現(xiàn)在現(xiàn)代通信技術(shù)的各種媒體中占有獨(dú)特的地位,計(jì)算機(jī)在當(dāng)今社會(huì)的眾多領(lǐng)域里不僅為各種信息處理設(shè)備所使用,而且它與通信向結(jié)合,使電信業(yè)務(wù)更加豐富。隨著人類經(jīng)濟(jì)

21、和文化的發(fā)展,人們對(duì)通信技術(shù)性能的需求也越來(lái)越迫切,從而又推動(dòng)了通信科學(xué)的發(fā)展。在通信理論上,先后形成了“過(guò)濾和預(yù)測(cè)理論”、“香濃信息論”,“糾錯(cuò)編碼理論”,“信源統(tǒng)計(jì)特性理論”,“調(diào)制理論”等。通信作為社會(huì)的基本設(shè)施和必要條件,引起的世界各國(guó)的廣泛關(guān)注,通信的目的就是從一方向另一方傳送信息,給對(duì)方以信息,但是消息的傳送一般都不是直接的,它必須借助于一定形式的信號(hào)才能便于遠(yuǎn)距離快速傳輸和進(jìn)行各種處理。雖然基帶信號(hào)可以直接傳輸,但是目前大多數(shù)信道不適合傳輸基帶信號(hào)?,F(xiàn)有通信網(wǎng)的主體為傳輸模擬信號(hào)而設(shè)計(jì)的,基帶數(shù)字信號(hào)不能直接進(jìn)入這樣的通信網(wǎng)?;鶐盘?hào)一般都包含有較低的頻率,甚至是直流的分量,很難

22、通過(guò)有限尺寸的天線得到有效輻射,因而無(wú)法利用無(wú)線信道來(lái)直接傳播。對(duì)于大量有線信道,由于線路中多半串接有電容器或并接有變壓器等隔直流元件,低頻或直流分量就會(huì)受到很大限制。因此,為了使基帶信號(hào)能利用這些信道進(jìn)行傳輸,必須使代表信息的原始信號(hào)經(jīng)過(guò)一種變換得到另一種新信號(hào),這種變換就是調(diào)制。實(shí)際中一般選正弦信號(hào)為載波信號(hào)。代表所傳信息的原始信號(hào),是調(diào)制載波的信號(hào)。數(shù)字調(diào)制傳輸在現(xiàn)代通信中發(fā)揮著越來(lái)越重要的作用,主要是因?yàn)閿?shù)字通信有以下優(yōu)點(diǎn):數(shù)字信號(hào)便于存儲(chǔ)、處理、抗干擾能力強(qiáng);數(shù)字信號(hào)便于交換和傳輸;可靠性高,傳輸過(guò)程中的差錯(cuò)可以設(shè)法控制;數(shù)字信號(hào)易于加密且性強(qiáng);通用性和靈活性好。經(jīng)過(guò)調(diào)制后,各路信號(hào)

23、可已搬移到更高不重疊的頻段去傳輸,從而避免多路傳輸中的相互干擾?;谶@種目的,信號(hào)經(jīng)調(diào)制后再傳輸?shù)姆绞接址Q為頻帶傳輸。二進(jìn)制數(shù)字調(diào)制所用調(diào)制信號(hào)由“0”和“1”代表的數(shù)字信號(hào)脈沖序列組成。因此,數(shù)字調(diào)制信號(hào)也成為鍵控信號(hào)。在二進(jìn)制振幅調(diào)制、頻率調(diào)制和相位調(diào)制分別稱為振幅鍵控(ASK)、頻移鍵控(FSK)、相移鍵控(PSK)。數(shù)字調(diào)制產(chǎn)生模擬信號(hào),其載波參量的離散狀態(tài)是與數(shù)字?jǐn)?shù)據(jù)相對(duì)應(yīng)的,這種信號(hào)適宜于在帶通型的模擬信道上傳輸。雖然三種調(diào)制解調(diào)的原理比較簡(jiǎn)單,但作為數(shù)字通信原理的入門學(xué),理解ASK,PSK,F(xiàn)SK后可以容易理解其他更復(fù)雜的調(diào)制系統(tǒng),為以后的進(jìn)一步發(fā)展打下基礎(chǔ)。1.1.2 FPGA

24、背景知識(shí)現(xiàn)場(chǎng)可編程門陣列(FPGA)是在專用ASIC的基礎(chǔ)上發(fā)展出來(lái)的,它克服了專用ASIC不夠靈活的缺點(diǎn)。與其他中小規(guī)模集成電路相比,其優(yōu)點(diǎn)主要在于它有很強(qiáng)的靈活性,即其部的具體邏輯功能可以根據(jù)需要配置,對(duì)電路的修改和維護(hù)很方便。隨著VLSI(Very Large Scale IC,超大規(guī)模集成電路)工藝的不斷提高,單一芯片部可以容納上百萬(wàn)個(gè)晶體管,F(xiàn)PGA/CPLD芯片的規(guī)模也越來(lái)越大,目前,F(xiàn)PGA的容量已經(jīng)跨過(guò)了百萬(wàn)門級(jí),使得FPGA 成為解決系統(tǒng)級(jí)設(shè)計(jì)的重要選擇方案之一。和其他通用DSP相比,F(xiàn)PGA在處理方式上和設(shè)計(jì)編程上有很大的區(qū)別,它更強(qiáng)調(diào)數(shù)據(jù)的平行處理和流水線處理并且有更強(qiáng)的

25、靈活性和可編程型,所以FPGA在定點(diǎn)數(shù)據(jù)處理方面有很大的優(yōu)勢(shì)。FPGA/CPLD可容納上百萬(wàn)個(gè)晶體管,芯片的規(guī)模也越來(lái)越大。為了滿足設(shè)計(jì)需求,以可編程門陣列FPGA為代表的器件得到了廣泛的應(yīng)用,器件的集成度和運(yùn)行速度都在高速增長(zhǎng)。基于FPGA的數(shù)字調(diào)制解調(diào)器與模擬電路調(diào)制解調(diào)器相比,具有功耗低、結(jié)構(gòu)簡(jiǎn)單、性能優(yōu)越等特點(diǎn),故在實(shí)際工程中得到了廣泛的應(yīng)用。針對(duì)傳統(tǒng)用硬件實(shí)現(xiàn)數(shù)字調(diào)制解調(diào)的方法,特別是相干解調(diào)需要提取載波,設(shè)備相對(duì)復(fù)雜、成本較高的特點(diǎn),研究了基于FPGA芯片的調(diào)制解調(diào)系統(tǒng),即通過(guò)Quartus II軟件,采用VHDL硬件描述語(yǔ)言,利用DE2開發(fā)板設(shè)計(jì)并實(shí)現(xiàn)ASK,F(xiàn)SK,PSK的調(diào)制

26、解調(diào)器。由于FPGA的調(diào)制解調(diào)技術(shù)在通信系統(tǒng)中占據(jù)非常重要的地位,它的優(yōu)劣決定了通信系統(tǒng)的性能。本設(shè)計(jì)用到的是Altera公司的FPGA器件EP2C35F672C6,該器件隸屬于Cyclone II系列,具有更大的容量和極低的單位邏輯單元成本。從結(jié)構(gòu)上看,該器件具有多達(dá)150個(gè)嵌入1818乘法器,適合于實(shí)現(xiàn)低成本數(shù)字信號(hào)處理(DSP)應(yīng)用;它包含每塊具有4608 bit的M4K存儲(chǔ)塊,提供高達(dá)1.1Mbit的片存儲(chǔ)器,支持多種配置;它能以688 Mbps 的速率同DDR、DDR II 和SDR SDRAM 器件與QDRII SRAM 器件相連接,并支持多種單端和差分I/ O標(biāo)準(zhǔn);支持Nios

27、II系列嵌入式處理器,具有低成本和完整的軟件開發(fā)工具。Altera也為Cylcone II器件客戶提供了40多個(gè)可定制IP核,Altera和Altera Megafunction伙伴計(jì)劃(AMPPSM)合作者提供的不同的IP核是專為Cyclone II架構(gòu)優(yōu)化的,包括:Nios II嵌入式處理器;DDR SDRAM控制器;FFT/IFFT;PCI編譯器;FIR編譯器;NCO編譯器;POS-PHY編譯器;Reed Solomon編譯器;Viterbi編譯器等。1.2 課題的主要研究工作課題主要研究二進(jìn)制ASK,PSK,F(xiàn)SK調(diào)制解調(diào)系統(tǒng)的實(shí)現(xiàn),完成對(duì)數(shù)字信號(hào)的調(diào)制與解調(diào),在簡(jiǎn)化系統(tǒng)的前提下,根據(jù)

28、系統(tǒng)的總體功能與硬件特點(diǎn),設(shè)計(jì)總體框圖,根據(jù)VHDL語(yǔ)言的特點(diǎn),對(duì)VHDL建模并進(jìn)行具體語(yǔ)言設(shè)計(jì),讓系統(tǒng)的解調(diào)結(jié)果準(zhǔn)確,進(jìn)行波形仿真與調(diào)試,完成調(diào)制解調(diào)任務(wù)。本系統(tǒng)設(shè)計(jì)的重點(diǎn)在于作為載波的正弦波,由正弦信號(hào)發(fā)生其產(chǎn)生,在一個(gè)周期完成256次采樣。另外,三種數(shù)字信號(hào)的解調(diào)方法也不完全一樣。由于利用相干解調(diào)方法需要本地載波參與解調(diào),會(huì)使系統(tǒng)復(fù)雜且準(zhǔn)確度降低,因此采用非相干解調(diào),以正確解調(diào)出基帶信號(hào)。1.3 本論文的結(jié)構(gòu)第一章闡述了數(shù)字調(diào)制解調(diào)的背景知識(shí)和現(xiàn)狀,以與FPGA的基本概念。第二章介紹了EDA以與開發(fā)FPGA的軟件的基本知識(shí)和主要使用方法,并介紹了VHDL語(yǔ)言的設(shè)計(jì)流程和基本語(yǔ)法。第三章分

29、析了ASK,PSK,F(xiàn)SK的調(diào)制解調(diào)原理理論分析。第四章結(jié)合硬件平臺(tái)進(jìn)行方案選擇,設(shè)計(jì)數(shù)字調(diào)制解調(diào)系統(tǒng),包括程序的編寫與硬件模塊設(shè)計(jì),以與仿真結(jié)果。第五章給出了調(diào)制解調(diào)器調(diào)制解調(diào)信號(hào)的測(cè)試結(jié)果和程序仿真結(jié)果。第六章為本論文的結(jié)束語(yǔ)。2.EDA技術(shù)簡(jiǎn)介EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來(lái)的,EDA技術(shù)就是依靠功能強(qiáng)大的電子計(jì)算機(jī),在EDA工具軟件平臺(tái)上,對(duì)以硬件描述語(yǔ)言HDL(Hardware Descri

30、ption Language)為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、仿真,直至下載到可編程邏輯器件CPLD/FPGA或?qū)S眉呻娐稟SIC(Application Specific Integrated Circuit)芯片中,實(shí)現(xiàn)既定的電子電路設(shè)計(jì)功能。EDA技術(shù)可把數(shù)字通信技術(shù),微電子技術(shù)和現(xiàn)代電子設(shè)計(jì)自動(dòng)技術(shù)結(jié)合起來(lái),實(shí)現(xiàn)硬件設(shè)計(jì)軟件化,加速了數(shù)字通信系統(tǒng)設(shè)計(jì)的效率,降低了設(shè)計(jì)成本。利用EDA技術(shù)進(jìn)行電子系統(tǒng)的設(shè)計(jì),具有以下幾個(gè)特點(diǎn):(1)用軟件的方式設(shè)計(jì)硬件;(2)用軟件方式設(shè)計(jì)的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由有關(guān)的開發(fā)軟件自動(dòng)完成的;(3)設(shè)計(jì)過(guò)程中

31、可用有關(guān)軟件進(jìn)行各種仿真;(4)系統(tǒng)可現(xiàn)場(chǎng)編程,在線升級(jí);(5)整個(gè)系統(tǒng)可集成在一個(gè)芯片上,體積小、功耗低、可靠性高。因此,EDA技術(shù)是現(xiàn)代電子設(shè)計(jì)的發(fā)展趨勢(shì)。2.1 Quartus II 簡(jiǎn)介Quartus II是Altera公司繼MAXPLUS II后,所提供的FPGA/CPLD開發(fā)集成環(huán)境,主要針對(duì)本公司新器件和大規(guī)模FPGA 的開發(fā)。Quartus II提供一個(gè)容易適應(yīng)特定設(shè)計(jì)所需要的完整的多平臺(tái)設(shè)計(jì)環(huán)境。它不僅包括FPGA/CPLD 設(shè)計(jì)所有階段的解決方案,而且也提供可編程片上系統(tǒng)(SOPC)設(shè)計(jì)的綜合性環(huán)境。Quartus II除了保留有MAXPLUS II的特色外,也可以利用第三

32、方的綜合工具,如Synopsys、NativeLink、仿真工具M(jìn)odelSim 等。設(shè)計(jì)者可以通過(guò)傳統(tǒng)原理圖輸入法(GDF)或硬件描述語(yǔ)言(VHDL)設(shè)計(jì)一個(gè)數(shù)字系統(tǒng),通過(guò)軟件仿真我們可以事先驗(yàn)證設(shè)計(jì)正確性,在PCB完成后還可以利用CPLD的在線修改能力隨時(shí)修改設(shè)計(jì)而不必改動(dòng)硬件電路。電路設(shè)計(jì)與輸入是指通過(guò)某些規(guī)的描述方式,將工程師電路構(gòu)思輸入給EDA工具。常用的設(shè)計(jì)方法有硬件描述語(yǔ)言(HDL)和原理圖設(shè)計(jì)輸入方法等。原理圖設(shè)計(jì)輸入法在早期應(yīng)用的比較廣泛,它根據(jù)設(shè)計(jì)要求,選用器件、繪制原理圖、完成輸入過(guò)程。這種方法的優(yōu)點(diǎn)是直觀、便于理解、元器件庫(kù)資源豐富。但是在大型設(shè)計(jì)中,這種方法的可維護(hù)性

33、較差,不利于模塊構(gòu)造與重用。更主要的缺點(diǎn)就是當(dāng)所選用芯片升級(jí)換代后,所有的原理圖都要做相應(yīng)的改動(dòng)。目前進(jìn)行大型工程設(shè)計(jì)時(shí),最常用的設(shè)計(jì)方法是HDL設(shè)計(jì)輸入法,其中影響最為廣泛的HDL語(yǔ)言是VHDL和Verilog。他們的共同特點(diǎn)是利用由頂向下設(shè)計(jì),利于模塊的劃分與復(fù)用,可移植性好,通用性好,設(shè)計(jì)不因芯片的工藝與結(jié)構(gòu)不同而變化,更利于向ASIC的移植。波形輸入和狀態(tài)機(jī)輸入方法是兩種常用的輔助設(shè)計(jì)輸入方法:使用波形輸入時(shí),繪制出激勵(lì)波形與輸出波形,EDA軟件就能自動(dòng)地根據(jù)響應(yīng)關(guān)系進(jìn)行設(shè)計(jì);使用狀態(tài)機(jī)輸入法時(shí),設(shè)計(jì)者只需要畫出狀態(tài)轉(zhuǎn)移圖,EDA軟件就能生成相應(yīng)的HDL代碼或原理圖,使用十分方便。2.

34、1.1 Quartus II的使用與主要設(shè)計(jì)流程Quartus II可以使設(shè)計(jì)者完成設(shè)計(jì)輸入、分析與綜合、仿真、布局布線、時(shí)序分析與編程下載等工作。Quartus支持多種編輯輸入法,包括圖形編輯輸入法,VHDL、Verilog HDL和AHDL的文本編輯輸入法,符號(hào)編輯輸入法,以與存編輯輸入法。Quartus與MATLAB和DSP Builder結(jié)合可以進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實(shí)現(xiàn)的關(guān)鍵EDA工具,與SOPC Builder結(jié)合,可實(shí)現(xiàn)SOPC系統(tǒng)開發(fā)。Quartus II的設(shè)計(jì)流程與過(guò)去傳統(tǒng)意義的電子設(shè)計(jì)大不一樣。尤其表現(xiàn)在:傳統(tǒng)設(shè)計(jì)是自底向上的設(shè)計(jì),合格產(chǎn)品的設(shè)計(jì)

35、總要反復(fù)多次試驗(yàn),次數(shù)主要取決于經(jīng)驗(yàn)而且必須制成成品才能進(jìn)行儀器測(cè)量。而Quartus II采用的是自頂向下的設(shè)計(jì),縮減了設(shè)計(jì)成本,縮短了設(shè)計(jì)周期,更接近于常規(guī)思維方式,標(biāo)準(zhǔn)產(chǎn)品方便測(cè)試,對(duì)設(shè)計(jì)者經(jīng)驗(yàn)要求低,性強(qiáng)集成度高。圖2.1顯示了使用Quartus II 進(jìn)行設(shè)計(jì)的各主要環(huán)節(jié)。圖2.1 Quartus II主要設(shè)計(jì)環(huán)節(jié)這幾個(gè)環(huán)節(jié)分別介紹如下:(1)設(shè)計(jì)輸入:設(shè)計(jì)輸入包括圖形輸入和硬件描述語(yǔ)言(HDL)文本輸入兩大類型。本次實(shí)驗(yàn)中主要用到其中的原理圖輸入和VHDL輸入兩種方式。HDL設(shè)計(jì)方式是現(xiàn)今設(shè)計(jì)大規(guī)模數(shù)字集成電路的常用形式,除IEEE標(biāo)準(zhǔn)中VHDL與Verilog HDL兩種形式外,

36、還有各自FPGA廠家推出的專用語(yǔ)言,如Quartus II下的AHDL。HDL語(yǔ)言描述在狀態(tài)機(jī)、控制邏輯、總線功能方面較強(qiáng);而原理圖輸入在頂層設(shè)計(jì)、數(shù)據(jù)通路邏輯等方面具有圖形化強(qiáng)、功能明確等特點(diǎn)。Quartus II 支持層次化設(shè)計(jì),可以在一個(gè)新的輸入編輯環(huán)境中調(diào)用不同輸入設(shè)計(jì)方式完成的模塊,從而完成混合輸入設(shè)計(jì)以發(fā)揮二者各自特色。(2)分析與綜合:在完成設(shè)計(jì)輸入之后,即可對(duì)其進(jìn)行分析與綜合。其中先進(jìn)行語(yǔ)法的分析與校正,然后依據(jù)邏輯設(shè)計(jì)的描述和各種約束條件進(jìn)行編譯、優(yōu)化、轉(zhuǎn)換和綜合。最終獲得門級(jí)電路甚至更底層的電路網(wǎng)表描述文件。因此,綜合就是將電路的高級(jí)語(yǔ)言(如行為描述)轉(zhuǎn)換成低級(jí)的,可與FP

37、GA/CPLD的基本結(jié)構(gòu)相映射的網(wǎng)表文件或程序,既可以使用Quartus II中的綜合器來(lái)分析設(shè)計(jì)文件和建立工程數(shù)據(jù)庫(kù),也可使用其他EDA綜合工具綜合設(shè)計(jì)文件,然后產(chǎn)生與Quartus II軟件配合使用的網(wǎng)表文件。(3)仿真:仿真包括功能仿真和時(shí)序仿真。進(jìn)行功能仿真,即直接對(duì)VHDL、原理圖描述或其他描述形式的邏輯功能進(jìn)行測(cè)試模擬,以了解其實(shí)現(xiàn)的功能否滿足原設(shè)計(jì)的要求,仿真過(guò)程沒(méi)有加入時(shí)序信息,不涉與具體器件的硬件特性。而時(shí)序仿真接近真實(shí)器件運(yùn)行特性的仿真,仿真精度高。Quartus II可以通過(guò)建立和編輯波形文件,來(lái)執(zhí)行仿真波形的模擬分析。(4)布局布線:若功能仿真結(jié)果滿足邏輯設(shè)計(jì),則可執(zhí)行

38、布局布線。它的目的是將綜合后產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,使之產(chǎn)生最終的下載文件。在Quartus II中,是使用由綜合中建立的數(shù)據(jù)庫(kù),將工程的邏輯和時(shí)序要求與器件的可用資源相匹配。它將每個(gè)邏輯功能分配給最好的邏輯單元位置,進(jìn)行布線和時(shí)序,并選擇相應(yīng)的互連路徑和引腳分配。(5)時(shí)序分析Quartus II中的時(shí)序分析功能可以分析設(shè)計(jì)中所有邏輯的性能,并協(xié)助引導(dǎo)適配器滿足設(shè)計(jì)中的時(shí)序分析要求。還可以進(jìn)行最少的時(shí)序分析,報(bào)告最佳情況時(shí)序結(jié)果,驗(yàn)證驅(qū)動(dòng)芯片外信號(hào)的時(shí)鐘至管腳延時(shí)。(6)引腳鎖定與下載為了對(duì)設(shè)計(jì)工程進(jìn)行硬件測(cè)試,應(yīng)將其輸入輸出信號(hào)鎖定在芯片確定的引腳上。最后是將下載或配置文件通

39、過(guò)編程電纜向FPGA或CPLD進(jìn)行下載,以便進(jìn)行硬件調(diào)試和驗(yàn)證。2.1.2 Quartus II的原理圖輸入設(shè)計(jì)流程應(yīng)用數(shù)字邏輯電路的基本知識(shí),使用Quartus II原理圖輸入法可以非常方便地進(jìn)行數(shù)字系統(tǒng)的設(shè)計(jì),應(yīng)用Quartus II原理圖輸入法,還可以把原有的使用中小規(guī)模的通用數(shù)字集成電路設(shè)計(jì)的數(shù)字系統(tǒng)移植到FPGA中。設(shè)計(jì)流程可以分為:(1)建立工程文件夾,包括工程目錄、名稱和選擇合適器件。(2)編輯設(shè)計(jì)圖形文件,放置元件、連線、設(shè)定輸入輸出管教名稱。(3)對(duì)圖形文件進(jìn)行編譯,檢查電路是否有誤。(4)時(shí)序仿真設(shè)計(jì)文件,得到方針波形驗(yàn)證設(shè)計(jì)結(jié)果。(5)編程下載設(shè)計(jì)文件,包括引腳鎖定和編程

40、下載。2.1.2 SignalTap II邏輯分析儀的使用伴隨著EDA工具的快速發(fā)展,一種新的調(diào)試工具Quartus II 中的SignalTap II 滿足了FPGA開發(fā)中硬件調(diào)試的要求,它具有無(wú)干擾、便于升級(jí)、使用簡(jiǎn)單、價(jià)格低廉等特點(diǎn)。SignalTap II嵌入邏輯分析儀集成到Quartus II設(shè)計(jì)軟件中,能夠捕獲和顯示可編程單芯片系統(tǒng)(SOPC)設(shè)計(jì)中實(shí)時(shí)信號(hào)的狀態(tài),這樣開發(fā)者就可以在整個(gè)設(shè)計(jì)過(guò)程中以系統(tǒng)級(jí)的速度觀察硬件和軟件的交互作用。它支持多達(dá)1024個(gè)通道,采樣深度高達(dá)128Kb,每個(gè)分析儀均有10級(jí)觸發(fā)輸入/輸出,從而增加了采樣的精度。SignalTap II為設(shè)計(jì)者提供了業(yè)

41、界領(lǐng)先的SOPC設(shè)計(jì)的實(shí)時(shí)可視性,能夠大大減少驗(yàn)證過(guò)程中所花費(fèi)的時(shí)間。目前SignalTap II邏輯分析儀支持的器件系列包括:APEXT II,APEX20KE,APEX20KC,APEX20K,Cyclone,Excalibur,Mercury,Stratix GX,Stratix。SignalTap II 嵌入式邏輯分析器,提供了芯片測(cè)試的一個(gè)很好的途徑。通過(guò)SignalTap II 測(cè)試芯片無(wú)需外接專用儀器,它在器件部捕獲節(jié)點(diǎn)進(jìn)行分析和判斷系統(tǒng)故障。本文通過(guò)對(duì)Cyclone EP2C35F672C6器件的實(shí)驗(yàn)證實(shí)該測(cè)試手段大大提高系統(tǒng)的調(diào)試能力,具有很好的效果。圖2.2是SignalT

42、ap II嵌入到FPGA的結(jié)構(gòu)圖: 圖2.2 將邏輯分析儀嵌入到FPGA中使用SignalTap II的一般流程是:設(shè)計(jì)人員在完成設(shè)計(jì)并編譯工程后,建立SignalTap II (.stp)文件并加入工程、配置STP文件、編譯并下載設(shè)計(jì)到FPGA、在Quartus II軟件中顯示被測(cè)信號(hào)的波形、在測(cè)試完畢后將該邏輯分析儀從項(xiàng)目中刪除。以下描述設(shè)置SignalTap II文件的基本流程:(1)設(shè)置采樣時(shí)鐘:采樣時(shí)鐘決定了顯示信號(hào)波形的分辨率,它的頻率要大于被測(cè)信號(hào)的最高頻率,否則無(wú)確反映被測(cè)信號(hào)波形的變化。SignalTap II在時(shí)鐘上升沿將被測(cè)信號(hào)存儲(chǔ)到緩存。(2)設(shè)置被測(cè)信號(hào):可以使用No

43、de Finder 中的 SignalTap II 濾波器查找所有預(yù)綜合和布局布線后的SignalTap II 節(jié)點(diǎn),添加要觀察的信號(hào)。邏輯分析器不可測(cè)試的信號(hào)包括:邏輯單元的進(jìn)位信號(hào)、PLL的時(shí)鐘輸出、JTAG引腳信號(hào)、LVDS(低壓差分)信號(hào)。(3)配置采樣深度、確定RAM的大小。(4)設(shè)置buffer acquisition mode:buffer acquisition mode包括循環(huán)采樣存儲(chǔ)、連續(xù)存儲(chǔ)兩種模式。循環(huán)采樣存儲(chǔ)也就是分段存儲(chǔ),將整個(gè)緩存分成多個(gè)片段(segment),每當(dāng)觸發(fā)條件滿足時(shí)就捕獲一段數(shù)據(jù)。該功能可以去掉無(wú)關(guān)的數(shù)據(jù),使采樣緩存的使用更加靈活。(5)觸發(fā)級(jí)別:S

44、ignalTap II支持多觸發(fā)級(jí)的觸發(fā)方式,最多可支持10級(jí)觸發(fā)。(6)觸發(fā)條件:可以設(shè)定復(fù)雜的觸發(fā)條件用來(lái)捕獲相應(yīng)的數(shù)據(jù),以協(xié)助調(diào)試設(shè)計(jì)。當(dāng)觸發(fā)條件滿足時(shí),在signalTap時(shí)鐘的上升沿采樣被測(cè)信號(hào)。完成STP設(shè)置后,將STP文件同原有的設(shè)計(jì)下載到FPGA中,在Quartus II中SignalTap II窗口下查看邏輯分析儀捕獲結(jié)果。SignalTap II可將數(shù)據(jù)通過(guò)多余的I/O引腳輸出,以供外設(shè)的邏輯分析器使用;或輸出為csv、tbl、vcd、vwf文件格式以供第三方仿真工具使用。2.2 VHDL語(yǔ)言簡(jiǎn)介VHDL的英文全名是Very-High-Speed Integrated Ci

45、rcuit HardwareDescription Language,誕生于1982年。1987年底,IEEE將VHDL替代了原有的非標(biāo)準(zhǔn)的硬件描述語(yǔ)言,并被美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式和描述風(fēng)格與句法十分類似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可視部分,與端口)和部(或稱不可視部分),既涉與實(shí)體的部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其部開發(fā)完成后,其他的設(shè)計(jì)就可以

46、直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。VHDL語(yǔ)言的基本結(jié)構(gòu):一個(gè)完整的VHDL語(yǔ)言程序通常包括實(shí)體聲明(Entity Declaration)、結(jié)構(gòu)體(Architecture Body)、配置(Configuration)、程序包(Package)和庫(kù)(Library)五個(gè)組成部分。其中實(shí)體和結(jié)構(gòu)體是不可缺少的。前4種分別是編譯的源設(shè)計(jì)單元。庫(kù)存放已編譯的實(shí)體,結(jié)構(gòu)體,配置和包;實(shí)體用于描述系統(tǒng)部的結(jié)構(gòu)和行為;包存放各設(shè)計(jì)模塊都能共享的數(shù)據(jù)類型,常數(shù)和子程序等;配置用于從庫(kù)中選取所需要單元來(lái)支持系統(tǒng)的不同設(shè)計(jì),即對(duì)庫(kù)的使用。庫(kù)可由用戶生成或芯片制造商提

47、供,以便共享。實(shí)體是描述系統(tǒng)的外部端口,實(shí)體說(shuō)明用于描述設(shè)計(jì)系統(tǒng)的外部端口輸入、輸出特征;結(jié)構(gòu)體是描述系統(tǒng)部的結(jié)構(gòu)和行為,即用于描述設(shè)計(jì)系統(tǒng)的行為、系統(tǒng)數(shù)據(jù)的流程和系統(tǒng)部的結(jié)構(gòu)與其實(shí)現(xiàn)的功能。配置為屬性選項(xiàng),描述層與層之間、實(shí)體與結(jié)構(gòu)體之間的連接關(guān)系,比如高層設(shè)計(jì)需要將低層實(shí)體作為文件加以利用,這就要用到配置說(shuō)明,用于從庫(kù)中選取所需設(shè)計(jì)單元來(lái)組成系統(tǒng)設(shè)計(jì)的不同版本。程序包為屬性選項(xiàng),用于把共享的定義放置其中,具體地說(shuō)主要用來(lái)存放各種設(shè)計(jì)的模塊都能共享的數(shù)據(jù)類型、常量和子程序等。庫(kù)主要用于存放已經(jīng)編譯的實(shí)體、結(jié)構(gòu)體、程序包和配置,可由用戶自主生成或有ASIC芯片制造商提供相應(yīng)的庫(kù),以便于設(shè)計(jì)中為

48、大家所共享。2.2.1 VHDL的基本結(jié)構(gòu)一個(gè)VHDL設(shè)計(jì)由若干個(gè)VHDL文件構(gòu)成,每個(gè)文件主要包含如下三個(gè)部分中的一個(gè)或全部:(1)程序包(Package);(2) 庫(kù)(library)(3)實(shí)體(Entity);(4)結(jié)構(gòu)體(Architecture)。VHDL設(shè)計(jì)結(jié)構(gòu)體(Architectures)定義了實(shí)體的實(shí)現(xiàn),即電路的具體描述實(shí)體(Entities)聲明到其他實(shí)體與其他設(shè)計(jì)的接口,即定義本設(shè)計(jì)輸入輸出端口程序包(Packages)聲明在設(shè)計(jì)或?qū)嶓w中將要用到的常數(shù),數(shù)據(jù)類型,元件與子程序等VHDL文件圖2.3 VHDL組成示意圖一個(gè)完整的VHDL設(shè)計(jì)必須包含一個(gè)實(shí)體和一個(gè)與之對(duì)應(yīng)的結(jié)

49、構(gòu)體,一個(gè)實(shí)體可對(duì)應(yīng)多個(gè)結(jié)構(gòu)體,以說(shuō)明采用不同方法來(lái)描述電路。(1)程序包(Package)程序包是用來(lái)單純羅列VHDL語(yǔ)言中所要用到的信號(hào)定義、常數(shù)定義、數(shù)據(jù)類型、元件語(yǔ)句、函數(shù)定義和過(guò)程定義等,它是一個(gè)可編譯的設(shè)計(jì)單元,也是庫(kù)結(jié)構(gòu)中的一個(gè)層次。要使用程序包時(shí),可以用USE語(yǔ)句說(shuō)明。例如:USE IEEE.STD_LOGIC_1164.ALL;該語(yǔ)句表示在VHDL程序中要使用名為STD_LOGIC_1164的程序包中所有定義或說(shuō)明項(xiàng)。一個(gè)程序包由兩大部分組成:(Header)和包體(Package Body),其中包體是一個(gè)可選項(xiàng),也就是說(shuō),程序包可以只由構(gòu)成。一般列出所有項(xiàng)的名稱,而在包體

50、具體給出各項(xiàng)的細(xì)節(jié)。(2)庫(kù)(Library)庫(kù)是專門存放預(yù)先編譯好的程序包(package)的地方。在VHDL語(yǔ)言中,庫(kù)的說(shuō)明總是放在設(shè)計(jì)單元的最前面:LIBRARY 庫(kù)名;這樣,在設(shè)計(jì)單元的語(yǔ)句就可以使用庫(kù)中的數(shù)據(jù)。由此可見(jiàn),庫(kù)的好處就在于使設(shè)計(jì)者可以共享已經(jīng)編譯過(guò)的設(shè)計(jì)結(jié)果。在VHDL語(yǔ)言中可以存在多個(gè)不同的庫(kù),但是庫(kù)和庫(kù)之間是獨(dú)立的,不能互相嵌套。實(shí)際中一個(gè)庫(kù)就對(duì)應(yīng)一個(gè)目錄,預(yù)編譯程序包的文件就放在此目錄中。用戶自建的庫(kù)即為設(shè)計(jì)文件所在目錄,庫(kù)名與目錄名的對(duì)應(yīng)關(guān)系可在編譯軟件中指定。庫(kù)說(shuō)明語(yǔ)句的作用圍從一個(gè)實(shí)體說(shuō)明開始到它所屬的構(gòu)造體、配置為止。當(dāng)一個(gè)源程序中出現(xiàn)兩個(gè)以上的實(shí)體時(shí),兩條

51、作為使用庫(kù)的說(shuō)明語(yǔ)句應(yīng)在每個(gè)實(shí)體說(shuō)明語(yǔ)句前重復(fù)書寫。表2.1是IEEE兩個(gè)標(biāo)準(zhǔn)庫(kù)“std”與“ieee”中所包含的程序包的簡(jiǎn)單解釋。表2.1 STD與IEEE的程序包庫(kù)名程序包名包中預(yù)定義容stdstandardVHDL類型,如bit,bit_vectorieeestd_logic_1164定義std_logic, std_logic_vector等ieeenumericstd 定義了一組基std_logic_1164中定 義的類型上的算術(shù)運(yùn)算符,如“+”、“-”、SHL、SHR等ieeestd_logicarith 定義有符號(hào)與無(wú)符 號(hào)類型,與基于這些類型上的算術(shù)運(yùn)算ieeestd_logi

52、c_signed 定義了基于std_logic與 std_logic_vector類型上的有符號(hào)的算術(shù)運(yùn)算ieeestd_logic_unsigned 定義了基于std_logic與std_logic_vector類型上的無(wú)符號(hào)的算術(shù)運(yùn)算(3)實(shí)體(entity)實(shí)體是VHDL設(shè)計(jì)中最基本的模塊,VHDL表達(dá)的所有設(shè)計(jì)均與實(shí)體有關(guān)。設(shè)計(jì)的最頂層是頂層實(shí)體。如果設(shè)計(jì)分層次,那么在頂層實(shí)體中將包含較低級(jí)別的實(shí)體。實(shí)體中定義了該設(shè)計(jì)所需的輸入/輸出信號(hào),信號(hào)的輸入/輸出類型被稱為端口模式,同時(shí)實(shí)體中還定義他們的數(shù)據(jù)類型。任何一個(gè)基本設(shè)計(jì)單元的實(shí)體說(shuō)明都具有如下的結(jié)構(gòu):Entityis port (信

53、號(hào)名,信號(hào)名:端口模式端口類型;信號(hào)名,信號(hào)名:端口模式端口類型);End; 每個(gè)端口所定義的信號(hào)名在實(shí)體中必須是唯一的,說(shuō)明信號(hào)名的屬性包括端口模式和端口類型,端口模式?jīng)Q定信號(hào)的流向,端口類型決定端口所采用的數(shù)據(jù)類型。端口模式(MODE)有以下幾種類型:IN 信號(hào)進(jìn)入實(shí)體但并不輸出;OUT 信號(hào)離開實(shí)體但并不輸入;并且不會(huì)在部反饋使用;INOUT 信號(hào)是雙向的(既可以進(jìn)入實(shí)體,也可以離開實(shí)體);BUFFER 信號(hào)輸出到實(shí)體外部,但同時(shí)也在實(shí)體部反饋。端口類型(TYPE)有以下幾種類型:Integer:可用作循環(huán)的指針或常數(shù),通常不用于I/O信號(hào);Bit:可取值“0”或“1”;std_logi

54、c:工業(yè)標(biāo)準(zhǔn)的邏輯類型,取值“0”,“1”,“X”和“Z”;std_logic_vector:std_logic的組合,工業(yè)標(biāo)準(zhǔn)的邏輯類型。由此看出,實(shí)體(ENTITY)類似于原理圖中的符號(hào),它并不描述模塊的具體功能。實(shí)體的通信點(diǎn)是端口(PORT),它與模塊的輸入/輸出或器件的引腳相關(guān)聯(lián)。(4)結(jié)構(gòu)體(architecture)結(jié)構(gòu)體是VHDL設(shè)計(jì)中最主要部分,它具體地指明了該基本設(shè)計(jì)單元的行為、元件與部的連接關(guān)系,也就是說(shuō)它定義了設(shè)計(jì)單元具體的功能。結(jié)構(gòu)體對(duì)其基本設(shè)計(jì)單元的輸入輸出關(guān)系可以用3種方式進(jìn)行描述,即行為描述(基本設(shè)計(jì)單元的數(shù)學(xué)模型描述)、寄存器傳輸描述(數(shù)據(jù)流描述)和結(jié)構(gòu)描述(邏

55、輯元件連接描述)。不同的描述方式,只體現(xiàn)在描述語(yǔ)句上,而結(jié)構(gòu)體的結(jié)構(gòu)是完全一樣的。一個(gè)完整的、能被綜合實(shí)現(xiàn)的VHDL設(shè)計(jì)必須有一個(gè)實(shí)體和對(duì)應(yīng)的結(jié)構(gòu)體,一個(gè)實(shí)體可以對(duì)應(yīng)一個(gè)或多個(gè)結(jié)構(gòu)體,由于結(jié)構(gòu)體是對(duì)實(shí)體功能的具體描述,因此它一定要跟在實(shí)體的后面,通常先編譯實(shí)體后才能對(duì)結(jié)構(gòu)體進(jìn)行編譯。2.2.2 VHDL的基本語(yǔ)法(1) VHDL語(yǔ)言的客體與其分類在VHDL語(yǔ)言中凡是可以賦予一個(gè)值的對(duì)象就稱為客體(Object)。客體主要包括以下3種:信號(hào)、常數(shù)、變量(Signal、Constant、Variable)。在電子線路中,這3類客體通常都具有一定的物理含義。 常數(shù)(Constant)常數(shù)是一個(gè)固定的

56、值。所謂常數(shù)說(shuō)明就是對(duì)某一常數(shù)名賦予一個(gè)固定的值。通常賦值在程序開始前進(jìn)行,該值的數(shù)據(jù)類型則在說(shuō)明語(yǔ)句中指明。常數(shù)說(shuō)明的一般格式如下:Constant 常數(shù)名:數(shù)據(jù)類型:=表達(dá)式;常量在定義時(shí)賦初值,賦值符號(hào)為“:=”。 變量(Variable)變量只能在進(jìn)程語(yǔ)句、函數(shù)語(yǔ)句和過(guò)程語(yǔ)句中使用,它是一個(gè)局部量。在仿真過(guò)程中它不像信號(hào)那樣,到了規(guī)定的仿真時(shí)間才進(jìn)行賦值,變量的賦值是立即生效的。變量說(shuō)明語(yǔ)句的格式如下:Variable 變量名:數(shù)據(jù)類型約束條件:=表達(dá)式;變量的賦值符號(hào)“:=”。 信號(hào)(Signal)信號(hào)是電子線路部硬件連接的抽象。它除了沒(méi)有數(shù)據(jù)流動(dòng)方向說(shuō)明外,其它性質(zhì)幾乎和“端口”一

57、致。信號(hào)通常在構(gòu)造體、程序包和實(shí)體中說(shuō)明。信號(hào)說(shuō)明語(yǔ)句的格式如下:Signal 信號(hào)名:數(shù)據(jù)類型約束條件=表達(dá)式;信號(hào)的賦值符號(hào)為“=”。(2) VHDL的運(yùn)算符在VHDL語(yǔ)言中共有4類運(yùn)算符,可以分別進(jìn)行邏輯運(yùn)算(Logical)、關(guān)系運(yùn)算(Relational)、算術(shù)運(yùn)算(Arithmetic)和并置運(yùn)算(Concatenation)。被運(yùn)算符所運(yùn)算的數(shù)據(jù)應(yīng)該與運(yùn)算符所要求的類型相一致。另外,運(yùn)算符是有優(yōu)先級(jí)的,例如邏輯運(yùn)算符NOT,在所有的運(yùn)算符中優(yōu)先級(jí)最高。(3) VHDL常用語(yǔ)句VHDL 常用語(yǔ)句分并行(Concurrent)語(yǔ)句和順序(Sequential)語(yǔ)句:并行語(yǔ)句(Conc

58、urrent):并行語(yǔ)句總是處于進(jìn)程(PROCESS)的外部。所有并行語(yǔ)句都是并行執(zhí)行的,即與它們出現(xiàn)的先后次序無(wú)關(guān)。如when.else語(yǔ)句。順序語(yǔ)句(Sequential):順序語(yǔ)句總是處于進(jìn)程的部,并且從仿真的角度來(lái)看是順序執(zhí)行的。如if-then-else語(yǔ)句3.數(shù)字調(diào)制解調(diào)原理3.1 ASK的調(diào)制與解調(diào)振幅鍵控是正弦載波的幅度隨數(shù)字基帶信號(hào)而變化的數(shù)字調(diào)制。當(dāng)數(shù)字基帶信號(hào)為二進(jìn)制時(shí),則為二進(jìn)制振幅鍵控。3.1.1 ASK調(diào)制原理二進(jìn)制幅移鍵控ASK信號(hào)是利用二進(jìn)制數(shù)字基帶脈沖序列中的“1”、“0”碼去控制載波輸出的有或無(wú)得到的。對(duì)單極性不歸零的矩形脈沖序列而言,“1”碼打開通路,送出

59、載波;“0”碼關(guān)閉通路,輸出零電平,所以又稱為通-斷鍵控OOK(on-off Keying)。一般情況下,調(diào)制信號(hào)是具有一定波形形狀的二進(jìn)制序列,即 (3.1)式3-1中Ts為碼元間隔;g(t)為調(diào)制信號(hào)的脈沖形狀表達(dá)式,為討論方便,這里設(shè)其為單極性不歸零的矩形脈沖;為二進(jìn)制符號(hào),見(jiàn)公式3.2: (3.2)借助于模擬幅度調(diào)制原理,二進(jìn)制序列幅移鍵控信號(hào)的一般表達(dá)式見(jiàn)式3.3。 (3.3)幅移鍵控調(diào)制器可以用一個(gè)相乘器實(shí)現(xiàn),也可以用一個(gè)開關(guān)電路來(lái)代替。兩種調(diào)制電路的框圖分別對(duì)應(yīng)于圖3.2(a)、(b)。圖3.2 開關(guān)電路法產(chǎn)生ASK圖3.2 相乘法產(chǎn)生ASK設(shè)輸入序列為010010,相應(yīng)的輸出波

60、形如圖3.3所示:圖3.3 ASK信號(hào)波形3.1.2 ASK解調(diào)原理二進(jìn)制序列幅移鍵控信號(hào)的解調(diào),與模擬雙邊帶AM信號(hào)的解調(diào)方法一樣,可以用相干解調(diào)或包絡(luò)檢波(非相干解調(diào))實(shí)現(xiàn),如圖3.4(a)、(b)所示。設(shè)計(jì)電路時(shí),考慮到成本等綜合因素,在2ASK系統(tǒng)中很少使用相干解調(diào)。圖3.4 ASK解調(diào)框圖3.2 PSK的調(diào)制與解調(diào)在二進(jìn)制數(shù)字調(diào)制中,當(dāng)正弦載波的相位隨二進(jìn)制數(shù)字基帶信號(hào)離散變化時(shí),則產(chǎn)生二進(jìn)制移相鍵控(2PSK)信號(hào)。3.2.1 PSK調(diào)制原理2PSK以載波的固定相位為參考,用與載波一樣的相位表示“1”碼;相位表示“0”碼,則第k個(gè)碼元表示見(jiàn)公式3.4:(3.4)調(diào)制方式如圖3.5(

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論