基于EDA智能函數(shù)發(fā)生器的設(shè)計(jì)_第1頁(yè)
基于EDA智能函數(shù)發(fā)生器的設(shè)計(jì)_第2頁(yè)
基于EDA智能函數(shù)發(fā)生器的設(shè)計(jì)_第3頁(yè)
基于EDA智能函數(shù)發(fā)生器的設(shè)計(jì)_第4頁(yè)
基于EDA智能函數(shù)發(fā)生器的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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、清華大學(xué)清華大學(xué) 20122012 年畢業(yè)設(shè)計(jì)(論文)年畢業(yè)設(shè)計(jì)(論文) 論文題目:論文題目: 基于基于 EDAEDA 技術(shù)的智能函數(shù)發(fā)生器的設(shè)計(jì)技術(shù)的智能函數(shù)發(fā)生器的設(shè)計(jì) 摘要 應(yīng)用 EDA 技術(shù)完成一個(gè)電子產(chǎn)品的設(shè)計(jì),以 FPGA 芯片中集成一個(gè)在電子生產(chǎn)或檢測(cè) 中通常用到波形發(fā)生器。在 Max+plus軟件開(kāi)發(fā)平臺(tái),輸入原理圖或硬件描述語(yǔ)言 VHDL 完成的設(shè)計(jì)文件,系統(tǒng)將自動(dòng)地完成邏輯編譯、綜合、仿真、目標(biāo)芯片的適配編譯、下 載等的工作。設(shè)計(jì)的工作是利用編程的方式來(lái)進(jìn)行對(duì)系統(tǒng)的功能的描述,在 EDA 工具的 幫助下,應(yīng)用相應(yīng)的可編程器件,實(shí)現(xiàn)設(shè)計(jì)的最終結(jié)果。使常用到的波形發(fā)生器微型化,

2、 設(shè)計(jì)簡(jiǎn)單化,使用簡(jiǎn)單化。 關(guān)鍵詞關(guān)鍵詞:FPGA EDA 六種波形 Max+plus軟件 Abstract EDA application of technology to complete an electronic product design to FPGA chip integrated in a production or electronic detection function in usually used in signal generator. MAX+PLUS in the software development platform for the importatio

3、n of schematic or hardware description language HDL design document completed, the system will automatically compile the completion of logic, integrated, simulation, the goal of the chips fit to compile, download, and so on. Design work is to use programming on the way to carry out the function of t

4、he system described in the EDA tools with the help of the appropriate application of the programmable devices, designed to achieve the final result. Used to make the micro-function signal generator, simple design, simple to use. Key words:FPGA EDA Six kinds of waveform Max+plus 目 錄 摘要 .2 ABSTRACT .3

5、 目 錄 .0 第 1 章 引言 .1 第 2 章 EDA 和 MAX+PLUS軟件介紹.3 2.1 EDA 技術(shù)的簡(jiǎn)介 .3 2.2 MAX+PLUS軟件介紹 .3 第 3 章系統(tǒng)的設(shè)計(jì) .5 3.1設(shè)計(jì)要求.5 3.2 設(shè)計(jì)思路 .5 3.3 系統(tǒng)細(xì)化框圖 .6 第 4 章 各模塊程序設(shè)計(jì)及仿真 .8 4.1 遞增斜波模塊 .8 4.2 遞減斜波模塊 .8 4.3 三角波模塊.9 4.4 階梯波模塊.10 4.5 正弦波模塊 .10 4.6 方波模塊 .11 4.7 輸出波形選擇模塊 .12 第 5 章 系統(tǒng)的編譯與調(diào)試 .13 5.1 系統(tǒng)聯(lián)調(diào)與測(cè)試分析 .13 5.2 編譯.13 5.

6、3 引腳鎖定.13 5.4 編程下載 .14 5.5 硬件驗(yàn)證 .15 第 6 章 結(jié)論 .16 參考文獻(xiàn) .17 附錄 .18 第第 1 1 章章 引言引言 EDA(electronic design automation,電子設(shè)計(jì)自動(dòng)化)技術(shù)是現(xiàn)代電子工程領(lǐng)域 的一門新技術(shù)。它提供了基于計(jì)算機(jī)和信息技術(shù)的電路系統(tǒng)設(shè)計(jì)方法。EDA 技術(shù)的發(fā)展和 推廣應(yīng)用極大地推動(dòng)了電子工業(yè)的發(fā)展,隨著 EDA 技術(shù)的發(fā)展,硬件電子電路的設(shè)計(jì)幾 乎全部可以依靠計(jì)算機(jī)來(lái)完成。這樣就大大縮短了硬件電子電路設(shè)計(jì)的周期從而使制造 商可以快速開(kāi)發(fā)出品種多批量小的產(chǎn)品,以滿足市的眾多需求。EDA 技術(shù)的推廣是當(dāng)今世 界的

