2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩26頁(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、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  題目 基于FPGA的智能函數(shù)發(fā)生器 </p><p>  院 系 應(yīng)用技術(shù)學(xué)院 </p><p>  專

2、 業(yè) 電子信息工程(應(yīng)用技術(shù)方向) </p><p>  年 級(jí) 2009級(jí) </p><p>  學(xué)生姓名 </p><p>  學(xué)生學(xué)號(hào) </p><p&

3、gt;  指導(dǎo)教師 職稱 副教授 </p><p>  完成畢業(yè)設(shè)計(jì)(論文)時(shí)間 2013 年 1 月</p><p><b>  目 錄</b></p><p>  第一章 緒論………………………………………………………………………………… 1</p><p> ?。ㄒ?/p>

4、)引言………………………………………………………………………………1</p><p>  (二)選題背景及目的………………………………………………………………… 1</p><p>  第二章 軟件平臺(tái)的應(yīng)用…………………………………………………………………… 2</p><p> ?。ㄒ唬?FPGA簡(jiǎn)介………………………………………………………………………2<

5、;/p><p> ?。ǘ?VHDL&Verilog……………………………………………………………2</p><p> ?。ㄈ?Quartus II軟件簡(jiǎn)介……………………………………………………………2</p><p>  第三章 智能函數(shù)發(fā)生器的原理與設(shè)計(jì)…………………………………………………… 3</p><p> ?。ㄒ唬┰O(shè)計(jì)要

6、求………………………………………………………………………… 3</p><p> ?。ǘ┰O(shè)計(jì)思路………………………………………………………………………3</p><p>  2 方案選擇…………………………………………………………………………… 3</p><p>  2.1波形函數(shù)發(fā)生方案對(duì)比選擇……………………………………………3</p><

7、;p>  2.2波形函數(shù)輸出控制方式選擇……………………………………………3</p><p> ?。ㄈ┫到y(tǒng)的整體原理框圖………………………………………………………4</p><p> ?。ㄋ模└髂3绦蛟O(shè)計(jì)及仿真………………………………………………………4</p><p>  4.1遞增斜波模塊……………………………………………………………4</p>

8、;<p>  4.2遞減斜波模塊……………………………………………………………5</p><p>  4.3三角波模塊………………………………………………………………6</p><p>  4.4階梯波模塊………………………………………………………………6</p><p>  4.5方波模塊…………………………………………………………………7</

9、p><p>  4.6方波模塊…………………………………………………………………………8</p><p>  4.7輸出波形選擇模塊……………………………………………………………9</p><p>  第四章 系統(tǒng)聯(lián)調(diào)測(cè)試分析……………………………………………………………… 10</p><p>  (一) 系統(tǒng)總體電路原理圖的設(shè)計(jì)………………

10、………………………………… 11</p><p>  (二)整體編譯結(jié)果……………………………………………………………………11</p><p>  (三)系統(tǒng)總體仿真分析………………………………………………………………11</p><p> ?。ㄋ模┬酒_鎖定……………………………………………………………………12</p><p>  第

11、五章 總結(jié)……………………………………………………………………………… 13</p><p>  (一) 結(jié)論……………………………………………………………………………13</p><p> ?。ǘ┘夹g(shù)展望…………………………………………………………………………13</p><p>  致謝……………………………………………………………………………………13&l

12、t;/p><p>  參考文獻(xiàn)…………………………………………………………………………13</p><p>  附錄………………………………………………………………………………14</p><p>  基于FPGA的智能函數(shù)發(fā)生器</p><p>  摘要: 函數(shù)發(fā)生器是一種多波形的信號(hào)源,它可以產(chǎn)生方波、三角波、鋸齒波,甚至任意波形。函數(shù)發(fā)生器

13、使用范圍很廣,它是一種不可缺少的或通用信號(hào)源??梢杂糜谏a(chǎn)測(cè)試、儀器維修、實(shí)驗(yàn)室,還廣泛使用在其它科技領(lǐng)域,如醫(yī)學(xué)、教育、化學(xué)、通訊、物理學(xué)、工業(yè)控制、軍事和宇航等。</p><p>  函數(shù)發(fā)生器的的設(shè)計(jì)方法有多種,直接數(shù)字頻率合成就是其中的一種。直接數(shù)字頻率合成是一種新的頻率合成方法,是頻率合成技術(shù)的一次革命,隨著數(shù)字頻率集成電路和可編程技術(shù)的發(fā)展,直接數(shù)字頻率合成技術(shù)日益顯露出它的優(yōu)越性。本設(shè)計(jì)利用FPGA

14、為核心和Altera公司的設(shè)計(jì)工具Quartus II進(jìn)行設(shè)計(jì),并結(jié)合VHDL語(yǔ)言進(jìn)行編程??梢援a(chǎn)生遞增斜波、遞減斜波、方波、三角波及階梯波,并可以通過開關(guān)選擇輸出的波形。此設(shè)計(jì)既可以學(xué)習(xí)到頻率合成技術(shù)、數(shù)字電路、,也可以學(xué)習(xí)到FPFA和其他的仿真軟件等知識(shí)性應(yīng)用。另外,通過模塊化的設(shè)計(jì)(即把一個(gè)設(shè)計(jì)分成若干個(gè)模塊,對(duì)每個(gè)模塊進(jìn)行設(shè)計(jì)和完善,再對(duì)每個(gè)模塊進(jìn)行組合和完善,最后形成完整的設(shè)計(jì))更能夠掌握系統(tǒng)的整體設(shè)計(jì)。</p>

15、<p>  關(guān)鍵詞:FPGA; VHDL; 函數(shù)發(fā)生器;</p><p>  Function generaror of intelligent Based on FPGA</p><p>  Abstract: the function generator is a multi-wave signal source, it can generate sine wave,

