四路電子搶答器EDA課程設(shè)計(jì)報(bào)告_第1頁
四路電子搶答器EDA課程設(shè)計(jì)報(bào)告_第2頁
四路電子搶答器EDA課程設(shè)計(jì)報(bào)告_第3頁
四路電子搶答器EDA課程設(shè)計(jì)報(bào)告_第4頁
四路電子搶答器EDA課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 eda技術(shù) 課程設(shè)計(jì)報(bào)告專 業(yè): 電子信息工程 班 級(jí): 101 姓 名: xxx 學(xué) 號(hào): 1007400xxx 指導(dǎo)教師: 秦劍 2013年 4 月 22 日一、設(shè)計(jì)題目 四路電子搶答器二、設(shè)計(jì)目的 1.掌握使用vhdl語言設(shè)計(jì)小型數(shù)字電路系統(tǒng); 2.掌握應(yīng)用quartus軟件設(shè)計(jì)電路的流程; 3.掌握電子搶答器的設(shè)計(jì)方法。三、設(shè)計(jì)任務(wù)及要求(1)設(shè)計(jì)一個(gè)可以容納四組參賽隊(duì)進(jìn)行比賽的電子搶答器。(2)具有第一搶答信號(hào)的鑒別和鎖存功能。在主持人發(fā)出搶答指令后,若有參賽者按搶答器按鈕,則該組指示燈亮,顯示器顯示出搶答者的組別。同時(shí),電路處于自鎖存狀態(tài),使其他組的搶答器按鈕不起作用。(3)具有

2、計(jì)時(shí)功能。在初始狀態(tài)時(shí),主持人可以設(shè)置搶答時(shí)間的初始值。在主持人宣布搶答開始,并給出倒計(jì)時(shí)記數(shù)開始信號(hào)以后,搶答者可以開始搶答。此時(shí),顯示器從初始值開始倒計(jì)時(shí),計(jì)到0時(shí)停止計(jì)數(shù),同時(shí)led亮起超時(shí)警報(bào)信號(hào),并反饋到鎖存模塊進(jìn)行鎖存,使得參賽者不能進(jìn)行搶答。若參賽者在規(guī)定的時(shí)間內(nèi)搶答,則計(jì)數(shù)模塊自動(dòng)終止計(jì)數(shù)。(4)具有計(jì)分功能。在初始狀態(tài)時(shí),主持人可以給每組設(shè)置初始分值。每組搶答完畢后,由主持人進(jìn)行打分,答對(duì)一次加1分。四、設(shè)計(jì)思路:系統(tǒng)的輸入信號(hào)有:各組的搶答按鈕a、b、c、d,系統(tǒng)允許搶答信號(hào)sta,系統(tǒng)清零信號(hào)clr,系統(tǒng)時(shí)鐘信號(hào)clk,計(jì)分復(fù)位端clr,加分按鈕端add;系統(tǒng)的輸出信號(hào)有

3、:四個(gè)組搶答成功與否的指示燈控制信號(hào)輸出口可用如led_a、led_b、led_c、led_d表示,四個(gè)組搶答時(shí)的計(jì)時(shí)數(shù)碼顯示控制信號(hào),搶答成功組別顯示的控制信號(hào),各組計(jì)分動(dòng)態(tài)顯示的控制信號(hào)。整個(gè)系統(tǒng)至少有四個(gè)主要模塊:搶答鑒別模塊;搶答計(jì)時(shí)模塊;搶答計(jì)分模塊;分頻模塊。搶答鑒別及鎖存分頻計(jì)數(shù)計(jì)分器數(shù)碼管顯示數(shù)碼管顯示 系統(tǒng)組成框圖五、各模塊設(shè)計(jì) (一)搶答鑒別和鎖存模塊搶答隊(duì)伍共分為四組a,b,c,d。當(dāng)主持人按下sta鍵同時(shí)r輸入低電平時(shí),對(duì)應(yīng)的start指示燈亮,同時(shí)en端輸出高電平,這時(shí)四組隊(duì)伍才可以進(jìn)行搶答,即搶答信號(hào)a,b,c,d輸入電路中后,通過判斷是哪個(gè)信號(hào)最先為1得出搶答成功