7、一個(gè)技術(shù)熱點(diǎn)。EDA 技術(shù)是現(xiàn)代電子工業(yè)中不可缺少的一項(xiàng)技術(shù)。傳統(tǒng)設(shè)計(jì)應(yīng)用分立 元件或通用數(shù)字電路芯片,設(shè)計(jì)周期長(zhǎng),花費(fèi)大,而且往往局部功能優(yōu)化,而整體功能 較差。EDA 以計(jì)算機(jī)為平臺(tái),根據(jù)硬件描述語(yǔ)言,如 VHDL 自動(dòng)地完成邏輯編譯、化簡(jiǎn)分 割、綜合及優(yōu)化,布局布線,仿真直至對(duì)特定目標(biāo)芯片的適配編譯,邏輯映射和編程下 載等工作。以自頂向下的設(shè)計(jì)方法,使硬件設(shè)計(jì)軟件化,擺脫了傳統(tǒng)手工設(shè)計(jì)的眾多缺 點(diǎn)。其方法簡(jiǎn)單,頻率穩(wěn)定度高,易于程控。隨著 EDA 技術(shù)的深入發(fā)展,基于硬件描述 語(yǔ)言的方法將有取代傳統(tǒng)手工設(shè)計(jì)方法的趨勢(shì)。嘗試用 VHDL 設(shè)計(jì)來(lái)產(chǎn)生正弦波,其頻率 切換非常便捷,調(diào)試、修改也

8、非常節(jié)省時(shí)間。 FPGA是英文Field Programmable Gate Array的縮寫,即現(xiàn)場(chǎng)可編程門陣列,它是在 PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路 (ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有 可編程器件門電路數(shù)有限的缺點(diǎn)。 FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)新概念,內(nèi)部包括可配 置邏輯模塊CLB(Configurable Logic Block) 、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。它

9、與分立元件相比,具有速度快、容量 大、功耗小和可靠性高等優(yōu)點(diǎn)。由于集成度高,設(shè)計(jì)方法先進(jìn)、現(xiàn)場(chǎng)可編程,可以設(shè)計(jì) 各種數(shù)字電路,因此,在通信、數(shù)據(jù)處理、網(wǎng)絡(luò)、儀器、工業(yè)控制、軍事和航空航天等 眾多領(lǐng)域內(nèi)得到了廣泛應(yīng)用。不久的將來(lái)將全部取代分立數(shù)字元件,目前一些數(shù)字集成 電路生產(chǎn)廠商已經(jīng)停止了分立數(shù)字集成電路的生產(chǎn)。此外,F(xiàn)PGA還具有靜態(tài)可重復(fù)編程 和動(dòng)態(tài)在系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過(guò)編程來(lái)修改。因此, FPGA技術(shù)的應(yīng)用前景非常廣闊。 VHDL(Very High Speed Integrated Circuit Hardware Description Language,

10、 超高速集成電路硬件描述語(yǔ)言)誕生于1982年,是由美國(guó)國(guó)防部開(kāi)發(fā)的一種快速設(shè)計(jì)電 路的工具,目前已經(jīng)成為IEEE(The Institute of Electrical and Electronics Engineers)的一種工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言。相比傳統(tǒng)的電路系統(tǒng)的設(shè)計(jì)方法,VHDL具有 多層次描述系統(tǒng)硬件功能的能力,支持自頂向下(Top to Down)和基于庫(kù) (LibraryBased)的設(shè)計(jì)的特點(diǎn),因此設(shè)計(jì)者可以不必了解硬件結(jié)構(gòu)。從系統(tǒng)設(shè)計(jì)入手, 在頂層進(jìn)行系統(tǒng)方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在方框圖一級(jí)用VHDL對(duì)電路的行為進(jìn)行描述, 并進(jìn)行仿真和糾錯(cuò),然后在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證,最后再用

11、邏輯綜合優(yōu)化工具生成具體的 門級(jí)邏輯電路的網(wǎng)表,下載到具體的FPGA器件中去,從而實(shí)現(xiàn)可編程的專用集成電路 (ASIC)的設(shè)計(jì)。 波形發(fā)生器在生產(chǎn)實(shí)踐和科技領(lǐng)域中有著廣泛的應(yīng)用。例如在通信、廣播、電視系 統(tǒng)中,都需要射頻(高頻)發(fā)射,這里的射頻波就是載波,把音頻(低頻) 、視頻信號(hào)或 脈沖信號(hào)運(yùn)載出去,就需要能夠產(chǎn)生高頻的振蕩器。在工業(yè)、農(nóng)業(yè)、生物醫(yī)學(xué)等領(lǐng)域內(nèi), 如高頻感應(yīng)加熱、熔煉、淬火、超聲診斷、核磁共振成像等,都需要功率或大或小、頻 率或高或低的振蕩器。 第第 2 2 章章 EDAEDA 和和 Max+plusMax+plus軟件介紹軟件介紹 2.12.1 EDAEDA 技術(shù)的簡(jiǎn)介技術(shù)的