16、square wave, triangle wave, sawtooth wave, or even arbitrary waveform. Function generator using range is very wide, it is a kind of indispensable general signal source. It can be used for production testing, instrument r

17、epair, laboratory, also widely used in other scientific fields, such as medicine, education, chemistry, communication, geophysics, industrial control, such as military and aerospace.</p><p>  A function gene

18、rator design method has many kinds, direct digital frequency synthesis is one of a kind. Direct digital synthesis is a new method for frequency synthesis, frequency synthesis technology is a revolution, along with the di

19、gital frequency integrated circuits and programmable technology, direct digital frequency synthesis technology is increasingly revealing its superiority. This design uses the FPGA as the core and Altera companies to desi

20、gn tools Quartus II design, and combined with</p><p>  Key words:FPGA; VHDL; function generato</p><p><b>  第一章 緒論</b></p><p> ?。ㄒ唬┮?</p><p>  E

21、DA(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ì)的周期從而使制造商可以快速開發(fā)出品種多批量小的產(chǎn)品,以滿足市場(chǎng)眾多的需求。EDA技術(shù)的推廣是當(dāng)今世界的一個(gè)技術(shù)熱點(diǎn)。ED

22、A技術(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ā)展,基于

23、硬件描述語(yǔ)言的方法將有取代傳統(tǒng)手工設(shè)計(jì)方法的趨勢(shì)。嘗試用VHDL設(shè)計(jì)來(lái)產(chǎn)生正弦波,其頻率切換非常便捷,調(diào)試、修改也非常</p><p>  (二) 選題背景及目的 </p><p>  20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來(lái)越快。

24、計(jì)算器的普及大大縮短了人們?cè)跀?shù)學(xué)計(jì)算所花費(fèi)的時(shí)間,但是一般的計(jì)算器只能用來(lái)計(jì)算加、減、乘、除這四類簡(jiǎn)單的數(shù)學(xué)計(jì)算,而不是進(jìn)行復(fù)雜和的函數(shù)計(jì)算。因此設(shè)計(jì)了這個(gè)智能函數(shù)發(fā)生器。此智能函數(shù)發(fā)生器內(nèi)置遞增斜波、遞減斜波、三角波、方波、正弦波及階梯波六種函數(shù)模塊,用戶可以在輸入端輸入相應(yīng)的代碼選擇不同的函數(shù),從而進(jìn)行函數(shù)計(jì)算并繪出一定范圍內(nèi)的函數(shù)圖形。即方便了用戶進(jìn)行函數(shù)計(jì)算,又方便了用戶對(duì)這六類函數(shù)進(jìn)行深入的研究。 而電子信息類產(chǎn)品的開發(fā)明顯地

25、出現(xiàn)了兩大特點(diǎn):一是開發(fā)產(chǎn)品的復(fù)雜程度加深;二是開發(fā)產(chǎn)品的上市時(shí)限緊迫。而伴隨著如上兩大特點(diǎn)的產(chǎn)生,相應(yīng)的出現(xiàn)了設(shè)計(jì)上的兩個(gè)問題。其一,在電子系統(tǒng)數(shù)字化、復(fù)雜化和大規(guī)模集成化的今天,電子廠商們迫切地追求電子產(chǎn)品的高功能、優(yōu)品質(zhì)、低成本、微功耗和微小封裝尺寸,從而使得電子設(shè)計(jì)更加復(fù)雜。那么如何去完成這些高復(fù)雜度的電子設(shè)計(jì)呢?其二,電子產(chǎn)品設(shè)計(jì)周期短和上市</p><p>  第二章 軟件平臺(tái)的應(yīng)用</p&g

26、t;<p><b>  (一)FPGA</b></p><p>  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)。</p&g

27、t;<p>  FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。它與分立元件相比,具有速度快、容量大、功耗小和可靠性高等優(yōu)點(diǎn)。由于集成度高,設(shè)計(jì)方法先進(jìn)、現(xiàn)場(chǎng)可編程,可以設(shè)計(jì)各種數(shù)字電路,因此,在通信、

28、數(shù)據(jù)處理、網(wǎng)絡(luò)、儀器、工業(yè)控制、軍事和航空航天等眾多領(lǐng)域內(nèi)得到了廣泛應(yīng)用。不久的將來(lái)將全部取代分立元件,目前一些數(shù)字集成電路生產(chǎn)廠商已經(jīng)停止了分立原件電路的生產(chǎn)。此外,F(xiàn)PGA還具有靜態(tài)可重復(fù)編程和動(dòng)態(tài)在系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過編程來(lái)修改。因此,F(xiàn)PGA技術(shù)的應(yīng)用前景非常廣闊。</p><p> ?。ǘ?VHDL語(yǔ)言簡(jiǎn)介</p><p>  VHDL(Very H

29、igh Speed Integrated Circuit Hardware Description Language,超高速集成電路硬件描述語(yǔ)言)是一種用來(lái)描述數(shù)字系統(tǒng)行為和結(jié)構(gòu)的硬件描述語(yǔ)言,被廣泛的運(yùn)用于描述和仿真各種數(shù)字系統(tǒng),小到幾個(gè)門,大到許多復(fù)雜集成電路相連的系統(tǒng)。</p><p>  VHDL誕生于1982年,是由美國(guó)國(guó)防部開發(fā)的一種快速設(shè)計(jì)電路的工具,目前已經(jīng)成為IEEE(The Institute

30、 of Electrical and Electronics Engineers)的一種工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言。相比傳統(tǒng)的電路系統(tǒng)的設(shè)計(jì)方法,VHDL具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下(Top to Down)和基于庫(kù)(Library Based)的設(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)

