版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p> 摘要…………………………………………………………………2</p><p> 1課程設(shè)計(jì)的任務(wù)和基本要求………………………………… 2</p><p> 1.1設(shè)計(jì)目的……………………………………………… 2 </p><p> 1.
2、2設(shè)計(jì)要求……………………………………………… 3</p><p> 1.3設(shè)計(jì)方案……………………………………………… 3</p><p> 2設(shè)計(jì)過程…………………… 3</p><p> 2.1 總體設(shè)計(jì)……………………………………………… 3</p><
3、;p> 2.2主要模塊設(shè)計(jì)…………………………………………… 4</p><p> 2.2.1模塊1……………………………………………… 4</p><p> 2.2.2模塊2……………………………………………… 6</p><p> 2.2.3模塊3……………………………………………… 7</
4、p><p> 2.2.3模塊4……………………………………………… 8</p><p> 2.3整體電路圖塊………………………………………… 10</p><p> 3 系統(tǒng)仿真……………………………………………… 13</p><p> 4 電路功能驗(yàn)證……………………………………………… 15&l
5、t;/p><p> 5心得體會(huì)……………………………………………… 17</p><p> 參考文獻(xiàn)……………………………………………… 18</p><p><b> 摘 要</b></p><p> EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Dedign Automat
6、ion)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來的。</p><p> 20世紀(jì)90年代,國際上電子和計(jì)算機(jī)技術(shù)較先進(jìn)的國家一直在積極探索新的電子電路設(shè)計(jì)方法,并在設(shè)計(jì)方法、工具等方面進(jìn)行了徹底的變革,取得了巨大的成功。在電子技術(shù)設(shè)計(jì)領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應(yīng)用,已得到廣泛的普及,這些
7、器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來了極大的靈活性,這些器件可以通過軟件編程而對其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極大的改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過程和設(shè)計(jì)觀念,促進(jìn)了EDA技術(shù)的迅速發(fā)展。</p><p> EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)完成邏輯編譯、簡化、分割、綜合、優(yōu)化、布局、布線、和
8、仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率好可操作性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。</p><p> 利用EDA工具,電子設(shè)計(jì)師可以從概念、算法、協(xié)議等開始設(shè)計(jì)電子系統(tǒng),大量工作可以通過計(jì)算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計(jì)、性能分析到設(shè)計(jì)出IC版圖或者PCB版圖的整個(gè)過程的計(jì)算機(jī)上自動(dòng)處理完成。</p><p> 現(xiàn)在對E
9、DA的概念或范疇用得很寬。包括在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個(gè)領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學(xué)部門廣泛使用。例如在飛機(jī)制造過程中,從設(shè)計(jì)、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術(shù)。我們學(xué)習(xí)EDA就是為了以后更好的進(jìn)行電子信息設(shè)計(jì)控制工作。這門學(xué)科需要有堅(jiān)實(shí)厚重的理論功底做依托,同時(shí)不能忽視實(shí)踐的必要性。任何一門工科性質(zhì)的技術(shù)都不能離開實(shí)際操作,在發(fā)現(xiàn)問
10、題解決問題的過程中可以檢驗(yàn)并鞏固我們的理論知識,并提高實(shí)際創(chuàng)造創(chuàng)新能力?;谝陨显颍瑢W(xué)院認(rèn)真組織本次課程設(shè)計(jì)活動(dòng)。通過一些小的設(shè)計(jì)學(xué)生對EDA這門課程和技術(shù)由感性認(rèn)識上升到理性認(rèn)識并有初步的設(shè)計(jì)能力。</p><p> 1課程設(shè)計(jì)的任務(wù)和基本要求</p><p><b> 1.1設(shè)計(jì)目的</b></p><p> 通過設(shè)計(jì)一個(gè)簡易拔河比
11、賽游戲機(jī)</p><p> 熟練掌握EDA軟件QUARTUS II的使用方法;</p><p> 能利用EDA軟件QUARTUS II進(jìn)行一個(gè)電子技術(shù)綜合問題的設(shè)計(jì);</p><p> (3)掌握FPGA系統(tǒng)各種外圍接口的靈活運(yùn)用,培養(yǎng)實(shí)驗(yàn)的仿真及下載技能。</p><p> (4) 掌握按鍵分配、CLOCK調(diào)用、LED數(shù)碼管等外圍接
12、口的Verilog HDL語言編程;</p><p> ?。?)通過軟件編程和仿真理解并體會(huì)VHDL語言的常用編寫語言和語法規(guī) ;</p><p> (6)培養(yǎng)分析、尋找和排除電子電路中常見故障的能力;</p><p><b> 1.2設(shè)計(jì)要求</b></p><p> 1 設(shè)計(jì)一個(gè)能進(jìn)行拔河游戲的電路。<
13、/p><p> 2 電路使用15個(gè)(或9個(gè))發(fā)光二極管(機(jī)器限制的話可以選用六個(gè)發(fā)光二極管)</p><p> 開機(jī)后只有中間一個(gè)發(fā)亮,此即拔河的中心點(diǎn)。</p><p> 3 游戲雙方各持一個(gè)按鈕,迅速地、不斷地按動(dòng),產(chǎn)生脈沖,誰按得快,亮點(diǎn)就向誰的方向移動(dòng),每按一次,亮點(diǎn)移動(dòng)一次。</p><p> 4 亮點(diǎn)移到任一方終端二極管
14、時(shí),這一方就獲勝,此時(shí)雙方按鈕均無作用,輸出保持,只有復(fù)位后才使亮點(diǎn)恢復(fù)到中心。</p><p> 5 用數(shù)碼管顯示獲勝者的盤數(shù),并設(shè)置復(fù)位按鈕。</p><p><b> 1.3設(shè)計(jì)方案</b></p><p><b> 設(shè)計(jì)方案 一</b></p><p> 按鈕信號即輸入的脈沖信號
15、,每按一次按鈕都應(yīng)能進(jìn)行有效的計(jì)數(shù)。用可逆計(jì)數(shù)器的加、減計(jì)數(shù)輸入端分別接受兩路脈沖信號,可逆計(jì)數(shù)器原始輸出狀態(tài)為0000,經(jīng)譯碼器輸出,使中間一只二極管發(fā)亮。當(dāng)計(jì)數(shù)器進(jìn)行加法計(jì)數(shù)時(shí),亮點(diǎn)向右移;進(jìn)行減法計(jì)數(shù)時(shí),亮點(diǎn)向左移。由一個(gè)控制電路指示誰勝誰負(fù),當(dāng)亮點(diǎn)移到任一方終端時(shí),由控制電路產(chǎn)生一個(gè)信號,使計(jì)數(shù)器停止計(jì)數(shù)。將雙方終端二極管“點(diǎn)亮”信號分別接兩個(gè)計(jì)數(shù)器的“使能”端,當(dāng)一方取勝時(shí),相應(yīng)的計(jì)數(shù)器進(jìn)行一次計(jì)數(shù),這樣得到雙方取勝次數(shù)的顯示
16、。設(shè)置一個(gè)“復(fù)位”按鈕,使亮點(diǎn)回到中心,取勝計(jì)數(shù)器也要設(shè)置一個(gè)“復(fù)位”按鈕,使之能清零。</p><p><b> 設(shè)計(jì)方案 二</b></p><p> 設(shè)置兩個(gè)按鈕分別代表兩個(gè)選手,用按鈕高電平信號輸出表示選手用力一次。將兩個(gè)按鈕信號分別接入兩個(gè)計(jì)數(shù)器,用來存儲(chǔ)他們的的用力情況。然后將他們的用力情況接入一個(gè)比較模塊的兩個(gè)輸入端,假設(shè)一方比另一方多用力一次,那
17、么將亮點(diǎn)向該方向移位一次。他們用力情況比較即結(jié)果處理的全部可能可以全部列出。這樣拔河較量的過程和結(jié)果就可以通過亮點(diǎn)的變化表示出來。然后需要在任意一方勝利時(shí)設(shè)定兩名選手的按鍵功能失效。只有復(fù)位接觸這處設(shè)定后才能再次按鍵比賽。同時(shí)設(shè)定在一方勝利時(shí)給出勝利信號,作為一個(gè)上升脈沖接入勝利次數(shù)計(jì)數(shù)器。計(jì)數(shù)器輸出通過譯碼器后在LED數(shù)碼管上顯示出來。勝利計(jì)數(shù)器的復(fù)位端口獨(dú)立設(shè)為勝利次數(shù)顯示復(fù)位鍵。</p><p> 通過比
18、較,我個(gè)人認(rèn)為第二種方法得心應(yīng)手,設(shè)計(jì)思路更簡單,更條理,所以采用第二種設(shè)計(jì)方案。</p><p> 2設(shè)計(jì)過程……………………</p><p><b> 2.1 總體設(shè)計(jì)</b></p><p> ?。?)先設(shè)計(jì)一個(gè)分頻器,用來對比賽信號的輸出頻率進(jìn)行控制??梢赃@樣理解:我要怎樣認(rèn)為參賽一方獲得了暫時(shí)的領(lǐng)先優(yōu)勢呢,答案是我可以設(shè)計(jì)參賽方按
19、鍵若干次后才認(rèn)為亮點(diǎn)向它那方移動(dòng)一次。這樣可以更真實(shí)的反應(yīng)比賽過程。這個(gè)設(shè)想我通過分頻器來實(shí)現(xiàn)。當(dāng)然,老師給出的要求是領(lǐng)先按一次就認(rèn)為亮點(diǎn)移動(dòng)一次,我就可以直接把我的分頻器改為不變分頻,這樣只需在分頻程序里改動(dòng)一點(diǎn)數(shù)據(jù)即可,也容易做到。為了硬件驗(yàn)證的簡單同時(shí)兼顧程序的可擴(kuò)展性,我這里的分頻器以三分頻來設(shè)計(jì)。即先設(shè)計(jì)一個(gè)三分頻器。</p><p> ?。?)設(shè)計(jì)一個(gè)四位16進(jìn)制計(jì)數(shù)器。這個(gè)東西因?yàn)橛兄暗膶?shí)驗(yàn)基礎(chǔ),
20、思路相對比較清晰。復(fù)位端,使能端和進(jìn)位輸出端都保存設(shè)計(jì),方便以后任意選擇性使用。</p><p> ?。?)設(shè)計(jì)一個(gè)比較模塊。這個(gè)模塊主要為了對雙方選手的用力情況進(jìn)行一個(gè)比較。優(yōu)勢情況不同,經(jīng)過比較,參賽方的優(yōu)勢可以通過電子繩的中心即一排二極管的亮點(diǎn)的移動(dòng)來體現(xiàn)。這個(gè)只需要把選手的所有可能優(yōu)勢情況列出,并寫出對應(yīng)的亮點(diǎn)顯示序列即可。當(dāng)亮點(diǎn)移動(dòng)到任意一端的終點(diǎn)后,設(shè)定有一個(gè)輸出端為‘0’,這個(gè)輸出端接到之前用力計(jì)數(shù)
21、器和分頻器的使能端,限制比賽繼續(xù),即雙方按鍵暫時(shí)失效。在勝利的同時(shí)輸出一個(gè)進(jìn)位信號,用以后繼勝利次數(shù)計(jì)數(shù)。</p><p> (4)設(shè)計(jì)勝利次數(shù)統(tǒng)計(jì)和顯示的模塊。這一模塊由計(jì)數(shù)器和譯碼器兩個(gè)部分組成,其實(shí)就是之前我們做的七段數(shù)碼管顯示。該部分里的計(jì)數(shù)器的使能端始終保持‘1’,而把復(fù)位鍵作為勝利次數(shù)顯示的復(fù)位鍵。</p><p> ?。?)子模塊設(shè)計(jì)完后進(jìn)行整體組合。</p>
22、<p> 2.2模塊設(shè)計(jì)……………………………………………</p><p> 2.2.1模塊1 分頻器設(shè)計(jì)</p><p> 分頻器設(shè)計(jì)的原理和思想其實(shí)就是一個(gè)計(jì)數(shù)器,只是把進(jìn)位端作為分頻輸出端,而把其他不需要的端口設(shè)計(jì)省略。計(jì)數(shù)周期由程序內(nèi)預(yù)置的計(jì)數(shù)上限來自由控制。我這里為了對比賽雙方按鍵選項(xiàng)有效進(jìn)行暫停復(fù)位的控制還加入了復(fù)位和使能控制端,與比賽信號計(jì)數(shù)器的使能,復(fù)位
23、端口對應(yīng)著一起使用。其實(shí)比賽過程中的用力情況是通過比賽信號計(jì)數(shù)器來反應(yīng)的。比賽計(jì)數(shù)器的那兩個(gè)端口已經(jīng)足夠使用。但是為了擴(kuò)展分頻器的功能,這兩個(gè)端口還是暫時(shí)保留。</p><p><b> 原理圖如下 </b></p><p> VHDL源程序如下:</p><p> library ieee;</p><p>
24、use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity clkgen is</p><p> port(clk:in std_logic;</p><p> rst4:in std_logic;</p>
25、<p> en4:in std_logic;</p><p> clk3:out std_logic);</p><p> end entity clkgen; </p><p> architecture art of clkgen is</p><p> signal ct:integer range 0 to 8;&
26、lt;/p><p><b> begin</b></p><p> process (clk,rst4,en4) </p><p><b> begin </b></p><p> if rst4='1' then clk3<='0';</p>
27、<p> elsif clk'event and clk='1' then </p><p> if en4='1' then</p><p> if ct<2 then</p><p><b> ct<=ct+1;</b></p><p> cl
28、k3<='0';</p><p><b> else </b></p><p><b> ct<=0;</b></p><p> clk3<='1';</p><p><b> end if;</b></p>
29、<p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> end architecture art;</p><p> 2.2.2模塊2 二位16進(jìn)制計(jì)數(shù)器設(shè)計(jì) </p&
30、gt;<p><b> 原理圖如下</b></p><p><b> 語言程序如下</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_uns
31、igned.all;</p><p> entity cnt4b is </p><p> port(clk1,ena1,rst1:in std_logic;</p><p> dout1,cout1:buffer std_logic_vector(3 downto 0));</p><p> end cnt4b;</p>
32、<p> architecture art of cnt4b is</p><p><b> begin</b></p><p> process(clk1,ena1,rst1) </p><p><b> begin</b></p><p> if rst1=
33、39;1' then dout1<="0000";</p><p> elsif clk1'event and clk1='1' then</p><p> if ena1='1' then</p><p> dout1<=dout1+1;</p><p>
34、;<b> end if;</b></p><p><b> end if;</b></p><p> if dout1=9 then cout1<=cout1+'1';</p><p> else cout1<="0000";</p><p>
35、;<b> end if;</b></p><p> end process;</p><p> end architecture art;</p><p> 2.2.3模塊3 比較模塊</p><p> 比較的對象是兩個(gè)拔河信號計(jì)數(shù)器輸出的四位2進(jìn)制數(shù),所以模塊的這兩個(gè)輸入端口接入的數(shù)據(jù)類型務(wù)必設(shè)定為邏輯
36、位矢量型。因?yàn)橐伤谋容^結(jié)果來控制前面的使能情況。所以本模塊要專門設(shè)定一個(gè)輸出與前面部分進(jìn)行聯(lián)系。這個(gè)模塊要有拔河繩亮點(diǎn)顯示功能,故要有七位輸出對應(yīng)七個(gè)二極管。它的另一個(gè)重要功能是為以后的勝利次數(shù)計(jì)數(shù)器提供計(jì)數(shù)脈沖,所以每到亮點(diǎn)移至一段時(shí)要有一個(gè)類似進(jìn)位的計(jì)數(shù)輸出端。由于我采用的是雙方分別處理的方式,所以許多非控制類端口都需要雙份。</p><p><b> 原理圖如下</b></
37、p><p><b> 源程序如下</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity lmov i
38、s </p><p> port (kl ,kr:in std_logic_vector(3 downto 0) ;</p><p> led:out std_logic_vector(6 downto 0);</p><p> en : out std_logic;</p><p> dl: buffer std_logic;<
39、;/p><p> dr: buffer std_logic;</p><p> rst3:in std_logic);</p><p><b> end ;</b></p><p> architecture one of lmov is</p><p><b> begin &l
40、t;/b></p><p> process(rst3,kl,kr)</p><p><b> begin </b></p><p> if rst3='1' then led<="0001000";en<='1';dl<='0';dr<=&
41、#39;0';</p><p> elsif kl-kr=1 then led<="0010000";en<='1';dl<='0';dr<='0';</p><p> elsif kl-kr=2 then led<="0100000";en<='
42、1';dl<='0';dr<='0';</p><p> elsif kl-kr=3 then led<="1000000";en<='0';dl<='1';dr<='0';</p><p> elsif kr-kl=1 then led<
43、;="0000100";en<='1';dl<='0';dr<='0';</p><p> elsif kr-kl=2 then led<="0000010";en<='1';dl<='0';dr<='0';</p>&l
44、t;p> elsif kr-kl=3 then led<="0000001";en<='0';dr<='1';dl<='0';</p><p> elsif kr-kl=0 then led<="0001000";en<='1';dl<='0'
45、;dr<='0';</p><p> else null;</p><p><b> end if;</b></p><p> end process;</p><p><b> end;</b></p><p> 2.2.4模塊4 顯示模
46、塊</p><p> 其實(shí)一個(gè)完整的顯示模塊應(yīng)該是有脈沖輸入,有脈沖計(jì)數(shù)和計(jì)數(shù)輸出。計(jì)數(shù)輸出通過一個(gè)譯碼器后接到硬件數(shù)碼管上。但是這里提前設(shè)計(jì)了計(jì)數(shù)器,并且我之后還用例化語言進(jìn)行了總模塊設(shè)計(jì),計(jì)數(shù)器和后續(xù)譯碼顯示功能是分別例化調(diào)用的。所以這里的顯示模塊就是指譯碼顯示。</p><p><b> 原理圖如下:</b></p><p><
47、b> 源程序如下:</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity decled is </p><
48、;p> port(din:in std_logic_vector(3 downto 0);</p><p> ddout1:out std_logic_vector(6 downto 0));</p><p> end decled;</p><p> architecture art of decled is </p><p>
49、;<b> begin</b></p><p> process(din)is</p><p><b> begin</b></p><p> case din is </p><p> when "0000"=>ddout1<= "01111
50、11";--??ê?0</p><p> when "0001"=>ddout1<= "0000110";--??ê?1</p><p> when "0010"=>ddout1<= "1011011";--??ê?2</p>
51、<p> when "0011"=>ddout1<= "1001111";--??ê?3</p><p> when "0100"=>ddout1<= "1100110";--??ê?4</p><p> when "0101&quo
52、t;=>ddout1<= "1101101";--??ê?5</p><p> when "0110"=>ddout1<= "1111101";--??ê?6</p><p> when "0111"=>ddout1<= "0000111
53、";</p><p> when "1000"=>ddout1<= "1111111";</p><p> when "1001"=>ddout1<= "1101111";</p><p> when "1010"=>
54、;ddout1<= "1110111";</p><p> when "1011"=>ddout1<= "1111100";</p><p> when "1100"=>ddout1<= "0111001";</p><p>
55、 when "1101"=>ddout1<= "1011110";</p><p> when "1110"=>ddout1<= "1111001";</p><p> when "1111"=>ddout1<= "1110001&quo
56、t;;</p><p> when others=>ddout1<= "0000000";</p><p><b> end case;</b></p><p> end process;</p><p><b> end art;</b></p&g
57、t;<p> 2.3整體電路圖塊…………………………………………</p><p> 這一部分可以用例化語句直接把前面各小模塊有聯(lián)系的調(diào)入總模塊程序中,然后進(jìn)行編譯,仿真,管腳設(shè)置,程序下載,硬件測試。也可以采用先將各子模塊生成原理圖,然后在原理圖工程里對各子模塊電路圖進(jìn)行有效組合,形成整體模塊。對整體模塊進(jìn)行編譯,仿真,管腳設(shè)置,下載后也可以進(jìn)行硬件仿真。我在本次實(shí)習(xí)里用例化語句寫了總程序,由總
58、程序生成了總模塊原理圖。同時(shí)也在原理圖工程里進(jìn)行了原理圖方法設(shè)計(jì)。直到這時(shí)我才完全搞清楚老師經(jīng)常提到的兩種方法之間是個(gè)什么關(guān)系,又有什么區(qū)別。</p><p><b> 總模塊源程序:</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p>&
59、lt;p> use ieee.std_logic_unsigned.all;</p><p> entity bahe is </p><p> port (a,b,rst,rstj:in std_logic;</p><p> led:out std_logic_vector(6 downto 0);</p><p> rs
60、hu:out std_logic_vector(6 downto 0);</p><p> lshu:out std_logic_vector(6 downto 0));</p><p> --cout:out std_logic_vector(3 downto 0));</p><p><b> end bahe;</b></p&
61、gt;<p> ----------------------------------</p><p> architecture one of bahe is</p><p> component clkgen is --pinlv 1</p><p> port(clk:in std_logic;</p><p
62、> rst4:in std_logic;</p><p> en4:in std_logic;</p><p> clk3:out std_logic);</p><p> end component clkgen;</p><p> component cnt4b is --jishuqi 2</p>
63、;<p> port(clk1,rst1,ena1:in std_logic;</p><p> dout1,cout1:out std_logic_vector(3 downto 0));</p><p> end component cnt4b;</p><p> component lmov is -
64、-saomiaoxianshi 3</p><p> port (kl ,kr:in std_logic_vector(3 downto 0) ;</p><p> led:out std_logic_vector(6 downto 0);</p><p> en : out std_logic;</p><p> dl: buff
65、er std_logic;</p><p> dr: buffer std_logic;</p><p> rst3:in std_logic);</p><p> end component;</p><p> component decled is --xianshi 4 </p>
66、<p> port(din:in std_logic_vector(3 downto 0);</p><p> ddout1:out std_logic_vector(6 downto 0));</p><p> end component decled;</p><p> signal a1,b1,e,dl1,dr1:std_logic;<
67、;/p><p> signal kl1,kr1,x,y:std_logic_vector(3 downto 0);</p><p> constant f:std_logic:='1';</p><p><b> begin</b></p><p> u1:clkgen port map (clk=&
68、gt;a,clk3=>a1,rst4=>rst,en4=>e); --</p><p> u2:clkgen port map (clk=>b,clk3=>b1,rst4=>rst,en4=>e); -</p><p> u3:cnt4b port map (clk1=>a1,rst1=>rst,ena1=>e,d
69、out1=>kl1); </p><p> u4:cnt4b port map (clk1=>b1,rst1=>rst,ena1=>e,dout1=>kr1); </p><p> u5:lmov port map (en=>e,kl=>kl1,kr=>kr1,rst3=>rst,led=>led,dl=>dl1,dr
70、=>dr1);</p><p> u6:cnt4b port map (clk1=>dl1,rst1=>rstj,ena1=>f,dout1=>x);</p><p> U7:decled port map (din=>x,ddout1=>lshu);--名字關(guān)聯(lián)方式</p><p> u8:cnt4b port
71、 map (clk1=>dr1,rst1=>rstj,ena1=>f,dout1=>y);</p><p> U9:decled port map (din=>y,ddout1=>rshu);--名字關(guān)聯(lián)方式</p><p> end architecture one;</p><p> 源程序生成的原理圖:</p&
72、gt;<p> 我自己通過原理圖方法設(shè)計(jì)的原理圖:</p><p> 3 系統(tǒng)仿真………………………………………………</p><p> 分頻器 部分仿真波形</p><p> 在使能端有效,復(fù)位端無效時(shí),輸入三次脈沖輸出一次脈沖。使能端和復(fù)位端的優(yōu)先級高于時(shí)鐘端。</p><p> 計(jì)數(shù)器 部分仿真波形<
73、/p><p> 比較模塊 部分仿真波形</p><p> kl,kr兩個(gè)輸入的比較結(jié)果在led的亮點(diǎn)變化上會(huì)表現(xiàn)出來。如果出現(xiàn)他們兩個(gè)的差值為3,則dl或dr會(huì)輸出一次脈沖。但是這里rst3和en若不與其他模塊聯(lián)合使用,則他們的置位情況并不影響kl,kr的輸入。不過rst3可以影響led,en和dl,dr的輸出情況.注意,這里的en是輸出端,它是用這個(gè)模塊控制前面信號模塊的關(guān)鍵所在。&l
74、t;/p><p> 顯示 模塊部分仿真波形</p><p> 【5】整體 模塊顯示波形</p><p> 本次實(shí)習(xí)要實(shí)現(xiàn)的功能在這個(gè)波形圖里都可以得到仿真。a或b脈沖來三次,記錄用力一次。用力差值達(dá)到三次,則顯示勝利一次,并且鎖住代表用力的按鍵。需要rst來復(fù)位使重新啟用。而計(jì)數(shù)可以由rstj隨時(shí)清零。</p><p> 4 電路功能
75、驗(yàn)證………………………………………………</p><p> 硬件驗(yàn)證選擇電路模式6</p><p> 用8—5四個(gè)按鍵分別代表a,b,rst,rst1,D1—D7是拔河電子繩數(shù)。碼管8,7分別顯示指示a,b選手的勝利次數(shù)。</p><p><b> 管腳設(shè)置如下:</b></p><p> 下載過程可簡單理解為軟
76、件程序,波形仿真,管腳下載完成后,先用下載裝置線將電腦和硬件相連;然后直接點(diǎn)菜單欄tools下Programmer打開下載操作窗口,確定文件存在和USB連線無誤后,其他都可默認(rèn),直接點(diǎn)擊Start下載。成功下載完后,我試著操作:發(fā)現(xiàn)當(dāng)連續(xù)按8號鍵多次后亮點(diǎn)接連移向最左端,然后8.7鍵失去作用,同時(shí)八號數(shù)碼管顯示1,只有按下6鍵后兩信號鍵才重新有效。繼續(xù)操作8,7號鍵,亮點(diǎn)會(huì)規(guī)律性變化,移置任意一端后,不在接受拔河輸入同時(shí)繼續(xù)記數(shù)一次。復(fù)
77、位以后重新比賽。只要按下5號鍵,記數(shù)顯示就恢復(fù)為0.通過觀察,發(fā)現(xiàn)硬件仿真結(jié)果完全符合設(shè)計(jì)構(gòu)想和實(shí)習(xí)要求。</p><p> 5心得體會(huì)………………………………………………</p><p> 參考文獻(xiàn)………………………………………………</p><p> [1] 潘松著.EDA技術(shù)實(shí)用教程(第二版). 北京:科學(xué)出版社,2005.</p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論