12、簡(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ù)就是以計(jì)算機(jī)為工具, 在 EDA 軟件平臺(tái)上,根據(jù)原理圖或硬件描述語(yǔ)言 HDL 完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯 編譯、化簡(jiǎn)、分割、綜合及優(yōu)化,布局布線、仿真、目標(biāo)芯片的適配編譯,邏輯映射和 編程下載等工作。設(shè)計(jì)者的工作只限于軟件的方式來(lái)完成對(duì)就的硬件功能的描述了,要 EDA 工具的幫助下,就應(yīng)用相應(yīng)的 FPGA 器件就可以

13、得到最后的設(shè)計(jì)結(jié)果。盡管目標(biāo)系統(tǒng) 是硬件,但整個(gè)設(shè)計(jì)和修改過(guò)程如同完成軟件設(shè)計(jì)一樣方便和高效。當(dāng)然我們這說(shuō)的是 EDA 是狹義的 EDA,主要是指數(shù)字系統(tǒng)的自動(dòng)化設(shè)計(jì)。 2.22.2 Max+plusMax+plus軟件介紹軟件介紹 在這設(shè)計(jì)中是基于 Max+plus為 EDA 的開(kāi)發(fā)工具,用這兩者作為我們的橋梁,滿足 開(kāi)發(fā)的需求,在一切工作開(kāi)始之前先了解下我們的工具 FPGA 芯片和 Max+plus軟件。 MAX+plus(Multiple Array and Programming Logic User System)開(kāi)發(fā)工具是美 國(guó) Altera 公司推出的一種 EDA 工具,具有靈活

14、高效,使用便捷,易學(xué)易用的特點(diǎn)。 Altera 公司在推出各種 CPLD 和 FPGA 的同時(shí)也在不斷地升級(jí)相應(yīng)的開(kāi)發(fā)工具軟件,已 從早期的第一代 A+plus、第二代 MAX+plus 發(fā)展到目前的第三代 MAX+plus II 和第四代 Quartus。使用 MAX+plus 軟件,設(shè)計(jì)者無(wú)需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu),只需熟悉所用 的設(shè)計(jì)輸入工具,如硬件描述語(yǔ)言、原理圖等進(jìn)行輸入,MAX+plus自動(dòng)將設(shè)計(jì)轉(zhuǎn)換成 目標(biāo)文件下載到器件中去。 Max+plus開(kāi)發(fā)系統(tǒng)的特點(diǎn) : 1、開(kāi)放的界面 Max+plus支持與 Cadence,Exemplarlogic,Mentor Graphics,S

15、ynplicty,Viewlogic 和其它公司所提供的 EDA 工具接口。 2、與結(jié)構(gòu)無(wú)關(guān) Max+plus系統(tǒng)的核心 Complier 支持 Altera 公司的 FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000 和 Classic 可編程 邏輯器件,提供了世界上唯一真正與結(jié)構(gòu)無(wú)關(guān)的可編程邏輯設(shè)計(jì)環(huán)境。 3、完全集成化 Max+plus的設(shè)計(jì)輸入、處理與較驗(yàn)功能全部集成在統(tǒng)一的開(kāi)發(fā)環(huán)境下,這樣可 以加快動(dòng)態(tài)調(diào)試、縮短開(kāi)發(fā)周期。 4、豐富的設(shè)計(jì)庫(kù) Max+plus提供豐富的庫(kù)單元供設(shè)計(jì)者調(diào)用,其中包括74 系列的全部器件和多 種特殊的邏輯功能

16、( Macro-Function)以及新型的參數(shù)化的兆功能( Mage- Function)。 5、模塊化工具 設(shè)計(jì)人員可以從各種設(shè)計(jì)輸入、處理和較驗(yàn)選項(xiàng)中進(jìn)行選擇從而使設(shè)計(jì)環(huán)境用戶 化。 6、硬件描述語(yǔ)言( HDL) Max+plus軟件支持各種 HDL 設(shè)計(jì)輸入選項(xiàng),包括 VHDL、Verilog HDL 和 Altera 自己的硬件描述語(yǔ)言 AHDL。 7、Opencore 特征 Max+plus軟件具有開(kāi)放核的特點(diǎn),允許設(shè)計(jì)人員添加自己認(rèn)為有價(jià)值的宏函 數(shù)。 第第 3 3 章章系系統(tǒng)統(tǒng)的的設(shè)設(shè)計(jì)計(jì) 3.13.1設(shè)計(jì)要求設(shè)計(jì)要求 要求設(shè)計(jì)一個(gè)函數(shù)發(fā)生器,該函數(shù)發(fā)生器能夠產(chǎn)生遞增斜波、遞減