31、證,最后再用邏輯綜合優(yōu)化工具生成具體的門級(jí)邏輯電路的網(wǎng)表,下載到具體的FPGA器件中去,從而實(shí)現(xiàn)可編程的專用集成電路(ASIC)的設(shè)計(jì)。</p><p> ?。ㄈ㏎uartus II軟件簡(jiǎn)介</p><p>  Quartus II 是Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description L

32、anguage)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。</p><p>  QuartusII支持Altera的IP核,包含了LPM/MegaFuction宏功能模塊庫(kù),使用它,可以簡(jiǎn)化設(shè)計(jì)的復(fù)雜性,加快設(shè)計(jì)速度。QuartusII平臺(tái)支持一個(gè)工作組環(huán)境下的設(shè)計(jì)要求,其中包括支持基于Internet的協(xié)作設(shè)計(jì)。此外,QuartusII通過和DSP Bui

33、lder工具與Matlab/SIMULINK相結(jié)合,可以方便地實(shí)現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)開發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件設(shè)計(jì)、可編程邏輯設(shè)計(jì)于一體,是一種綜性的開發(fā)平臺(tái)。</p><p>  第三章 智能函數(shù)發(fā)生器的原理與設(shè)計(jì)</p><p><b> ?。ㄒ唬┰O(shè)計(jì)要求</b></p><p>  要求設(shè)計(jì)一個(gè)智能

34、函數(shù)發(fā)生器,該函數(shù)發(fā)生器能夠產(chǎn)生遞增斜波、遞減斜波、方波、正弦波、三角波、及階梯波,并且可以通過選擇開關(guān)選擇相應(yīng)的波形輸出;系統(tǒng)具有復(fù)位的功能;通過按鍵確定輸出的波形及確定是否輸出波形。FPGA是整個(gè)系統(tǒng)的核心,構(gòu)成系統(tǒng)控制器,波形數(shù)據(jù)生成器,加法器,運(yùn)算等功能。</p><p>  通過以上設(shè)計(jì)要求分析完成的功能,確定函數(shù)發(fā)生器可由遞增斜波產(chǎn)生模塊、遞減斜波產(chǎn)生模塊、三角波產(chǎn)生模塊、階梯波產(chǎn)生模塊、方波產(chǎn)生模塊

35、和輸出波形選擇模塊組成,以及按鍵復(fù)位控制和時(shí)鐘輸入。由此可確定系統(tǒng)的總體原理框圖為如圖1:</p><p>  圖1 總體原理框圖</p><p><b> ?。ǘ?設(shè)計(jì)思路</b></p><p><b>  2 方案選擇</b></p><p>  2.1 波形函數(shù)發(fā)生方案對(duì)比選擇<

36、;/p><p>  波形函數(shù)發(fā)生是本設(shè)計(jì)的最重要的部分,實(shí)現(xiàn)函數(shù)發(fā)生的途徑也有很多,因此必須選擇一種易于實(shí)現(xiàn)且精度高的方案,以此來(lái)提高本設(shè)計(jì)的實(shí)用性。</p><p>  方案一:通過單片機(jī)控制D/A,輸出三種波形。此方案輸出的波形不夠穩(wěn)定,抗干擾能力弱,不易調(diào)節(jié),而且達(dá)不到題目要求的六種波形。</p><p>  方案二:使用傳統(tǒng)的鎖相頻率合成方法。通過芯片IC145

37、152,壓控振蕩器搭接的鎖相環(huán)電路輸出穩(wěn)定性極好的正弦波,再利用過零比較器轉(zhuǎn)換成方波,積分電路轉(zhuǎn)換成三角波。此方案,電路復(fù)雜,干擾因素多,不易實(shí)現(xiàn)。</p><p>  方案三:利用MAX038芯片組成的電路輸出波形。MAX038是精密高頻波形產(chǎn)生電路,能夠產(chǎn)生準(zhǔn)確的三角波、方波和正弦波三種周期性波形,但無(wú)法實(shí)現(xiàn)階梯波和遞增遞減斜波的產(chǎn)生。</p><p>  方案四:利用在系統(tǒng)編程技術(shù)和

38、FPGA芯片產(chǎn)生。用VHDL語(yǔ)言編寫程序,調(diào)試成功后下載至實(shí)驗(yàn)裝置的芯片上,再利用外接D/A轉(zhuǎn)換電路實(shí)現(xiàn)以上設(shè)計(jì)功能。此種方案完全可以生成設(shè)計(jì)要求的6種波形,而且通過軟件仿真可以直觀的觀測(cè)的輸出的波形參數(shù),方便調(diào)試和更改波形參數(shù),外圍電路簡(jiǎn)單,減少器件損耗,精度高。</p><p>  基于方案四的外圍電路簡(jiǎn)單容易實(shí)現(xiàn)、波形產(chǎn)生精度高、易于仿真觀測(cè)調(diào)試的優(yōu)點(diǎn),因此本設(shè)計(jì)的函數(shù)發(fā)生器選擇方案四完成波形發(fā)生的全部功能

39、。</p><p>  2.2 波形函數(shù)輸出控制方式選擇</p><p>  方案一:控制多路D/A開關(guān)輸出方式</p><p>  此種方案為每一路輸出的波形函數(shù)使用一路D/A轉(zhuǎn)換后輸出,通過控制開關(guān)控制每一路D/A是否工作,決定輸出的波形。此種方案可以同時(shí)輸出多路波形,但是需要路D/A轉(zhuǎn)化器,外圍電路復(fù)雜,制作成本較高而且控制復(fù)雜。</p><

40、;p>  方案二:采用數(shù)據(jù)選擇器方式</p><p>  此種方案可以利用VHDL語(yǔ)言寫出數(shù)據(jù)選擇器,然后每種函數(shù)發(fā)生器的輸出和數(shù)據(jù)選擇器輸入相連接,通過控制開關(guān)選擇對(duì)應(yīng)的波形輸出。方案二完全可以得到方案一的設(shè)計(jì)要求,而且只需一個(gè)D/A轉(zhuǎn)換器就可以。電路不需要外部搭建,節(jié)約成本且控制簡(jiǎn)單方便。</p><p>  方案三:采用數(shù)據(jù)分配器方式</p><p> 

