版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 我國科技迅速發(fā)展,而電子行業(yè)這個(gè)新興產(chǎn)業(yè)的發(fā)展更是日新月異,在很多行業(yè)和競(jìng)爭(zhēng)場(chǎng)合都要求有公正的快速的裁決,例如體育競(jìng)技、證券、股票交易,以及各種智力競(jìng)賽等。在現(xiàn)在社會(huì)中,智力競(jìng)賽更是作為一種生動(dòng)活潑的教育形式和方法來引起觀眾和參與者的極大地興趣,在各種各樣的競(jìng)賽中,往往有幾組或多組選手參加,這時(shí)當(dāng)主持人針對(duì)某個(gè)問題提問時(shí),選
2、手們都要經(jīng)過比賽搶答,對(duì)于必答問題,一般都有時(shí)間限制,到時(shí)會(huì)有報(bào)警提示;對(duì)于搶答部分,先要判斷哪組先按鍵,為了公平,就要求人們能夠設(shè)計(jì)一種電路來充當(dāng)裁判員,一般搶答電路由很多模塊組成,本課程設(shè)計(jì)介紹了一種實(shí)用的設(shè)計(jì)方法來實(shí)現(xiàn)四人搶答器,基于設(shè)計(jì)要求,本文主要是從鎖存器及計(jì)數(shù)器功能和VHDL語言著手,但側(cè)重點(diǎn)在用VHDL語言上。首先簡(jiǎn)單介紹一下數(shù)字電路、EDA、VHDL等的有關(guān)知識(shí),其次介紹了一下設(shè)計(jì)要求和我的設(shè)計(jì)構(gòu)想,再運(yùn)用VHDL語言
3、特點(diǎn),寫出程序代碼,最后是一些總結(jié)和搶答器部分實(shí)驗(yàn)電路圖與倒計(jì)時(shí)設(shè)計(jì)的電路圖和用Quayus II軟件仿真的結(jié)果部分圖附錄等部分。</p><p> 關(guān)鍵詞:置位;復(fù)位;鎖存;計(jì)數(shù)器;七段顯示器;譯碼器;</p><p><b> 目 錄</b></p><p><b> 摘 要1</b></p>
4、<p><b> 引 言3</b></p><p> 第1章 設(shè)計(jì)要求4</p><p> 第2章 方案闡述論證4</p><p><b> 2.1基本原理4</b></p><p><b> 2.2設(shè)計(jì)框圖5</b></p>&
5、lt;p> 2.3搶答器的模塊介紹5</p><p> 第3章 單元電路設(shè)計(jì)7</p><p> 3.1搶答鑒別模塊7</p><p> 3.1.1 VHDL源程序7</p><p> 3.1.3 RTL電路9</p><p> 3.2搶答計(jì)時(shí)模塊9</p><p&
6、gt; 3.2.1 VHDL源程序9</p><p> 3.2.2仿真圖11</p><p> 3.2.3 RTL電路11</p><p> 3.3數(shù)據(jù)選擇模塊12</p><p> 3.3.1 VHDL源程序12</p><p> 3.3.2 仿真圖13</p><p>
7、; 3.3.3 RTL電路14</p><p> 3.4報(bào)警模塊14</p><p> 3.4.1 VHDL源程序14</p><p> 3.4.2 仿真圖15</p><p> 3.4.3 RTL電路16</p><p> 3.5譯碼模塊16</p><p> 3.5
8、.1.VHDL源程序16</p><p> 3.5.2 仿真圖17</p><p> 3.5.3 RTL電路18</p><p> 3.6頂層文件18</p><p> 3.6.1VHDL源程序18</p><p> 3.6.2仿真圖20</p><p> 3.6.3 R
9、TL電路21</p><p> 3.7主電路連線圖22</p><p> 第4章 心得體會(huì)23</p><p><b> 參考文獻(xiàn)24</b></p><p><b> 引 言</b></p><p> 數(shù)字電路主要是基于兩個(gè)信號(hào)(我們可以簡(jiǎn)單的說是有電壓
10、和無電壓),用數(shù)字信號(hào)完成對(duì)數(shù)字量進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的電路我們稱之為數(shù)字電路,它具有邏輯運(yùn)算和邏輯處理等功能,數(shù)字電路可分為組合邏輯電路和時(shí)序邏輯電路。</p><p> EDA技術(shù)又稱電子設(shè)計(jì)自動(dòng)化,它是為解決自動(dòng)控制系統(tǒng)設(shè)計(jì)而提出的,從70年代經(jīng)歷了計(jì)算機(jī)輔助設(shè)計(jì)(CAD),計(jì)算機(jī)輔助工程(CAE),電子系統(tǒng)設(shè)計(jì)自動(dòng)化(ESDA)3個(gè)階段。前兩個(gè)階段的EDA產(chǎn)品都只是個(gè)別或部分的解決了電子產(chǎn)品設(shè)計(jì)中的工
11、程問題;第三代EDA工具根據(jù)工程設(shè)計(jì)中的瓶頸和矛盾對(duì)設(shè)計(jì)數(shù)據(jù)庫實(shí)現(xiàn)了統(tǒng)一管理,并提出了并行設(shè)計(jì)環(huán)境概念,提供了獨(dú)立于工藝和廠家的系統(tǒng)級(jí)的設(shè)計(jì)工具。</p><p> VHDL(VERY HIGH SPEED INTEGRATED CIRCUIT HARDWARE DESCRIPTION LANGUAGE)語言最早是有美國國防部提出的,它支持行為領(lǐng)域和結(jié)構(gòu)領(lǐng)域的硬件描述,并且可以從最抽象的系統(tǒng)級(jí)一直到最精確的邏輯
12、級(jí),在描述數(shù)字系統(tǒng)時(shí),可以使用前后一致的語義和語法跨越多個(gè)層次,并且使用跨越多個(gè)級(jí)別的混合描述模擬該系統(tǒng)。因此,它可以由高層次行為描述子系統(tǒng)及低層次詳細(xì)實(shí)現(xiàn)子系統(tǒng)所組成的系統(tǒng)模擬。它有兩個(gè)版IEEEStd1076-1987[LRM87]和IEEEStd1076-1993[LRM93],他們并不完全兼容,但做一些修改就可以兼容了。 </p><p> 許多公司都為VHDL開發(fā)出了編譯和仿真軟件,其中Max+plu
13、sII(或?qū)懗蒑axplus2,或MP2) 是Altera公司推出的的第三代PLD開發(fā)系統(tǒng)(Altera第四代PLD開發(fā)系統(tǒng)被稱為:QuartusII,主要用于設(shè)計(jì)新器件和大規(guī)模CPLD/FPGA).使用MAX+PLUSII的設(shè)計(jì)者不需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu)。設(shè)計(jì)者可以用自己熟悉的設(shè)計(jì)工具(如原理圖輸入或硬件描述語言)建立設(shè)計(jì),MAX+PLUSII把這些設(shè)計(jì)轉(zhuǎn)自動(dòng)換成最終所需的格式。其設(shè)計(jì)速度非???。對(duì)于一般幾千門的電路設(shè)計(jì),使用MAX
14、+PLUSII,從設(shè)計(jì)輸入到器件編程完畢,用戶拿到設(shè)計(jì)好的邏輯電路,大約只需幾小時(shí)。設(shè)計(jì)處理一般在數(shù)分鐘內(nèi)內(nèi)完成。特別是在原理圖輸入等方面。 </p><p><b> 第1章 設(shè)計(jì)要求</b></p><p> 1.設(shè)計(jì)一個(gè)可容納4組參賽者同時(shí)搶答,每組設(shè)置一個(gè)按鈕供搶答者使用。</p><p> 2.設(shè)置搶答器使能信號(hào),當(dāng)此信號(hào)有效
15、時(shí),若參賽選手按下?lián)尨痖_關(guān),則搶答器能判斷出第1搶答者并指示該組搶答成功,其他組參賽者的搶答開關(guān)不起作用。若提前搶答,則對(duì)相應(yīng)的參賽者發(fā)出警報(bào);</p><p> 3.系統(tǒng)具有清零功能,當(dāng)清零信號(hào)有效時(shí),搶答器對(duì)前一輪搶答的第1搶答者判斷結(jié)果清零,恢復(fù)為初始狀態(tài);</p><p> 4.具有計(jì)分功能,若搶答成功者滿足得分條件,則增加相應(yīng)分?jǐn)?shù),答錯(cuò)不扣分</p><p
16、> 任務(wù):劉尹尹主要負(fù)責(zé)查資料,做編成,實(shí)現(xiàn)仿真;郭海年主要負(fù)責(zé)查資料,做PPT,實(shí)訓(xùn)報(bào)告;李春暉主要負(fù)責(zé)查資料,整理,答辯;</p><p> 第2章 方案闡述論證</p><p><b> 2.1基本原理</b></p><p> 本設(shè)計(jì)為四路智能搶答器,所以這種搶答器要求有四路不同組別的搶答輸入信號(hào),并能識(shí)別最先搶答的信號(hào)
17、,直觀地通過數(shù)顯和蜂鳴等方式顯示出組別;對(duì)回答問題所用的時(shí)間進(jìn)行計(jì)時(shí)、顯示、超時(shí)報(bào)警、預(yù)置答題時(shí)間,同時(shí)該系統(tǒng)還應(yīng)有復(fù)位、倒計(jì)時(shí)啟動(dòng)功能。</p><p> 搶答過程:主持人按下系統(tǒng)復(fù)位鍵(RST),系統(tǒng)進(jìn)入搶答狀態(tài),計(jì)時(shí)模塊和計(jì)分模塊輸出初始信號(hào)給數(shù)碼顯示模塊并顯示出初始值。當(dāng)某參賽組搶先將搶答鍵按下時(shí),系統(tǒng)將其余三路搶答信號(hào)封鎖,同時(shí)揚(yáng)聲器發(fā)出聲音提示,組別顯示模塊送出信號(hào)給數(shù)碼顯示模塊,從而顯示出該搶答成
18、功組臺(tái)號(hào),并一直保持到下一輪主持人將系統(tǒng)清零為止。主持人對(duì)搶答結(jié)果進(jìn)行確認(rèn),隨后,計(jì)時(shí)模塊送出倒計(jì)時(shí)計(jì)數(shù)允許信號(hào),開始回答問題,計(jì)時(shí)顯示器則從初始值開始以計(jì)時(shí),在規(guī)定的時(shí)間內(nèi)根據(jù)答題的正誤來確定加分或不扣分,并通過數(shù)碼顯示模塊將成績顯示出來。計(jì)時(shí)至0時(shí),停止計(jì)時(shí),揚(yáng)聲器發(fā)出超時(shí)報(bào)警信號(hào),以中止未回答完問題。當(dāng)主持人給出倒計(jì)時(shí)停止信號(hào)時(shí),揚(yáng)聲器停止鳴叫。若參賽者在規(guī)定時(shí)間內(nèi)回答完問題,主持人可給出倒計(jì)時(shí)計(jì)數(shù)停止信號(hào),以免揚(yáng)聲器鳴叫。主持人
19、按下復(fù)位鍵,即RST為高電平有效狀態(tài),清除前一次的搶答組別,又可開始新的一輪的搶答。</p><p> 此搶答器的設(shè)計(jì)中采用自頂向下的設(shè)計(jì)思路,運(yùn)用VHDL硬件描述語言對(duì)各個(gè)模塊進(jìn)行層次化、系統(tǒng)化的描述,并且先設(shè)計(jì)一個(gè)頂層文件,再把各個(gè)模塊連接起來。</p><p><b> 2.2設(shè)計(jì)框圖</b></p><p><b> 主
20、電路</b></p><p> 2.3搶答器的模塊介紹</p><p> 將該任務(wù)分成五個(gè)模塊進(jìn)行設(shè)計(jì),分別為:搶答器鑒別模塊、搶答器計(jì)時(shí)模塊、數(shù)據(jù)選擇模塊、報(bào)警模塊和譯碼模塊,最后是撰寫頂層文件。</p><p> 2.3.1搶答器鑒別模塊:</p><p> 在這個(gè)模塊中主要實(shí)現(xiàn)搶答過程中的搶答功能,并能對(duì)超前搶答進(jìn)行
21、警告,還能記錄無論是正常搶答還是朝前搶答者的臺(tái)號(hào),并且能實(shí)現(xiàn)當(dāng)有一路搶答按鍵按下時(shí),該路搶答信號(hào)將其余的搶答封鎖的功能。其中有四個(gè)搶答信號(hào)s0、s1、s2、s3;搶答使能信號(hào)s;搶答狀態(tài)顯示信號(hào)states;搶答與警報(bào)時(shí)鐘信號(hào)clk2;系統(tǒng)復(fù)位信號(hào)rst;警報(bào)信號(hào)tmp。</p><p><b> 搶答鑒別模塊圖</b></p><p> 2.3.2搶答器計(jì)時(shí)模塊
22、:</p><p> 在這個(gè)模塊中主要實(shí)現(xiàn)搶答過程中的計(jì)時(shí)功能,在有搶答開始后進(jìn)行30秒的倒計(jì)時(shí),并且在30秒倒計(jì)時(shí)后無人搶答顯示超時(shí)并報(bào)警。其中有搶答時(shí)鐘信號(hào)clk2;系統(tǒng)復(fù)位信號(hào)rst;搶答使能信號(hào)s;搶答狀態(tài)顯示信號(hào)states;無人搶答警報(bào)信號(hào)warn;計(jì)時(shí)中止信號(hào)stop;計(jì)時(shí)十位和個(gè)位信號(hào)tb,ta。</p><p> 2.3.3數(shù)據(jù)選擇模塊:</p><
23、;p> 在這個(gè)模塊中主要實(shí)現(xiàn)搶答過程中的數(shù)據(jù)輸入功能,輸入信號(hào)a[3..0]、b[3..0]、c[3..0];計(jì)數(shù)輸出信號(hào)s;數(shù)據(jù)輸出信號(hào)y;計(jì)數(shù)脈沖clk2,實(shí)現(xiàn)a、b、c按脈沖輪流選通,在數(shù)碼管上顯示。</p><p><b> 數(shù)據(jù)選擇模塊</b></p><p> 2.3.4報(bào)警模塊:</p><p> 在這個(gè)模塊中主要實(shí)
24、現(xiàn)搶答過程中的報(bào)警功能,當(dāng)主持人按下控制鍵,有限時(shí)間內(nèi) 人搶答或是計(jì)數(shù)到時(shí)蜂鳴器開始報(bào)警,有效電平輸入信號(hào)i;狀態(tài)輸出信號(hào)q;計(jì)數(shù)脈沖clk2。</p><p> 2.3.5譯碼模塊:</p><p> 在這個(gè)模塊中主要實(shí)現(xiàn)搶答過程中將BCD碼轉(zhuǎn)換成7段的功能。</p><p><b> 譯碼顯示電路圖</b></p>&
25、lt;p> 2.3.6頂層文件:</p><p> 在這個(gè)模塊中是對(duì)前五個(gè)模塊的綜合編寫的頂層文件。</p><p> 第3章 單元電路設(shè)計(jì)</p><p><b> 3.1搶答鑒別模塊</b></p><p> 3.1.1 VHDL源程序</p><p> library
26、ieee;--搶答鑒別模塊</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity qdjb is</p><p> port(rst,clk2:in std_logic;</p>&l
27、t;p> s0,s1,s2,s3:in std_logic;</p><p> states:buffer std_logic_vector(3 downto 0);</p><p> tmp:out std_logic);</p><p><b> end qdjb;</b></p><p> arch
28、itecture one of qdjb is</p><p> signal st:std_logic_vector(3 downto 0);</p><p><b> begin</b></p><p> p1:process(s0,rst,s1,s2,s3,clk2)</p><p><b>
29、begin</b></p><p> if rst='0' then </p><p> tmp<='0';st<="0000";</p><p> elsif clk2'event and clk2='1' then</p><p>
30、 if (s0='1' or st(0)='1')and not( st(1)='1' or st(2)='1' or st(3)='1' ) then st(0)<='1';</p><p><b> end if ;</b></p><p> if (s1
31、='1' or st(1)='1')and not( st(0)='1' or st(2)='1' or st(3)='1' ) then st(1)<='1';</p><p><b> end if ;</b></p><p> if (s2='1&
32、#39; or st(2)='1')and not( st(0)='1' or st(1)='1' or st(3)='1' ) then st(2)<='1';</p><p><b> end if ;</b></p><p> if (s3='1' or
33、st(3)='1')and not( st(0)='1' or st(1)='1' or st(2)='1' ) then st(3)<='1';</p><p><b> end if ;</b></p><p> tmp<=s0 or s1 or s2 or s3;&
34、lt;/p><p><b> end if ;</b></p><p> end process p1;</p><p> p2:process(states(0),states(1),states(2),states(3))</p><p><b> begin</b></p>
35、<p> if (st="0000") then states<="0000"; elsif (st<="0001") then states<="0001";</p><p> elsif (st<="0010") then states<="0010&
36、quot;; elsif (st<="0100") then states<="0011";</p><p> elsif (st<="1000") then states<="0100"; </p><p><b> end if; </b></p&g
37、t;<p> end process p2;</p><p><b> end one;</b></p><p><b> 3.1.2仿真圖:</b></p><p> 分析:s3選手處于下降沿,S2,S1,S0選手處于低電平,rst復(fù)位端處于高電平clk2處于高電平,tmp發(fā)出有成功者搶答的警報(bào),同
38、時(shí)序號(hào)4鎖存到states中去。</p><p> 3.1.3 RTL電路</p><p><b> 3.2搶答計(jì)時(shí)模塊</b></p><p> 3.2.1 VHDL源程序</p><p> library ieee;--搶答器計(jì)時(shí)模塊</p><p> use ieee.std_lo
39、gic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity js is</p><p> port(clk,rst,s,stop:in std_logic;</p><p> warn:out std_logic;</p><p&g
40、t; ta,tb:buffer std_logic_vector(3 downto 0));</p><p><b> end js;</b></p><p> architecture one of js is</p><p> signal co:std_logic;</p><p><b> b
41、egin</b></p><p> p1:process(clk,rst,s,stop,ta)</p><p><b> begin</b></p><p> if rst='0' or stop='1' then</p><p> ta<="0000&
42、quot;;</p><p> elsif clk'event and clk='1' then</p><p><b> co<='0';</b></p><p> if s='1' then</p><p> if ta="0000&qu
43、ot; then</p><p> ta<="1001";co<='1';</p><p> else ta<=ta-1;</p><p><b> end if; </b></p><p><b> end if;</b></p&
44、gt;<p><b> end if;</b></p><p> end process p1;</p><p> p2:process(co,rst,s,stop,tb)</p><p><b> begin</b></p><p> if rst='0'
45、or stop='1' then</p><p> tb<="0010";</p><p> elsif co'event and co='1' then</p><p> if s='1' then</p><p> if tb="0000&
46、quot; then tb<="0011"; </p><p> else tb<=tb-1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> end if;</b&
47、gt;</p><p> end process p2;</p><p><b> end one;</b></p><p><b> 3.2.2仿真圖</b></p><p> 分析:計(jì)時(shí)中止信號(hào)stop關(guān)閉,搶答使能信號(hào)s和系統(tǒng)復(fù)位信號(hào)rst開啟,無人搶答警報(bào)信號(hào)warn為低電平,clk
48、每次達(dá)到上升沿,時(shí)間就會(huì)減少1。</p><p> 3.2.3 RTL電路</p><p><b> 3.3數(shù)據(jù)選擇模塊</b></p><p> 3.3.1 VHDL源程序</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_116
49、4.ALL;</p><p> use ieee.std_logic_unsigned.all;</p><p> use ieee.std_logic_arith.all;</p><p> ENTITY sjxz IS</p><p> PORT (a,b,c: IN STD_LOGIC_vector(3 downto 0)
50、;</p><p> clk2,rst: IN STD_LOGIC;</p><p> s: out STD_LOGIC_vector(1 downto 0);</p><p> y: OUT STD_LOGIC_vector(3 downto 0) );</p><p><b> END sjxz;</b>
51、</p><p> ARCHITECTURE body_chooser OF sjxz IS</p><p> SIGNAL count: STD_LOGIC_VECTOR(1 DOWNTO 0);</p><p><b> BEGIN</b></p><p><b> s<=count;<
52、;/b></p><p> PROCESS(clk2,rst)</p><p><b> BEGIN</b></p><p> if(rst='0')then count<="00";</p><p> elsif(clk2'event and clk2=&
53、#39;1')then </p><p> if(count>="10")then </p><p> count<="00"; </p><p> else count<=count+1;</p><p><b> end if;</b><
54、/p><p><b> end if;</b></p><p> case count is</p><p> WHEN "00"=>y<=a;</p><p> WHEN "01"=>y<=b;</p><p> WHEN &
55、quot;10"=>y<=c;</p><p> WHEN OTHERS=>NULL;</p><p> END CASE; </p><p> END PROCESS;</p><p> END body_chooser;</p><p><b> 3.3.2 仿真圖&
56、lt;/b></p><p> 分析:rst處于高電平,clk2處于高電平,a輸入為0010,b輸入為0101,c輸入為0011時(shí),s輸出0,1,2的循環(huán)碼,y輸出2,5,3的循環(huán)碼,clk2處于下降沿時(shí),y輸出時(shí)有延時(shí)現(xiàn)象。</p><p> 3.3.3 RTL電路</p><p><b> 3.4報(bào)警模塊</b></p&g
57、t;<p> 3.4.1 VHDL源程序</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY ALARM IS</p>
58、<p> PORT(CLK,I:IN STD_LOGIC;</p><p> Q:OUT STD_LOGIC);</p><p> END ALARM;</p><p> ARCHITECTURE BEHAVE OF ALARM IS</p><p> SIGNAL warn:STD_LOGIC;</p>&
59、lt;p> SIGNAL N:INTEGER RANGE 0 TO 20;</p><p><b> BEGIN</b></p><p><b> Q<=warn;</b></p><p> PROCESS(CLK)</p><p><b> BEGIN</b&
60、gt;</p><p> IF CLK'EVENT AND CLK='1' THEN</p><p> IF I='0' THEN </p><p> warn<='0';</p><p> ELSIF(I='1'AND N<=19)THEN</
61、p><p> warn<=NOT warn;</p><p><b> N<=N+1;</b></p><p><b> ELSE</b></p><p> warn<='0';</p><p><b> END IF;<
62、;/b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p> END BEHAVE;</p><p><b> 3.4.2 仿真圖</b></p><p> 分析:Q具有計(jì)數(shù)功能,在I處于高電平狀態(tài)前
63、提下,CLK每次到上升沿時(shí),Q就翻轉(zhuǎn)一次。</p><p> 3.4.3 RTL電路</p><p><b> 3.5譯碼模塊</b></p><p> 3.5.1.VHDL源程序</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_11
64、64.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY YMQ IS</p><p> PORT(AIN4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> DOUT7: OUT STD_LOGIC_VECTOR(6 DO
65、WNTO 0));</p><p><b> END YMQ;</b></p><p> ARCHITECTURE ART OF YMQ IS</p><p><b> BEGIN</b></p><p> PROCESS(AIN4)</p><p><b>
66、; BEGIN</b></p><p> CASE AIN4 IS</p><p> WHEN "0000"=>DOUT7<="1111110"; --0</p><p> WHEN "0001"=>DOUT7<="011000
67、0"; --1</p><p> WHEN "0010"=>DOUT7<="1101101"; --2</p><p> WHEN "0011"=>DOUT7<="1111001"; --3<
68、;/p><p> WHEN "0100"=>DOUT7<="0110011"; --4</p><p> WHEN "0101"=>DOUT7<="1011011"; --5</p><p> WHEN &qu
69、ot;0110"=>DOUT7<="1011111"; --6</p><p> WHEN "0111"=>DOUT7<="1110000"; --7</p><p> WHEN "1000"=>DOUT7<=
70、"1111111"; --8</p><p> WHEN "1001"=>DOUT7<="1111011"; --9</p><p> WHEN OTHERS=>DOUT7<="0000000";</p><p&
71、gt;<b> END CASE;</b></p><p> END PROCESS;</p><p> END ARCHITECTURE ART;</p><p><b> 3.5.2 仿真圖</b></p><p> 分析:AIN4輸入二進(jìn)制數(shù)組時(shí),DOUNT7輸出顯示在數(shù)碼管上,在此
72、過程中有延時(shí)現(xiàn)象。</p><p> 3.5.3 RTL電路</p><p><b> 3.6頂層文件</b></p><p> 3.6.1VHDL源程序</p><p> library ieee;--搶答器頂層文件</p><p> use ieee.std_logic_1164.a
73、ll;</p><p> use ieee.std_logic_arith.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity qiangdaqi is</p><p> port(clk,clk2,s,s0,s1,s2,s3,stop,rst:in std_l
74、ogic;</p><p> n,k,q_out:out std_logic;</p><p> m:out std_logic_vector(1 downto 0);</p><p> a,b,c,d,e,f,g:out std_logic );</p><p> end qiangdaqi;</p><p>
75、; architecture bhv of qiangdaqi is</p><p> component qdjb is</p><p> port(clk2,rst:in std_logic;</p><p> s0,s1,s2,s3:in std_logic; </p><p> tmp:out std_logic;<
76、;/p><p> states:out std_logic_vector(3 downto 0));</p><p> end component;</p><p> component js is </p><p> port(clk,rst,s,stop:in std_logic; </p><p>
77、 warn:out std_logic;</p><p> ta,tb:buffer std_logic_vector(3 downto 0));</p><p> end component;</p><p> component sjxz is</p><p> port(clk2,rst:in std_logic;</p
78、><p> s:out std_logic_vector(1 downto 0);</p><p> a,b,c:in std_logic_vector(3 downto 0);</p><p> y:out std_logic_vector(3 downto 0));</p><p> end component;</p>
79、<p> component ymq is</p><p> port(AIN4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> DOUT7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));</p><p> end component;</p><p> comp
80、onent alarm is</p><p> port(clk,i:in std_logic;</p><p> q:out std_logic);</p><p> end component;</p><p> signal states_out,ta_out,tb_out,y_out:std_logic_vector(3 do
81、wnto 0);</p><p> signal ledout:std_logic_vector(6 downto 0);</p><p> signal w:std_logic;</p><p><b> begin</b></p><p> a<=ledout(6);b<=ledout(5);c&
82、lt;=ledout(4);d<=ledout(3);e<=ledout(2);f<=ledout(1);g<=ledout(0);</p><p> u1:qdjb port map(clk2,rst,s0,s1,s2,s3,tmp=>k,states=>states_out);</p><p> u2:js port map(clk,rst,s,
83、stop,warn=>n,ta=>ta_out,tb=>tb_out);</p><p> u3:sjxz port map(clk2=>clk2,rst=>rst,a=>states_out,b=>ta_out,c=>tb_out,s=>m,y=>y_out);</p><p> u4:ymq port map(ain4=&
84、gt;y_out,DOUT7=>ledout);</p><p> u5:alarm port map(clk2,i=>s,q_out);</p><p><b> end bhv;</b></p><p><b> 3.6.2仿真圖</b></p><p> 3.6.3 RTL
85、電路</p><p><b> 3.7主電路連線圖</b></p><p><b> 第4章 心得體會(huì)</b></p><p> 在設(shè)計(jì)之前,參考了許多相關(guān)的資料,從網(wǎng)絡(luò)上下載了原理圖。在設(shè)計(jì)中又參考了其他材料上的四路搶答器的原理圖,有了基本的思路。 但著手設(shè)計(jì)時(shí),又出現(xiàn)了許多未預(yù)料到的問題,例如元件的選擇:在選擇
86、編碼器時(shí),是采用普通編碼器還是優(yōu)先編碼器。普通編碼器中,任何時(shí)刻只允許輸入一個(gè)編碼信號(hào),否則輸出將發(fā)生混亂。所以選擇了優(yōu)先編碼器。因?yàn)橄胗脭?shù)字的形式顯示搶答者的編號(hào),所以選擇了數(shù)碼顯示管。在這次設(shè)計(jì)中我們遇到的最大的困難就是我們把各個(gè)電路模塊設(shè)計(jì)好后要如何把他們組合起來,怎樣讓計(jì)時(shí)電路和主控電路建立起適當(dāng)?shù)姆答?,使選手搶答時(shí)計(jì)市時(shí)器停止工作,當(dāng)計(jì)時(shí)器顯示到0時(shí)如果沒有人搶答計(jì)時(shí)器將顯示并鎖定來完成要求的功能。 </p>
87、<p> 通過這次4路搶答器EDA課程設(shè)計(jì),在了解到搶答器的基本工作原理的同時(shí),我還基本掌握了試驗(yàn)軟件的使用方法,并且意識(shí)到作為二十一世紀(jì)的跨世紀(jì)電子通訊專業(yè)人才,這些軟硬件的應(yīng)用操作常識(shí)是必不可少的。從中我們發(fā)現(xiàn)了以往學(xué)習(xí)中的許多不足,也讓我們掌握了以往許多掌握的不太牢的知識(shí),感覺學(xué)到了很多東西。總體來說,這次實(shí)訓(xùn)我們受益匪淺。在大家的共同努力與堅(jiān)持獨(dú)立的完成了任務(wù)。在摸索該如何設(shè)計(jì)電路使之實(shí)現(xiàn)所需功能的過程中,遇到了
88、自己無法解決的困難與問題的時(shí)候,還請(qǐng)教老師給予指導(dǎo)和幫助。這次實(shí)訓(xùn)給我最深的印象就是擴(kuò)大自己的知識(shí)面,了解更多與本專業(yè)有關(guān)的科技信息,同時(shí)培養(yǎng)了我們的設(shè)計(jì)思維,增加了實(shí)際操作能力。在讓我們體會(huì)到了設(shè)計(jì)電路的艱辛的同時(shí),更讓我們體會(huì)到成功的喜悅和快樂。 </p><p><b> 參考文獻(xiàn)</b></p><p> [1]、李國洪,沈明山:《可編程邏輯器件EDA技術(shù)
89、與實(shí)踐》,[M].機(jī)械工業(yè)出版社,2004.7 [2]、江國強(qiáng):《EDA技術(shù)習(xí)題與實(shí)驗(yàn)》 電子工業(yè)出版社 ,2002.5 </p><p> [3]、曹昕燕,周風(fēng)臣,聶春燕:《EDA技術(shù)試驗(yàn)與課程設(shè)計(jì)》,清華大學(xué)出版社,2006.5 </p><p> [4]、黃仁欣:《EDA技術(shù)實(shí)用教程》,清華大學(xué)出版社,2006.9</p><p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四路搶答器eda課程設(shè)計(jì)
- 四路搶答器eda課程設(shè)計(jì)
- 四路搶答器EDA課程設(shè)計(jì).doc
- 四路電子搶答器eda課程設(shè)計(jì)報(bào)告
- 八路搶答器eda課程設(shè)計(jì)
- 八路搶答器-eda課程設(shè)計(jì)
- eda課程設(shè)計(jì)-搶答器
- eda課程設(shè)計(jì)---搶答器
- 四路搶答器課程設(shè)計(jì)
- 四路搶答器課程設(shè)計(jì)
- 四路搶答器課程設(shè)計(jì)
- 八路搶答器eda課程設(shè)計(jì)vhdl
- eda課程設(shè)計(jì)四人搶答器
- eda課程設(shè)計(jì)---競(jìng)賽搶答器
- eda數(shù)字搶答器課程設(shè)計(jì)
- eda課程設(shè)計(jì)報(bào)告--eda數(shù)字搶答器
- 四路搶答器課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)---競(jìng)賽搶答器
- eda數(shù)字搶答器課程設(shè)計(jì)
- eda畢業(yè)課程設(shè)計(jì)--搶答器
評(píng)論
0/150
提交評(píng)論