4、的組別1,2,3或4組,然后將組別號(hào)輸出到相應(yīng)端a1,b1,c1,d1,此時(shí)start指示燈滅掉同時(shí)en端輸出低電平,并將組別序號(hào)換算為四位二進(jìn)制信號(hào)輸出到states3.0端鎖存,等待輸出到計(jì)分和顯示單元。一旦r輸入高電平,則把“0000”輸出到states3.0端鎖存,同時(shí)四組隊(duì)伍無法進(jìn)行搶答。其模塊如下: 搶答鑒別及鎖存模塊1.搶答鑒別及鎖存源程序: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity qdjb_sc is port(sta,rst:in std_logic; a,

5、b,c,d,r:in std_logic; a1,b1,c1,d1,start:out std_logic; en : out std_logic; states:out std_logic_vector(3 downto 0);end qdjb_sc;architecture one of qdjb_sc issignal abc:std_logic_vector(4 downto 0); signal tmp:std_logic; beginabc=r&a&b&c&d;process(abc,rst,tmp) begin if rst=1 then tmp=0; a1=0; b1=0; c

6、1=0; d1=0;start=0;en=0;states=0000; end if; if sta=1 then tmp=1; en=1; start a1=1; b1=0; c1=0; d1=0; states=0001; tmp=0; en=0;start a1=0; b1=1; c1=0; d1=0; states=0010; tmp=0; en=0;start a1=0; b1=0; c1=1; d1=0; states=0011; tmp=0; en=0;start a1=0; b1=0; c1=0; d1=1; states=0100; tmp=0; en=0;start a1=

7、0; b1=0; c1=0; d1=0; states=0000; tmp=0; en=0;start a1=0; b1=0; c1=0; d1=0; states=0000; tmp=1; end case; end if;end process;end one;2波形仿真:仿真圖說明:第一階段,在rst、sta輸入高電平后,start、en輸出高電平,系統(tǒng)可以進(jìn)行搶答。然后b最先搶答,所以b1輸出高電平,同時(shí)start、en改為輸出低電平,states3.0被鎖存為“0010”。第二階段,當(dāng)rst輸入高電平,所有輸出端復(fù)位,然后c進(jìn)行了搶答,但輸出端沒有作出響應(yīng)。當(dāng)sta輸入高電平,sta

8、rt、en輸出高電平,系統(tǒng)可以搶答,之后r輸入高電平,此時(shí)start、en改為輸出低電平,系統(tǒng)被鎖,無法再進(jìn)行搶答,所有輸出端輸出低電平,states3.0被鎖存為“0000”。第三階段,當(dāng)rst輸入高電平,所有輸出端復(fù)位,當(dāng)sta輸入高電平,start、en輸出高電平,a最先搶答,a1輸出高電平,同時(shí)start、en改為輸出低電平,states3.0被鎖存為“0001”。(二)計(jì)分模塊在計(jì)分器電路的設(shè)計(jì)中,按照一般的設(shè)計(jì)原則,按一定數(shù)進(jìn)制進(jìn)行加減即可,但是隨著計(jì)數(shù)數(shù)目的增加,但由于實(shí)驗(yàn)板上數(shù)碼管數(shù)目的限制在,每組都猜用十進(jìn)制數(shù)計(jì)分,這種電路連線簡(jiǎn)單方便。clr為復(fù)位端,將計(jì)分起始分?jǐn)?shù)設(shè)為0。