41、 此種方案利用數(shù)據(jù)分配器的功能,通過控制開關(guān)選擇相應(yīng)的函數(shù)發(fā)生器模塊,使之產(chǎn)生相應(yīng)的波形輸出,并通過數(shù)據(jù)分配器的使能復(fù)位控制決定是否輸出波形,此種方案和方案二很相似,也能夠?qū)崿F(xiàn)設(shè)計(jì)的功能也具有方案二的優(yōu)點(diǎn)。</p><p>  基于方案二的設(shè)計(jì)簡(jiǎn)便、節(jié)約制作元件和成本、控制簡(jiǎn)便等優(yōu)點(diǎn),選擇方案二作為波形函數(shù)輸出控制方式。</p><p>  (三)系統(tǒng)的整體原理框圖</p>

42、<p>  圖2 系統(tǒng)的整體原理框圖</p><p>  如圖2所示,系統(tǒng)時(shí)鐘輸入后,通過復(fù)位開關(guān)選擇是否產(chǎn)生波形,當(dāng)各個(gè)模塊產(chǎn)生相應(yīng)的信號(hào)波形后,通過波形選擇模塊波形選擇開關(guān)選澤輸出不同的波形,再通過D/A轉(zhuǎn)換器轉(zhuǎn)換,就可以把數(shù)字信號(hào)(由FPGA輸出)變成了相應(yīng)模擬的信號(hào)波形。整個(gè)系統(tǒng)設(shè)計(jì)的核心就是FPGA部分</p><p>  (四) 各模塊程序設(shè)計(jì)及仿真</p&

43、gt;<p>  根據(jù)自上而下的思路進(jìn)行項(xiàng)目設(shè)計(jì)。明確每個(gè)模塊的功能以后,開始編寫各個(gè)模塊的程序。</p><p><b>  4.1遞增斜波模塊</b></p><p>  遞增斜波icrs的VHDL程序如附錄所示,其中clk是輸入時(shí)鐘端口,sel0、sel1、sel2為選擇波形按鍵值,reset為輸入復(fù)位端口,q為八位二進(jìn)制輸出端口。</p&g

44、t;<p>  圖3 遞增斜波模塊仿真圖</p><p>  程序設(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)系,因此輸出的波形是遞增的斜波。從仿真波形圖圖3也能看出這種變化規(guī)律。VHDL描述為:</p><p>  IF reset='0' THEN&l

45、t;/p><p>  tmp:= "00000000";--復(fù)位信號(hào)清零</p><p>  ELSIF clk'EVENT AND clk='1' THEN</p><p>  IF tmp="11111111" THEN</p><p>  tmp:="00000000

46、";--遞增到最大值清零</p><p><b>  ELSE</b></p><p>  tmp:=tmp+1;--遞增運(yùn)算</p><p><b>  4.2遞減斜波模塊</b></p><p>  遞減斜波dcrs的VHDL程序如附錄所示,其中clk是輸入時(shí)鐘端口,sel0、sel1

47、、sel2為選擇波形按鍵值,reset為輸入復(fù)位端口,q為八位二進(jìn)制輸出端口。</p><p>  圖4 遞減斜波模塊仿真圖</p><p>  程序設(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)系,因此輸出的波形是遞減的斜波。從仿真波形圖圖4也能看出這種變化規(guī)律。VHDL描述為:<

48、;/p><p>  IF reset='0' THEN</p><p>  tmp:="11111111";--復(fù)位信號(hào)置最大值</p><p>  ELSIF clk'EVENT AND clk='1' THEN--檢測(cè)時(shí)鐘上升沿</p><p>  IF tmp="0000

49、0000" THEN</p><p>  tmp:="11111111";--遞減到0置最大值</p><p><b>  ELSE</b></p><p>  tmp:=tmp-1;--遞減運(yùn)算</p><p><b>  4.3 三角波模塊</b></p>

50、;<p>  三角波delat的VHDL程序如附錄所示,其中clk是輸入時(shí)鐘端口,sel0、sel1、sel2為選擇波形按鍵值,reset為輸入復(fù)位端口,q為八位二進(jìn)制輸出端口。三角波波形是對(duì)稱的,每邊呈線形變化,所以可以根據(jù)數(shù)據(jù)做簡(jiǎn)單運(yùn)算,就可以得到三角波。</p><p>  圖5 三角波模塊仿真圖</p><p>  程序設(shè)計(jì)的是reset復(fù)位信號(hào)為0時(shí)輸出為0,無(wú)

51、對(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ù)不是最大值時(shí),數(shù)值做遞增運(yùn)算,當(dāng)增大到最大時(shí),然后再做遞減運(yùn)算,因此輸出的波形便呈現(xiàn)出三角波的形狀。從仿真波形圖圖5也能看出這種變化規(guī)律。VHDL描述如下:</p><p>  IF reset='0' THEN</p><p>  tmp:="00000000";--復(fù)位信號(hào)為0,

52、置最小值</p><p>  ELSIF clk'EVENT AND clk='1' THEN--檢測(cè)時(shí)鐘上升沿</p><p>  IF a='0' THEN</p><p>  IF tmp="11111110" THEN</p><p>  tmp:="1111111

53、1"; --置最大值</p><p><b>  a:='1'; </b></p><p>  ELSE --不是最大值時(shí)遞增</p><p>  tmp:=tmp+1;--遞增運(yùn)算</p><p><b>  END IF; </b></p&