17、斜波、方波、三 角波、正弦波、及階梯波,并且可以通過(guò)選擇開(kāi)關(guān)選擇相應(yīng)的波形輸出;系統(tǒng)具有復(fù)位 的功能;通過(guò)按鍵確定輸出的波形及確定是否輸出波形。FPGA 是整個(gè)系統(tǒng)的核心,構(gòu)成 系統(tǒng)控制器,波形數(shù)據(jù)生成器,加法器,運(yùn)算/譯碼等功能。 通過(guò)以上分析設(shè)計(jì)要求完成的功能,確定函數(shù)發(fā)生器可由遞增斜波產(chǎn)生模塊、遞減 斜波產(chǎn)生模塊、三角波產(chǎn)生模塊、階梯波產(chǎn)生模塊、正弦波產(chǎn)生模塊、方波產(chǎn)生模塊和 輸出波形選擇模塊組成,以及按鍵復(fù)位控制和時(shí)鐘輸入。由此可確定系統(tǒng)的總體原理框 圖為: 波形發(fā)生模塊 時(shí)鐘 clk 復(fù)位 reset 波形輸出選擇模塊 3.23.2 設(shè)計(jì)思路設(shè)計(jì)思路 3.2.13.2.1 波形函數(shù)發(fā)

18、生方案對(duì)比選擇波形函數(shù)發(fā)生方案對(duì)比選擇 波形函數(shù)發(fā)生是本設(shè)計(jì)的最重要的部分,實(shí)現(xiàn)函數(shù)發(fā)生的途徑也有很多,因此必須 選擇一種易于實(shí)現(xiàn)且精度高的方案,以此來(lái)提高本設(shè)計(jì)的實(shí)用性。 方案一:通過(guò)單片機(jī)控制 D/A,輸出三種波形。此方案輸出的波形不夠穩(wěn)定,抗干擾 D/A 轉(zhuǎn) 換 能力弱,不易調(diào)節(jié),而且達(dá)不到題目要求的六種波形。 方案二:使用傳統(tǒng)的鎖相頻率合成方法。通過(guò)芯片 IC,壓控振蕩器搭接的鎖相環(huán)電 路輸出穩(wěn)定性極好的正弦波,再利用過(guò)零比較器轉(zhuǎn)換成方波,積分電路轉(zhuǎn)換成三角波。 此方案,電路復(fù)雜,干擾因素多,不易實(shí)現(xiàn)。 方案三:利用 MAX038 芯片組成的電路輸出波形。MAX038 是精密高頻波形產(chǎn)

19、生電路, 能夠產(chǎn)生準(zhǔn)確的三角波、方波和正弦波三種周期性波形,但無(wú)法實(shí)現(xiàn)階梯波和遞增遞減 斜波的產(chǎn)生。 方案四:利用在系統(tǒng)編程技術(shù)和 FPGA 芯片產(chǎn)生。用 VHDL 語(yǔ)言編寫程序,調(diào)試成功 后下載至實(shí)驗(yàn)裝置的芯片上,再利用外接 D/A 轉(zhuǎn)換電路實(shí)現(xiàn)以上設(shè)計(jì)功能。此種方案完 全可以生成設(shè)計(jì)要求的 6 種波形,而且通過(guò)軟件仿真可以直觀的觀測(cè)的輸出的波形參數(shù), 方便調(diào)試和更改波形參數(shù),外圍電路簡(jiǎn)單,減少器件損耗,精度高。 基于方案四的外圍電路簡(jiǎn)單容易實(shí)現(xiàn)、波形產(chǎn)生精度高、易于仿真觀測(cè)調(diào)試的優(yōu)點(diǎn), 因此本設(shè)計(jì)的函數(shù)發(fā)生器選擇方案四完成波形發(fā)生的全部功能。 3.2.23.2.2 波形函數(shù)輸出控制方式選擇

20、波形函數(shù)輸出控制方式選擇 方案一:控制多路 D/A 開(kāi)關(guān)輸出方式 此種方案為每一路輸出的波形函數(shù)使用一路 D/A 轉(zhuǎn)換后輸出,通過(guò)控制開(kāi)關(guān)控制每 一路 D/A 是否工作,決定輸出的波形。此種方案可以同時(shí)輸出多路波形,但是需要路 D/A 轉(zhuǎn)化器,外圍電路復(fù)雜,制作成本較高而且控制復(fù)雜。 方案二:采用數(shù)據(jù)選擇器方式 此種方案可以利用 VHDL 語(yǔ)言寫出數(shù)據(jù)選擇器,然后每種函數(shù)發(fā)生器的輸出和數(shù)據(jù)選 擇器輸入相連接,通過(guò)控制開(kāi)關(guān)選擇對(duì)應(yīng)的波形輸出。方案二完全可以得到方案一的設(shè) 計(jì)要求,而且只需一個(gè) D/A 轉(zhuǎn)換器就可以。電路不需要外部搭建,節(jié)約成本且控制簡(jiǎn)單 方便。 方案三:采用數(shù)據(jù)分配器方式 此種方

