版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> VHDL課程設(shè)計</b></p><p><b> 樂曲演奏電路設(shè)計</b></p><p><b> 一、概述</b></p><p> 在電子設(shè)計技術(shù)領(lǐng)域,可編程邏輯器件的廣泛應(yīng)用,為數(shù)字系統(tǒng)的設(shè)計帶來了極大的靈活性。由于該器件可以通過軟件編程而對其硬件的結(jié)構(gòu)和
2、工作方式進(jìn)行重構(gòu),使得硬件的設(shè)計可以如同軟件設(shè)計那樣方便快捷。這一切極大的改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計方法、設(shè)計過程乃至設(shè)計觀念。在傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計中,用戶能夠通過編程方式改變器件邏輯功能只有兩種途徑,即微處理器的軟件編程(如單片機(jī))和特定器件的控制字配置(如8255)。在傳統(tǒng)的設(shè)計概念中,器件引腳功能的硬件方式的任意確定是不可能的。而對于系統(tǒng)構(gòu)成的設(shè)計過程只能對器件功能和電路板圖分別進(jìn)行設(shè)計和確定,通過設(shè)計電路板來規(guī)劃系統(tǒng)功能。在此期間
3、,大量的時間和精力花在元件選配和系統(tǒng)結(jié)構(gòu)的可行性定位上。但若采用可編程邏輯器件,便可以利用計算機(jī)軟件的方式對目標(biāo)進(jìn)行設(shè)計,而以硬件的形式既定的系統(tǒng)功能。在設(shè)計過程中,設(shè)計者若可根據(jù)需要,隨時改變器件的內(nèi)部邏輯功能和管腳的信號方式。借助于大規(guī)模集成的可編程器件和高效的設(shè)計軟件,用戶不僅可通過直接對芯片結(jié)構(gòu)的設(shè)計實現(xiàn)多種數(shù)字邏輯器件和高效的設(shè)計軟件,用戶不僅可通過直接對芯片結(jié)構(gòu)的設(shè)計實現(xiàn)多種數(shù)字邏輯功能,而且由于管腳定義的靈活性,大大<
4、;/p><p> EDA是電子設(shè)計自動化(Electronic Design Automation)的縮寫,是20世紀(jì)90年代初,從CAD(計算機(jī)輔助設(shè)計)、CAM(計算機(jī)輔助制造)、CAT(計算機(jī)輔助測試)和CAE(計算機(jī)輔助工程)的概念發(fā)展而是來的。EDA技術(shù)就是以計算機(jī)為工具,在EDA軟件平臺上,對以硬件描述HDL為系統(tǒng)邏輯描述手段完成的設(shè)計文件自動地完成邏輯編譯、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局、邏輯仿真
5、,直至對于特定目標(biāo)芯片的甜酸編譯、邏輯遇敵和編程下載等工作。設(shè)計者的工作僅限于利用軟件的方式,即利用硬件描述評議來完成對系統(tǒng)硬件功能的描述,在EDA工具的幫助下就可以得到最后的設(shè)計結(jié)果。盡管目標(biāo)系統(tǒng)是硬件,但整個設(shè)計和修改過程如同完成軟件設(shè)計一樣的方便和高效。</p><p> EDA技術(shù)中最為矚目的功能,即最具現(xiàn)代電子設(shè)計技術(shù)特征的功能就是日益強(qiáng)大的邏輯設(shè)計仿真測試技術(shù)。EDA仿真測試技術(shù)只需通過計算機(jī)就能對
6、所設(shè)計的電子系統(tǒng)從各種不同屋次的系統(tǒng)性能特點完成一系列準(zhǔn)確的測試與仿真操作在完成實際系統(tǒng)的安裝后還能對系統(tǒng)上的目標(biāo)器件進(jìn)行所謂邊界掃描測試。這一切都極大地提高了大規(guī)模系統(tǒng)電子設(shè)計的自動化程度。</p><p> 另一方面高速發(fā)展的CPLD/FPGA器件又為EDA技術(shù)的不斷進(jìn)步奠定了堅實的物質(zhì)基礎(chǔ)。CPLD/FPGA器件更廣泛的應(yīng)用及廠商間的競爭,使得普通的設(shè)計人員獲得廉價的器件和EDA軟件成為可能。</p
7、><p> 現(xiàn)代的EDA工具軟件已突破了早期僅能進(jìn)行PCB版圖設(shè)計,或類似某些僅限于電路功能模擬的、純軟件范圍的局限,以最終實現(xiàn)可靠的硬件系統(tǒng)為目標(biāo),配備了系統(tǒng)設(shè)計自動化的全部工具。如配置了各種常用的硬件描述語言平臺VHDL、Verilog HDL、ABEL-HDL等;配置了多種功能兼用和混合使用的邏輯描述輸入工具,如硬件描述語言文本輸入法(其中包括布爾方程描述方式、原理圖描述方式、狀態(tài)圖描述方式等)以及原理圖輸入
8、法、波形輸入法等;同時還培植了高性能的邏輯綜合、優(yōu)化和仿真模擬工具。</p><p> 近十年由于超大規(guī)模集成電路和軟件技術(shù)的快速發(fā)展,使數(shù)字系統(tǒng)集成到一片集成電路內(nèi)成為可能,Altera、Xilinx、AMD等公司都推出了非常好的CPLD和FPGA產(chǎn)品,并為這些產(chǎn)品的設(shè)計配備了設(shè)計、下載軟件,這些軟件除了支持圖形方式設(shè)計數(shù)字系統(tǒng)外,還支持設(shè)計多種數(shù)字系統(tǒng)的設(shè)計語言,使數(shù)字系統(tǒng)設(shè)計起來更加容易,可以說數(shù)字電子技
9、術(shù)的設(shè)計進(jìn)入了一個新時代。</p><p> 美國國防部開發(fā)的VHDL語言成為了IEEE. STD_1076標(biāo)準(zhǔn),VHDL作為IEEE標(biāo)準(zhǔn)的硬件描述語言和EDA的重要組成部分,經(jīng)過十幾年的發(fā)展、應(yīng)用和完善,以及強(qiáng)大的系統(tǒng)描述能力、 規(guī)范的程序設(shè)計結(jié)構(gòu)、靈活的語句表達(dá)風(fēng)格和多層次的仿真測試手段,受到業(yè)界的普遍認(rèn)同和廣泛的接受,從數(shù)十種國際流行的硬件描述語言中脫穎而出,成為EDA領(lǐng)域的首選硬件設(shè)計計算機(jī)語言,而且目
10、前流行的EDA工具軟件全部支持VHDL。該語言集成了各種HDL語言的優(yōu)點,使數(shù)字系統(tǒng)設(shè)計更加簡單和容易,是一個規(guī)模龐大的語言。</p><p> VHDL語言通常包含實體(Entity),構(gòu)造體(Architecture),配置(Configuration),包集合(Package),和庫(Library)五部分.其中實體用于描述所設(shè)計的系統(tǒng)的外部接口信號;構(gòu)造體用于描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為;建立輸入和輸出之間
11、的關(guān)系;配置語句安裝具體元件到實體—結(jié)構(gòu)體對,可以被看作是設(shè)計的零件清單;包集合存放各個設(shè)計模塊共享的數(shù)據(jù)類型、常數(shù)和子程序等;庫是專門存放預(yù)編譯程序包的地方。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計算機(jī)高級語言。VHDL的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分,及端口
12、)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本點。應(yīng)用VHDL進(jìn)行工程設(shè)計的優(yōu)點有以下幾個方面:(1)與其他的硬件描述語言相比,</p><p> MAX+PLUSII軟件是一個功能強(qiáng)大,容易使用的軟件包,它可以以圖形方式、文字輸入方式(AHDL、V
13、HDL和VERILOG)、和波形方式輸入設(shè)計文件,可以編譯并形成各種能。其主要功能為:</p><p> (1) 原理圖輸入(Graphic Editor)</p><p> MAX+PLUSII軟件具有圖形輸入能力,用戶可以方便的使用圖形編輯器輸入電路圖,圖中的元器件可以調(diào)用元件庫中元器件,除調(diào)用庫中的元件以外,還可以調(diào)用該軟件中的符號功能形成的功能塊。夠下裝到EPROM和各種ALT
14、ERA器件的文件,還可以進(jìn)行仿真以檢驗設(shè)計的準(zhǔn)確性。</p><p> 波形編輯器(waveform Editor)</p><p> 在進(jìn)行邏輯電路的行為仿真時,需要在所設(shè)計電路的輸入端加入一定的波形,波形編輯器可以生成和編輯仿真用的波形(*.SCF文件),使用該編輯器的工具條可以容易方便的生成波形和編輯波形。</p><p> 管腳(底層)編輯窗口(Flo
15、orplan Editor)</p><p> 該窗口用于將已設(shè)計好邏輯電路的輸入輸出節(jié)點賦予實際芯片的引腳,通過鼠標(biāo)的拖拉,方便的定義管腳的功能。</p><p><b> 自動錯誤定位</b></p><p> 在編譯源文件的過程中,若源文件有錯誤,Max+Plus2軟件可以自動指出錯誤類型和錯誤所在的位置。</p>&
16、lt;p><b> 邏輯綜合與適配</b></p><p> 該軟件在編譯過程中,通過邏輯綜合 (Logic Synthesizer)和適配(Fitter) 模塊,可以把最簡單的邏輯表達(dá)式自動的吻合在合適的器件中。</p><p><b> 設(shè)計規(guī)則檢查</b></p><p> 選取Compile\Proc
17、essing\Design Doctor菜單,將調(diào)出規(guī)則檢查醫(yī)生,該醫(yī)生可以按照三種規(guī)則中的一個規(guī)則檢查各個設(shè)計文件,以保證設(shè)計的可靠性。一旦選擇該菜單,在編譯窗口將顯示出醫(yī)生,用鼠標(biāo)點擊醫(yī)生,該醫(yī)生可以告訴你程序文件的健康情況。 </p><p> 多器件劃分(Partitioner)</p><p> 如果設(shè)計不能完全裝入一個器件,編譯器中的多器件劃分模塊,可自動的將一個設(shè)計分
18、成幾個部分并分別裝入幾個器件中,并保證器件之間的連線最少。</p><p><b> 編程文件的產(chǎn)生</b></p><p> 編譯器中的裝配程序(Assembler)將編譯好的程序創(chuàng)建一個或多個編程目標(biāo)文件:</p><p> EPROM配置文件(*.POF)例如,MAX7000系列;</p><p> SRA
19、M文件(*.SCF)例如,FLEX8000系列的配置芯片EPROM;</p><p> JEDEC文件(*.JED);</p><p> 十六進(jìn)制文件(*.HEX);</p><p> 文本文件(*.TTF);</p><p> 串行BIT流文件(*.SBF);</p><p><b> (10)仿
20、真</b></p><p> 當(dāng)設(shè)計文件被編譯好,并在波形編輯器中將輸入波形編輯完畢后,就可以進(jìn)行行為仿真了,通過仿真可以檢驗設(shè)計的邏輯關(guān)系是否準(zhǔn)確。</p><p> (11)分析時間(Analyze Timing)</p><p> 該功能可以分析各個信號到輸出端的時間延遲,可以給出延遲矩陣和最高工作頻率。</p><p&g
21、t;<b> (12)器件編程</b></p><p> 當(dāng)設(shè)計全部完成后,就可以將形成的目標(biāo)文件下載到芯片中,實際驗證設(shè)計的準(zhǔn)確性。</p><p><b> (13)設(shè)計過程</b></p><p> 1)進(jìn)入Max+plus2軟件環(huán)境</p><p> 2)輸入項目文件名(File/
22、Project/Name)</p><p> 3)輸入源文件(圖形、VHDL、AHDL、Verlog和波形輸入方式)</p><p> 4)(Max+plusⅡ/graphic Editor, Max+plusⅡ/Text Editor, Max+plusⅡ/Waveform Editor)</p><p> 5)指定CPLD型號(Assign/Device)
23、</p><p> 6)設(shè)置管腳、下載方式和邏輯綜合的方式</p><p> (Assign/Global Project Device Option,Assign/Global Logic Synthesis)</p><p> 保存并檢查源文件(File/project/Save & Check)</p><p> 8)指
24、定管腳(Max+plusⅡ/Floorplan Editor)</p><p> 9)保存和編譯源文件(File/project/Save & Compile)</p><p> 10)生成波形文件(Max+plusⅡ/Waveform Editor)</p><p> 11)仿真(Max+plusⅡ/Simulator)</p><
25、;p> 12)下載配置(Max+plusⅡ/Programmer)</p><p><b> 二、設(shè)計</b></p><p> 下面設(shè)計一首《友誼天長地久》樂曲演奏電路,通過查詢相關(guān)資料,得知音高與頻率的對應(yīng)關(guān)系,具體見下表:</p><p><b> 音高頻率對照表</b></p><
26、p> 此程序使用4MHZ時鐘,如果經(jīng)時鐘不同修改一下常數(shù)即好。</p><p> 模塊及模塊功能設(shè)計:</p><p> 1、模塊PAIA 見圖1。該模塊控制每一個音的長短,送初值給FANA模塊,從而控制音高.</p><p><b> 圖1</b></p><p> 2、模塊FANA見圖2。該模塊的功能
27、是根據(jù)PAIA送來的初值倒計時,每次計到0時就使信號Q反轉(zhuǎn),由于初值不同,從而產(chǎn)生不同的音高。</p><p><b> 圖2 </b></p><p> 本設(shè)計的總體框圖如下圖3所示:</p><p><b> 圖3</b></p><p><b> 三、程序清單:</
28、b></p><p> 1、 PAIA模塊的程序:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity paia is </p><p> port(clk:in std_logic;</p>
29、;<p> q:out integer range 0 to 10204);</p><p><b> end paia;</b></p><p> architecture paia_1 of paia is</p><p><b> begin</b></p><p>
30、process(clk)</p><p> variable cnt1:integer range 0 to 1500000;</p><p> variable cnt2:integer range 0 to 8;</p><p> variable n:integer range 0 to 45;</p><p><b>
31、 begin</b></p><p> if clk'event and clk='1' then</p><p> if cnt1<1500000 then</p><p> cnt1:=cnt1+1;</p><p><b> else</b></p>
32、<p><b> cnt1:=0;</b></p><p><b> case n is</b></p><p> when 0=>q<=10204;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p&g
33、t;<p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=1;</b></p><p><b> end if;</b></p><p> when 1=>q&
34、lt;=7634;</p><p> if cnt2<6 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=2;&l
35、t;/b></p><p><b> end if;</b></p><p> when 2=>q<=6061;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b
36、></p><p><b> cnt2:=0;</b></p><p><b> n:=3;</b></p><p><b> end if;</b></p><p> when 3=>q<=6803;</p><p> if
37、 cnt2<3 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=4;</b></p><p><b
38、> end if;</b></p><p> when 4=>q<=7634;</p><p><b> n:=5;</b></p><p> when 5=>q<=6803;</p><p> if cnt2<1 then</p><p>
39、; cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=6;</b></p><p><b> end if;</b></p>
40、<p> when 6=>q<=6061;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><
41、;p><b> n:=7;</b></p><p><b> end if;</b></p><p> when 7=>q<=7634;</p><p> if cnt2<4 then</p><p> cnt2:=cnt2+1;</p><p&
42、gt;<b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=8;</b></p><p><b> end if;</b></p><p> when 8=>q<=6061;&
43、lt;/p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=9;</b>&l
44、t;/p><p><b> end if;</b></p><p> when 9=>q<=5089;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p
45、><p><b> cnt2:=0;</b></p><p><b> n:=10;</b></p><p><b> end if;</b></p><p> when 10=>q<=4535;</p><p> if cnt2<
46、;9 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=11;</b></p><p><b> e
47、nd if;</b></p><p> when 11=>q<=5089;</p><p> if cnt2<3 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2
48、:=0;</b></p><p><b> n:=12;</b></p><p><b> end if;</b></p><p> when 12=>q<=6061;</p><p> if cnt2<2 then</p><p>
49、cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=13;</b></p><p><b> end if;</b></p>&l
50、t;p> when 13=>q<=7634;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><
51、p><b> n:=14;</b></p><p><b> end if;</b></p><p> when 14=>q<=6803;</p><p> if cnt2<3 then</p><p> cnt2:=cnt2+1;</p><p
52、><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=15;</b></p><p><b> end if;</b></p><p> when 15=>q<=763
53、4;</p><p><b> n:=16;</b></p><p> when 16=>q<=6803;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b>&l
54、t;/p><p><b> cnt2:=0;</b></p><p><b> n:=17;</b></p><p><b> end if;</b></p><p> when 17=>q<=6061;</p><p> if cnt
55、2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=18;</b></p><p><b>
56、; end if;</b></p><p> when 18=>q<=7634;</p><p> if cnt2<3 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b>
57、cnt2:=0;</b></p><p><b> n:=19;</b></p><p><b> end if;</b></p><p> when 19=>q<=9050;</p><p> if cnt2<2 then</p><p&g
58、t; cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=20;</b></p><p><b> end if;</b></p>
59、<p> when 20=>q<=10204;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p>
60、<p><b> n:=21;</b></p><p><b> end if;</b></p><p> when 21=>q<=7634;</p><p> if cnt2<7 then</p><p> cnt2:=cnt2+1;</p>
61、<p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=22;</b></p><p><b> end if;</b></p><p> when 22=>q<
62、;=4535;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=23;<
63、;/b></p><p><b> end if;</b></p><p> when 23=>q<=5089;</p><p> if cnt2<3 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b
64、></p><p><b> cnt2:=0;</b></p><p><b> n:=24;</b></p><p><b> end if;</b></p><p> when 24=>q<=6061;</p><p>
65、if cnt2<2 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=25;</b></p><p>&l
66、t;b> end if;</b></p><p> when 25=>q<=7634;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b
67、> cnt2:=0;</b></p><p><b> n:=26;</b></p><p><b> end if;</b></p><p> when 26=>q<=6083;</p><p> if cnt2<3 then</p>&
68、lt;p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=27;</b></p><p><b> end if;</b><
69、/p><p> when 27=>q<=7634;</p><p><b> n:=28;</b></p><p> when 28=>q<=6803;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p&g
70、t;<p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=29;</b></p><p><b> end if;</b></p><p> when 29=>
71、q<=4535;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=30
72、;</b></p><p><b> end if;</b></p><p> when 30=>q<=5089;</p><p> if cnt2<3 then</p><p> cnt2:=cnt2+1;</p><p><b> else&l
73、t;/b></p><p><b> cnt2:=0;</b></p><p><b> n:=31;</b></p><p><b> end if;</b></p><p> when 31=>q<=6061;</p><p&g
74、t; if cnt2<2 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=32;</b></p><p&g
75、t;<b> end if;</b></p><p> when 32=>q<=5089;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p>&
76、lt;b> cnt2:=0;</b></p><p><b> n:=33;</b></p><p><b> end if;</b></p><p> when 33=>q<=4535;</p><p> if cnt2<7 then</p>
77、;<p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=34;</b></p><p><b> end if;</b>
78、</p><p> when 34=>q<=3089;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b>&l
79、t;/p><p><b> n:=35;</b></p><p><b> end if;</b></p><p> when 35=>q<=5089;</p><p> if cnt2<3 then</p><p> cnt2:=cnt2+1;<
80、;/p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=36;</b></p><p><b> end if;</b></p><p> when 36
81、=>q<=6061;</p><p> if cnt2<2 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b>
82、n:=37;</b></p><p><b> end if;</b></p><p> when 37=>q<=7634;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> e
83、lse</b></p><p><b> cnt2:=0;</b></p><p><b> n:=38;</b></p><p><b> end if;</b></p><p> when 38=>q<=6803;</p>&l
84、t;p> if cnt2<3 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=39;</b></p>&l
85、t;p><b> end if;</b></p><p> when 39=>q<=7634;</p><p><b> n:=40;</b></p><p> when 40=>q<=6803;</p><p> if cnt2<1 then</
86、p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=41;</b></p><p><b> end if;</b
87、></p><p> when 41=>q<=6061;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b&g
88、t;</p><p><b> n:=42;</b></p><p><b> end if;</b></p><p> when 42=>q<=7634;</p><p> if cnt2<3 then</p><p> cnt2:=cnt2+1
89、;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=43;</b></p><p><b> end if;</b></p><p> whe
90、n 43=>q<=9050;</p><p> if cnt2<2 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b&g
91、t; n:=44;</b></p><p><b> end if;</b></p><p> when 44=>q<=10204;</p><p> if cnt2<1 then</p><p> cnt2:=cnt2+1;</p><p><b&g
92、t; else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=45;</b></p><p><b> end if;</b></p><p> when 45=>q<=7634;</p>
93、;<p> if cnt2<7 then</p><p> cnt2:=cnt2+1;</p><p><b> else</b></p><p><b> cnt2:=0;</b></p><p><b> n:=0;</b></p>
94、<p><b> end if;</b></p><p><b> end case;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> end proce
95、ss;</p><p> end paia_1;</p><p> 2、FANA模塊程序清單:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity fana is</p><p>
96、port(a:in integer range 0 to 10204;</p><p> clk:in std_logic;</p><p> q:out std_logic);</p><p><b> end fana;</b></p><p> architecture fana_1 of fana is&
97、lt;/p><p><b> begin</b></p><p> process(clk)</p><p> variable b,d:std_logic;</p><p> variable c:integer range 0 to 10204;</p><p><b> be
98、gin</b></p><p> if clk'event and clk='1' then</p><p> if b='0' then</p><p><b> c:=a;</b></p><p><b> b:='1';</
99、b></p><p><b> else</b></p><p> if c=0 then</p><p><b> b:='0';</b></p><p><b> d:=not d;</b></p><p><b&
100、gt; else</b></p><p><b> c:=C-1;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> end if;</b></
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計---樂曲硬件演奏電路的vhdl設(shè)計
- 樂曲硬件演奏電路的vhdl設(shè)計 eda課程設(shè)計
- eda課程設(shè)計--樂曲硬件演奏電路設(shè)計
- 基于fpga的樂曲演奏電路設(shè)計課程設(shè)計
- 樂曲演奏課程設(shè)計報告---樂曲演奏電路的設(shè)計
- 樂曲硬件演奏電路設(shè)計
- eda課程設(shè)計---樂曲硬件演奏電路
- eda樂曲硬件演奏電路設(shè)計
- eda樂曲硬件演奏電路設(shè)計
- 基于fpga的樂曲演奏電路設(shè)計
- 基于eda技術(shù)的樂曲演奏電路設(shè)計
- 基于verilog hdl的樂曲演奏電路設(shè)計
- eda_電子琴課程設(shè)計--樂曲演奏電路的設(shè)計
- 基于vhdl的音樂演奏電路設(shè)計開發(fā)【畢業(yè)設(shè)計】
- 音樂樂曲演奏程序課程設(shè)計報告
- 基于vhdl的音樂演奏電路設(shè)計開發(fā)【文獻(xiàn)綜述】
- 基于vhdl的音樂演奏電路設(shè)計開發(fā)【開題報告】
- 樂曲演奏電路
- 流量檢測電路設(shè)計課程設(shè)計
- 課程設(shè)計--家庭照明電路設(shè)計
評論
0/150
提交評論