54、gt;<p><b>  ELSE</b></p><p>  IF tmp ="00000001" THEN</p><p>  tmp:="00000000"; --置最小值</p><p><b>  a:='0';</b></p>

55、<p>  ELSE --a為1時(shí),執(zhí)行遞減運(yùn)算</p><p>  tmp:=tmp-1;--遞減運(yùn)算</p><p><b>  4.4 階梯波模塊</b></p><p>  階梯波ladder的VHDL程序如附錄所示,其中clk是輸入時(shí)鐘端口,sel0、sel1、sel2為選擇波形按鍵值,reset為輸入復(fù)位端口,q為八位

56、二進(jìn)制輸出端口。</p><p>  圖6 階梯波模塊仿真圖</p><p>  階梯波設(shè)計(jì)的是數(shù)據(jù)的遞增是以一定的階梯常數(shù)向上增加,所以輸出的波形呈現(xiàn)是成階梯狀的,而不是,完全呈現(xiàn)是直線增長(zhǎng)。從仿真波形圖圖6也能看出這種變化規(guī)律。VHDL描述如下:</p><p>  IF reset='0' THEN</p><p>

57、;  tmp:="00000000";--復(fù)位信號(hào)為0,置最小值</p><p>  ELSIF clk'EVENT AND clk='1' THEN--檢測(cè)時(shí)鐘上升沿</p><p>  IF a='0' THEN--判斷a數(shù)值,計(jì)數(shù)。</p><p>  IF tmp="11111111&qu

58、ot; THEN</p><p>  tmp:="00000000"; --計(jì)數(shù)到最大清零</p><p><b>  a:='1';</b></p><p><b>  ELSE</b></p><p>  tmp:=tmp+16;--階梯常數(shù)為16,可修改&l

59、t;/p><p><b>  a:='1'; </b></p><p><b>  END IF; </b></p><p><b>  ELSE</b></p><p>  a:='0';--循環(huán)計(jì)數(shù)標(biāo)志</p><p>&

60、lt;b>  END IF; </b></p><p><b>  END IF;</b></p><p><b>  q<=tmp;</b></p><p>  END PROCESS; </p><p>  END behave;</p><p>

61、<b>  4.5方波模塊</b></p><p>  方波模塊的square的VHDL程序描述如下:其中clk為輸入時(shí)鐘端口,sel0、sel1、sel2為選擇波形按鍵值,reset為輸入復(fù)位端口,q為整數(shù)輸出端口。</p><p>  圖7 方波模塊仿真圖</p><p>  方波模塊的設(shè)計(jì)是當(dāng)內(nèi)部計(jì)數(shù)cnt達(dá)到64時(shí),根據(jù)輸出標(biāo)志a的

62、數(shù)值輸出對(duì)應(yīng)的數(shù)值,當(dāng)a=0輸出0,也即是方波周期中的低電平,當(dāng)a=1,輸出255,也即是方波周期中的高電平。從圖7的連續(xù)的輸出便成了觀測(cè)到的方波波形。其VHDL描述如下:</p><p>  IF clr='0' THEN</p><p><b>  a<='0'; </b></p><p>  ELSI

63、F clk'EVENT AND clk='1' THEN --檢測(cè)時(shí)鐘上升沿</p><p>  IF cnt<63 THEN --計(jì)數(shù)64個(gè)點(diǎn)</p><p>  cnt:=cnt+1;--計(jì)數(shù)</p><p><b>  ELSE</b></p><p>  cn

64、t:=0; --當(dāng)計(jì)數(shù)的值大于64時(shí),清零。</p><p>  a<=NOT a; --對(duì)內(nèi)部a變量取反,a變化啟動(dòng)進(jìn)程END PROCESS; </p><p>  ...............</p><p>  PROCESS(clk,a)</p><p><b>  BEG

65、IN</b></p><p>  IF clk'EVENT AND clk='1' THEN</p><p>  IF a='1' THEN</p><p>  q<=255; --a=1,輸出一個(gè)波形周期內(nèi)的高電平</p><p><b>  ELSE&

66、lt;/b></p><p>  q<=0; --a=0,輸出一個(gè)波形周期的低電平。</p><p><b>  4.6正弦波模塊</b></p><p>  正弦波sin的VHDL程序如附錄所示,其中clk是輸入時(shí)鐘端口,sel0、sel1、sel2為選擇波形按鍵值,reset為輸入復(fù)位端口,q為八位二進(jìn)制

67、輸出端口。</p><p>  圖8 正弦波模塊仿真圖</p><p>  正弦波產(chǎn)生原理:通過循環(huán)不斷地從波形數(shù)據(jù)ROM文件中依次讀取正弦波一個(gè)周期在時(shí)域上64個(gè)采樣點(diǎn)的波形數(shù)據(jù)送入波形DAC,從而產(chǎn)生正弦波。從圖8中可以看出輸出的波形成正弦關(guān)系。</p><p>  4.7輸出波形選擇模塊</p><p>  波形選擇模塊是一個(gè)設(shè)計(jì)

68、位6選1的數(shù)據(jù)選擇器,其中sel為波形數(shù)據(jù)選擇端口,d0~d5為8位二進(jìn)制輸入端口,q為8位二進(jìn)制輸出端口。該模塊可以根據(jù)外部開關(guān)的狀態(tài)選擇相應(yīng)的波形輸出。其選擇VHDL程序如下:</p><p>  CASE sel IS</p><p>  WHEN"000"=>q<=d0;--遞增波形輸出,十進(jìn)制0</p><p>  WHEN

69、"001"=>q<=d1;--遞減波形輸出,十進(jìn)制1</p><p>  WHEN"010"=>q<=d2;--三角波形輸出,十進(jìn)制2</p><p>  WHEN"011"=>q<=d3;--階梯波形輸出,十進(jìn)制3</p><p>  WHEN"100&quo