21、案利用數(shù)據(jù)分配器的功能,通過(guò)控制開(kāi)關(guān)選擇相應(yīng)的函數(shù)發(fā)生器模塊,使之 產(chǎn)生相應(yīng)的波形輸出,并通過(guò)數(shù)據(jù)分配器的使能復(fù)位控制決定是否輸出波形,此種方案 和方案二很相似,也能夠?qū)崿F(xiàn)設(shè)計(jì)的功能也具有方案二的優(yōu)點(diǎn)。 基于方案二的設(shè)計(jì)簡(jiǎn)便、節(jié)約制作元件和成本、控制簡(jiǎn)便等優(yōu)點(diǎn),選擇方案二作為 波形函數(shù)輸出控制方式。 3.33.3 系統(tǒng)細(xì)化框圖系統(tǒng)細(xì)化框圖 通過(guò)以上各個(gè)模塊的分析最終確定函數(shù)信號(hào)發(fā)生器的自頂向下的細(xì)化框圖為: 3.3.13.3.1 系統(tǒng)的整體原理框圖:系統(tǒng)的整體原理框圖: 波形選擇模塊 遞增斜波模塊 遞減斜波模塊 三角波模塊 階梯波模塊 正弦波模塊 方波模塊 時(shí)鐘 clk 復(fù)位 reset 波形

22、選擇開(kāi)關(guān) D/A 轉(zhuǎn)換器 系統(tǒng)時(shí)鐘輸入后,通過(guò)復(fù)位開(kāi)關(guān)選擇是否產(chǎn)生波形,當(dāng)各個(gè)模塊產(chǎn)生相應(yīng)的信號(hào)波 形后,通過(guò)波形選擇模塊波形選擇開(kāi)關(guān)選澤輸出不同的波形,再通過(guò) D/A 轉(zhuǎn)換器轉(zhuǎn)換, 就可以把數(shù)字信號(hào)(由 FPGA 輸出)變成了相應(yīng)模擬的信號(hào)波形。整個(gè)系統(tǒng)設(shè)計(jì)的核心就 是 FPGA 部分。 第第 4 4 章章 各模塊程序設(shè)計(jì)及仿真各模塊程序設(shè)計(jì)及仿真 根據(jù)自上而下的思路進(jìn)行項(xiàng)目設(shè)計(jì)。明確每個(gè)模塊的功能以后,開(kāi)始編寫各個(gè)模塊 的程序。 4.14.1 遞增斜波模塊遞增斜波模塊 遞增斜波 icrs 的 VHDL 程序如附錄所示,其中 clk 是輸入時(shí)鐘端口, sel0、sel1、sel2 為選擇波形

23、按鍵值,reset 為輸入復(fù)位端口,q 為八位二進(jìn)制輸出端口。 圖 1 遞增斜波模塊仿真圖 程序設(shè)計(jì)的當(dāng)復(fù)位信號(hào)為 0 時(shí),輸出為 0,無(wú)對(duì)應(yīng)的波形產(chǎn)生。當(dāng)復(fù)位信號(hào)為 1 時(shí), 每當(dāng)檢測(cè)到時(shí)鐘上升沿時(shí),計(jì)數(shù)器值加 1,當(dāng)增加到最大后清零。計(jì)數(shù)值增加呈現(xiàn)線性關(guān) 系,因此輸出的波形是遞增的斜波。從仿真波形圖也能看出這種變化規(guī)律。VHDL 描述為: IF reset=0 THEN tmp:= ;-復(fù)位信號(hào)清零 ELSIF clkEVENT AND clk=1 THEN IF tmp= THEN tmp:=;-遞增到最大值清零 ELSE tmp:=tmp+1;-遞增運(yùn)算 4.24.2 遞減斜波模塊遞減

24、斜波模塊 遞減斜波 dcrs 的 VHDL 程序如附錄所示,其中 clk 是輸入時(shí)鐘端口, sel0、sel1、sel2 為選擇波形按鍵值,reset 為輸入復(fù)位端口,q 為八位二進(jìn)制輸出端口。 圖 2 遞減斜波模塊仿真圖 程序設(shè)計(jì)的是復(fù)位信號(hào)為 0 時(shí)輸出為 0,無(wú)對(duì)應(yīng)的波形產(chǎn)生。當(dāng)復(fù)位信號(hào)為 1 時(shí),當(dāng) 每當(dāng)檢測(cè)到時(shí)鐘上升沿時(shí),計(jì)數(shù)值減 1,當(dāng)減到 0 后賦值到最大。計(jì)數(shù)值減少呈現(xiàn)線性關(guān) 系,因此輸出的波形是遞減的斜波。從仿真波形圖也能看出這種變化規(guī)律。VHDL 描述為: IF reset=0 THEN tmp:=;-復(fù)位信號(hào)置最大值 ELSIF clkEVENT AND clk=1 TH

