EDA課程設計 數(shù)字式競賽搶答器
《EDA課程設計 數(shù)字式競賽搶答器》由會員分享,可在線閱讀,更多相關《EDA課程設計 數(shù)字式競賽搶答器(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 《EDA技術》 課程設計報告 二0一一年 06 月 30 日 目 錄 1課程設計目的………………………………………………………1 2課程設計題目描述和要求 …………………………………………1 3課程設計報告內(nèi)容 ………………………………………………2 4總結(jié)………………………………………………………………14 5參考資料…………………………………………………………14 1
2、. 課程設計目的 1、通過課程設計使學生能熟練掌握一種EDA軟件(MAX+plus2)的使用方法,能熟練進行設計輸入、編譯、管腳分配、下載等過程,為以后進行工程實際問題的研究打下設計基礎。 2、通過課程設計使學生能利用EDA軟件(MAX+plus2)進行至少一個電子技術綜合問題的設計,設計輸入可采用圖形輸入法或VHDL硬件描述語言輸入法。 3、通過課程設計使學生初步具有分析、尋找和排除電子電路中常見故障的能力。 4、通過課程設計使學生能獨立寫出嚴謹?shù)摹⒂欣碚摳鶕?jù)的、實事求是的、文理通順的字跡端正的課程設計報告。 2.課程設計題目描述和要求 搶答器接通電源后,主持
3、人將開關置于“清除”位置,搶答器處于禁止工作狀態(tài),編號顯示器滅燈。搶答開始時,主持人將控制開關撥到“開始”位置,揚聲器給出聲響提示,搶答器處于工作狀態(tài),這時,搶答器完成以下工作: (1)優(yōu)先編碼器電路立即分辨出搶答者編號,并由鎖存器進行鎖存,然后由譯碼顯示電路顯示編號; (2)揚聲器發(fā)出短暫聲響,提醒主持人注意; (3)控制電路要對輸入編碼電路進行封鎖,避免其他選手再次進行搶答;(4)當選手將問題回答完畢,主持人操作計分開關,計分電路采用十進制加/減計數(shù)器、數(shù)碼管顯示。本輪搶答完畢,主持人操作控制開關,使系統(tǒng)回復到禁止工作狀態(tài),以便進行下一輪搶答。 設計框圖
4、顯示 電路 譯碼 電路 鎖存器 優(yōu)先編 碼電路 搶答按鈕 報警電路 控制電路 主持人 控制開關 主電路 顯示電路 譯碼電路 計分電路 預制 擴展功能電路 加分 減分 圖1 搶答器總體框圖 由主體電路和擴展電路兩部分構(gòu)成,主體電路完成基本的搶答功能,即開始搶答后,當選手按動搶答鍵時,能顯示選手的編號,同時能封鎖輸入電路,禁止其他選手搶答。擴展電路完成各選手的得分顯示功能。 3、課程設計報告內(nèi)容 3.1總體設計電路 3.2模塊設計和相應模塊程序
5、 (一)搶答鑒別模塊 1、VHDL源程序 library ieee;--搶答鑒別模塊 use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity qdjb is port(rst,clk2:in std_logic; s0,s1,s2,s3:in std_logic; states:buffer std_logic_vector(3 downto 0); tmp:out std_logic); end qdjb; architecture one of qdj
6、b is signal st:std_logic_vector(3 downto 0); begin p1:process(s0,rst,s1,s2,s3,clk2) begin if rst='0' then tmp<='0';st<="0000"; elsif clk2'event and clk2='1' then if (s0='1' or st(0)='1')and not( st(1)='1' or st(2)='1' or st(3)='1' ) then st(0)<='1'; end if ; if (
7、s1='1' or st(1)='1')and not( st(0)='1' or st(2)='1' or st(3)='1' ) then st(1)<='1'; end if ; if (s2='1' or st(2)='1')and not( st(0)='1' or st(1)='1' or st(3)='1' ) then st(2)<='1'; end if ; if (s3='1' or st(3)='1')and not( st(0)='1' or st(1)='1' or st(2)='1' ) then st(3)<='1'; e
8、nd if ; tmp<=s0 or s1 or s2 or s3; end if ; end process p1; p2:process(states(0),states(1),states(2),states(3)) begin if (st="0000") then states<="0000"; elsif (st<="0001") then states<="0001"; elsif (st<="0010") then states<="0010"; elsif (st<="0100") then states<="0011"; elsif
9、(st<="1000") then states<="0100"; end if; end process p2; end one; 搶答鑒別模塊圖 搶答鑒別模塊用來準確直觀地判斷A、B、C、D、E、F六組搶答者誰最先按下按鈕,并為顯示端送出信號,通過數(shù)顯和蜂鳴等途徑使觀眾能夠清楚地知道是哪一組搶答成功,是整個系統(tǒng)的核心部分。同時組別顯示端為下一模塊輸入信號,以方便主持人為該組搶答成功者進行加減分的操作。 (二)計時模塊 1、VHDL源程序 library ieee; use ieee.std_logic_1164.all; use ieee
10、.std_logic_unsigned.all; entity js is port(clk,rst,s,stop:in std_logic; warn:out std_logic; ta,tb:buffer std_logic_vector(3 downto 0)); end js; architecture one of js is signal co:std_logic; begin p1:process(clk,rst,s,stop,ta) begin if rst='0' or stop='1' then
11、 ta<="0000"; elsif clk'event and clk='1' then co<='0'; if s='1' then if ta="0000" then ta<="1001";co<='1'; else ta<=ta-1; end if; end if; end if; end process p1; p2:process(co,rst,s,stop,tb) begin
12、 if rst='0' or stop='1' then tb<="0010"; elsif co'event and co='1' then if s='1' then if tb="0000" then tb<="0011"; else tb<=tb-1; end if; end if; end if; end process p2; end one; 計時模塊圖 在這個模塊中主要實現(xiàn)搶答過程中的計時功能,在有搶答開始后進行30秒的倒
13、計時,并且在30秒倒計時后無人搶答顯示超時并報警。其中有搶答時鐘信號clk2;系統(tǒng)復位信號rst;搶答使能信號s;搶答狀態(tài)顯示信號states;無人搶答警報信號warn;計時中止信號stop;計時十位和個位信號tb,ta。 (三)數(shù)據(jù)選擇模塊 1、VHDL源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity sjxz is port (a,b,c: in std_logic_vector(
14、3 downto 0); clk2,rst: in std_logic; s: out std_logic_vector(1 downto 0); y: out std_logic_vector(3 downto 0) ); end sjxz; architecture body_chooser of sjxz is signal count: std_logic_vector (1 downto 0); begin s<=count; process(clk2,rst) beg
15、in if(rst='0')then count<="00"; elsif(clk2'event and clk2='1')then if(count>="10")then count<="00"; else count<=count+1; end if; end if; case count is when "00"=>y<=a; when "01"=>y<=b; when "10"=>y<=c; when others=>null;
16、 end case; end PROCESS; end body_chooser; 數(shù)據(jù)選擇模塊圖 在這個模塊中主要實現(xiàn)搶答過程中的數(shù)據(jù)輸入功能,輸入信號a[3..0]、b[3..0]、c[3..0];計數(shù)輸出信號s;數(shù)據(jù)輸出信號y;計數(shù)脈沖clk2,實現(xiàn)a、b、c按脈沖輪流選通,在數(shù)碼管上顯示。 (四)譯碼模塊 1、VHDL源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY YMQ IS PORT(AIN4: IN STD_
17、LOGIC_VECTOR(3 DOWNTO 0); DOUT7: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END YMQ; ARCHITECTURE ART OF YMQ IS BEGIN PROCESS(AIN4) BEGIN CASE AIN4 IS WHEN "0000"=>DOUT7<="1111110"; --0 WHEN "0001"=>DOUT7<="0110000"; --1 WHEN "0010"=>DOUT7<="1
18、101101"; --2 WHEN "0011"=>DOUT7<="1111001"; --3 WHEN "0100"=>DOUT7<="0110011"; --4 WHEN "0101"=>DOUT7<="1011011"; --5 WHEN "0110"=>DOUT7<="1011111"; --6 WHEN "0111"=>DOUT7<="1110000"; --7 WHEN
19、 "1000"=>DOUT7<="1111111"; --8 WHEN "1001"=>DOUT7<="1111011"; --9 WHEN OTHERS=>DOUT7<="0000000"; END CASE; END PROCESS; END ARCHITECTURE ART; 譯碼模塊圖 在這個模塊中主要實現(xiàn)搶答過程中將BCD碼轉(zhuǎn)換成7段的功能。 3、4仿真及仿真結(jié)果分析 搶答鑒別 計時模塊 譯碼 3.5實驗調(diào)試結(jié)果 l 搶答鑒別模塊仿真分析:
20、 當鑒別模塊的清零信號CLR為高電平時,無論A、B、C、D四組參賽者誰按下?lián)尨鸢粹o,系統(tǒng)輸出均為零,同時組別顯示端G輸出信號也顯示為零;當清零信號CLR為低電平時,A、B、C、D四組參賽者誰先按下?lián)尨鸢粹o,組別顯示端就顯示該組別的號碼。假如C組按下?lián)尨鸢粹o時,組別輸出為0010,同時C組的顯示燈被點亮。仿真圖上顯示的為A先搶答,因為在0-1.28微秒之間A、C雖然都按搶答鍵,但CLR為有效狀態(tài),所以在此時間段內(nèi)的搶答無效。 l 計分模塊仿真分析: 首先應該清楚,在計分器電路的設計中,按十進制進行加減分操作的,當出現(xiàn)時鐘信號上升沿CLK就可以完成對參賽者加減分操作。智能搶答器記分模塊的
21、仿真時以加分操作為例。由仿真圖3-10可知以下情況: (1)系統(tǒng)設計過程中,當計分復位端RST=1時,并且組別輸入信號CHOS=0000,其中的組別輸入信號是搶答鑒別模塊的輸出信號,計分器復位,此時以上四組都不會產(chǎn)生加減分操作。 (2)然而當計分復位端RST=0時,此時計分器可以計分。當CHOS=0001時,組別顯示為A組,此時主持人利用計分器對A組進行加減分操作;當CHOS=0010時,組別顯示為B組,此時主持人則利用計分器對B組進行加減分操作;當CHOS=0100時,組別顯示為C組,此時系統(tǒng)對C組進行加減分操作;當CHOS=1000時,組別顯示為D組,此時對D組進行加減分操作。由仿真圖
22、可知,當主持人按下系統(tǒng)復位鍵RST鍵時,使分數(shù)復位,每位設置的初始分數(shù)為100分。當CHOS=1000時,即D搶答成功時,加分鍵ADD輸入四個脈沖,DD1加到4,說明加分成功,成績變?yōu)?40分。其他搶答者搶答成功后的加分操作與此相同。減分的仿真與此類似,因為是以加法實現(xiàn),本質(zhì)與加分相同,當計分復位端RST=0時,可以計分。由仿真圖可知,初始成績均為100分。當CHOS=1000時,即D搶答成功時,減分鍵SUB輸入四個脈沖,DD1加到4,說明減分成功,成績變?yōu)?0分。其他搶答者搶答成功后的減分操作與此相同。 l 譯碼器模塊仿真分析: 當AIN4= "0000" , DOUT7輸出"11
23、11110",此時數(shù)碼管顯示0; 當AIN4= "0001" , DOUT7輸出"0110000",此時數(shù)碼管顯示1; 當AIN4= "0010" , DOUT7輸出"1101101",此時數(shù)碼管顯示2; 當AIN4= "0011" , DOUT7輸出"1111001",此時數(shù)碼管顯示3; 當AIN4= "0100" , DOUT7輸出"0110011",此時數(shù)碼管顯示4; 當AIN4= "0101" , DOUT7輸出"1011011",此時數(shù)碼管顯示5; 當AIN4= "0110" , DOUT7輸出"1011111",此時
24、數(shù)碼管顯示6; 當AIN4= "0111" , DOUT7輸出"1110000",此時數(shù)碼管顯示7; 當AIN4= "1000" , DOUT7輸出"1111111",此時數(shù)碼管顯示8; 當AIN4= "1001" , DOUT7輸出"1111011",此時數(shù)碼管顯示9; 4、總結(jié) 智能搶答器的設計關鍵在于幾個模塊的設計要成功,即輸入控制電路的設計,顯示電路的設計,發(fā)生電路的設計和計時電路的設計。 根據(jù)實驗的要求來正確的設計電路,首先必須弄清楚搶答器的功能原理,需要用什么樣的電路或一些什么樣的芯片來設計來實現(xiàn),同時,如何來控制。把該實驗分成一塊一塊分別實
25、現(xiàn),當有人搶答時,如何使其正確的計時。 在實驗的過程中,連接線路很重要。所以在實驗時,線路的連接要仔細,只要一不小心,連錯了一根線或多連一根抑或少連一根線,對于設計的進展都是比較困難的。特別是在線路較多的時候,犯下這種錯誤,意味著要浪費很多的實驗時間。 通過本次課程設計,使我更加的了解如何來設計一個實驗,可以設計多種方案,通過比較得出最佳方案,使自己的思路更加的縝密。當然,本次實驗使我對數(shù)字電路、VHDL語言有了進一步的認識。同時,也了解了更多的芯片及其功能和模塊電路的設計方法。再者,經(jīng)過此次實驗的設計畫原理圖,使我對MAX10軟件有了進一步了解,操作也更加的熟練。加強了自己的思維能力和動手設計的能力。 參考書目 [1] 譚會生,《EDA》,西安電子電子科技大學出版社,2004年 [2] 謝自美 主編《電子線路設計實驗測試》 華中科技大學出版社 [3] 趙世強、許杰等編 《電子電路EDA技術》 西安電子科技大學出版社
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 植樹問題講課
- 小小圖書館賈世喜
- 小班數(shù)學:變得一樣多
- 蘇教版三年級數(shù)學上冊教學ppt課件58:解決問題的策略復習
- 小學科學六下《拓展與應用》-公開課一等獎ppt課件
- 高中英語人教版選修七Unit-2-Robots-ppt課件
- 第九章長期負債課件
- 皮膚免疫系統(tǒng)課件
- 辦公樓施工現(xiàn)場消防安全管理要求規(guī)范課件
- freeroi在功能磁共振roi分析中的應用
- 《永遇樂&#183;京口北固亭懷古》用典講解課件
- 《秋天的雨》微課課件
- 護患溝通技巧-課件
- 《高等數(shù)學B》第十章___微分方程與差分方程__第6節(jié)__差分與差分方程的概念_、……課件
- 英語(人教版)九年級總復習題型訓練補全對話(含最新原創(chuàng)題)課件