9、chos3.0端功能是鎖存已搶答成功的組別序號(hào),當(dāng)接加分按鈕add后,將給chos3.0所存的組別加分。每按一次加1分,每組的分?jǐn)?shù)將在對(duì)應(yīng)的數(shù)碼管上顯示。其模塊如下: 計(jì)分模塊1.計(jì)分模塊源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jf is port(clr: in std_logic; add: in std_logic; chose: in std_logic_vector(3 downto 0); aa,bb: out std_logic_vector(3 dow

10、nto 0); cc,dd: out std_logic_vector(3 downto 0);end jf;architecture two of jf isbegin p1: process(add,chose) is variable a2:std_logic_vector(3 downto 0); variable b2:std_logic_vector(3 downto 0); variable c2:std_logic_vector(3 downto 0); variable d2:std_logic_vector(3 downto 0); begin if(clr=1)then

11、a2:=0000; b2:=0000; c2:=0000; d2:=0000; elsif(addevent and add=1)then if chose=0001then if a2=1001then a2:=0000; else a2:=a2+1; end if; elsif chose=0010 then if b2=1001 then b2:=0000; else b2:=b2+1; end if; elsif chose=0011then if c2=1001then c2:=0000; else c2:=c2+1; end if; elsif chose=0100then if

12、d2=1001then d2:=0000; else d2:=d2+1; end if; end if; end if; aa=a2; bb=b2; cc=c2; dd=d2; end process;end two;2.波形仿真:仿真圖說明:第一階段,clr輸入高電平,aa,bb,cc,dd均被賦為“0000”。當(dāng)chose輸入為“0001”,add輸入高電平時(shí),aa+1,改為“0001”;當(dāng)chose輸入為“0010”,add輸入高電平時(shí),bb+1,改為“0001”;當(dāng)chose再次輸入“0001”,add輸入高電平時(shí),aa+1,改為“0010”。第二階段,clr輸入高電平,aa,bb,c

13、c,dd均被復(fù)位,賦為“0000”。當(dāng)chose輸入為“0011”,add輸入高電平時(shí),cc+1,改為“0001”;當(dāng)chose輸入為“0100”,add輸入高電平時(shí),dd+1,改為“0001”;當(dāng)chose再次輸入“0100”,add輸入高電平時(shí),dd+1,改為“0010”。(三)計(jì)時(shí)模塊本系統(tǒng)中的計(jì)時(shí)器電路既有計(jì)時(shí)初始值的預(yù)置功能,又有減計(jì)數(shù)功能,功能比較齊全。其中將初始值設(shè)置為5秒,clk為時(shí)鐘信號(hào),en端為高電平后開始計(jì)時(shí),rst為復(fù)位端,操作簡(jiǎn)潔。其模塊如下: 計(jì)時(shí)模塊1.計(jì)時(shí)模塊源程序:library ieee;use ieee.std_logic_1164.all;use iee

14、e.std_logic_unsigned.all;entity cnt isport(clk,en,rst:in std_logic; ring:out std_logic; data:out std_logic_vector(3 downto 0);end cnt;architecture bhv of cnt is signal a:std_logic_vector(3 downto 0);beginprocess(clk)begin if rst=1 then a=0101;ring=0; elsif clkevent and clk=1 then if en=1 then a=0101

15、; a=a-1; if a=0000 then a=0000;ring=1; end if; end if; end if;end process; data=a;end bhv;2.波形仿真:仿真圖說明:第一階段,rst輸入高電平,data輸出“0101”,ring輸出低電平。當(dāng)en持續(xù)輸入高電平時(shí),每遇到clk的上升沿,data-1。當(dāng)data為“0000”時(shí),en仍然輸入高電平,則ring輸出高電平。第二階段,rst輸入高電平,data輸出“0101”,ring復(fù)位輸出低電平。當(dāng)en持續(xù)輸入高電平時(shí),每遇到clk的上升沿,data-1。當(dāng)data為“0011”時(shí),en中斷輸入高電平,則r

16、ing仍然輸出高電平。(四)分頻模塊 該模塊主要是將頻率為20mhz的時(shí)鐘信號(hào)分頻成1hz。其模塊如下: 分頻模塊1.分頻模塊源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clk_1s isport(clk:in std_logic;-50m in clk_fp:out std_logic);end clk_1s;architecture bhv of clk_1s is signal cnt:std_logic_vector(27 downto 0);beginproce

17、ss(clk)begin if clkevent and clk=1 then cnt=cnt+1;clk_fp=0; if cnt=x1312d00 then cnt=x0000000; clk_fp=1; else clk_fp=0; end if; end if;end process;end bhv;2.波形仿真:仿真圖說明:由于在時(shí)鐘信號(hào)為20mhz的情況下,遇到20m次上升沿,clk_fp端口才輸出一次矩形波。因此仿真器難以進(jìn)行仿真,就此沒有仿真出真實(shí)結(jié)果。(五)搶答器的頂層原理圖設(shè)計(jì)1.頂層原理圖: 2.搶答器整體系統(tǒng)仿真:仿真圖說明: 由于如果仿真時(shí)長超過1s進(jìn)行仿真的話,qu

18、artus軟件難以進(jìn)行仿真,因此把仿真時(shí)間按比例縮小1/1000000,即計(jì)時(shí)從1us開始倒計(jì)時(shí)。 上兩幅圖為整體系統(tǒng)仿真圖,由于受電腦屏幕的限制,使得分開兩部分截取。 clkin始終輸入20mhz的時(shí)鐘信號(hào)。 第一階段,當(dāng)clrin輸入高電平時(shí),aaout、bbout、ccout、ddout均被賦值為“0000”,當(dāng)rstin輸入高電平, staout被復(fù)位為“0000” ,dataout被復(fù)位為“0101”。當(dāng)stain輸入高電平時(shí),start輸出高電平,對(duì)應(yīng)led燈亮,系統(tǒng)開始搶答,同計(jì)時(shí)器從“0101”開始倒計(jì)時(shí),每隔1us減一,dataout每隔1us更改為計(jì)時(shí)器對(duì)應(yīng)數(shù)字(但由于從開

19、始搶答到搶答成功時(shí)間過短,倒計(jì)時(shí)功能并沒有體現(xiàn)出來)。cin最先輸入高電平,所以c組先搶答。同時(shí)start改為輸出低電平,對(duì)應(yīng)led燈熄滅,staout被鎖存為“0011” ,計(jì)時(shí)器停止計(jì)時(shí)。然后addin輸入高電平,c組得一分,所以ccout進(jìn)行+1處理,被鎖存為“0001”,c組成績?yōu)?分。 第二階段,當(dāng)rstin輸入高電平,staout被復(fù)位為“0000” ,dataout被復(fù)位為“0101”。當(dāng)stain輸入高電平,start輸出高電平,對(duì)應(yīng)led燈亮,系統(tǒng)開始搶答,同計(jì)時(shí)器從“0101”開始倒計(jì)時(shí),每隔1us減一,dataout每隔1us更改為計(jì)時(shí)器對(duì)應(yīng)數(shù)字(但由于從開始搶答到搶答成

20、功時(shí)間過短,倒計(jì)時(shí)功能并沒有體現(xiàn)出來)。bin最先輸入高電平,所以b組先搶答。同時(shí)start改為輸出低電平,對(duì)應(yīng)led燈熄滅,staout被鎖存為“0010” ,計(jì)時(shí)器停止計(jì)時(shí)。然后addin輸入高電平,b組得一分,所以bbout進(jìn)行+1處理,被鎖存為“0001”,b組成績?yōu)?分。 第三階段,當(dāng)rstin輸入高電平,staout被復(fù)位為“0000” ,dataout被復(fù)位為“0101”。當(dāng)stain輸入高電平,start輸出高電平,對(duì)應(yīng)led燈亮,系統(tǒng)開始搶答,同計(jì)時(shí)器從“0101”開始倒計(jì)時(shí),每隔1us減一,dataout每隔1us更改為計(jì)時(shí)器對(duì)應(yīng)數(shù)字(但由于從開始搶答到搶答成功時(shí)間過短,倒

21、計(jì)時(shí)功能并沒有體現(xiàn)出來)。cin最先輸入高電平,所以c組先搶答。同時(shí)start改為輸出低電平,對(duì)應(yīng)led燈熄滅,staout被鎖存為“0011” ,計(jì)時(shí)器停止計(jì)時(shí)。然后addin輸入高電平,c組得一分,所以ccout進(jìn)行+1處理,被鎖存為“0010”,c組成績?yōu)?分。 第四階段,當(dāng)rstin輸入高電平,staout被復(fù)位為“0000”,dataout被復(fù)位為“0101”。當(dāng)stain輸入高電平,start輸出高電平,對(duì)應(yīng)led燈亮,系統(tǒng)開始搶答,同計(jì)時(shí)器從“0101”開始倒計(jì)時(shí),每隔1us減一,dataout每隔1us更改為計(jì)時(shí)器對(duì)應(yīng)數(shù)字。當(dāng)5us過后,計(jì)時(shí)器減為“0000”,同時(shí)dataou