70、t;=>q<=d4;--正弦波形輸出,十進(jìn)制4</p><p>  WHEN"101"=>q<=d5;--方波輸出,十進(jìn)制5</p><p>  WHEN OTHERS=>NULL; </p><p>  第四章 系統(tǒng)聯(lián)調(diào)測(cè)試分析</p><p> ?。ㄒ唬?系統(tǒng)總體電路原理圖的設(shè)計(jì)</

71、p><p>  第三章主要介紹了各個(gè)模塊的細(xì)化和分析,這章主要介紹總體電路圖、總體仿真圖等內(nèi)容。整體系統(tǒng)原理圖如圖9所示:</p><p>  圖9 整體系統(tǒng)原理圖</p><p>  圖8所示的整體系統(tǒng)原理圖按以下步驟在QUARTUS II里建立整體系統(tǒng)原理圖,首先建立工程(file>new Project Wizard )然后再添加文件(file>ne

72、w>VHDL file)進(jìn)行編譯,在單擊菜單欄上的RTL Viewer最后系統(tǒng)將自動(dòng)生成RTL系統(tǒng)原理圖。</p><p> ?。ǘ?整體編譯結(jié)果 </p><p>  系統(tǒng)的整體編譯結(jié)果如圖10所示</p><p>  圖10 系統(tǒng)的整體編譯結(jié)果</p><p>  從圖中可以看出QUARTUS II的版本為9.0,其中用到的芯片

73、為EP1K10TC100-3,采用時(shí)序仿真的方式,工程名為boxin,頂層實(shí)體名為boxin,共用到140個(gè)邏輯門,占總體門陣列的24%,說明該仿真文件設(shè)計(jì)合理只占用很少一部分資源在此基礎(chǔ)上可以擴(kuò)展更多的功能。</p><p>  (三)系統(tǒng)總體仿真分析</p><p>  在第三章介紹來(lái)了各個(gè)模塊的仿真,在本節(jié)主要驗(yàn)證整體的仿真結(jié)果,看是否滿足設(shè)計(jì)的要求。</p>&l

74、t;p>  圖11 系統(tǒng)總體仿真</p><p>  從圖中可以得到,clk為輸入時(shí)鐘端口、reset為輸入復(fù)位端口、sel為波形選擇輸入端、q為八位二進(jìn)制輸出端口。當(dāng)sel0、sel1、sel2為“000”,reset為1時(shí),當(dāng)檢測(cè)到時(shí)鐘上升沿時(shí),計(jì)數(shù)器值加1,當(dāng)增加到最大后清零。計(jì)數(shù)值增加呈現(xiàn)線性關(guān)系,當(dāng)sel0、sel1、sel2為“001”,reset為1時(shí),當(dāng)每當(dāng)檢測(cè)到時(shí)鐘上升沿時(shí),計(jì)數(shù)值減1

75、,當(dāng)減到0后賦值到最大。計(jì)數(shù)值減少呈現(xiàn)線性關(guān)系,當(dāng)sel0、sel1、sel2為“010”,reset為1時(shí),當(dāng)每當(dāng)檢測(cè)到時(shí)鐘上升沿時(shí),當(dāng)計(jì)數(shù)的數(shù)據(jù)不是最大值時(shí),數(shù)值做遞增運(yùn)算,當(dāng)增大到最大時(shí),然后再做遞減運(yùn)算,當(dāng)sel0、sel1、sel2為“011”,reset為1時(shí),當(dāng)檢測(cè)到時(shí)鐘上升沿時(shí),計(jì)數(shù)器值加,當(dāng)增加到最大后保持一段時(shí)間不變,再成遞減預(yù)算,輸出的波形呈現(xiàn)是成階梯狀的,當(dāng)sel0、sel1、sel2為“100”,reset為1

76、時(shí),當(dāng)檢測(cè)到時(shí)鐘上升沿時(shí),內(nèi)部計(jì)數(shù)器值加,當(dāng)增加到63時(shí)輸出結(jié)果相反。當(dāng)sel0、sel1、sel2為“101”,reset為1時(shí),當(dāng)檢測(cè)到時(shí)鐘上升沿時(shí),計(jì)數(shù)器值循序漸進(jìn)的曾加,成正選關(guān)系。所以從圖中可以看出</p><p><b> ?。ㄋ模┬酒_鎖定</b></p><p>  本設(shè)計(jì)所用引腳如圖12所示:</p><p><b&g

77、t;  圖12</b></p><p>  圖12 引腳鎖定圖</p><p>  從圖12中可以看出本設(shè)計(jì)運(yùn)用了13個(gè)引腳,CLK與第5引腳相連,reset與第8引腳相連,sel分別與第6、7、9引腳相連,q0-q5分別與第13-16、19、23引腳相連,q6、q7分別置1。</p><p><b>  第五章 總結(jié)</b>

78、</p><p><b> ?。ㄒ唬┙Y(jié)論</b></p><p>  本文運(yùn)用EDA技術(shù),利用FPGA完成智能函數(shù)發(fā)生器的設(shè)計(jì),運(yùn)用八選一選擇器選擇波形的按鈕,實(shí)現(xiàn)5波形的互相轉(zhuǎn)換。利用Alter公司的QuartusII軟件進(jìn)行驗(yàn)證與原定的設(shè)計(jì)的理論是相一致。用FPGA完成波形發(fā)生器的方法與傳統(tǒng)的方法相比較,硬件結(jié)構(gòu)是相當(dāng)簡(jiǎn)單的。大大減小了它的體積和重量??梢怨?jié)去傳統(tǒng)

79、的煩瑣的硬件設(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ā)生器

