版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、?EDA技術(shù)實(shí)用教程?課程設(shè)計(jì)課程設(shè)計(jì)報(bào)告課 題: EDA電子琴 課程名稱: EDA技術(shù)實(shí)用教程 學(xué)院名稱: 物理電氣信息學(xué)院 班 級(jí): 2021級(jí)通信工程1班 學(xué)生: 安 昱 學(xué) 號(hào): 12021243986 指導(dǎo)教師: 楊澤林2021年12月26日EDA技術(shù)實(shí)用教程課程設(shè)計(jì)EDA電子琴摘 要 :本課程設(shè)計(jì)主要采用EDA技術(shù)設(shè)計(jì)一個(gè)簡(jiǎn)易的八音符電子琴,它可通過按鍵輸入來(lái)控制音響從而演奏出已存入的樂曲。在課程設(shè)計(jì)中,系統(tǒng)開發(fā)平臺(tái)為Windows XP,程序設(shè)計(jì)采用VHDL語(yǔ)言,程序運(yùn)行平臺(tái)為Quartus II。然后編寫程序?qū)崿F(xiàn)電子琴的各項(xiàng)功能,使不同的音階對(duì)應(yīng)不同頻率的正弦波,按下不同的鍵時(shí)
2、發(fā)出對(duì)應(yīng)頻率的聲音。程序通過調(diào)試運(yùn)行,時(shí)序仿真,電路功能驗(yàn)證,順利地實(shí)現(xiàn)了設(shè)計(jì)目標(biāo)。關(guān)鍵詞 : 電子琴;EDA;VHDL;音階;頻率1、引 言隨著信息科學(xué)的進(jìn)步,現(xiàn)代電子產(chǎn)品的性能越來(lái)越高,復(fù)雜度越來(lái)越大,更新步伐也越來(lái)越快,電子技術(shù)的開展進(jìn)入了劃時(shí)代的階段。其中電子技術(shù)的核心便是電子設(shè)計(jì)自動(dòng)化EDAElectronic Design Automatic技術(shù)。EDA是指以電腦為工作平臺(tái),融合了應(yīng)用電子技術(shù)、電腦技術(shù)、智能化技術(shù)的最新成果而開發(fā)出的電子CAD通用軟件包,它根據(jù)硬件描述語(yǔ)言VHDL完成的設(shè)計(jì)文件,自動(dòng)完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局布線及仿真,直至完成對(duì)于特定目標(biāo)芯片的適
3、配編譯、邏輯映射和編程下載等工作。本課程設(shè)計(jì)就是采用EDA技術(shù)描述語(yǔ)言VHDL編程實(shí)現(xiàn)簡(jiǎn)易電子琴的各項(xiàng)功能,是EDA技術(shù)應(yīng)用于實(shí)際的一個(gè)很好的例子。1.1 課程設(shè)計(jì)目的本課程設(shè)計(jì)主要是基于VHDL文本輸入法設(shè)計(jì)樂曲演奏電路,該系統(tǒng)基于電腦中時(shí)鐘分頻器的原理,采用自頂向下的設(shè)計(jì)方法來(lái)實(shí)現(xiàn),通過按鍵輸入來(lái)控制音響或者自動(dòng)演奏已存入的歌曲。系統(tǒng)由樂曲自動(dòng)演奏模塊、音調(diào)發(fā)生模塊和數(shù)控分頻模塊三個(gè)局部組成。系統(tǒng)實(shí)現(xiàn)是用硬件描述語(yǔ)言VHDL按模塊化方式進(jìn)行設(shè)計(jì),然后進(jìn)行編程、時(shí)序仿真、電路功能驗(yàn)證,奏出美妙的樂曲。該設(shè)計(jì)最重要的一點(diǎn)就是通過按鍵控制不同的音調(diào)發(fā)生,每一個(gè)音調(diào)對(duì)應(yīng)不同的頻率,從而輸出對(duì)應(yīng)頻率
4、的聲音。1.2 課程設(shè)計(jì)內(nèi)容1設(shè)計(jì)一個(gè)簡(jiǎn)易的八音符電子琴,它可通過按鍵輸入來(lái)控制音響。2系統(tǒng)演奏時(shí)可以選擇是手動(dòng)演奏由鍵盤輸入還是自動(dòng)演奏已存入的樂曲。EDA技術(shù)實(shí)用教程課程設(shè)計(jì)3能夠自動(dòng)演奏多首樂曲,且樂曲可重復(fù)演奏。1.3 課程設(shè)計(jì)原理本課程設(shè)計(jì)目的在于靈活運(yùn)用EDA技術(shù)編程實(shí)現(xiàn)一個(gè)簡(jiǎn)易電子琴的樂曲演奏,它要求在實(shí)驗(yàn)箱上構(gòu)造一個(gè)電子琴電路,不同的音階對(duì)應(yīng)不同頻率的正弦波。按下每個(gè)代表不同音階的按鍵時(shí),能夠發(fā)出對(duì)應(yīng)頻率的聲音。故系統(tǒng)可分為樂曲自動(dòng)演奏模塊AUTO、音調(diào)發(fā)生模塊TONE和數(shù)控分頻模塊(FENPIN)三局部。系統(tǒng)的整體組裝設(shè)計(jì)原理圖如1-1所示。圖1-1系統(tǒng)的整體組裝設(shè)計(jì)原理圖由
5、于設(shè)計(jì)分模塊組成,每個(gè)單獨(dú)的模塊都是一個(gè)完整的源程序,分別實(shí)現(xiàn)不同性質(zhì)的功能,但是每個(gè)模塊又是緊密關(guān)聯(lián)的,前一個(gè)模塊的輸出很可能是后一模塊的輸入。如AUTO模塊的音符信號(hào)輸出就是TONE模塊的音符信號(hào)輸入。另外,時(shí)鐘脈沖信號(hào)在本課程設(shè)計(jì)中用的最多,用處也最大,一般情況下時(shí)鐘信號(hào)處上升沿有效,判斷和控制各個(gè)計(jì)數(shù)器計(jì)數(shù)多少。2 、EDA、VHDL簡(jiǎn)介EDA技術(shù)是以電腦為工作平臺(tái),融合了應(yīng)用電子技術(shù)、電腦技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動(dòng)設(shè)計(jì)。EDA可提供文本輸入以及圖形編輯的方法將設(shè)計(jì)者的意圖用程序或者圖形方式表達(dá)出來(lái),而我們經(jīng)常用到的VHDL語(yǔ)言便是用于編寫源程序所需的最常
6、見的硬件描述語(yǔ)言VHDL之一。2.1 EDA技術(shù)EDA是電子設(shè)計(jì)自動(dòng)化Electronic Design Automation縮寫,是90年代初從CAD、CAM、CAT和CAE的概念開展而來(lái)的。EDA技術(shù)是電子設(shè)計(jì)的開展趨勢(shì),利用EDA工具可以代替設(shè)計(jì)者完成電子系統(tǒng)設(shè)計(jì)中的大局部工作。EDA工具從數(shù)字系統(tǒng)設(shè)計(jì)的單一領(lǐng)域,EDA技術(shù)實(shí)用教程課程設(shè)計(jì) 開展到今天,應(yīng)用范圍已涉及模擬、微波等多個(gè)領(lǐng)域,可以實(shí)現(xiàn)各個(gè)領(lǐng)域電子系統(tǒng)設(shè)計(jì)的測(cè)試、設(shè)計(jì)方針和布局布線等?,F(xiàn)在對(duì)EDA的概念或范疇用得很寬,包括在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個(gè)領(lǐng)域,都有EDA的應(yīng)用。目前EDA主要輔助
7、進(jìn)行三個(gè)方面的設(shè)計(jì)工作:IC設(shè)計(jì)、電子電路設(shè)計(jì)和PCB設(shè)計(jì)。2.2 VHDL語(yǔ)言常用硬件描述語(yǔ)言有VHDL、Verilog和ABEL語(yǔ)言,而VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的結(jié)構(gòu)特點(diǎn)是將設(shè)計(jì)實(shí)體的內(nèi)部功能和算法完成局部。相對(duì)于其他硬件語(yǔ)言,VHDL有許多優(yōu)點(diǎn)。比方VHDL的行為描述能力更強(qiáng),而且具有豐富的仿真語(yǔ)句和庫(kù)函數(shù),隨時(shí)可對(duì)系統(tǒng)進(jìn)行仿真模擬,使設(shè)計(jì)者對(duì)整個(gè)工程的結(jié)構(gòu)和功能可行性做出判斷;另外,由于具有類屬描述語(yǔ)句和子程序調(diào)用等功能,對(duì)于完成的設(shè)計(jì),在不改變?cè)闯绦虻臈l件下,只需改變類屬參量和函數(shù),就能輕易地改變?cè)O(shè)計(jì)的規(guī)模和結(jié)構(gòu)
8、。3、簡(jiǎn)易電子琴的設(shè)計(jì)過程根據(jù)系統(tǒng)設(shè)計(jì)要求,系統(tǒng)該系統(tǒng)基于電腦中時(shí)鐘分頻器的原理,設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法,通過按鍵輸入來(lái)控制音響或者自動(dòng)演奏已存入的歌曲。它由樂曲自動(dòng)演奏模塊、音調(diào)發(fā)生模塊和數(shù)控分頻模塊三局部組成。3.1 樂曲自動(dòng)演奏模塊樂曲自動(dòng)演奏模塊的作用是產(chǎn)生8位發(fā)生控制輸入信號(hào)。當(dāng)進(jìn)行自動(dòng)演奏時(shí),由存儲(chǔ)在此模塊的8位二進(jìn)制數(shù)作為發(fā)聲控制輸入,從而自動(dòng)演奏樂曲。該模塊的VHDL源程序主要由3個(gè)工作進(jìn)程組成,分別為PULSE0,MUSIC和COM1。PULSE0的作用是根據(jù)鍵盤輸入自動(dòng)演奏的值0或1來(lái)判斷計(jì)數(shù)器COUNT以及脈沖CLK2的輸出值。局部源程序如下:PULSE0:PROCE
9、SS(CLK,AUTO) -工作進(jìn)程開始VARIABLE COUNT:INTEGER RANGE 0 TO 8; -定義計(jì)數(shù)器變量,值從0到8IF AUTO=1THEN -鍵盤輸入為1COUNT:=0;CLK2INDEX0INDEX0TONE0=912;CODE=0010010;HIGHTONE0=1372;CODE=0001111;HIGHTONE0=2047;CODE=0000001;HIGH=0;顯然,該模塊最主要的作用就是給音符輸入預(yù)設(shè)頻率值,因?yàn)椋娮忧僮罱K實(shí)現(xiàn)樂曲演奏就是輸出不同頻率的正弦波,此模塊就是將二進(jìn)制發(fā)聲信號(hào)轉(zhuǎn)化為對(duì)應(yīng)的頻率。3.3 數(shù)控分頻模塊數(shù)控分頻模塊是對(duì)時(shí)基脈沖進(jìn)
10、行分頻,得到與0、1、2、3、4、5、6、7八個(gè)音符相對(duì)應(yīng)的頻率。FENPIN模塊的源程序符號(hào)編輯圖如圖3-3。該模塊主要由4個(gè)工作進(jìn)程組成。首先,根據(jù)系統(tǒng)時(shí)鐘信號(hào)的輸入得到時(shí)基脈沖以及計(jì)數(shù)器的值,而時(shí)鐘信號(hào)在AUTO模塊中便已給出,兩者之間的設(shè)置關(guān)系類似于AUTO模塊中第一個(gè)工作進(jìn)程的設(shè)置。第二個(gè)PROCESS是此模塊的核心,即由時(shí)基脈沖值轉(zhuǎn)化為音符的頻率。局部源程序如下:VARIABLE COUNT11:INTEGER RANGE 0 TO 2047;-定義頻率計(jì)數(shù)器,從0到2047HzIF(PRECLKEVENT AND PRECLK=1)THEN -時(shí)基脈沖為1時(shí)IF COUNT11T
11、ONE1 THEN -頻率計(jì)數(shù)器小于音符分頻系數(shù)COUNT11:=COUNT11+1;FULLSPKS=1; -計(jì)數(shù)加1,揚(yáng)聲器音頻為1ELSECOUNT11:=0;FULLSPKS=0;最后一個(gè)PROCESS那么是用來(lái)設(shè)置揚(yáng)聲器輸出信號(hào)的,揚(yáng)聲器信號(hào)由0和1控制,當(dāng)且僅當(dāng)前一個(gè)PROCESS中的FULLSPKS輸出為1時(shí),揚(yáng)聲器才有輸出,再根據(jù)計(jì)數(shù)器取值來(lái)確定輸出是1還是0。局部源程序如下:IF(FULLSPKSEVENT AND FULLSPKS=1)THEN -揚(yáng)聲器音頻信號(hào)為1COUNT2:=NOT COUNT2;IF COUNT2=1THENEDA技術(shù)實(shí)用教程課程設(shè)計(jì)SPKS=1;
12、-揚(yáng)聲器輸出為1ELSE SPK=0;3.4 頂層設(shè)計(jì)該DIANZIQIN模塊是整個(gè)電子琴設(shè)計(jì)的核心,也是VHDL程序的主程序,前面3個(gè)源程序都是作為子程序分別實(shí)現(xiàn)電子琴的某一功能,而DIANZIQIN模塊那么通過調(diào)用子程序最終實(shí)現(xiàn)樂曲演奏的目的,奏出美妙的樂曲。利用VHDL語(yǔ)言COMPONENT將三個(gè)模塊組合起來(lái),其中3個(gè)模塊和DIANZIQIN模塊的輸入輸出是一一對(duì)應(yīng)的,比方AUTO對(duì)應(yīng)HANDTOAUTO,TONE0對(duì)應(yīng)TONE2,SPKS對(duì)應(yīng)SPKOUT等,該模塊的符號(hào)編輯圖如圖3-2。圖3-2 DIANZIQIN模塊的符號(hào)編輯圖該圖描述的是DIANZIQIN模塊輸入輸出的變量表示,整
13、個(gè)系統(tǒng)的整體組裝設(shè)計(jì)原理圖就是這3幅編輯圖按輸入輸出關(guān)系順序連接而成的。4 、系統(tǒng)仿真系統(tǒng)仿真是在實(shí)際系統(tǒng)上進(jìn)行實(shí)驗(yàn)研究比較困難時(shí)適用的必不可少的工具,它是指通過系統(tǒng)模型實(shí)驗(yàn)去研究一個(gè)已經(jīng)存在或正在設(shè)計(jì)的系統(tǒng)的過程,通俗地講,就是進(jìn)行模型實(shí)驗(yàn)。因而,系統(tǒng)仿真的結(jié)果斷定整個(gè)課程設(shè)計(jì)任務(wù)完成的到位程度。4.1 時(shí)序仿真EDA技術(shù)實(shí)用教程課程設(shè)計(jì)編譯完成后,可以對(duì)所進(jìn)行的設(shè)計(jì)進(jìn)行仿真,下面簡(jiǎn)單介紹一下仿真的步驟。1 翻開波形編輯器,在Node菜單中選擇Enter Nodes from SNF項(xiàng),列出所有的信號(hào),選擇所需要的信號(hào),然后畫出輸入信號(hào)的波形,最后將該文件以.scf的擴(kuò)展名存盤。2 在Qua
14、rtus菜單中翻開仿真器窗口,單擊Start按鈕,當(dāng)仿真器結(jié)束工作時(shí),就可以看到仿真的結(jié)果。本課程設(shè)計(jì)的仿真平臺(tái)是Quartus,通過對(duì)VHDL源程序進(jìn)行編譯檢錯(cuò),然后創(chuàng)立波形文件后綴名為.scf,參加輸入輸出變量,選擇適用的芯片以及設(shè)定仿真結(jié)束時(shí)間100us,設(shè)置好輸入初值進(jìn)行仿真,得到仿真波形圖。由于電子琴4個(gè)模塊都是獨(dú)立的程序,可分別對(duì)各個(gè)程序仿真,驗(yàn)證輸入輸出的正確性,但在最終能演奏出樂曲的那么是頂層設(shè)計(jì)模塊。1 樂曲自動(dòng)演奏模塊的仿真如圖4-1所示。圖4-1樂曲自動(dòng)演奏模塊的仿真圖該圖輸入系統(tǒng)時(shí)鐘信號(hào)CLK初值設(shè)為0,自動(dòng)演奏AUTO設(shè)為1,鍵盤輸入信號(hào)INDEX2為00,INDEX
15、0為音符信號(hào)輸出,是8位的二進(jìn)制代碼它根據(jù)COUNT0的值改變而改變。2 音調(diào)發(fā)生模塊的仿真如圖4-2所示。圖4-2音調(diào)發(fā)生模塊的仿真圖該圖輸入音符信號(hào)INDEX初值為00,輸出是音符顯示信號(hào)CODE為01,上下音EDA技術(shù)實(shí)用教程課程設(shè)計(jì) 顯示信號(hào)為0,音符的分頻系數(shù)為11111111即2047Hz。3 數(shù)控分頻模塊的仿真如圖4-3所示。圖4-3數(shù)控分頻模塊的仿真圖該圖輸入系統(tǒng)時(shí)鐘信號(hào)CLK1初值為0各輸出值都是在時(shí)鐘信號(hào)的下降沿有效,音符分頻系數(shù)TONE1為00100000即1290Hz,驅(qū)動(dòng)揚(yáng)聲器的音頻信號(hào)SPKS輸出為1。4 簡(jiǎn)易電子琴整個(gè)系統(tǒng)的仿真如圖4-4所示。圖4=4系統(tǒng)的仿真圖
16、該圖輸入系統(tǒng)時(shí)簡(jiǎn)易電子琴整個(gè)鐘信號(hào)CLK32MHZ初值為0,自動(dòng)演奏信號(hào)HANDTOAUTO初值為0,鍵盤輸入信號(hào)INDEX1為00000000;輸出音符信號(hào)CODE1那么為0110000,上下音節(jié)信號(hào)HIGH1變?yōu)?,即高音,音頻信號(hào)SPKOUT即輸出0,輸出為1時(shí)CODE1變?yōu)?110100,這時(shí)出現(xiàn)10ns的延時(shí)。在仿真時(shí)由于系統(tǒng)各方面原因影響,出現(xiàn)延時(shí)屬于正常現(xiàn)象。EDA技術(shù)實(shí)用教程課程設(shè)計(jì)4.2 電路功能驗(yàn)證在選擇好芯片以及設(shè)置引腳值后,下載源程序后綴名.sof到此芯片上,確認(rèn)編程器硬件是否已安裝好。按如下步驟翻開編程器窗口:在Quartus菜單中選擇Programmer項(xiàng),點(diǎn)擊Co
17、nfigure項(xiàng)將配置數(shù)據(jù)下載到一個(gè)FLEX器件中。再次對(duì)源程序進(jìn)行編譯導(dǎo)入程序然后運(yùn)行,揚(yáng)聲器發(fā)出初設(shè)的音符3,5音即報(bào)警。手按鍵盤或撥脈沖開關(guān)改變輸入信號(hào)那么揚(yáng)聲器發(fā)出對(duì)應(yīng)的頻率的聲音,鍵盤開關(guān)是與芯片引腳對(duì)應(yīng)相連的。4.3 問題分析在整個(gè)課程設(shè)計(jì)中,不可防止遇到很多難于解決的問題,一來(lái)是對(duì)EDA技術(shù)的不太了解,初涉VHDL語(yǔ)言以致很多語(yǔ)法和語(yǔ)言根本結(jié)構(gòu)、算法生疏,運(yùn)用不靈活,在編寫源程序上遇到很大難題,而且在編譯運(yùn)行程序時(shí)對(duì)出錯(cuò)的語(yǔ)句理解不到位,難于下手修改錯(cuò)誤語(yǔ)句,這使得在設(shè)計(jì)程序時(shí)遇到很大的阻礙,此外,VHDL語(yǔ)言的數(shù)據(jù)類型很容易造成混淆,比方IN STD_LOGIC_VECTOR(
18、7 DOWNTO 0)語(yǔ)句,它有時(shí)既可以認(rèn)為是從7下降到0,也可認(rèn)為是從0上升到7,當(dāng)輸入有多位時(shí),這就容易造成在讀懂仿真波形圖時(shí)讀位數(shù)倒置,使仿真現(xiàn)象與理論結(jié)果相出入。EDA技術(shù)實(shí)用教程課程設(shè)計(jì)在完成電路驗(yàn)證這一步時(shí),對(duì)頻率的選擇也是一大難點(diǎn),有的設(shè)計(jì)工程對(duì)頻率的要求很高,需要大頻率元件才能滿足設(shè)計(jì)需求,假設(shè)頻率元件選擇不恰當(dāng),將嚴(yán)重影響設(shè)計(jì)結(jié)果甚至沒有結(jié)果輸出。對(duì)于設(shè)計(jì)電子琴時(shí),由于要求輸出不同頻率的聲音,頻率變化范圍大,故需要一個(gè)12MHz的元件,對(duì)于小于這一值的頻率缺乏以滿足電路需求,仿真時(shí)只有一堆雜音輸出。在對(duì)于設(shè)計(jì)時(shí)遇到的不同問題時(shí),首先應(yīng)該理解問題關(guān)鍵所在,因?yàn)橛谜Z(yǔ)言編寫程序需要
19、仔細(xì)認(rèn)真的態(tài)度,一點(diǎn)點(diǎn)錯(cuò)誤漏洞將導(dǎo)致整個(gè)源程序無(wú)法編譯運(yùn)行,阻礙下一步工作完成進(jìn)度。5 、結(jié)束語(yǔ)通過這次VHDL課程設(shè)計(jì),不僅增強(qiáng)了我們的實(shí)踐動(dòng)手能力,也讓我們對(duì)課堂上所學(xué)到的理論知識(shí)的理解加深了許多,這給我們提供了一個(gè)在學(xué)習(xí)生活中很難得的理論聯(lián)系實(shí)際的時(shí)機(jī)。能夠借此時(shí)機(jī)了解到局部EDA技術(shù)的知識(shí)和學(xué)習(xí)運(yùn)用其中一種硬件描述語(yǔ)言VHDL編程實(shí)現(xiàn)各種常用器件的功能,這是在哪堂講課上都得不到的一筆財(cái)富。另一方面我們也發(fā)現(xiàn)了在平時(shí)學(xué)習(xí)過程中難于發(fā)現(xiàn)的許多缺點(diǎn)跟缺乏。比方實(shí)踐機(jī)會(huì)過少,所學(xué)的理論知識(shí)不能靈活運(yùn)用,在遇到實(shí)際的問題時(shí)無(wú)法正確處理;再者在課堂上獲得的專業(yè)知識(shí)過于淺顯,很多的有關(guān)根本操作原理、
20、操作方法都理解不了;課外知識(shí)了解的也過少,導(dǎo)致在課程設(shè)計(jì)初期,面對(duì)完全陌生的設(shè)計(jì)課題無(wú)從下手,不知所措。這就提醒我們?cè)谄綍r(shí)的學(xué)習(xí)生活中不能一味埋頭于面前的課本知識(shí),畢竟當(dāng)今社會(huì)競(jìng)爭(zhēng)越發(fā)劇烈,而學(xué)校能教授的東西有限,要想在人才市場(chǎng)中脫穎而出就只能靠我們自己。當(dāng)然,在學(xué)習(xí)之余我們更應(yīng)該積極參加各種有關(guān)專業(yè)知識(shí)的實(shí)踐活動(dòng)和比賽,穩(wěn)固所學(xué)理論,多注意培養(yǎng)初步的實(shí)際工作能力和專業(yè)技術(shù)能力,這樣在以后的工作崗位上不會(huì)顯得那么倉(cāng)促與生疏。參考文獻(xiàn)1 辛春艷. VHDL硬件描述語(yǔ)言. 北京:國(guó)防工業(yè)出版社,20022 甘歷. VHDL應(yīng)用與開發(fā)實(shí)踐. 北京:科學(xué)出版社,20033 VHDL Language
21、Reference Guide ,Alde Inc . Henderson NV USA ,19994 齊洪喜,陸穎. VHDL電路設(shè)計(jì)實(shí)用教程. 北京:清華大學(xué)出版社,20045 潘松,黃繼業(yè). EDA技術(shù)實(shí)用教程. 北京:科學(xué)出版社,2002EDA技術(shù)實(shí)用教程課程設(shè)計(jì)附錄1:樂曲自動(dòng)演奏源程序清單-程序名稱:AUTO.VHD-程序功能:采用VHDL語(yǔ)言編程產(chǎn)生8位發(fā)聲控制輸入信號(hào)。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTI
22、TY AUTO ISPORT(CLK: IN STD_LOGIC; -系統(tǒng)時(shí)鐘信號(hào)AUTO: IN STD_LOGIC; -鍵盤輸入/自動(dòng)演奏CLK2: BUFFER STD_LOGIC; -時(shí)鐘輸出INDEX2: IN STD_LOGIC_VECTOR(7 DOWNTO 0); -鍵盤輸入信號(hào)INDEX0: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -音符信號(hào)輸出END AUTO;ARCHITECTURE BEHAVIORAL OF AUTO ISSIGNAL COUNT0:INTEGER RANGE 0 TO 31; -定義信號(hào)計(jì)數(shù)器,有32個(gè)信號(hào)元素BEGINP
23、ULSE0:PROCESS(CLK,AUTO) -PULSE0工作進(jìn)程開始VARIABLE COUNT:INTEGER RANGE 0 TO 8; -定義變量計(jì)數(shù)器,從0到8BEGINIF AUTO=1THEN -鍵盤輸入為1COUNT:=0;CLK2=0; -計(jì)數(shù)器值為0,時(shí)鐘信號(hào)2幅值為0ELSIF(CLKEVENT AND CLK=1)THEN -輸入的時(shí)鐘信號(hào)為其他值COUNT:=COUNT+1; -計(jì)數(shù)器加1即為1IF COUNT=4 THENCLK2=1;ELSIF COUNT=8 THENCLK2=0;COUNT:=0;END IF;END IF;END PROCESS;MUSI
24、C:PROCESS(CLK2) -MUSIC工作進(jìn)程開始BEGINIF(CLK2EVENT AND CLK2=1)THEN -時(shí)鐘信號(hào)2為1IF(COUNT0=31)THEN -計(jì)數(shù)器值為31COUNT0=0; -計(jì)數(shù)器清0ELSEEDA技術(shù)實(shí)用教程課程設(shè)計(jì) COUNT0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0IN
25、DEX0INDEX0INDEX0INDEX0INDEX0NULL;END CASE;ELSE INDEX0TONE0=773;CODE=1001111;HIGHTONE0=912;CODE=0010010;HIGHTONE0=1036;CODE=0000110;HIGHTONE0=1116;CODE=1001100;HIGHTONE0=1197;CODE=0100100;HIGHTONE0=1290;CODE=0100000;HIGHTONE0=1372;CODE=0001111;HIGHTONE0=1410;CODE=0000000;HIGHTONE0=2047;CODE=0000001;H
26、IGH=0;END CASE;END PROCESS;END ART;EDA技術(shù)實(shí)用教程課程設(shè)計(jì)附錄3:數(shù)控分頻源程序清單-程序名稱:FENPIN.VHD-程序功能:采用VHDL語(yǔ)言編程對(duì)時(shí)基脈沖進(jìn)行分頻,得到8個(gè)音符相對(duì)應(yīng)的頻率。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FENPIN ISPORT(CLK1: IN STD_LOGIC;TONE1: IN INTEGER RANGE 0 TO 2047; -系統(tǒng)時(shí)鐘信號(hào)SPKS: OUT STD_LOGIC); -音符分頻系數(shù)END ENTITY FENPIN; -驅(qū)動(dòng)揚(yáng)聲器的音頻信號(hào)ARCHITECTURE ART OF FENPIN ISSIGNAL PRECLK:STD_LOGIC; -定義時(shí)基脈沖信號(hào)SIGNAL FULLSPKS:STD_LOGIC;BEGINPROCESS(CLK1)VARIABLE COUNT:INTEGER RANGE 0 TO
溫馨提示
- 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑工地安全文明施工環(huán)保設(shè)施租賃協(xié)議范本3篇
- 萬(wàn)兆工廠試點(diǎn)建設(shè)的整體方案與執(zhí)行路徑
- 痔瘡術(shù)后引流護(hù)理常規(guī)
- 《過秦論》教案設(shè)計(jì)要點(diǎn)2025版
- 2024年綠化養(yǎng)護(hù)勞務(wù)分包合同二零二四年度版3篇
- 2025版鋼琴租賃經(jīng)營(yíng)合作協(xié)議2篇
- 2024年高密度聚乙烯塑料袋定制銷售合同范本3篇
- 2025年度綠色建筑伸縮縫節(jié)能設(shè)計(jì)合同3篇
- 2024年污水處理工程量增補(bǔ)與排放標(biāo)準(zhǔn)協(xié)議范本3篇
- 2024涉外單位勞動(dòng)合同范本
- 交換機(jī)安裝調(diào)試記錄表實(shí)用文檔
- 理性思維作文素材800字(通用范文5篇)
- 口腔頜面外科學(xué) 09顳下頜關(guān)節(jié)疾病
- 應(yīng)急物資清單明細(xì)表
- 房地產(chǎn)估計(jì)第八章成本法練習(xí)題參考
- 《社會(huì)主義核心價(jià)值觀》優(yōu)秀課件
- 《妊娠期糖尿病患者個(gè)案護(hù)理體會(huì)(論文)3500字》
- 《小學(xué)生錯(cuò)別字原因及對(duì)策研究(論文)》
- 便攜式氣體檢測(cè)報(bào)警儀管理制度
- 酒店安全的管理制度
- (大潔王)化學(xué)品安全技術(shù)說明書
評(píng)論
0/150
提交評(píng)論