22、t更改為“0000”,ringout輸出高電平,對(duì)應(yīng)led亮起作為搶答超時(shí)警報(bào)。此時(shí)搶答器被鎖,無法進(jìn)行搶答。 第五階段,當(dāng)rstin輸入高電平,staout被復(fù)位為“0000”,dataout被復(fù)位為“0101”。當(dāng)clrin輸入高電平時(shí),aaout、bbout、ccout、ddout均被賦值為“0000”。六、設(shè)計(jì)總結(jié)通過對(duì)quartus軟件仿真,證明了本產(chǎn)品在實(shí)際運(yùn)用中的正確性,完全可以實(shí)現(xiàn)預(yù)期任務(wù)的要求,在有一組信號(hào)搶答成功后數(shù)碼管顯示相應(yīng)的組別。且計(jì)分器在實(shí)現(xiàn)計(jì)分功能時(shí)能夠準(zhǔn)確記錄每組的成績并將分?jǐn)?shù)通過對(duì)應(yīng)的數(shù)碼管呈一位數(shù)顯示,計(jì)時(shí)器在按下?lián)尨痖_始按鈕后同時(shí)從5秒倒計(jì)時(shí)并通過譯碼器實(shí)

23、時(shí)顯示計(jì)時(shí)結(jié)果。如果在5秒時(shí)間內(nèi)無人搶答,系統(tǒng)將發(fā)出警報(bào),由小燈顯示。但是該設(shè)計(jì)仍有需要改進(jìn)的地方:1.在搶答鑒別模塊中,只有當(dāng)主持人按下?lián)尨鹦盘?hào)時(shí),各小組才能開始搶答,并顯示組號(hào)及對(duì)應(yīng)的小燈。而當(dāng)主持人沒有按下?lián)尨鹦盘?hào)時(shí),各組進(jìn)行搶答,但系統(tǒng)沒有顯示偷步搶答的組別,因此需要完善。2在計(jì)分模塊中,只有當(dāng)每組搶答正確時(shí)加一分,而搶答錯(cuò)誤時(shí),沒進(jìn)行設(shè)計(jì)減分功能,這是我在這次設(shè)計(jì)中最大的不足,因此需要改進(jìn)。七、設(shè)計(jì)心得與體會(huì)經(jīng)過一周的eda課程設(shè)計(jì),通過不懈努力,成功地設(shè)計(jì)出了四路電子搶答器?;厥走@周的課程設(shè)計(jì),經(jīng)歷了酸甜苦辣,因?yàn)閷?duì)eda技術(shù)及quartus軟件的相關(guān)知識(shí)知道的不夠深入,在設(shè)計(jì)過程中遇到了很多困難,但通過從網(wǎng)上,圖書館找一些相關(guān)資料及根據(jù)自己的能力,最終完成了設(shè)計(jì)任務(wù)。我在這次課程

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論