80、的設(shè)計(jì),設(shè)計(jì)簡(jiǎn)單。可以看到利用EDA技術(shù)完成一個(gè)電子設(shè)計(jì),可以節(jié)省我們開發(fā)時(shí)間,從而提高大大地了我們的效率。但本文也還存在一些不足之處,需要繼續(xù)研究和完善,比如說正弦波的設(shè)計(jì)不是很精確,仿真出來(lái)的圖形不是很光滑,還需要進(jìn)一步的探究與設(shè)計(jì)。</p><p><b> ?。ǘ?技術(shù)展望 </b></p><p>  本設(shè)計(jì)的智能函數(shù)發(fā)生器能夠產(chǎn)生遞增斜波、遞減斜波、方波

81、、正弦波、三角波、及階梯波,沒有做出具體的實(shí)物,因此本設(shè)計(jì)要想運(yùn)用于實(shí)際,還有好多方面需要進(jìn)一步加強(qiáng)與改進(jìn),比如:硬件的設(shè)計(jì)、波形的設(shè)計(jì)、波形的改變等。 如今智能函數(shù)發(fā)生器廣泛應(yīng)用于通信,雷達(dá),測(cè)控,電子對(duì)抗以及現(xiàn)代化儀器儀表等領(lǐng)域,我相信在以后能夠得到更廣泛的應(yīng)用。</p><p><b>  致謝</b></p><p>  在這次畢業(yè)設(shè)計(jì)過程中,得到了趙老師的細(xì)

82、心指導(dǎo)和無(wú)私教誨。從本課題寫開題報(bào)告和查找資料以及仿真過程開始,直至今天完成課題的研究和論文的撰寫,趙老師在學(xué)習(xí)和生活上都給予了我無(wú)私的幫助。趙老師淵博的專業(yè)知識(shí)和嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,深深的影響著我,鞭策我不斷奮斗、進(jìn)取。在本課題完成之際,謹(jǐn)向我的恩師致以最衷心的感謝和最崇高的敬意! 在課題進(jìn)行過程中,同組的同學(xué)也給了我很多的幫助,在此表示衷心的感謝。同時(shí),感謝我的家人對(duì)我學(xué)業(yè)的支持,并對(duì)所有關(guān)心、支持和幫助我的老師、親人和朋友們表示深深的

83、謝意! 本人認(rèn)真進(jìn)行了課題的研究并完成了本論文,由于水平有限,論文中可能仍有錯(cuò)誤和不足之處,敬請(qǐng)大家批評(píng)指正!最后,衷心感謝各位評(píng)審老師!感謝您們?cè)诎倜χ袇⑴c我的論文評(píng)閱工作,謝謝。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 常紅霞,陳初俠,周平.基于FPGA 的直接頻率合成器的設(shè)計(jì)[J].皖西學(xué)院學(xué)報(bào),2011,4(2):82-84

84、.</p><p>  [2]任志平,黨瑞榮.基于EDA 技術(shù)的智能函數(shù)發(fā)生器的設(shè)計(jì)[J].科學(xué)技術(shù),2008(8)176-178.</p><p>  [3]馬駿然.基于FPGA的直接數(shù)字頻率合成波形發(fā)生器[J].電子測(cè)量技術(shù),2009,(04)</p><p>  [4]羅泉,劉芝.基于FPGA的DDS信號(hào)源設(shè)計(jì)[J].廣西師范學(xué)院學(xué)報(bào)(自然科學(xué)版)2009,(

85、02).</p><p>  [5] 鄧重一.基于DDS 技術(shù)的頻率合成源設(shè)計(jì)[J].儀表技術(shù)與傳感器,2008(10):37-40.</p><p>  [6] 曾云.基于FPGA的DDS 信號(hào)源設(shè)計(jì)及誤差分析[J].艦船電子工程,2009,(2):72- 74.</p><p>  [7] 趙剛.基于FPGA的EDA綜合實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2012

86、(01):49-51. </p><p>  [8] 金鳳蓮.VHDL語(yǔ)言在EDA仿真中的應(yīng)用[J].現(xiàn)代電子技術(shù) 2009(06):115-117</p><p>  [9] 陳立萬(wàn),陳強(qiáng),趙威微.EDA技術(shù)與實(shí)驗(yàn)[M].重慶三峽學(xué)院電子與信息工程學(xué)院自編教材,2011.</p><p><b>  附錄源程序清單</b></p>

87、<p>  /***************************************************</p><p>  名稱:基于FPGA的智能函數(shù)發(fā)生器設(shè)計(jì)程序(VHDL編程)</p><p>  ***************************************************/</p><p>  --***

88、*************</p><p><b>  --頂層文件</b></p><p>  --****************</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee

89、.std_logic_unsigned.all;</p><p>  entity boxin is</p><p><b>  port (</b></p><p>  clk,reset: in std_logic;</p><p>  sel: in std_logic_vector(2 downto 0);<

90、;/p><p>  q:out std_logic_vector(7 downto 0));</p><p>  end entity;</p><p>  architecture boxin_arc of boxin is</p><p>  component icrs is--元件模塊調(diào)用</p><p>&l

91、t;b>  port (</b></p><p>  clk,reset: in std_logic;</p><p>  q0: out std_logic_vector(7 downto 0));</p><p>  end component;</p><p>  component dcrs is--元件調(diào)用<

92、/p><p><b>  port (</b></p><p>  clk,reset: in std_logic;</p><p>  q1: out std_logic_vector(7 downto 0));</p><p>  end component;</p><p>  componen

93、t delta is--元件調(diào)用</p><p><b>  port (</b></p><p>  clk,reset: in std_logic;</p><p>  q2: out std_logic_vector(7 downto 0));</p><p>  end component;</p>

94、<p>  component ladder is--元件調(diào)用</p><p><b>  port (</b></p><p>  clk, reset: in std_logic;</p><p>  q3: out std_logic_vector(7 downto 0));</p><p>  end