25、EN-檢測(cè)時(shí)鐘上升沿 IF tmp= THEN tmp:=;-遞減到 0 置最大值 ELSE tmp:=tmp-1;-遞減運(yùn)算 4.34.3 三角波模塊三角波模塊 三角波 delat 的 VHDL 程序如附錄所示,其中 clk 是輸入時(shí)鐘端口, sel0、sel1、sel2 為選擇波形按鍵值,reset 為輸入復(fù)位端口,q 為八位二進(jìn)制輸出端口。 三角波波形是對(duì)稱的,每邊呈線形變化,所以可以根據(jù)數(shù)據(jù)做簡(jiǎn)單運(yùn)算,就可以得到三 角波。 圖 3 三角波模塊仿真圖 程序設(shè)計(jì)的是 reset 復(fù)位信號(hào)為 0 時(shí)輸出為 0,無(wú)對(duì)應(yīng)的波形產(chǎn)生。當(dāng)復(fù)位信號(hào)為 1 時(shí),當(dāng)每當(dāng)檢測(cè)到時(shí)鐘上升沿時(shí),當(dāng)計(jì)數(shù)的數(shù)據(jù)不是

26、最大值時(shí),數(shù)值做遞增運(yùn)算,當(dāng)增 大到最大時(shí),然后再做遞減運(yùn)算,因此輸出的波形便呈現(xiàn)出三角波的形狀。從仿真波形 圖也能看出這種變化規(guī)律。VHDL 描述如下: IF reset=0 THEN tmp:=;-復(fù)位信號(hào)為 0,置最小值 ELSIF clkEVENT AND clk=1 THEN-檢測(cè)時(shí)鐘上升沿 IF a=0 THEN IF tmp= THEN tmp:=; -置最大值 a:=1; ELSE -不是最大值時(shí)遞增 tmp:=tmp+1;-遞增運(yùn)算 END IF; ELSE IF tmp = THEN tmp:=; -置最小值 a:=0; ELSE -a 為 1 時(shí),執(zhí)行遞減運(yùn)算 tmp:=

27、tmp-1;-遞減運(yùn)算 4.44.4 階梯波模塊階梯波模塊 階梯波 ladder 的 VHDL 程序如附錄所示,其中 clk 是輸入時(shí)鐘端口, sel0、sel1、sel2 為選擇波形按鍵值,reset 為輸入復(fù)位端口,q 為八位二進(jìn)制輸出端口。 圖 4 階梯波模塊仿真圖 階梯波設(shè)計(jì)的是數(shù)據(jù)的遞增是以一定的階梯常數(shù)向上增加,所以輸出的波形呈現(xiàn)是 成階梯狀的,而不是,完全呈現(xiàn)是直線增長(zhǎng)。從仿真波形圖也能看出這種變化規(guī)律。 VHDL 描述如下: IF reset=0 THEN tmp:=;-復(fù)位信號(hào)為 0,置最小值 ELSIF clkEVENT AND clk=1 THEN-檢測(cè)時(shí)鐘上升沿 IF

28、a=0 THEN-判斷 a 數(shù)值,計(jì)數(shù)。 IF tmp= THEN tmp:=; -計(jì)數(shù)到最大清零 a:=1; ELSE tmp:=tmp+16;-階梯常數(shù)為 16,可修改 a:=1; END IF; ELSE a:=0;-循環(huán)計(jì)數(shù)標(biāo)志 END IF; END IF; q=tmp; END PROCESS; END behave; 4.54.5 正弦波模塊正弦波模塊 正弦波 sin 的 VHDL 程序如附錄所示,其中 clk 是輸入時(shí)鐘端口,sel0、sel1、sel2 為選擇波形按鍵值,reset 為輸入復(fù)位端口,q 為八位二進(jìn)制輸出端口。 圖 5 正弦波模塊仿真圖 正弦波產(chǎn)生原理:通過(guò)循環(huán)

29、不斷地從波形數(shù)據(jù) ROM 文件中依次讀取正弦波一個(gè)周期 在時(shí)域上 64 個(gè)采樣點(diǎn)的波形數(shù)據(jù)送入波形 DAC,從而產(chǎn)生正弦波。 4.64.6 方波模塊方波模塊 方波模塊的 square 的 VHDL 程序描述如下:其中 clk 為輸入時(shí)鐘端口, sel0、sel1、sel2 為選擇波形按鍵值,reset 為輸入復(fù)位端口,q 為整數(shù)輸出端口。 圖 6 方波模塊仿真圖 方波模塊的設(shè)計(jì)是當(dāng)內(nèi)部計(jì)數(shù) cnt 達(dá)到 64 時(shí),根據(jù)輸出標(biāo)志 a 的數(shù)值輸出對(duì)應(yīng)的數(shù) 值,當(dāng) a=0 輸出 0,也即是方波周期中的低電平,當(dāng) a=1,輸出 255,也即是方波周期中 的高電平。連續(xù)的輸出便成了觀測(cè)到的方波波形。其

