版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> FPGA課程設(shè)計(jì)報(bào)告</p><p> 題 目: 簡(jiǎn)易電子琴設(shè)計(jì)及FPGA功能驗(yàn)證 </p><p> 院 系: 電子工程學(xué)院</p><p><b> 專業(yè)班級(jí): </b></p><p><b> 學(xué)生姓名: </b></p><p&g
2、t; 導(dǎo)師姓名: </p><p> 起止時(shí)間: 2012-6-18 至 2012-6-29 </p><p> 2012年 6 月 29 日</p><p><b> 目錄</b></p><p><b> 1.任務(wù)..2</b></p><p&g
3、t;<b> 2.目的2</b></p><p><b> 3.使用環(huán)境2</b></p><p> 4.FPGA課程設(shè)計(jì)詳細(xì)內(nèi)容2</p><p> 4.1 技術(shù)規(guī)范2</p><p> 4.1.1 總體描述2</p><p> 4.1.2 結(jié)構(gòu)框圖
4、2</p><p> 4.1.3 引腳描述3</p><p> 4.1.3 應(yīng)用范圍................................................................................................5</p><p> 4.2 設(shè)計(jì)方案5</p><p>
5、 4.2.1 頂層方案設(shè)計(jì)5</p><p> 4.2.2 頂層模塊程序7</p><p> 4.3 功能驗(yàn)證方案及源程序7</p><p> 4.3.1按鍵輸入控制模塊方案設(shè)計(jì)及源程序.................................................7</p><p> 4.3.2控制模塊方案
6、設(shè)計(jì)及源程序.................................................................8</p><p> 4.3.3LCD驅(qū)動(dòng)模塊方案設(shè)計(jì)及源程序.......................................................11</p><p> 4.4 電路設(shè)計(jì)及功能仿真報(bào)告19</p&
7、gt;<p> 4.5 綜合及布局布線報(bào)告和引腳分布報(bào)告21</p><p> 4.6 硬件測(cè)試結(jié)果報(bào)告21</p><p> 5.課程設(shè)計(jì)的心得體會(huì)22</p><p><b> 6.參考資料22</b></p><p><b> 任務(wù):</b></p>
8、<p> a、設(shè)計(jì)一個(gè)簡(jiǎn)單電子琴。(內(nèi)置2~4首簡(jiǎn)單音調(diào)曲)</p><p> b、用FPGA開發(fā)板的按鍵可選擇演奏內(nèi)置曲調(diào),用數(shù)碼管顯示當(dāng)前演奏的哪個(gè)演奏曲目或停止。</p><p> c、要求電子琴具有自主選擇,自動(dòng)播放所選曲目或停止曲目。</p><p><b> 目的:</b></p><p&g
9、t; a、在掌握計(jì)算機(jī)組成原理理論相關(guān)的基礎(chǔ)上,了解 EDA技術(shù),掌握 Verilog HDL 硬件描述語(yǔ)言的設(shè)計(jì)方法和思想,通過(guò)學(xué)習(xí)的 Verilog HDL 語(yǔ)言結(jié)合電子電路的設(shè)計(jì)知識(shí)理論聯(lián)系實(shí)際,掌握所學(xué)的課程知識(shí);</p><p> b、深入學(xué)習(xí)Verilog HDL、FPGA,了解其編程環(huán)境;</p><p> c、學(xué)會(huì)運(yùn)用Modelsim和Quartus II等編程仿真軟
10、件;</p><p> d、將硬件語(yǔ)言編程與硬件實(shí)物功能演示相結(jié)合,加深理解Verilog HDL、FPGA的學(xué)習(xí);</p><p> 使用環(huán)境 (軟件/硬件環(huán)境,設(shè)備等)</p><p><b> 軟硬件環(huán)境:</b></p><p> 軟件:Quartus II 7.2, Modelsim6.1;</p
11、><p> 硬件環(huán)境:DEII開發(fā)板;</p><p> 設(shè)備:PC一臺(tái),USB下載線,F(xiàn)PGA開發(fā)板及電源。 </p><p> 在 EDA 軟件平臺(tái)上,根據(jù)硬件描述語(yǔ)言Verilog 完成的設(shè)計(jì)文件,自動(dòng)的完成邏輯編譯、化簡(jiǎn)、分割、綜合及優(yōu)化、布局布線、仿真、目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。</p><p> Veril
12、og HDL語(yǔ)言,用Modelsim進(jìn)行前仿真,以及代碼的生成,驗(yàn)證程序驗(yàn)證,也可進(jìn)行綜合。用Quartus II進(jìn)行后仿真。</p><p> FPGA課程設(shè)計(jì)詳細(xì)內(nèi)容</p><p><b> 4.1 技術(shù)規(guī)范</b></p><p><b> 4.1.1 原理</b></p><p>
13、 簡(jiǎn)易電子琴的設(shè)計(jì)通過(guò)軟硬件結(jié)合實(shí)現(xiàn),硬件系統(tǒng)包括主控制器芯片、LED、蜂鳴器等,軟件資源包括編寫Verilog HDL程序的應(yīng)用軟件Modelsim和仿真軟件Quartus II。電子琴有自動(dòng)播放功能。</p><p> 播放功能中有三首曲子。程序共有六個(gè)模塊,分別為主模塊、數(shù)碼管顯示模塊、分頻模塊、計(jì)數(shù)器模塊、存儲(chǔ)器模塊、音頻輸出模塊。硬件實(shí)現(xiàn)是用一個(gè)數(shù)碼管顯示當(dāng)前播放的曲目,另外四個(gè)按鍵key1、key2
14、用來(lái)選擇曲目。通過(guò)主模塊調(diào)用各模塊實(shí)現(xiàn)電子琴的功能。</p><p><b> 樂(lè)曲演奏的原理:</b></p><p> 樂(lè)曲演奏的原理:組成樂(lè)曲的每個(gè)音符的頻率值(音調(diào))以及持續(xù)時(shí)間(音長(zhǎng))是樂(lè)曲能持續(xù)演奏所需的兩個(gè)基本數(shù)據(jù),因此只要控制輸出到揚(yáng)聲器的激勵(lì)信號(hào)的頻率的高低和持續(xù)的時(shí)間,就可以使揚(yáng)聲器發(fā)出持續(xù)的樂(lè)曲聲。</p><p>&
15、lt;b> 音調(diào)的控制</b></p><p> 頻率的高低決定了音調(diào)的高低。音樂(lè)的十二平均率規(guī)定:每?jī)蓚€(gè)八度音(如簡(jiǎn)譜中的中音1與高音1)之間的頻率相差一倍。在兩個(gè)八度音之間,又可分為十二個(gè)半音,每半個(gè)音的頻率比為。另外,音名A(簡(jiǎn)譜中的低音6)的頻率為440HZ,音名B到C之間,E到F之間為半音,其余為全音。由此可以計(jì)算出簡(jiǎn)譜中從低音1至高音1之間的每個(gè)音名對(duì)應(yīng)的頻率如圖所示:<
16、/p><p> 所有不同頻率均從同一基準(zhǔn)頻率分頻得到。將分頻數(shù)四舍五入進(jìn)行取整,并盡量減小誤差。在本設(shè)計(jì)中選取5MHZ作為基準(zhǔn)頻率。從下表中可以看出最大分頻系數(shù)為11468,采用14位二進(jìn)制計(jì)數(shù)器分頻可滿足要求。此外還應(yīng)給出預(yù)置數(shù),對(duì)應(yīng)不同的預(yù)置數(shù),只需加載不同的預(yù)置數(shù)即可。采用加載預(yù)置數(shù)實(shí)現(xiàn)分頻的方法比采用反饋復(fù)零法節(jié)省資源,實(shí)現(xiàn)起來(lái)更加容易。</p><p><b> 音長(zhǎng)的
17、控制</b></p><p> 音符的持續(xù)時(shí)間須根據(jù)音樂(lè)的速度及每個(gè)音符的節(jié)拍數(shù)來(lái)確定。如果設(shè)定全音符的持續(xù)時(shí)間為1S的話,假設(shè)產(chǎn)生4分音符,則產(chǎn)生四分頻即可實(shí)現(xiàn)四分音符的時(shí)長(zhǎng),并提供4HZ分頻器。如圖為樂(lè)曲演奏的原理圖,其中,樂(lè)譜產(chǎn)生電路用來(lái)控制音樂(lè)的音調(diào)和時(shí)長(zhǎng)??刂埔粽{(diào)通過(guò)設(shè)置計(jì)數(shù)器的預(yù)置數(shù)來(lái)實(shí)現(xiàn),預(yù)置不同的數(shù)值會(huì)可以使計(jì)數(shù)器產(chǎn)生不同頻率的信號(hào),從而產(chǎn)生不同的音調(diào)??刂埔糸L(zhǎng)是通過(guò)控制計(jì)數(shù)器預(yù)置數(shù)
18、的停留時(shí)間來(lái)實(shí)現(xiàn)的,預(yù)置數(shù)的停留時(shí)間越長(zhǎng),則該音符的演奏時(shí)間越長(zhǎng),如2分音符,在記譜時(shí)將該音符記錄兩次即可。</p><p><b> 4.1.2總體方案</b></p><p> 本次設(shè)計(jì)課程的目的是讓我們?cè)趯W(xué)習(xí)verilogHDL的基礎(chǔ)上更加深入的了解硬件設(shè)計(jì)語(yǔ)言的功能、作用及其特征,并且將我們的動(dòng)手能力與創(chuàng)新能力結(jié)合起來(lái)。</p><p&
19、gt; 本次試驗(yàn)的總體框圖為:</p><p><b> 設(shè)計(jì)框圖說(shuō)明</b></p><p><b> 4.1.3引腳描述</b></p><p> 4.1.4 頂層劃分</p><p><b> 頂層模塊說(shuō)明:</b></p><p>
20、D觸發(fā)器:實(shí)現(xiàn)信號(hào)讀取,產(chǎn)生內(nèi)部使能端,控制分頻器;</p><p> 分頻器: 實(shí)現(xiàn)與基準(zhǔn)時(shí)鐘同步操作,讀取存儲(chǔ)器數(shù)據(jù)進(jìn)行分頻操作,實(shí)現(xiàn)音調(diào)與音長(zhǎng)的改變與輸出;</p><p> 節(jié)拍發(fā)生器: 根據(jù)使能端,產(chǎn)生對(duì)應(yīng)的頻率產(chǎn)生對(duì)應(yīng)音符時(shí)長(zhǎng);</p><p> 存儲(chǔ)器:實(shí)現(xiàn)將預(yù)置數(shù)傳送給分頻器,實(shí)現(xiàn)曲目的不停音調(diào)和音長(zhǎng);</p><p>
21、; 2分頻器:將產(chǎn)生的信號(hào)再次進(jìn)行2分頻;</p><p><b> 注: 音名顯示控制</b></p><p> 音名顯示電路用來(lái)顯示演奏樂(lè)曲時(shí)對(duì)應(yīng)的音樂(lè)曲曲目名??梢杂萌齻€(gè)數(shù)碼管,</p><p> 加以顯示,本設(shè)計(jì)中使用HIGH[3:0],MED[3;0],LOW[3;0]等信號(hào)加以顯示,為了能使其循環(huán)顯示,需要一時(shí)長(zhǎng)計(jì)數(shù)器,等音
22、樂(lè)演奏完成后,保證自動(dòng)從頭開始演奏。</p><p> 4.1.5子模塊描述</p><p> <1> 按鍵接收器 D觸發(fā)器</p><p><b> 1、功能描述</b></p><p> 運(yùn)用D觸發(fā)器和數(shù)據(jù)鎖存器實(shí)現(xiàn)數(shù)據(jù)線輸出的使能端。</p><p><b>
23、; 2、管腳描述</b></p><p><b> 3、實(shí)現(xiàn)說(shuō)明:</b></p><p> 在按鍵信號(hào)產(chǎn)生后,進(jìn)行信號(hào)的鎖存和產(chǎn)生使能信號(hào)。</p><p><b> 4、驗(yàn)證方案</b></p><p> 正常的信號(hào)鎖存,和信號(hào)轉(zhuǎn)換;</p><p>
24、; 是否實(shí)現(xiàn)正確使能輸出;</p><p> <2>節(jié)拍發(fā)生器 分頻器</p><p><b> 1、功能描述</b></p><p> 根據(jù)信號(hào)的輸入,對(duì)應(yīng)產(chǎn)生對(duì)應(yīng)曲目的節(jié)拍頻率時(shí)鐘用來(lái)讀取存儲(chǔ)器音調(diào)音長(zhǎng)數(shù)據(jù),產(chǎn)生不同的預(yù)置數(shù)</p><p><b> 2、管腳描述</b>&
25、lt;/p><p><b> 3、實(shí)現(xiàn)說(shuō)明</b></p><p> 在CLK的上升沿,將鎖存后的DIR信號(hào)輸入到內(nèi)部,并根據(jù)對(duì)應(yīng)時(shí)鐘節(jié)拍分頻,產(chǎn)生對(duì)應(yīng)節(jié)拍頻率。</p><p><b> 4、測(cè)試</b></p><p><b> 略;</b></p>&l
26、t;p><b> <3> 分頻器</b></p><p><b> 1、功能描述</b></p><p> 將基準(zhǔn)時(shí)鐘按照預(yù)置數(shù)的信息進(jìn)行分頻,且與時(shí)鐘同步,并當(dāng)使能端低電平時(shí),停止輸出,也可實(shí)現(xiàn)循環(huán)播放。</p><p><b> 2、管腳描述</b></p>
27、<p><b> ;</b></p><p><b> 3、實(shí)現(xiàn)說(shuō)明</b></p><p> 通過(guò)計(jì)數(shù)器、存儲(chǔ)器、D觸發(fā)器,實(shí)現(xiàn)分頻。當(dāng)計(jì)數(shù)從預(yù)置數(shù)到初始值時(shí)Speaker翻轉(zhuǎn)一次,即為分頻。</p><p><b> 4、測(cè)試</b></p><p>
28、 用modelsim仿真,觀察波形是否為所需方波;</p><p><b> <4>存儲(chǔ)器</b></p><p><b> 1、功能描述</b></p><p> 按照使能端的數(shù)據(jù),選擇對(duì)應(yīng)的預(yù)置數(shù)據(jù)進(jìn)行讀操作,并且于時(shí)鐘同步。</p><p><b> 2、管腳描述
29、</b></p><p><b> ??;</b></p><p><b> 3、實(shí)現(xiàn)說(shuō)明</b></p><p> 通過(guò)選擇,在時(shí)鐘的上升沿進(jìn)行數(shù)據(jù)的讀取,并將讀出的數(shù)據(jù)同時(shí)傳至數(shù)碼管,與分頻器。</p><p><b> 4、測(cè)試</b></p>
30、<p> 用modelsim仿真,觀察預(yù)置數(shù)的值是否為對(duì)應(yīng)曲目;</p><p> 4.1.6 驗(yàn)證方案:</p><p> 正常情況下,輸入一個(gè)DIR的值,查看波形輸出是否正常。改變DIR的值,再次查看波形輸出是否正常,并且其頻率是否滿足上述的公式計(jì)算出的值。</p><p> 4.1.7 應(yīng)用范圍:</p><p>
31、; 簡(jiǎn)易電子琴可以應(yīng)用于簡(jiǎn)單的設(shè)計(jì)中,亦可應(yīng)用于娛樂(lè)方面。</p><p><b> 4.2 設(shè)計(jì)方案</b></p><p> 4.2.1頂層方案設(shè)計(jì)</p><p> 頂層主要是對(duì)各個(gè)子模塊進(jìn)行調(diào)用與連接,頂層主要調(diào)用以下模塊:</p><p> (1)按鍵驅(qū)動(dòng)模塊 </p><p>
32、; 該模塊用于選擇所要播放曲目。</p><p><b> (2)控制模塊:</b></p><p> 該模塊用于處理比較所選擇的功能。</p><p> (3)數(shù)碼管顯示模塊:</p><p> 該模塊用于顯示用戶是否登陸成功,即LCD驅(qū)動(dòng)。</p><p> 4.2.2頂層模塊程序
33、</p><p><b> //信號(hào)定義與說(shuō)明</b></p><p> //CLK_4HZ: 用于控制音長(zhǎng)(節(jié)拍)的時(shí)鐘頻率</p><p> //clk_6MHZ:用于產(chǎn)生各種音階頻率的基準(zhǔn)頻率</p><p> //speak:用于激勵(lì)揚(yáng)聲器的輸出信號(hào),本例中為方波信號(hào)</p><p&g
34、t; //high,med,low:分別用于顯示高音,中音和低音音符,各驅(qū)動(dòng)一個(gè)數(shù)碼管來(lái)顯示</p><p> module music(clk,key1,key0,speak,high,low,decodeout); //頂層模塊:</p><p> input clk,key1,key0;</p><p> output speak,high,low;
35、</p><p> output [6:0] decodeout;</p><p> wire [1:0] dir;</p><p> wire clk,key1,key0;</p><p> wire clk_5MHZ,clk_4hz;</p><p> wire speak;</p><
36、;p> wire ck,dr;</p><p> wire [11:0] voice;</p><p> wire [6:0] decodeout;</p><p> wire high,low;</p><p> assign high=1;</p><p> assign low=0;</p
37、><p> assign dir={key1,key0};</p><p> clock5mhz mhz(.clk(clk),.dir(dir),.clk_5MHZ(clk_5MHZ));</p><p> clock4hz hz(.clk_5MHZ(clk_5MHZ),.dir(dir),.ck(ck),.clk_4HZ(clk_4HZ));</p>
38、<p> D d1(.dir(dir),.dr(dr));</p><p> DDR ddr1(.dir(dir),.ck(ck),.voice(voice));</p><p> main m(.dr(dr),.clk_5MHZ(clk_5MHZ),.clk_4HZ(clk_4HZ),.voice(voice),.speak(speak));</p>&
39、lt;p> decode dec(.dir(dir),.decodeout(decodeout));</p><p><b> endmodule</b></p><p><b> //信號(hào)定義與說(shuō)明</b></p><p> //CLK_4HZ: 用于控制音長(zhǎng)(節(jié)拍)的時(shí)鐘頻率</p><
40、;p> //clk_6MHZ:用于產(chǎn)生各種音階頻率的基準(zhǔn)頻率</p><p> //speak:用于激勵(lì)揚(yáng)聲器的輸出信號(hào),本例中為方波信號(hào)</p><p> //high,med,low:分別用于顯示高音,中音和低音音符,各驅(qū)動(dòng)一個(gè)數(shù)碼管來(lái)顯示</p><p> module DDR(dir,ck,voice);</p><p&g
41、t; input [1:0] dir;</p><p><b> input ck;</b></p><p> output [11:0] voice;</p><p> wire [1:0] dir; </p><p><b> wire ck;</b></p><p
42、> wire [11:0] voice;</p><p> reg [7:0] counter;</p><p> reg [3:0] high,med,low;</p><p> assign voice={high,med,low}; </p><p> always @ (posedge ck)</p>&
43、lt;p> if(dir==2'b00)</p><p> counter<=0;</p><p> else if(dir==2'b01) //《梁?!窐?lè)曲演奏電路</p><p><b> begin </b></p><p> if(counte
44、r==63) counter<=0;</p><p> else counter<=counter+1;</p><p> case(counter)</p><p> 0: {high,med,low}<='b000000000011;</p><p> 1: {high,med,low}<='
45、;b000000000011;</p><p> 2: {high,med,low}<='b000000000011;</p><p> 3: {high,med,low}<='b000000000011;</p><p> 4: {high,med,low}<='b000000000101;</p>&
46、lt;p> 5: {high,med,low}<='b000000000101;</p><p> 6: {high,med,low}<='b000000000101;</p><p> 7: {high,med,low}<='b000000000110;</p><p> 8: {high,med,low}&
47、lt;='b000000010000;</p><p> 9: {high,med,low}<='b000000010000;</p><p> 10: {high,med,low}<='b000000010000;</p><p> 11: {high,med,low}<='b000000100000;<
48、;/p><p> 12: {high,med,low}<='b000000000110;</p><p> 13: {high,med,low}<='b000000010000;</p><p> 14: {high,med,low}<='b000000000101;</p><p> 15: {
49、high,med,low}<='b000000000101;</p><p> 16: {high,med,low}<='b000001010000;</p><p> 17: {high,med,low}<='b000001010000;</p><p> 18: {high,med,low}<='b0
50、00001010000;</p><p> 19: {high,med,low}<='b000100000000;</p><p> 20: {high,med,low}<='b000001100000;</p><p> 21: {high,med,low}<='b000001010000;</p>&
51、lt;p> 22: {high,med,low}<='b000000110000;</p><p> 23: {high,med,low}<='b000001010000;</p><p> 24: {high,med,low}<='b000000100000;</p><p> 25: {high,med,l
52、ow}<='b000000100000;</p><p> 26: {high,med,low}<='b000000100000;</p><p> 27: {high,med,low}<='b000000100000;</p><p> 28: {high,med,low}<='b00000010000
53、0;</p><p> 29: {high,med,low}<='b000000100000;</p><p> 30: {high,med,low}<='b000000100000;</p><p> 31: {high,med,low}<='b000000100000;</p><p>
54、32: {high,med,low}<='b000000100000;</p><p> 33: {high,med,low}<='b000000100000;</p><p> 34: {high,med,low}<='b000000100000;</p><p> 35: {high,med,low}<=
55、39;b000000110000;</p><p> 36: {high,med,low}<='b000000000111;</p><p> 37: {high,med,low}<='b000000000111;</p><p> 38: {high,med,low}<='b000000000110;</p&g
56、t;<p> 39: {high,med,low}<='b000000000110;</p><p> 40: {high,med,low}<='b000000000101;</p><p> 41: {high,med,low}<='b000000000101;</p><p> 42: {high,
57、med,low}<='b000000000101;</p><p> 43: {high,med,low}<='b000000000110;</p><p> 44: {high,med,low}<='b000000010000;</p><p> 45: {high,med,low}<='b000000
58、010000;</p><p> 46: {high,med,low}<='b000000100000;</p><p> 47: {high,med,low}<='b000000100000;</p><p> 48: {high,med,low}<='b000000000011;</p><p&
59、gt; 49: {high,med,low}<='b000000000011;</p><p> 50: {high,med,low}<='b000000010000;</p><p> 51: {high,med,low}<='b000000010000;</p><p> 52: {high,med,low}&l
60、t;='b000000000110;</p><p> 53: {high,med,low}<='b000000000101;</p><p> 54: {high,med,low}<='b000000000110;</p><p> 55: {high,med,low}<='b000000010000;<
61、;/p><p> 56: {high,med,low}<='b000000000101;</p><p> 57: {high,med,low}<='b000000000101;</p><p> 58: {high,med,low}<='b000000000101;</p><p> 59: {
62、high,med,low}<='b000000000101;</p><p> 60: {high,med,low}<='b000000000101;</p><p> 61: {high,med,low}<='b000000000101;</p><p> 62: {high,med,low}<='b0
63、00000000101;</p><p> 63: {high,med,low}<='b000000000101;</p><p> default: {high,med,low}<='b000000000000;</p><p><b> endcase</b></p><p><
64、;b> end</b></p><p> else if(dir==2'b10) //《天空之城》樂(lè)曲演奏電路</p><p><b> begin</b></p><p> if(counter==195) counter<=0;</p><p> else
65、 counter<=counter+1;</p><p> case(counter)</p><p> 0: {high,med,low}='b000001100000;//中6</p><p> 1: {high,med,low}='b000010000000;//中7</p><p> 2: {high,m
66、ed,low}='b000100000000;//高1</p><p> 3: {high,med,low}='b000100000000;//高1</p><p> 4: {high,med,low}='b000100000000;//高1</p><p> 5: {high,med,low}='b000010000000;/
67、/中7</p><p> 6: {high,med,low}='b000100000000;//高1</p><p> 7: {high,med,low}='b000100000000;//高1</p><p> 8: {high,med,low}='b001100000000;//高3</p><p> 9:
68、 {high,med,low}='b001100000000;//高3</p><p> 10: {high,med,low}='b000010000000;//中7</p><p> 11: {high,med,low}='b000010000000;//中7</p><p> 12: {high,med,low}='b000
69、010000000;//中7</p><p> 13: {high,med,low}='b000010000000;//中7</p><p> 14: {high,med,low}='b000010000000;//中7</p><p> 15: {high,med,low}='b000010000000;//中7</p>
70、<p> 16: {high,med,low}='b000000110000;//中3</p><p> 17: {high,med,low}='b000000110000;//中3</p><p> 18: {high,med,low}='b000001100000;//中6</p><p> 19: {high,med
71、,low}='b000001100000;//中6</p><p> 20: {high,med,low}='b000001100000;//中6</p><p> 21: {high,med,low}='b000001010000;//中5</p><p> 22: {high,med,low}='b000001100000;
72、//中6</p><p> 23: {high,med,low}='b000001100000;//中6</p><p> 24: {high,med,low}='b000000000111;//中1</p><p> 25: {high,med,low}='b000000000111;//中1</p><p>
73、 26: {high,med,low}='b000001010000;//中5</p><p> 27: {high,med,low}='b000001010000;//中5</p><p> 28: {high,med,low}='b000001010000;//中5</p><p> 29: {high,med,low}='
74、;b000001010000;//中5</p><p> 30: {high,med,low}='b000001010000;//中5</p><p> 31: {high,med,low}='b000001010000;//中5 </p><p> 32: {high,med,low}='b000000110000;
75、//中3</p><p> 33: {high,med,low}='b000000110000;//中3</p><p> 34: {high,med,low}='b000000111000;//中4</p><p> 35: {high,med,low}='b000000111000;//中4</p><p>
76、 36: {high,med,low}='b000000111000;//中4</p><p> 37: {high,med,low}='b000000110000;//中3</p><p> 38: {high,med,low}='b000000111000;//中4</p><p> 39: {high,med,low}='
77、;b000100000000;//高1</p><p> 40: {high,med,low}='b000100000000;//高1</p><p> 41: {high,med,low}='b000100000000;//高1</p><p> 42: {high,med,low}='b000000110000;//中3</p
78、><p> 43: {high,med,low}='b000000110000;//中3</p><p> 44: {high,med,low}='b000000110000;//中3</p><p> 45: {high,med,low}='b000100000000;//高1</p><p> 46: {hig
79、h,med,low}='b000100000000;//高1</p><p> 47: {high,med,low}='b000100000000;//高1</p><p> 48: {high,med,low}='b000010000000;//中7</p><p> 49: {high,med,low}='b00001000
80、0000;//中7</p><p> 50: {high,med,low}='b000010000000;//中7</p><p> 51: {high,med,low}='b000000111000;//中4</p><p> 52: {high,med,low}='b000000111000;//中4</p><
81、p> 53: {high,med,low}='b000000111000;//中4</p><p> 54: {high,med,low}='b000010000000;//中7</p><p> 55: {high,med,low}='b000010000000;//中7</p><p> 56: {high,med,low}
82、='b000010000000;//中7</p><p> 57: {high,med,low}='b000010000000;//中7</p><p> 58: {high,med,low}='b000010000000;//中7</p><p> 59: {high,med,low}='b000010000000;//中7&
83、lt;/p><p> 60: {high,med,low}='b000010000000;//中7</p><p> 61: {high,med,low}='b000010000000;//中7</p><p> 62: {high,med,low}='b000001100000;//中6</p><p> 63:
84、 {high,med,low}='b000010000000;//中7</p><p> 64: {high,med,low}='b000100000000;//高1</p><p> 65: {high,med,low}='b000100000000;//高1</p><p> 66: {high,med,low}='b000
85、100000000;//高1</p><p> 67: {high,med,low}='b010100000000;//高7</p><p> 68: {high,med,low}='b000100000000;//高1</p><p> 69: {high,med,low}='b000100000000;//高1</p>
86、<p> 70: {high,med,low}='b001100000000;//高3</p><p> 71: {high,med,low}='b001100000000;//高3</p><p> 72: {high,med,low}='b000010000000;//中7</p><p> 73: {high,med
87、,low}='b000010000000;//中7</p><p> 74: {high,med,low}='b000010000000;//中7</p><p> 75: {high,med,low}='b000000110000;//中3</p><p> 76: {high,med,low}='b000000110000;
88、//中3</p><p> 77: {high,med,low}='b000001100000;//中6</p><p> 78: {high,med,low}='b000001100000;//中6</p><p> 79: {high,med,low}='b000001100000;//中6</p><p>
89、 80: {high,med,low}='b000000000101;//中5</p><p> 81: {high,med,low}='b000001100000;//中6</p><p> 82: {high,med,low}='b000001100000;//中6</p><p> 83: {high,med,low}=&
90、#39;b000000000111;//中1</p><p> 84: {high,med,low}='b000000000111;//中1</p><p> 85: {high,med,low}='b000001010000;//中5</p><p> 86: {high,med,low}='b000001010000;//中5<
91、;/p><p> 87: {high,med,low}='b000001010000;//中5</p><p> 88: {high,med,low}='b000001010000;//中5</p><p> 89: {high,med,low}='b000001010000;//中5</p><p> 90: {
92、high,med,low}='b000001010000;//中5 </p><p> 91: {high,med,low}='b000000110000;//中3</p><p> 92: {high,med,low}='b000000110000;//中3</p><p> 93: {high,med,low}=&
93、#39;b000000111000;//中4</p><p> 94: {high,med,low}='b000000111000;//中4 </p><p> 95: {high,med,low}='b000100000000;//高1</p><p> 96: {high,med,low}='b000010000000;//中7&l
94、t;/p><p> 97: {high,med,low}='b000010000000;//中7</p><p> 98: {high,med,low}='b000010000000;//中7</p><p> 99: {high,med,low}='b000100000000;//高1</p><p> 100:
95、 {high,med,low}='b000100000000;//高1</p><p> 101: {high,med,low}='b001000000000;//高2</p><p> 102: {high,med,low}='b001000000000;//高2</p><p> 103: {high,med,low}='b
96、001100000000;//高3</p><p> 104: {high,med,low}='b000100000000;//高1</p><p> 105: {high,med,low}='b000100000000;//高1</p><p> 106: {high,med,low}='b000100000000;//高1</
97、p><p> 107: {high,med,low}='b000100000000;//高1</p><p> 108: {high,med,low}='b000100000000;//高1</p><p> 109: {high,med,low}='b000100000000;//高1</p><p> 110:
98、 {high,med,low}='b000010000000;//中7</p><p> 111: {high,med,low}='b000001100000;//中6</p><p> 112: {high,med,low}='b000001100000;//中6</p><p> 113: {high,med,low}=
99、9;b000010000000;//中7</p><p> 114: {high,med,low}='b000010000000;//中7</p><p> 115: {high,med,low}='b000001010000;//中5</p><p> 116: {high,med,low}='b000001010000;//中5&l
100、t;/p><p> 117: {high,med,low}='b000001100000;//中6</p><p> 118: {high,med,low}='b000001100000;//中6</p><p> 119: {high,med,low}='b000001100000;//中6</p><p> 1
101、20: {high,med,low}='b000001100000;//中6</p><p> 121: {high,med,low}='b000001100000;//中6</p><p> 122: {high,med,low}='b000001100000;//中6</p><p> 123: {high,med,low}=
102、9;b000000000111;//中1</p><p> 124: {high,med,low}='b000000000111;//中1</p><p> 125: {high,med,low}='b001000000000;//高2</p><p> 126: {high,med,low}='b001100000000;//高3&l
103、t;/p><p> 127: {high,med,low}='b001100000000;//高3</p><p> 128: {high,med,low}='b001100000000;//高3</p><p> 129: {high,med,low}='b001000000000;//高2</p><p> 1
104、30: {high,med,low}='b001100000000;//高3</p><p> 131: {high,med,low}='b001100000000;//高3</p><p> 132: {high,med,low}='b010000000000;//高5</p><p> 133: {high,med,low}=
105、'b010000000000;//高5</p><p> 134: {high,med,low}='b001000000000;//高2</p><p> 135: {high,med,low}='b001000000000;//高2</p><p> 136: {high,med,low}='b001000000000;//高
106、2</p><p> 137: {high,med,low}='b001000000000;//高2</p><p> 138: {high,med,low}='b001000000000;//高2</p><p> 139: {high,med,low}='b001000000000;//高2</p><p>
107、 140: {high,med,low}='b000001010000;//中5</p><p> 141: {high,med,low}='b000001010000;//中5</p><p> 142: {high,med,low}='b000100000000;//高1</p><p> 143: {high,med,low}=
108、'b000100000000;//高1</p><p> 144: {high,med,low}='b000100000000;//高1</p><p> 145: {high,med,low}='b000010000000;//中7</p><p> 146: {high,med,low}='b000100000000;//高
109、1</p><p> 147: {high,med,low}='b000100000000;//高1</p><p> 148: {high,med,low}='b001100000000;//高3</p><p> 149: {high,med,low}='b001100000000;//高3</p><p>
110、 150: {high,med,low}='b001100000000;//高3</p><p> 151: {high,med,low}='b001100000000;//高3</p><p> 152: {high,med,low}='b001100000000;//高3</p><p> 153: {high,med,low}=
111、'b001100000000;//高3</p><p> 154: {high,med,low}='b001100000000;//高3</p><p> 155: {high,med,low}='b001100000000;//高3</p><p> 156: {high,med,low}='b000001100000;//中
112、6</p><p> 157: {high,med,low}='b000001100000;//中6</p><p> 158: {high,med,low}='b000010000000;//中7</p><p> 159: {high,med,low}='b000010000000;//中7</p><p&
113、gt; 160: {high,med,low}='b000100000000;//高1</p><p> 161: {high,med,low}='b000100000000;//高1</p><p> 162: {high,med,low}='b000100000000;//高1</p><p> 163: {high,med,lo
114、w}='b000100000000;//高1</p><p> 164: {high,med,low}='b000010000000;//中7</p><p> 165: {high,med,low}='b000010000000;//中7</p><p> 166: {high,med,low}='b000100000000;
115、//高1</p><p> 167: {high,med,low}='b000100000000;//高1</p><p> 168: {high,med,low}='b001000000000;//高2</p><p> 169: {high,med,low}='b001000000000;//高2</p><p&
116、gt; 170: {high,med,low}='b000100000000;//高1</p><p> 171: {high,med,low}='b000100000000;//高1</p><p> 172: {high,med,low}='b000100000000;//高1</p><p> 173: {high,med,l
117、ow}='b000001010000;//中5</p><p> 174: {high,med,low}='b000001010000;//中5</p><p> 175: {high,med,low}='b000001010000;//中5</p><p> 176: {high,med,low}='b000001010000
118、;//中5</p><p> 177: {high,med,low}='b000001010000;//中5</p><p> 178: {high,med,low}='b000001010000;//中5</p><p> 179: {high,med,low}='b001010000000;//高4</p><p
119、> 180: {high,med,low}='b001010000000;//高4</p><p> 181: {high,med,low}='b001100000000;//高3</p><p> 182: {high,med,low}='b001100000000;//高3</p><p> 183: {hi
120、gh,med,low}='b001000000000;//高2</p><p> 184: {high,med,low}='b001000000000;//高2</p><p> 185: {high,med,low}='b001000000000;//高2</p><p> 186: {high,med,low}='b0001
121、00000000;//高1</p><p> 187: {high,med,low}='b000100000000;//高1</p><p> 188: {high,med,low}='b001100000000;//高3</p><p> 189: {high,med,low}='b001100000000;//高3</p>
122、;<p> 190: {high,med,low}='b001100000000;//高3</p><p> 191: {high,med,low}='b001100000000;//高3</p><p> 192: {high,med,low}='b001100000000;//高3</p><p> 193: {hi
123、gh,med,low}='b001100000000;//高3</p><p> 194: {high,med,low}='b001100000000;//高3</p><p> 195: {high,med,low}='b001100000000;//高3</p><p> default: {high,med,low}<=
124、39;b000000000000;</p><p><b> endcase</b></p><p><b> end</b></p><p> else if(dir==2'b11) //《康定情歌》樂(lè)曲演奏電路</p><p><b> begi
125、n</b></p><p> if(counter==103) counter<=0;</p><p> else counter<=counter+1; </p><p> case(counter)</p><p> 0: {high,med,low}='b000
126、000110000;//中3</p><p> 1: {high,med,low}='b000000110000;//中3</p><p> 2: {high,med,low}='b000001010000;//中5</p><p> 3: {high,med,low}='b000001010000;//中5</p>&l
127、t;p> 4: {high,med,low}='b000001100000;//中6</p><p> 5: {high,med,low}='b000001100000;//中6</p><p> 6: {high,med,low}='b000001100000;//中6</p><p> 7: {high,med,low}=&
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- fpga課程設(shè)計(jì)--簡(jiǎn)易電子琴設(shè)計(jì)及fpga功能驗(yàn)證
- fpga課程設(shè)計(jì)報(bào)告--簡(jiǎn)易電子琴的設(shè)計(jì)
- fpga課程設(shè)計(jì)報(bào)告--簡(jiǎn)易電子琴的設(shè)計(jì)[1]
- 基于fpga的簡(jiǎn)易電子琴設(shè)計(jì)
- 簡(jiǎn)易電子琴課程設(shè)計(jì)
- 簡(jiǎn)易電子琴課程設(shè)計(jì)
- 簡(jiǎn)易電子琴課程設(shè)計(jì)
- 基于fpga電子琴設(shè)計(jì)
- 簡(jiǎn)易電子琴課程設(shè)計(jì) (2)
- 課程設(shè)計(jì)報(bào)告--- 簡(jiǎn)易電子琴
- 基于fpga的簡(jiǎn)易電子琴實(shí)現(xiàn)
- 單片機(jī)電子琴課程設(shè)計(jì)--帶存儲(chǔ)播放功能的簡(jiǎn)易電子琴設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--設(shè)計(jì)簡(jiǎn)易電子琴
- 課程設(shè)計(jì)---簡(jiǎn)易電子琴設(shè)計(jì)與制作
- 基于fpga的電子琴設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)簡(jiǎn)易電子琴
- 簡(jiǎn)易電子琴單片機(jī)課程設(shè)計(jì)
- 簡(jiǎn)易電子琴單片機(jī)課程設(shè)計(jì)
- 模電課程設(shè)計(jì)——簡(jiǎn)易電子琴制作
- 電子電路cad課程設(shè)計(jì)--簡(jiǎn)易電子琴
評(píng)論
0/150
提交評(píng)論