95、 component;</p><p>  component sin is--元件調(diào)用</p><p><b>  port (</b></p><p>  clk,clr: in std_logic;</p><p>  q4: OUT INTEGER RANGE 0 TO 255); </p><

96、;p>  end component;</p><p>  component square is--元件調(diào)用</p><p><b>  port (</b></p><p>  clk,clr: in std_logic;</p><p>  q5: out std_logic_vector(7 downto

97、0));end component;</p><p>  component ch61a is--元件調(diào)用</p><p>  port (sel:in STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p>  d0,d1,d2,d3, d5:in STD_LOGIC_VECTOR(7 DOWNTO 0); </p><p

98、>  d4:in INTEGER RANGE 0 TO 255; </p><p>  q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); </p><p>  end component;</p><p>  signal y0,y1,y2,y3, y5:std_logic_vector(7 downto 0);</p>

99、<p>  signal y4:INTEGER RANGE 0 TO 255; </p><p><b>  begin</b></p><p>  u0: icrs port map(clk=>clk,reset=>reset,q0=>y0);</p><p>  u1: dcrs port map(clk=>

100、;clk,reset=>reset,q1=>y1);</p><p>  u2: delta port map(clk=>clk,reset=>reset,q2=>y2);</p><p>  u3: ladder port map(clk=>clk, reset=>reset,q3=>y3);</p><p>  u

101、4: sin port map(clk=>clk,clr=>reset,q4=>y4);</p><p>  u5: square port map(clk=>clk,clr=>reset,q5=>y5);</p><p>  u6: ch61a port map(sel=>sel,d0=>y0,d1=>y1,d2=>y2,d3=

102、>y3, d4=>y4,d5=>y5,q=>q);</p><p>  end boxin_arc;</p><p>  --****************</p><p><b>  --遞增波形源程序</b></p><p>  --****************</p>&

103、lt;p>  LIBRARY IEEE; </p><p>  USE IEEE.STD_LOGIC_1164.ALL; </p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL; </p><p>  ENTITY icrs IS</p><p>  PORT(clk,reset: in STD_LOGIC

104、; </p><p>  q0: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); </p><p>  END icrs; </p><p>  ARCHITECTURE icrs_c OF icrs IS</p><p><b>  BEGIN</b></p><p>  

105、PROCESS(clk,reset)</p><p>  VARIABLE tmp : STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  if reset='0' THEN</p><p>  tmp:= "00000

106、000";--復(fù)位信號(hào)清零</p><p>  ELSIF clk'EVENT AND clk='1' THEN</p><p>  if tmp="11111111" THEN</p><p>  tmp:="00000000";--遞增到最大值清零</p><p>

107、<b>  ELSE</b></p><p>  tmp:=tmp+1;--遞增運(yùn)算</p><p><b>  END if; </b></p><p><b>  END if; </b></p><p><b>  q0<=tmp;</b>&l

108、t;/p><p>  END PROCESS; </p><p>  END icrs_c;</p><p>  --****************</p><p><b>  --遞減波形源程序</b></p><p>  --****************</p><p&g

109、t;  LIBRARY IEEE; </p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY dcrs IS</p><p>  PORT (clk,reset:in STD_LOGIC;</p&

110、gt;<p>  q1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p><b>  END dcrs;</b></p><p>  ARCHITECTURE dcrs_s OF dcrs IS</p><p><b>  BEGIN</b></p><

111、p>  PROCESS(clk,reset)</p><p>  VARIABLE tmp:STD_LOGIC_VECTOR(7 DOWNTO 0); </p><p><b>  BEGIN</b></p><p>  if reset='0' THEN</p><p>  tmp:="

112、11111111";--復(fù)位信號(hào)置最大值</p><p>  ELSIF clk'EVENT AND clk='1' THEN--檢測(cè)時(shí)鐘上升沿</p><p>  if tmp="00000000" THEN</p><p>  tmp:="11111111";--遞減到0置最大值</

113、p><p><b>  ELSE</b></p><p>  tmp:=tmp-1;--遞減運(yùn)算</p><p><b>  END if; </b></p><p><b>  END if;</b></p><p><b>  q1<=t

114、mp;</b></p><p>  END PROCESS; </p><p>  END dcrs_s;</p><p>  --****************</p><p><b>  --三角波形源程序</b></p><p>  --****************<

115、/p><p>  LIBRARY IEEE; </p><p>  USE IEEE.STD_LOGIC_1164.ALL; </p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL; </p><p>  ENTITY delta IS</p><p>  PORT(clk,reset:in

116、STD_LOGIC; </p><p>  q2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p>  end delta;</p><p>  ARCHITECTURE delta_l OF delta IS</p><p><b>  BEGIN</b></p>&l

117、t;p>  PROCESS(clk,reset)</p><p>  VARIABLE tmp:STD_LOGIC_VECTOR(7 DOWNTO 0); </p><p>  VARIABLE a:STD_LOGIC; </p><p><b>  BEGIN</b></p><p>  if reset=

118、9;0' THEN</p><p>  tmp:="00000000";--復(fù)位信號(hào)為0,置最小值</p><p>  ELSIF clk'EVENT AND clk='1' THEN--檢測(cè)時(shí)鐘上升沿</p><p>  if a='0' THEN</p><p>  if

119、 tmp="11111110" THEN</p><p>  tmp:="11111111"; --置最大值</p><p><b>  a:='1'; </b></p><p>  ELSE --不是最大值時(shí)遞增</p><p>  tmp

120、:=tmp+1;--遞增運(yùn)算</p><p><b>  END if; </b></p><p><b>  ELSE</b></p><p>  if tmp ="00000001" THEN</p><p>  tmp:="00000000"; --置最

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)僅提供信息存儲(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)論