30、VHDL 描述如下: IF clr=0 THEN a=0; ELSIF clkEVENT AND clk=1 THEN -檢測(cè)時(shí)鐘上升沿 IF cnt63 THEN -計(jì)數(shù) 64 個(gè)點(diǎn) cnt:=cnt+1;-計(jì)數(shù) ELSE cnt:=0; -當(dāng)計(jì)數(shù)的值大于 64 時(shí),清零。 a=NOT a; -對(duì)內(nèi)部 a 變量取反,a 變化啟動(dòng)進(jìn)程 END PROCESS; . PROCESS(clk,a) BEGIN IF clkEVENT AND clk=1 THEN IF a=1 THEN q=255; -a=1,輸出一個(gè)波形周期內(nèi)的高電平 ELSE qqqqqqqNULL; 第第 5 5 章章 系統(tǒng)

31、的編譯與調(diào)試系統(tǒng)的編譯與調(diào)試 5.15.1 系統(tǒng)聯(lián)調(diào)與測(cè)試分析系統(tǒng)聯(lián)調(diào)與測(cè)試分析 通過(guò)以上各個(gè)模塊的細(xì)化和分析,最終在 Max+plus中完成了整個(gè)系統(tǒng)的聯(lián)合調(diào)試, 并通過(guò)示波器讀輸出信號(hào)的波形符合設(shè)計(jì)的要求。調(diào)試整個(gè)系統(tǒng)了原理圖如下圖所示: 5.25.2 編譯編譯 (1)選擇目標(biāo)器件 Assion-Device-Device Family-EPF10K10LC84-4-OK (2)啟動(dòng)編譯器 Max+PlusII-Compiler-Start 將以上模塊分別編譯通過(guò),并將它們?nèi)勘4娴阶约核ǖ墓こ涛募A:wang 中。 5.35.3 引腳鎖定引腳鎖定 (1)確定設(shè)計(jì)實(shí)體輸入輸出端口與目標(biāo)芯

32、片引腳的對(duì)應(yīng)關(guān)系 端口分類端口名稱GW48-CK結(jié)構(gòu)圖上信號(hào)芯片引腳號(hào) Clk時(shí)鐘CLOCK02 Reset鍵 1PIO05 Sel0鍵 2PIO16 Sel1鍵 3PIO27 輸入 端口 Sel2鍵 4PIO38 q7.4數(shù)碼管 4PIO31285350輸出 端口q3.0數(shù)碼管 3PIO27244947、39 目標(biāo)芯片:EPF10K10CL84-4 模式:NO.5 (2) 引腳鎖定 Assign-Pin Location chip-Node nam 欄中輸入端口名-輸入引腳號(hào)- Add,最后按 OK 鍵。再按 Compiler 編譯一次。 引腳鎖定圖如下: 5.45.4 編程下載編程下載 1

33、用下載電纜把計(jì)算機(jī)的并口與目標(biāo)板(實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)) ,連接好并打開(kāi)電源。 2 將已經(jīng)完成好的頂層原理圖設(shè)一次當(dāng)前工程,然后將其在 Max+plus-Compilerz 下編譯一次,將引腳鎖定圖在 Max+plus- - -FloorplanEditor 中打開(kāi),再編譯一次。 3Max+plus-Programmer-Option-Hardware Setup-ByteBlaster(編程方式為)- -Configute,雙擊 Enter 鍵,進(jìn)行硬件驗(yàn)證。 5.55.5 硬件驗(yàn)證硬件驗(yàn)證 下載完成后在 GW48-CK 實(shí)驗(yàn)箱上選擇模式 5,把示波器連接到實(shí)驗(yàn)箱上,并在實(shí)驗(yàn)箱 上選擇適當(dāng)?shù)臅r(shí)鐘頻率

34、(以示波器上顯示的波形清晰為標(biāo)準(zhǔn),我選擇的事 730Khz,但是 在階梯波輸出的時(shí)候需要調(diào)小一些) 。準(zhǔn)備工作完成后按下實(shí)驗(yàn)箱的鍵 1 即復(fù)位鍵,健 2、鍵 3、鍵 4 組合為波形選擇鍵,組合鍵的鍵值與對(duì)應(yīng)波形關(guān)系如下表: 鍵 4 值鍵 3 值鍵 2 值對(duì)應(yīng)產(chǎn)生的波形 000遞增斜波 001遞減斜波 010三角波 011階梯波 100正弦波 101方波 第第 6 6 章章 結(jié)論結(jié)論 應(yīng)用 EDA 技術(shù)用 FPGA 完成波形發(fā)生器,通過(guò)選擇波形的按鈕,實(shí)現(xiàn) 6 種波形的互相 轉(zhuǎn)換。利用示波器可以驗(yàn)證波形發(fā)生器與原定的設(shè)計(jì)的理論是相一致。 用 FPGA 完成波形發(fā)生器的方法與傳統(tǒng)的方法相比較,硬件

