版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢</b></p><p><b> 業(yè)</b></p><p><b> 論</b></p><p><b> 文</b></p><p> 學(xué) 院: </p>
2、<p> 專(zhuān)業(yè)班級(jí): </p><p> 學(xué) 號(hào): </p><p> 姓 名: </p><p> 指導(dǎo)教師: </p><p> 輔導(dǎo)教師:
3、 </p><p> ________~________學(xué)年</p><p> ________年____月 至 ________年____月</p><p> 基于 VHDL 的函數(shù)信號(hào)發(fā)生器的仿真設(shè)計(jì)</p><p> 【摘 要】數(shù)字技術(shù)和計(jì)算機(jī)技術(shù)已經(jīng)廣泛運(yùn)用于工業(yè)、農(nóng)業(yè)、醫(yī)學(xué)、教育、軍事、生活等各個(gè)領(lǐng)域,其應(yīng)用之深之廣令人
4、驚嘆。電子設(shè)計(jì)自動(dòng)化技術(shù)已日趨成為現(xiàn)代電子設(shè)計(jì)技術(shù)的核心,這種技術(shù)又稱(chēng)為 EDA(Electronic Design Automation)技術(shù)。EDA 技術(shù)基于硬件描述語(yǔ)言 HDL。VHDL 是 HDL 的一種,并廣泛應(yīng)用在電子設(shè)計(jì)中。鋸齒波、三角波、方波、正弦波等多種波形均可以從函數(shù)信號(hào)發(fā)生器中產(chǎn)生。我們?cè)陔娐穼?shí)驗(yàn)中也廣泛運(yùn)用到函數(shù)信號(hào)發(fā)生器。本文基于 VHDL 語(yǔ)言設(shè)計(jì)各個(gè)波形產(chǎn)生模塊,然后在 QUARTUS II 軟件上實(shí)現(xiàn)波形
5、的編譯及仿真,通過(guò)四選一數(shù)據(jù)選擇器選擇輸出三角波、鋸齒波、矩形波或正弦波中的一種規(guī)定波形,并采用調(diào)頻模塊和調(diào)幅模塊進(jìn)行調(diào)頻調(diào)幅,可以產(chǎn)生多種波形。</p><p> 【關(guān)鍵詞】:函數(shù)信號(hào)發(fā)生器;EDA 技術(shù);VHDL;QUARTUS II 軟件</p><p><b> 目錄</b></p><p> 1 基于VHDL的函數(shù)信號(hào)發(fā)生器的設(shè)
6、計(jì) …………………………………………</p><p> 1.1信號(hào)發(fā)生器的發(fā)展現(xiàn)狀……………………………………………………</p><p> 1.2研究信號(hào)發(fā)生器目的和意義………………………………………………</p><p> 1.3主要研究設(shè)計(jì)內(nèi)容、關(guān)鍵問(wèn)題及解決思路………………………………</p><p> 1.3.1主要研究?jī)?nèi)容
7、…………………………………………………………</p><p> 1.3.2關(guān)鍵問(wèn)題………………………………………………………………</p><p> 1.3.3解決思路………………………………………………………………</p><p> 2系統(tǒng)設(shè)計(jì) ………………………………………………………………………</p><p> 2.1設(shè)計(jì)要求
8、與任務(wù)……………………………………………………………</p><p> 2.2設(shè)計(jì)方案……………………………………………………………………</p><p> 2.3相關(guān)模塊介紹………………………………………………………………</p><p> 2.3.1時(shí)鐘脈沖與復(fù)位………………………………………………………</p><p> 2.3
9、.2調(diào)頻與調(diào)幅……………………………………………………………</p><p> 2.4相關(guān)組合對(duì)應(yīng)關(guān)系…………………………………………………………</p><p> 3 系統(tǒng)仿真 ………………………………………………………………………</p><p> 3.1相關(guān)工具簡(jiǎn)介………………………………………………………………</p><p>
10、 3.2波形數(shù)據(jù)產(chǎn)生模塊…………………………………………………………</p><p> 3.2.1鋸齒波…………………………………………………………………</p><p> 3.2.2三角波…………………………………………………………………</p><p> 3.2.3方波……………………………………………………………………</p><p
11、> 3.2.4正弦波…………………………………………………………………</p><p> 4 調(diào)控模塊 ………………………………………………………………………</p><p> 4.1波形輸入控制模塊…………………………………………………………</p><p> 4.2波形輸出控制模塊…………………………………………………………</p>
12、<p> 4.3頻率控制模塊………………………………………………………………</p><p> 4.4幅度控制模塊………………………………………………………………</p><p> 5 結(jié)果分析………………………………………………………………………</p><p> 6 結(jié)論 ……………………………………………………………………………</p&
13、gt;<p><b> 前言</b></p><p> 信號(hào)發(fā)生器也被稱(chēng)為信號(hào)源或振蕩器,被廣泛應(yīng)用于生產(chǎn)實(shí)踐與科學(xué)技術(shù)。設(shè)計(jì)方面,函數(shù)波形發(fā)生器分為模擬及數(shù)字合成式。</p><p> 函數(shù)發(fā)生器,又稱(chēng)波形發(fā)生器。它能產(chǎn)生某些特定的周期性時(shí)間函數(shù)波形(主</p><p> 是正弦波、方波、三角波、鋸齒波和脈沖波等)信號(hào)。
14、頻率范圍可從幾毫赫甚幾微赫的超低頻直到幾十兆赫。除供通信、儀表和自動(dòng)控制系統(tǒng)測(cè)試用外,還泛用于其他非電測(cè)量領(lǐng)域。函數(shù)信號(hào)發(fā)生器實(shí)物圖如圖 1 所示。</p><p> 本設(shè)計(jì)基于 VHDL 來(lái)設(shè)計(jì)制作多功能函數(shù)信號(hào)發(fā)生器。該信號(hào)發(fā)生器可以生鋸齒波、三角波、方波、正弦波形中的任意一種。同時(shí)具有幅度、頻率可的功能,其中調(diào)幅分為 1、1/2、1/4、1/8 調(diào)幅,調(diào)頻分為 2、4、8、16 分頻。</p>
15、<p> 圖 1 函數(shù)信號(hào)發(fā)生器</p><p> 1 信號(hào)發(fā)生器的了解 </p><p> 1.1信號(hào)發(fā)生器的發(fā)展現(xiàn)狀</p><p> 信號(hào)發(fā)生器也叫波形發(fā)生器,它是一種信號(hào)源。需用到波形發(fā)生器的地方很多,包括電參數(shù)的測(cè)量。信號(hào)發(fā)生器在通信、雷達(dá)和現(xiàn)代儀器儀表等方面應(yīng)用普及,在電子測(cè)量設(shè)備中需提供準(zhǔn)確技術(shù)要求,是最普通、最基本也是應(yīng)用最廣
16、泛的電子儀器之一。</p><p> 在現(xiàn)代的電子測(cè)量中,我們之所以不會(huì)選用傳統(tǒng)的信號(hào)發(fā)生器,是因?yàn)樗鼈儷@得所需頻率主要依靠諧振法。它們具有較寬的頻率范圍,并且結(jié)構(gòu)簡(jiǎn)單。這種信號(hào)發(fā)生器無(wú)法生成任意波形,其頻率穩(wěn)定性和準(zhǔn)確度差。</p><p> 在這現(xiàn)代電子技術(shù)飛速發(fā)展的時(shí)代,波形發(fā)生器不僅要求能產(chǎn)生鋸齒波,方波,三角波,正弦波等標(biāo)準(zhǔn)波形,還可根據(jù)要求產(chǎn)生任意波形,要求輸出波形的質(zhì)量好
17、,準(zhǔn)確度、穩(wěn)定度及分辨率高,頻率轉(zhuǎn)換速度快,輸出頻率范圍寬且波形相位連續(xù)等。這些高性能要求的提出,促進(jìn)了設(shè)計(jì)者對(duì)信號(hào)發(fā)生器的進(jìn)一步研制。當(dāng)前信號(hào)發(fā)生器的總趨勢(shì)是向著寬頻率,高精度,多功用,自動(dòng)化和智能化發(fā)展的。</p><p> 我國(guó)已經(jīng)開(kāi)始研制函數(shù)信號(hào)發(fā)生器,并取得了可喜的成績(jī)。但總的來(lái)說(shuō),我國(guó)的函數(shù)信號(hào)發(fā)生器還沒(méi)有形成真正的產(chǎn)業(yè)。就目前國(guó)內(nèi)的成熟產(chǎn)品來(lái)看,多為一些PC儀器插卡,獨(dú)立的儀器和VXI系統(tǒng)的模塊很
18、少,并且我國(guó)目前在函數(shù)信號(hào)發(fā)生器的種類(lèi)和性能與國(guó)外同類(lèi)產(chǎn)品存在較大的差距,因此加緊對(duì)函數(shù)信號(hào)發(fā)生器的研制顯得迫在眉睫。</p><p> 1.2 研究信號(hào)發(fā)生器目的和意義</p><p> 函數(shù)信號(hào)發(fā)生器作為一種常見(jiàn)的電子儀器設(shè)備,既能夠構(gòu)成獨(dú)立的信號(hào)源,也是高性能的網(wǎng)絡(luò)分析儀,頻譜儀以及自動(dòng)測(cè)試裝備的組成部分。函數(shù)信號(hào)發(fā)生器是各種測(cè)試和實(shí)驗(yàn)過(guò)程中不可缺少的工具,在通信,測(cè)量,雷達(dá),控
19、制等領(lǐng)域應(yīng)用十分廣泛。不論是在生產(chǎn),科研和教學(xué)上,函數(shù)信號(hào)發(fā)生器都是電子工程師信號(hào)仿真實(shí)驗(yàn)的最佳工具。而且,函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)方法越來(lái)越多,設(shè)計(jì)技術(shù)也越來(lái)越先進(jìn),隨著我國(guó)經(jīng)濟(jì)和科技的飛速發(fā)展,對(duì)相應(yīng)的測(cè)試儀器和測(cè)試手段也提出了更高的要求,因此開(kāi)發(fā)研究函數(shù)信號(hào)發(fā)生器具有重大的意義。</p><p> 在如今的社會(huì),電子科技發(fā)展迅猛,傳統(tǒng)的模擬振蕩電路已經(jīng)滿(mǎn)足不了現(xiàn)代電子技術(shù)的需求,由純粹物理器件構(gòu)成的傳統(tǒng)的設(shè)計(jì)
20、方法存在許多弊端,如:體積較大,重量較沉,移動(dòng)不方便,信號(hào)失真大,波形較為單一,波形形狀調(diào)節(jié)過(guò)于死板,無(wú)法滿(mǎn)足用戶(hù)對(duì)精度,便攜性,穩(wěn)定性等的要求。研究設(shè)計(jì)出具有頻率穩(wěn)定,準(zhǔn)確,波形質(zhì)量好,輸出頻率范圍寬,便攜性好的函數(shù)信號(hào)發(fā)生器具有更好的市場(chǎng)前景。</p><p> 目前市場(chǎng)上的信號(hào)發(fā)生器大多由純硬件搭接而成,通常是單函數(shù)發(fā)生器,而且頻率不高,失真大,工作不穩(wěn)定,不易調(diào)試,用集成電路芯片的函數(shù)信號(hào)發(fā)生器,可以達(dá)
21、到很高的頻率,而且可以產(chǎn)生多種波形的信號(hào),但是電路復(fù)雜不易調(diào)試,本次設(shè)計(jì)基于VHDL語(yǔ)言,利用QuartusII開(kāi)發(fā)環(huán)境,完成信號(hào)發(fā)生器的編譯與仿真,可以通過(guò)四選一數(shù)據(jù)選擇器選擇輸出四種波形中的任意一種,并具有一定的調(diào)頻調(diào)幅功能。</p><p> 1.3 主要研究(設(shè)計(jì))內(nèi)容,關(guān)鍵問(wèn)題及解決思路</p><p> 1.3.1 主要研究?jī)?nèi)容</p><p>
22、基于VHDL語(yǔ)言設(shè)計(jì)完成出一個(gè)函數(shù)信號(hào)發(fā)生器,通過(guò)對(duì)輸入信號(hào)的選擇,則確定輸出鋸齒波,三角波,方波,正弦波四種信號(hào)中的任意一種。這種數(shù)據(jù)選擇可以通過(guò)四選一數(shù)據(jù)選擇器來(lái)實(shí)現(xiàn)。設(shè)計(jì)中加入調(diào)頻調(diào)幅模塊,形成頻率,幅度可控的函數(shù)信號(hào)發(fā)生器。波形選擇及頻率,幅度選擇采用產(chǎn)生高低電平的撥碼開(kāi)關(guān)來(lái)控制。本次設(shè)計(jì)通過(guò)QuartusII軟件進(jìn)行波形的仿真,從而完成整個(gè)設(shè)計(jì)。</p><p><b> 本次設(shè)計(jì)的任務(wù):&
23、lt;/b></p><p> (1)對(duì)函數(shù)信號(hào)發(fā)生器完成VHDL語(yǔ)言描述;</p><p> (2)利用EDA開(kāi)發(fā)系統(tǒng)及QuartusII軟件實(shí)現(xiàn)函數(shù)信號(hào)發(fā)生器的設(shè)計(jì);</p><p> ?。?)根據(jù)整體電路的工作原理,完成各個(gè)子模塊的設(shè)計(jì)與實(shí)現(xiàn);</p><p> ?。?)該函數(shù)信號(hào)發(fā)生器能夠產(chǎn)生鋸齒波,三角波,方波,正弦波四種
24、信號(hào);</p><p> ?。?)波形之間的轉(zhuǎn)換及波形信號(hào)的頻率和幅度可以通過(guò)按鍵進(jìn)行調(diào)節(jié)。</p><p> 本次設(shè)計(jì)的函數(shù)信號(hào)發(fā)生器系統(tǒng)主要分為輸入部分,頻率調(diào)節(jié)部分,幅度調(diào)節(jié)部分和波形轉(zhuǎn)換部分。系統(tǒng)原理框圖如下圖2所示:</p><p><b> 圖2</b></p><p> 1.3.2 關(guān)鍵問(wèn)題</
25、p><p> 本次設(shè)計(jì)是基于VHDL的函數(shù)信號(hào)發(fā)生器的設(shè)計(jì),因此,波形數(shù)據(jù)產(chǎn)生模塊和波形輸入控制模塊的設(shè)計(jì)及流程圖在本系統(tǒng)中具有相當(dāng)重要的地位,波形數(shù)據(jù)產(chǎn)生模塊和波形輸入控制模塊設(shè)計(jì)的不合理將會(huì)增加開(kāi)發(fā)的難度和復(fù)雜度,甚至整個(gè)設(shè)計(jì)失敗。所以,如何設(shè)計(jì)出合理的波形數(shù)據(jù)產(chǎn)生模塊和波形輸入控制模塊,是研究本系統(tǒng)的關(guān)鍵。</p><p> 在波形數(shù)據(jù)產(chǎn)生模塊和波形輸入控制模塊的設(shè)計(jì)之前,就需要了解
26、各個(gè)功能模塊之間的關(guān)系,通過(guò)各個(gè)模塊之間的關(guān)系來(lái)設(shè)計(jì)合理的波形數(shù)據(jù)產(chǎn)生模塊和波形數(shù)據(jù)輸入模塊。我們所需的四種波形信號(hào)通過(guò)VHDL語(yǔ)言編譯設(shè)計(jì)出來(lái),并設(shè)計(jì)出合理的波形輸入控制模塊。</p><p> 1.3.3 解決思路</p><p> 波形數(shù)據(jù)產(chǎn)生模塊利用VHDL語(yǔ)言編譯設(shè)計(jì)出我們所需要的四種波形,鋸齒波,三角波,方波,正弦波,通過(guò)QuaryusII軟件編譯調(diào)試,調(diào)試成功后下載至實(shí)驗(yàn)
27、裝置的芯片上。</p><p> 波形輸入控制模塊由一個(gè)四選一的數(shù)據(jù)選擇器端組成。其設(shè)計(jì)流程圖如下圖3:</p><p><b> 圖3</b></p><p><b> 2 系統(tǒng)設(shè)計(jì)</b></p><p> 2.1 設(shè)計(jì)要求與任務(wù)</p><p> 2.1.1本
28、次設(shè)計(jì)的要求:</p><p> 通過(guò)對(duì)輸入信號(hào)的選擇,則確定輸出鋸齒波、三角波、方波、正弦波四種信號(hào)中的任意一種。</p><p> 設(shè)計(jì)中加入調(diào)頻調(diào)幅模塊,形成幅度、頻率可控的函數(shù)信號(hào)發(fā)生器數(shù)據(jù),選擇可以通過(guò) 4 選 1 數(shù)據(jù)選擇器來(lái)實(shí)現(xiàn)。</p><p> 波形選擇及頻率、幅度選擇采用產(chǎn)生高低電平的撥碼開(kāi)關(guān)來(lái)控制。</p><p>
29、; 通過(guò) Altera 公司的 Quartus I 9.1 軟件進(jìn)行波形的仿真,從而完成整個(gè)設(shè)計(jì)。</p><p> 2.1.2本次設(shè)計(jì)的任務(wù):</p><p> ?。?)對(duì)函數(shù)信號(hào)發(fā)生器完成 VHDL 語(yǔ)言描述;</p><p> (2)利用 EDA 開(kāi)發(fā)系統(tǒng)及 Quartus I 9.1 軟件實(shí)現(xiàn)函數(shù)信號(hào)發(fā)生器的設(shè)計(jì);</p><p&g
30、t; ?。?)根據(jù)整體電路的工作原理,完成各個(gè)子模塊的設(shè)計(jì)與實(shí)現(xiàn);</p><p> (4)該函數(shù)信號(hào)發(fā)生器能夠產(chǎn)生鋸齒波、三角波、方波、正弦波四種信號(hào);</p><p> ?。?)波形之間的轉(zhuǎn)換及波形信號(hào)的頻率和幅度可通過(guò)按鍵進(jìn)行調(diào)節(jié)。</p><p><b> 2.2 設(shè)計(jì)方案</b></p><p> 函數(shù)信
31、號(hào)發(fā)生器有多種實(shí)現(xiàn)方法,但我們要選擇一種精度高且易于實(shí)現(xiàn)的方</p><p> 法,以此來(lái)提高本次設(shè)計(jì)的實(shí)用性。</p><p> 方案一:用分立元件組成的函數(shù)發(fā)生器。</p><p> 方案二:可以由晶體管、運(yùn)放 IC 等通用器件制作,更多的則是用專(zhuān)門(mén)的函數(shù)信號(hào)發(fā)生器 IC 產(chǎn)生。</p><p> 方案三:通過(guò)單片機(jī)控制 D/A,
32、輸出四種波形。</p><p> 方案四:利用專(zhuān)用直接數(shù)字合成 DS 芯片的函數(shù)發(fā)生器,能產(chǎn)生任意波形并達(dá)到很高的頻率。</p><p> 方案五:用 VHDL 語(yǔ)言編寫(xiě)程序,調(diào)試成功后下載至實(shí)驗(yàn)裝置的芯片上。此種方案完全可以生成設(shè)計(jì)要求的 4 種波形,而且通過(guò)軟件仿真可以直觀(guān)的觀(guān)測(cè)到輸出的波參數(shù),方便調(diào)試和更改波形參數(shù),外圍電路簡(jiǎn)單,減少器件損耗,精度高。因此在本次設(shè)計(jì)中我們選擇了
33、VHDL。本次設(shè)計(jì)基于 VHDL 語(yǔ)言來(lái)設(shè)計(jì)制作一個(gè)函數(shù)信號(hào)發(fā)生器,利用 Quartus II開(kāi)發(fā)環(huán)境進(jìn)行編譯仿真,使該信號(hào)發(fā)生器可以產(chǎn)生鋸齒波、三角波方波、正弦波形中的任意一種。同時(shí)具有幅度、頻率可調(diào)的功能,其中調(diào)幅分為 1、1/2、1/4、1/8 調(diào)幅,調(diào)頻分為 2、4、8、16 分頻。因此,本次設(shè)計(jì)的函數(shù)信號(hào)發(fā)生器系統(tǒng)主要分為輸入部分、頻率調(diào)節(jié)部分、幅度調(diào)節(jié)部分和波形轉(zhuǎn)換部分。</p><p> 2.3
34、相關(guān)模塊介紹</p><p> 2.3.1 時(shí)鐘脈沖與復(fù)位</p><p> 時(shí)鐘脈沖(clk):脈沖信號(hào)是一個(gè)按一定電壓幅度,一定時(shí)間隔連續(xù)發(fā)出的脈沖信號(hào)。此信號(hào)在同步電路當(dāng)中,扮演計(jì)時(shí)器的角色,并組成電路的電子組件。只有當(dāng)同步信號(hào)到達(dá)時(shí),相關(guān)的觸發(fā)器才按輸入信號(hào)改變輸出狀態(tài),因此使得相關(guān)的電子組件得以同步運(yùn)作[8,9]。復(fù)位(rest):在電路中有時(shí)會(huì)有清空數(shù)據(jù)的需要,此時(shí)復(fù)位鍵就
35、可以使其回到某種狀態(tài)。</p><p> 2.3.2 調(diào)頻與調(diào)幅</p><p> 調(diào)頻(FM),就是高頻載波的頻率不是一個(gè)常數(shù),是隨調(diào)制信號(hào)而在一定范圍內(nèi)變化的調(diào)制方式,其幅值則是一個(gè)常數(shù)。與其對(duì)應(yīng)的,調(diào)幅(AM)就是載頻的頻率是不變的,其幅值隨調(diào)制信號(hào)而變[10]。本次設(shè)計(jì)中調(diào)幅分為1、/2、1/4、1/8調(diào)幅,調(diào)頻分為2、4、8、16分頻。</p><p>
36、; 2.4 相關(guān)組合對(duì)應(yīng)關(guān)系</p><p> 本次設(shè)計(jì)中 K1鍵則為 rest 復(fù)位鍵,K2、K3鍵則為頻控按鍵,K4、K5鍵則為幅控按鍵。K6、K7鍵則為波形選擇按鍵。各組合鍵的鍵值與對(duì)應(yīng)波形關(guān)系如圖4,圖5,圖6所示:</p><p><b> 圖4 頻控按鍵</b></p><p><b> 圖5 幅控按鍵<
37、/b></p><p><b> 圖6波形選擇按鍵</b></p><p><b> 3 系統(tǒng)仿真</b></p><p> 3.1 相關(guān)工具簡(jiǎn)介</p><p> VHDL:一種硬件描述語(yǔ)言,于 1983 年由美國(guó)防部(DOD)發(fā)起創(chuàng)建,由 IE(Instiue of Electri
38、alnd Electronics Engiers)進(jìn)一步發(fā)展,并在 1987 年發(fā)布“IE 標(biāo)準(zhǔn) 1076”版本。自此之后,各種各樣的新的 VHDL 設(shè)計(jì)環(huán)境相繼推出。VHDL 廣泛應(yīng)用于電子設(shè)計(jì)領(lǐng)域,并逐步取代了原有的非標(biāo)準(zhǔn)硬件描述語(yǔ)言。VHDL 支持的設(shè)計(jì)方法種類(lèi)多樣,自頂向下(Top to Down)和基于庫(kù)(LibrayBased)便是兩種典型的設(shè)計(jì)方法。VHDL 使用的源代碼簡(jiǎn)潔明了,不管是簡(jiǎn)單</p><
39、p> 的還是復(fù)雜的設(shè)計(jì),VHDL 都可以清楚的描述并完整它。隨機(jī)電路,同步電路抑或是異步電路,在設(shè)計(jì)方面使用 VHDL 則顯得方便多了。VHDL 具有功能強(qiáng)大,設(shè)計(jì)靈活的特點(diǎn)。它可以通過(guò)層細(xì)化的方式生成不同的模塊,再把各個(gè)模塊連接成頂層電路,供以后的設(shè)計(jì)使用。</p><p> QUARTUS II:基于 Altera 公司的 Quartus II 軟件。Altera 公司的 Quartus II 是一
40、種可編程邏輯的設(shè)計(jì)環(huán)境,因?yàn)槠鋸?qiáng)大的設(shè)計(jì)能力和易于使用的直觀(guān)的界面,而受到越來(lái)越多的數(shù)字系統(tǒng)設(shè)計(jì)人員的歡迎。Quartus II 經(jīng)過(guò)不斷升級(jí),目前最高版本已經(jīng)升到 12.。然而有的版本的Quartus II 有明顯的漏洞,所以無(wú)法深入。本次設(shè)計(jì)將使用 Quartus II 9.1 版本。</p><p> Quartus II 開(kāi)始界面如圖 7 所示。</p><p> 圖7 Qu
41、artusI I 9.1版本</p><p> 3.2 波形數(shù)據(jù)產(chǎn)生模塊</p><p><b> 3.2.1 鋸齒波</b></p><p> 鋸齒波的設(shè)計(jì)(這里只設(shè)計(jì)鋸齒波的遞增波形)是基于 VHDL 語(yǔ)言進(jìn)行編程,主要使用到 if 語(yǔ)句。clk 為上升沿時(shí),計(jì)數(shù)器才加1,否則與前一狀態(tài)保持不變。并且對(duì)其進(jìn)行0-25的序列遞增,因此輸
42、出信號(hào)周期為時(shí)鐘周期的256倍。設(shè)計(jì)流程圖如圖8所示:</p><p> 圖8 鋸齒波設(shè)計(jì)流程圖</p><p> 按流程圖進(jìn)行設(shè)計(jì),并對(duì)此封裝成塊。封裝圖如圖9所示:</p><p> 圖9 鋸齒波封裝圖塊</p><p> 本文設(shè)計(jì)的函數(shù)信號(hào)發(fā)生器的頻率即晶振頻率20MHz,其周期則是50ns。本次設(shè)計(jì)中設(shè)置不同的時(shí)鐘周期,以
43、輸出不同頻率的波形,再通過(guò)二、四、八、十六分頻來(lái)得到更多的波形,便于對(duì)輸出波形的仿真及對(duì)其周期的清晰觀(guān)察。本文設(shè)計(jì)的函數(shù)信號(hào)發(fā)生器的幅度由硬件的幅度決定。通過(guò)對(duì)程序語(yǔ)句的調(diào)試,設(shè)置時(shí)鐘周期為10ns,得到如圖10所示波形圖:</p><p> 圖10 鋸齒波信號(hào)仿真</p><p><b> 3.2.2 三角波</b></p><p>
44、 三角波的設(shè)計(jì)同樣基于 VHDL 語(yǔ)言,主要使用 if 語(yǔ)句,先進(jìn)行0-255的序列遞增,然后再對(duì)得到的序列進(jìn)行255-0的序列遞減。而三角波則正好是遞增波形與遞減波形相結(jié)合而得到的。程序中 a 為內(nèi)部節(jié)點(diǎn)信號(hào),同時(shí)也作為遞減信號(hào)。當(dāng) a 為0時(shí),為遞增階段,計(jì)數(shù)器加1;a 為1時(shí),為遞減階段,計(jì)數(shù)器減1。</p><p> 設(shè)計(jì)流程圖如圖11所示:</p><p> 圖11 三角波
45、設(shè)計(jì)流程圖</p><p> 按流程圖進(jìn)行設(shè)計(jì),并對(duì)此封裝成塊。封裝圖如圖12所示:</p><p> 圖12 三角波封裝圖塊</p><p> 三角波程序調(diào)試至無(wú)語(yǔ)法錯(cuò)誤后,設(shè)時(shí)鐘周期為50ns。仿真得到如圖13所示</p><p><b> 波形圖:</b></p><p> 圖1
46、3 三角波信號(hào)仿真</p><p><b> 3.2.3 方波</b></p><p> 方波的設(shè)計(jì)也是基于 VHDL 語(yǔ)言,主要采用 if 語(yǔ)句編寫(xiě)程序,每次當(dāng)計(jì)數(shù)第64次時(shí)便翻轉(zhuǎn)一次,由此產(chǎn)生方波信號(hào),其周期為輸入時(shí)鐘信號(hào)周期的128倍。程序語(yǔ)句中把 a 同樣設(shè)置成內(nèi)部節(jié)點(diǎn)信號(hào),計(jì)數(shù)器從0計(jì)到15后一個(gè)循環(huán),立即對(duì) a 取反,則 a 會(huì)在0與1之間變換。&l
47、t;/p><p> 設(shè)計(jì)流程圖如圖14,圖15所示:</p><p> 圖14 方波設(shè)計(jì)流程圖(1)</p><p> 圖15方波設(shè)計(jì)流程圖(2)</p><p> 按流程圖進(jìn)行設(shè)計(jì),并對(duì)此封裝成塊。封裝圖如圖16所示:</p><p> 圖16 方波封裝圖塊</p><p> 方波
48、調(diào)試后,設(shè)置時(shí)鐘周期為50ns,得到波形圖如圖17所示:</p><p><b> 圖17方波信號(hào)仿真</b></p><p><b> 3.2.4 正弦波</b></p><p> 正弦波的設(shè)計(jì)基于 VHDL 語(yǔ)言,編程語(yǔ)句中涉及到 if 語(yǔ)句與 case 語(yǔ)句。由于 VHDL 語(yǔ)言程序仿真結(jié)果為數(shù)字信號(hào)波形,而正
49、弦波是模擬信號(hào)波形。因此,實(shí)驗(yàn)中采取對(duì)信號(hào)進(jìn)行等間距采樣,來(lái)等效正弦信號(hào)的波形。程序的采樣點(diǎn)為64個(gè),等效為近似的正弦波形。</p><p> 設(shè)計(jì)流程圖如圖18所示:</p><p> 圖18 正弦波設(shè)計(jì)流程圖</p><p> 按流程圖進(jìn)行設(shè)計(jì),并對(duì)此封裝成塊。封裝圖如圖19所示:</p><p> 圖19 正弦波封裝圖塊&l
50、t;/p><p> 對(duì)正弦波程序進(jìn)行調(diào)試設(shè)置時(shí)鐘頻率為30ns得到如圖20所示波形圖:</p><p> 圖20 正弦波信號(hào)仿真</p><p> 程序根據(jù)正弦波采樣取點(diǎn),得到了以上仿真波形。因?yàn)檎也ㄐ畏抡嬷械娜↑c(diǎn)是按照正弦函數(shù)圖取得,無(wú)法找到準(zhǔn)確的規(guī)律,也就不能用循環(huán)來(lái)完成,相對(duì)于前面鋸齒波、三角波及方波等波形的設(shè)計(jì)較難一些。因此,程序中還會(huì)運(yùn)用到 case
51、 語(yǔ)句,通過(guò)查表的方法來(lái)實(shí)現(xiàn)輸出正弦波。</p><p><b> 4 調(diào)控模塊</b></p><p> 4.1 波形輸入控制模塊</p><p> 波形輸入控制模塊由一個(gè)4選1的數(shù)據(jù)選擇器端組成。</p><p> 設(shè)計(jì)流程圖如圖21所示:</p><p> 圖21 波形輸入控制設(shè)
52、計(jì)流程圖</p><p> 按流程圖進(jìn)行設(shè)計(jì),并對(duì)此封裝成塊。</p><p> 封裝圖如圖22所示:</p><p> 圖22 波形輸入控制封裝圖塊</p><p> 波形輸入控制模塊經(jīng)編譯無(wú)誤后。</p><p> 得如圖23所示仿真圖:</p><p> 圖23 波形輸入控
53、制模塊波形仿真</p><p> 當(dāng) a1010時(shí),選擇 y2。</p><p> 4.2 波形輸出控制模塊</p><p> 在本設(shè)計(jì)中采用使用軟件編程生成模塊的方式實(shí)現(xiàn)數(shù)據(jù)四選一的功能。程序中,為每一種波形分配一個(gè)通道,并為之賦予唯一的代碼,當(dāng)在 s0,1端輸入不同的代碼時(shí),被選中的通道打開(kāi),響應(yīng)的波形發(fā)生模塊產(chǎn)生波形。</p><p&
54、gt; 設(shè)計(jì)流程圖如圖24所示:</p><p> 圖24 四選一數(shù)據(jù)選擇器設(shè)計(jì)流程圖</p><p> 按流程圖進(jìn)行設(shè)計(jì),并對(duì)此封裝成塊。</p><p> 封裝圖如圖25所示:</p><p> 圖25 四選一數(shù)據(jù)選擇器封裝圖塊</p><p> 波形輸出控制模塊經(jīng)編譯無(wú)誤后得到如圖26所示仿真圖:
55、</p><p> 圖26 波形輸出控制模塊波形圖</p><p> 當(dāng) s01=‘0’時(shí),選擇 d0通道。</p><p> 4.3 頻率控制模塊</p><p> 頻率控制單元中包括一個(gè)分頻模塊和一個(gè)調(diào)頻模塊,調(diào)頻模塊為四選一數(shù)據(jù)</p><p> 選擇器,分頻模塊將輸入的時(shí)鐘信號(hào)進(jìn)行 2、4 8、16
56、 分頻。</p><p> 設(shè)計(jì)流程圖如圖27所示:</p><p> 圖27 頻率控制流程圖</p><p> 按流程圖進(jìn)行設(shè)計(jì),并對(duì)此封裝成塊。</p><p> 封裝圖如圖28,圖29所示:</p><p> 圖28 分頻封裝圖塊 圖 29 調(diào)頻封裝圖塊</p>
57、;<p> 頻率控制模塊經(jīng)編譯無(wú)誤后,得到如圖30所示仿真圖:</p><p> 圖30 分頻模塊波形仿真</p><p> 4.4 幅度控制模塊</p><p> 幅度控制模塊中含有一個(gè)除法模塊(這里稱(chēng)作 tiaofu 模塊),它將輸入的信號(hào)進(jìn)行1、1/2、1/4、1/8調(diào)幅;同時(shí)包含一個(gè)選擇模塊(這里稱(chēng)作 scope 模塊),是一個(gè)四選一
58、數(shù)據(jù)選擇器。</p><p> 設(shè)計(jì)流程圖如圖31所示:</p><p> 圖31 幅度控制流程圖</p><p> 按流程圖進(jìn)行設(shè)計(jì),并對(duì)此封裝成塊。封裝圖如圖32,圖33所示:</p><p> 圖32 調(diào)幅封裝圖塊 圖33 選擇封裝圖塊</p><p&g
59、t; 幅度控制模塊經(jīng)編譯無(wú)誤后,得到如圖34所示仿真圖:</p><p> 圖34 幅度控制模塊波形仿真</p><p> 當(dāng) scope_mode1scope_mode0=1時(shí),進(jìn)行1/8調(diào)幅。</p><p><b> 5 結(jié)果分析</b></p><p> 將上述各個(gè)模塊封裝成為模塊文件,供頂層電路調(diào)用
60、??梢缘玫剑?lt;/p><p> 如圖35所示系統(tǒng)頂層電路圖:</p><p> 圖35 系統(tǒng)頂層電路圖</p><p> 本次設(shè)計(jì)共可產(chǎn)生波形4種,調(diào)幅方法4種,調(diào)頻方法4種,因此共可仿真出:4* 4=64個(gè)圖。 這里每種波形只截取4種仿真圖:</p><p> 1.圖36 為鋸齒波信號(hào)仿真圖(設(shè)置時(shí)鐘周期為4ns)&
61、lt;/p><p> (a) 鋸齒波信號(hào) 2分頻 不調(diào)幅 (b) 鋸齒波信號(hào) 2分頻 1/2調(diào)幅</p><p> (c) 鋸齒波信號(hào) 不調(diào)幅 8分頻 (d) 鋸齒波信號(hào) 不調(diào)幅 16分頻 </p><p> 2.圖37 為三角波信號(hào)仿真圖(設(shè)置時(shí)鐘周期為4ns)</p><p> (a)
62、 三角波信號(hào) 二分頻 不調(diào)幅 (b) 三角波信號(hào) 二分頻 1/2調(diào)幅</p><p> (c) 三角波信號(hào) 不調(diào)幅 8分頻 (d) 三角波信號(hào) 不調(diào)幅 16分頻</p><p> 3.圖38為方波信號(hào)仿真圖(設(shè)置時(shí)鐘周期為80ns)</p><p> (a) 方波信號(hào) 二分頻 不調(diào)幅
63、 (b) 方波信號(hào) 二分頻 1/2調(diào)幅</p><p> (c) 方波信號(hào) 不調(diào)幅 8分頻 (d) 方波信號(hào) 不調(diào)幅 16分頻</p><p> 4.圖39 為正弦波信號(hào)仿真圖(設(shè)置周期為10ns)</p><p> (a) 正弦波信號(hào) 二分頻 不調(diào)幅 (b
64、) 正弦波信號(hào) 二分頻 1/2調(diào)幅</p><p> (c) 正弦波信號(hào) 不調(diào)幅 8分頻 (d) 正弦波信號(hào) 不調(diào)幅 16分頻</p><p> 為清楚了解波形的調(diào)頻調(diào)幅情況,特在這里貼出方波信號(hào)的三種仿真圖,如</p><p> 圖40 圖41 圖42所示</p><p> 圖40 方波信號(hào)
65、2分頻 1/8調(diào)幅仿真圖</p><p> 圖41 方波信號(hào) 4分頻 1/8調(diào)幅仿真圖</p><p> 圖42 方波信號(hào) 4分頻 不調(diào)幅仿真圖</p><p><b> 6 結(jié) 論</b></p><p> 本次設(shè)計(jì)是基于 VHDL 語(yǔ)言的函數(shù)信號(hào)發(fā)生器的設(shè)計(jì),通過(guò) Quartus I 軟件進(jìn)行編譯仿真,使
66、函數(shù)信號(hào)發(fā)生器能夠產(chǎn)生鋸齒波、三角波、方波、正弦波四種波形?;?VHDL 語(yǔ)言先是描述底層各個(gè)獨(dú)立的模塊,然后把各個(gè)封裝圖塊調(diào)用出,設(shè)計(jì)成頂層電路圖。然后通過(guò)4選1數(shù)據(jù)選擇器的設(shè)計(jì),實(shí)現(xiàn)對(duì)需要波形的選擇。設(shè)計(jì)分各個(gè)模塊,在對(duì)一個(gè)模塊進(jìn)行編寫(xiě)描述時(shí)就立即對(duì)其進(jìn)行編譯并修改,以免這個(gè)模塊在連接總電路時(shí)存在調(diào)試?yán)щy的情況。并且,VHDL 語(yǔ)言也不得出現(xiàn)語(yǔ)法使用錯(cuò)誤,否則將影響后期設(shè)計(jì)的完成,影響設(shè)計(jì)結(jié)果。本次設(shè)計(jì)按照設(shè)計(jì)任務(wù)的要求總算是設(shè)計(jì)
67、實(shí)現(xiàn)了功能,但是期間也碰到過(guò)遺漏的問(wèn)題。在設(shè)計(jì)過(guò)程當(dāng)中,遇到了軟件操作不熟練,程序編寫(xiě)不規(guī)范等諸多問(wèn)題,通過(guò)對(duì)問(wèn)題的總結(jié)分析得出,應(yīng)用軟件的主要功能必須熟練操作,才能提高工作效率,需要規(guī)范操作的地方必須嚴(yán)格按照使用說(shuō)明操作,避免由于軟件使用不當(dāng)造成的錯(cuò)誤產(chǎn)生。程序的編寫(xiě),包括格式、語(yǔ)句、用法等都需要嚴(yán)格遵守要求,對(duì)各個(gè)模塊、端口、新建的工程名、實(shí)體名以及各個(gè)信號(hào)變量的命名都應(yīng)當(dāng)反映實(shí)際意義,方便再次檢查時(shí)不會(huì)混淆。本次設(shè)計(jì)過(guò)程中,我收獲
68、頗多。通過(guò)本次設(shè)計(jì),</p><p><b> 致 謝</b></p><p> 感謝我的論文指導(dǎo)老師—陳希湘老師對(duì)我在學(xué)術(shù)上的指導(dǎo)和幫助,使我不僅學(xué)到了知識(shí),而且學(xué)到了做人的準(zhǔn)則和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)。他嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作風(fēng),深地感染和激勵(lì)著我。正是由于老師同學(xué)的幫助和支持,我才能克服一個(gè)一個(gè)的困難和疑惑,直至本文的順利完成。在此,我表示衷
69、心的感謝和崇高的敬意!</p><p><b> 附 錄</b></p><p><b> 1 鋸齒波</b></p><p> libray ie;</p><p> use ie.std_logic_164.al;</p><p> use ie.std_log
70、ic_unsigned.al;</p><p> entiy juchis</p><p> port (clk,rest:in std_logic;</p><p> q:out sd_logic_vector(7 downto 0);</p><p> end entiy juchi;</p><p>
71、architecure bhav of juchis</p><p><b> begin</b></p><p> proces(clk,rest)</p><p> varible tmp: std_logic_vector(7 downto 0);</p><p><b> begin</b
72、></p><p> if rest='1 then</p><p> tmp:="00000000";</p><p><b> else</b></p><p> tmp:=tmp+1;</p><p><b> end if;</b
73、></p><p><b> end if;</b></p><p><b> q<=tmp;</b></p><p> end proces;</p><p> end behav;</p><p><b> 2 三角波</b>&
74、lt;/p><p> libray ie;</p><p> use ie.std_logic_164.al;</p><p> use ie.std_logic_unsigned.al;</p><p> entiy sanjiao is</p><p> port(clk,rest:in std_logic;
75、</p><p> q: out sd_logic_vector(7 downto 0);</p><p> end sanjiao;</p><p> architecure bhav of sanjiao is</p><p><b> begin</b></p><p> proc
76、es(clk,rest)</p><p> varible tmp : std_logic_vector(7 downto 0);</p><p> varible a : std_logic;</p><p><b> begin</b></p><p> if(rest='1) then</p&
77、gt;<p> tmp:="00000000";</p><p> elsif clk'evnt and clk='1 then</p><p> if a='0 then</p><p> if tmp="11111110" then</p><p>
78、tmp:="11111111";</p><p><b> a:='1;</b></p><p><b> else</b></p><p> tmp:=tmp+1;</p><p><b> end if;</b></p>&
79、lt;p><b> else</b></p><p> if tmp="0001"then</p><p> tmp:="000";</p><p><b> a:='0;</b></p><p><b> els</b
80、></p><p> tmp:=tmp-1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> q&l
81、t;=tmp;</b></p><p> end proces;</p><p> end behav;</p><p><b> 3 方波</b></p><p> libray ie;</p><p> use ie.std_logic_164.al;</p>
82、<p> use ie.std_logic_arith.al;</p><p> use ie.std_logic_unsigned.al;</p><p> entiy fangbo is</p><p> port(clk,rest : in std_logic;</p><p> q : out sd_logic
83、_vector(7 downto 0);</p><p> end fangbo;</p><p> architecure bhav ofangbo is</p><p> signal: std_logic;</p><p><b> begin</b></p><p> proce
84、s(clk,rest)</p><p> varible tmp: std_logic_vector(3 downto 0);</p><p><b> begin</b></p><p> if (rest='1) then</p><p><b> a<='0;</b&g
85、t;</p><p> elsif clk'evnt and clk='1 then</p><p> if (tmp="1111")then</p><p> tmp:="0000";</p><p><b> els</b></p><
86、;p> tmp:=tmp+1;</p><p><b> end if;</b></p><p> if (tmp<="1000")then</p><p><b> a<='1;</b></p><p><b> els</b
87、></p><p><b> a<='0;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> end proces;</p><p> proces
88、(clk,a)</p><p><b> begin</b></p><p> if clk'evnt and clk='1 th</p><p> if a='1then</p><p> q<="11111111";</p><p>&
89、lt;b> els</b></p><p> q<="00000000";</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end proces;</p><
90、;p> end behav;</p><p><b> 4 正弦波</b></p><p> libray ie;</p><p> use ie.std_logic_164.al;</p><p> use ie.std_logic_unsigned.al;</p><p>
91、entiy zhengxian is</p><p> port(clk,rest:in std_logic;</p><p> d_out: out inegrange 0 to 25);</p><p> end zhengxian ;</p><p> architecure bhav of zhengxian is</p
92、><p><b> begin</b></p><p> proces(rest,clk)</p><p> varible tmp: integrange 0 to 63;</p><p><b> begin</b></p><p> if rest='1t
93、hen</p><p><b> d_out<=0;</b></p><p> elsif clk'evnt and clk='1then</p><p> if tmp=63 then</p><p><b> tmp:=0;</b></p><p
94、><b> els</b></p><p> tmp:=tmp+1;</p><p><b> end if;</b></p><p> case tmp is</p><p> when 0=>d_out<=178;when 01=>d_out<=17;wh
95、en 02=>d_out<=176;</p><p> when 03=>d_out<=175;when 04=>d_out<=173;when 05=>d_out<=170;</p><p> when 06=>d_out<=167;when 07=>d_out<=163;when 08=>d_out<
96、;=159;</p><p> when 09=>d_out<=154;when 10=>d_out<=149;when 1=>d_out<=143;</p><p> when 12=>d_out<=137;when 13=>d_out<=13;when 14=>d_out<=125;</p>&l
97、t;p> when 15=>d_out<=17;when 16=>d_out<=12;when 17=>d_out<=106;</p><p> when 18=>d_out<=10;when 19=>d_out<=94; when 20=>d_out<=8;</p><p> when 21=>d_
98、out<=82; when 2=>d_out<=7; when 23=>d_out<=72;</p><p> when 24=>d_out<=67; when 25=>d_out<=63; when 26=>d_out<=60;</p><p> when 27=>d_out<=57; when 28=&g
99、t;d_out<=54; when 29=>d_out<=52;</p><p> when 30=>d_out<=51; when 31=>d_out<=50; when 32=>d_out<=50;</p><p> when 3=>d_out<=51; when 34=>d_out<=52; when
100、35=>d_out<=54;</p><p> when 36=>d_out<=57; when 37=>d_out<=60; when 38=>d_out<=63;</p><p> when 39=>d_out<=67; when 40=>d_out<=72; when 41=>d_out<=7;&
101、lt;/p><p> when 42=>d_out<=82; when 43=>d_out<=8; when 4=>d_out<=94;</p><p> when 45=>d_out<=10;when 46=>d_out<=106;when 47=>d_out<=12;</p><p> w
102、hen 48=>d_out<=19;when 49=>d_out<=125;when 50=>d_out<=13;</p><p> when 51=>d_out<=137;when 52=>d_out<=143;when 53=>d_out<=149;</p><p> when 54=>d_out<
103、=154;when 5=>d_out<=159;when 56=>d_out<=163;</p><p> when 57=>d_out<=167;when 58=>d_out<=170;when 59=>d_out<=173;</p><p> when 60=>d_out<=175;when 61=>d_
104、out<=176;when 62=>d_out<=17;</p><p> when 63=>d_out<=178;when others=>nul;</p><p><b> end case;</b></p><p><b> end if;</b></p>&l
105、t;p> end proces;</p><p> end behav;</p><p> 5 波形輸入控制模塊</p><p> libray ie;</p><p> use ie.std_logic_164.al;</p><p> use ie.std_logic_unsigned.al;&l
106、t;/p><p> entiy xuanze is</p><p> port(a0,1s:in std_logic;</p><p> y0,1y2,3:out sd_logic);</p><p> end xuanze;</p><p> architecure bhav of xuanze is</
107、p><p> signal:std_logic_vector(1 downto 0);</p><p> signal cout:sd_logic;</p><p> signal q:std_logic_vector(2 downto 0);</p><p><b> begin</b></p>&l
108、t;p><b> a<=a1&a0;</b></p><p><b> proces()</b></p><p> varible y:std_logic_vector(7 downto 0);</p><p><b> begin</b></p><p
109、> if(s='1)then</p><p><b> q<=q+1;</b></p><p><b> end if;</b></p><p> if q="1" then</p><p><b> cout<='1;<
110、;/b></p><p><b> q<="0";</b></p><p><b> els</b></p><p><b> cout<='0;</b></p><p><b> end if;</b>
111、;</p><p><b> end if;</b></p><p> end proces;</p><p><b> proces(a)</b></p><p><b> begin</b></p><p><b> case a
112、 is</b></p><p> when"0"=>y0<=cout;</p><p> when"01"=>y1<=cout;</p><p> when"10"=>y2<=cout;</p><p> when"1
113、=>y3<=cout;</p><p> when others=>nul;</p><p><b> end case;</b></p><p> end proces;</p><p> end behav;</p><p> 6 4 選 1 數(shù)據(jù)選擇器</p
114、><p> libray ie;</p><p> use ie.std_logic_164.al;</p><p> entiy mux41 is</p><p> port(s0,1:in std_logic;</p><p> d0,1d2,3:in std_logic_vector(7 downto 0)
115、;</p><p> q:out sd_logic_vector(7 downto 0);</p><p> end mux41;</p><p> architecure bhav of mux41 is</p><p> signal se:td_logic_vector(1 downto 0);</p><p
116、><b> begin</b></p><p> sel<=s1&s0;</p><p> proces(s1,s0,d0,d1d2,d3)</p><p><b> begin</b></p><p> case sel is</p><p>
117、 when"0"=>q<=d0;</p><p> when"01"=>q<=d1;</p><p> when"10"=>q<=d2;</p><p> when"1=>q<=d3;</p><p> when o
118、thers=>nul;</p><p><b> end case;</b></p><p> end proces;</p><p> end behav;</p><p><b> 7 分頻模塊</b></p><p> libray ie;</p&
119、gt;<p> use ie.std_logic_164.al;</p><p> use ie.std_logic_arith.al;</p><p> use ie.std_logic_unsigned.al;</p><p> entiy fenpis</p><p> port(clk : in std_log
120、ic;</p><p> clk_div2 : out sd_logic;</p><p> clk_div4 : out sd_logic;</p><p> clk_div8 : out sd_logic;</p><p> clk_div16 : out sd_logic);</p><p> end
121、fenpi;</p><p> architecure bhav ofenpis</p><p> signal count : std_logic_vector(3 downto 0);</p><p><b> begin</b></p><p> proces(clk)</p><p&g
122、t;<b> begin</b></p><p> if (clk'evnt and clk='1) then</p><p> if (count="11") then</p><p> count <= (others =>'0);</p><p>&l
123、t;b> els</b></p><p> count <= count +1;</p><p><b> end if ;</b></p><p><b> end if ;</b></p><p> end proces;</p><p>
124、; clk_div2 <= count(0);</p><p> clk_div4 <= count(1);</p><p> clk_div8 <= count(2);</p><p> clk_div16 <= count(3);</p><p> end behav;</p><p&
125、gt;<b> 8 調(diào)頻選擇模塊</b></p><p> libray ie;</p><p> use ie.std_logic_164.al;</p><p> entiy tiaopins</p><p> port(s1,0: in std_logic;</p><p> a
126、,bc,d: in std_logic;</p><p> y: out sd_logic);</p><p> end tiaopin;</p><p> architecure bhav of tiaopins</p><p> signal s:td_logic_vector(1 downto 0);</p>&l
127、t;p> signal y_temp: std_logic;</p><p><b> begin</b></p><p><b> s<=s1&s0;</b></p><p> proces(1,s0a,bc,d)</p><p><b> begin<
128、;/b></p><p><b> case is</b></p><p> when "0"=>y_temp<=a;</p><p> when "01"=>y_temp<=b;</p><p> when "10"=&g
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 函數(shù)信號(hào)發(fā)生器-畢業(yè)設(shè)計(jì)
- 函數(shù)信號(hào)發(fā)生器(畢業(yè)設(shè)計(jì))
- 畢業(yè)設(shè)計(jì)-----函數(shù)信號(hào)發(fā)生器
- 函數(shù)信號(hào)發(fā)生器課程設(shè)計(jì)--基于labview的函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文--基于vhdl的m序列偽隨機(jī)信號(hào)發(fā)生器設(shè)計(jì)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-----基于單片機(jī)的函數(shù)信號(hào)發(fā)生器
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的函數(shù)信號(hào)發(fā)生器
- 畢業(yè)設(shè)計(jì)----基于icl8038的函數(shù)信號(hào)發(fā)生器設(shè)計(jì)
- 函數(shù)發(fā)生器的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 函數(shù)發(fā)生器的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 多功能函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 基于fpga的函數(shù)發(fā)生器設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 簡(jiǎn)易函數(shù)信號(hào)發(fā)生器的分析與設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 簡(jiǎn)易函數(shù)信號(hào)發(fā)生器的分析與設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)---信號(hào)發(fā)生器的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論