35、結(jié)構(gòu)是相當(dāng)簡(jiǎn)單的。大大 減小了它的體積和重量??梢怨?jié)去傳統(tǒng)的煩瑣的硬件設(shè)計(jì)和硬件組合。易于使用,按下 選擇波形的選擇按鈕,即可選出你所需的波形。 PFGA 里面有的是有待連接的邏輯門、D 觸發(fā)器等器件,它的外圍還要有 EEPROM、SDRAM、FLASH 與之相配合才可以正常工作,這一點(diǎn)可能會(huì)廣泛應(yīng)用 FPGA 來(lái)比較 麻煩。隨著技術(shù)的發(fā)展,如果把 EEPROM、SDRAM、FLASH 都集成要在 FPGA 中去,組成它 的最小系統(tǒng),這樣的話將會(huì),節(jié)去芯片外的線路設(shè)計(jì),會(huì)得到更加廣泛地的應(yīng)用。 應(yīng)用 EDA 技術(shù)完成波形發(fā)生器的設(shè)計(jì),設(shè)計(jì)簡(jiǎn)單。 可以看到利用 EDA 技術(shù)完成一個(gè) 電子設(shè)計(jì),可

36、以節(jié)省我們開(kāi)發(fā)時(shí)間,從而提高大大地了我們的效率。采用新技術(shù)就是為 了提高效率,快速完成設(shè)計(jì)任務(wù)。我們做一個(gè)項(xiàng)目時(shí),所在追求的也是快且高效率。不 斷地去快速掌握并能快速地應(yīng)用新技術(shù)是我們做技術(shù)的人的基本素質(zhì)。我們要注重自己 在這方面的能力。當(dāng)然我們不能廢棄我們基本的東西-學(xué)科基礎(chǔ),全面發(fā)展自己,這 需要我不斷去追求。 參考文獻(xiàn)參考文獻(xiàn) 1潘松,黃繼業(yè).EDA 技術(shù)實(shí)用教程(第二版).科學(xué)出版社,2007.9 2 徐守堂劉艷惠,李娜,孔旭梅.EDA 技術(shù)教程.西北師范大學(xué)知行學(xué)院計(jì)算機(jī)與電子信息科學(xué)系 3潭會(huì)生,張昌凡.EDA 技術(shù)及應(yīng)用.西安電子科技大學(xué)出版社,2001.9 4李洋. EDA 技

37、術(shù)使用教程.機(jī)械工業(yè)出版社,2002.3 附錄附錄 1、遞增波形源程序、遞增波形源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY icrs IS PORT(clk,reset: IN STD_LOGIC; q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END icrs; ARCHITECTURE behave OF icrs IS BEGIN PROCESS(clk,reset) VARIABLE tmp : STD_LOGIC_VECTOR(

38、7 DOWNTO 0); BEGIN IF reset=0 THEN tmp:= ;-復(fù)位信號(hào)清零 ELSIF clkEVENT AND clk=1 THEN IF tmp= THEN tmp:=;-遞增到最大值清零 ELSE tmp:=tmp+1;-遞增運(yùn)算 END IF; END IF; q=tmp; END PROCESS; END behave; 2、遞減波形源程序、遞減波形源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY dcrs IS PORT (clk,re

39、set:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END dcrs; ARCHITECTURE behave OF dcrs IS BEGIN PROCESS(clk,reset) VARIABLE tmp:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF reset=0 THEN tmp:=;-復(fù)位信號(hào)置最大值 ELSIF clkEVENT AND clk=1 THEN-檢測(cè)時(shí)鐘上升沿 IF tmp= THEN tmp:=;-遞減到 0 置最大值 ELSE tmp:=tmp-1;-遞減運(yùn)算 END IF;

40、END IF; q=tmp; END PROCESS; END behave; 3、三角波形源程序、三角波形源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY delta IS PORT(clk,reset:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); end delta; ARCHITECTURE behave OF delta IS BEGIN PROCESS(clk,reset) VARIABLE tmp:STD_

41、LOGIC_VECTOR(7 DOWNTO 0); VARIABLE a:STD_LOGIC; BEGIN IF reset=0 THEN tmp:=;-復(fù)位信號(hào)為 0,置最小值 ELSIF clkEVENT AND clk=1 THEN-檢測(cè)時(shí)鐘上升沿 IF a=0 THEN IF tmp= THEN tmp:=; -置最大值 a:=1; ELSE -不是最大值時(shí)遞增 tmp:=tmp+1;-遞增運(yùn)算 END IF; ELSE IF tmp = THEN tmp:=; -置最小值 a:=0; ELSE -a 為 1 時(shí),執(zhí)行遞減運(yùn)算 tmp:=tmp-1;-遞減運(yùn)算 END IF; END IF; END IF; q=tmp; END PROCESS; END behave; 4、階梯波形程序源程序、階梯波形程序源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ladder IS PORT(clk,reset:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(7 D

溫馨提示

  • 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)論