




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、智力競賽搶答計時器的設(shè)計EDA VHDLVHDL EDAVHDL VHDL MAX+PLUSII MAX+PLUSII摘要:11 數(shù)字電路主要是基于兩個信號(我們可以簡單的說是有電壓和無電壓),用數(shù) 字信號完成對數(shù)字量進行算術(shù)運算和邏輯運算的電路我們稱之為數(shù)字電路,它具有邏輯運算和邏 輯處理等功能,數(shù)字電路可分為組合邏輯電路和時序邏輯電路。EDA技術(shù)又稱電子設(shè)計自動化,它是為解決自動控制系統(tǒng)設(shè)計而提出的,從70年代經(jīng)歷了計算機輔助設(shè)計(CAD,計算機輔助工程(CAE,電子系統(tǒng)設(shè)計自動 化(ESDA 3個階段。前兩個階段的EDA產(chǎn)品都只是個別或部分的解決了電子產(chǎn)品 設(shè)計中的工程問題;第三代 ED
2、A工具根據(jù)工程設(shè)計中的瓶頸和矛盾對設(shè)計數(shù)據(jù)庫實 現(xiàn)了統(tǒng)一管理,并提出了并行設(shè)計環(huán)境概念,提供了獨立于工藝和廠家的系統(tǒng)級的設(shè)計工具。VHDL(VERY HIGH SPEED INTEGRATED CIRCUIT HARDWARE DESCRIPTIONLANGUAGE語言最早是有美國國防部提出的,它支持行為領(lǐng)域和結(jié)構(gòu)領(lǐng)域的硬 件描述,并且可以從最抽象的系統(tǒng)級一直到最精確的邏輯級,在描述數(shù)字系統(tǒng)時,可以 使用前后一致的語義和語法跨越多個層次,并且使用跨越多個級別的混合描述模擬該系統(tǒng)。 因此,它可以由高層次行為描述子系統(tǒng)及低層次詳細實現(xiàn)子系統(tǒng)所組成的系統(tǒng)模擬。它有兩 個版本IEEEStd1076-1
3、987LRM87和 IEEEStd1076-1993LRM93,他們并不完全兼容, 但做一些修改就可以兼容了。許多公司都為VHDL開發(fā)出了編譯和仿真軟件,其中 Max+plusII(或?qū)懗蒑axplus2,或MP2)是Altera公司推出的的第三代 PLD開發(fā)系統(tǒng)(Altera 第四代 PLD開發(fā)系統(tǒng)被稱為:QuartusII ,主要用于設(shè)計新器件和大規(guī)模 CPLD/FPGA)使用 MAX+PLUSI的設(shè)計者不需精通器件內(nèi)部的復雜結(jié)構(gòu)。設(shè)計者可以用自己熟悉的設(shè) 計工具(如原理圖輸入或硬件描述語言)建立設(shè)計,MAX+PLUSI把這些設(shè)計轉(zhuǎn)自動換成最終所需的格式。其設(shè)計速度非 ???。對于一般幾千門
4、的電路設(shè)計,使用 MAX+PLUSI,I 從設(shè)計輸入到器件編程完畢,用 戶拿到設(shè)計好的邏輯電路,大約只需幾小時。設(shè)計處理一般在數(shù)分鐘內(nèi)內(nèi)完成。特別是 在原理圖輸入等方面。本設(shè)計要求做一個四人搶答器,并要求當有某一參賽者首先按下?lián)尨痖_關(guān)時,相應 顯示燈亮并報警,此時搶答器不再接受其他輸入信號。電路具有回答問題時 間控制功能。要求回答問題時間小于等于100s (顯示0-99),時間采用倒計時方式。當?shù)竭_ 限定時間,發(fā)出警告。對于一個四人搶答器,四個選手在電路中的起始控制作用是一樣的,當裁判員 宣布開始搶答時,誰先按下他前面的控制開關(guān),他的燈就會亮,而且這時其他人再怎么 按,也就不會亮了,說明每個人
5、對其他人都有一個先發(fā)制人的作用,及每個人都在時間控制 下,能鎖存住其他選手的功能。當有一個指示燈亮了,計數(shù)器就開始從 99開始倒計時,到 0 時還要警告聲,這樣計數(shù)器開始工作就是在指示燈的指示下工作??梢栽O(shè)四個人分別為輸入端 A,B,C, D;因為四個輸入端在VHDL中,要求四 個輸入端2 應該是相等優(yōu)先級別,但只要有一個輸入端接入高電平時,就給其他信號一個 反饋,使得他們的輸入無效,及他們對應的指示燈不亮;所以我們可以也并行語句,讓它們分為四個進程( process ) , 同時也要求每個進程中都有反饋信號傳給其他進程語句中,這樣 就可以完成搶答器基礎(chǔ)部分了,設(shè)計的邏輯電路圖部分見附錄圖一。
6、其次就是計數(shù)器部分, 當有人開始進入回答部分,指示燈亮,同時計數(shù)器開始工作,并要求是倒計時方式并七段顯 示出,通過這些消息我們可知,指示燈即是計數(shù)器開始倒計時的信號,本設(shè)計中采用了元件 例化(component) 語句 , 在搶答器中給個選手已經(jīng)開始回答了的信號插口,給計數(shù)器 中的置零輸入端,這樣就基本上完成了設(shè)計,計數(shù)器采用倒計時方式,實現(xiàn)方式也很簡單, 只要給他們最初賦值為 99,而后在每個上升沿來到減一,具體設(shè)計情況還是看看程序設(shè)計部 分吧,在附錄部分還有這個 99 倒時計數(shù)器的邏輯電路圖。根據(jù)上面的分析可知,我們只要用四個進程語句,就可以處理好四位選手的相 互限制的問題,再將四個指示燈
7、用相與來控制計數(shù)器的置零端 set ,再用一個元件話語 句 component連接計數(shù)器,下面是具體的搶答器的 VHDL語言代碼:代碼中A B C D分別代表四位參賽選手,RESE是主裁判員的控制開關(guān),CLK是計數(shù)器的時鐘信號,MUSIC是警告的控制開關(guān),COUNT和 CONT代表的是99倒計 時的七段顯示二進制碼直接與LED顯示器連接,ALIGHT,BLIGHT,CLIGHT,DLIGH分別代表四 位選手的顯示library ieee;use ieee.std_logic_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL; entity Qiang_DA is
8、 port(A,B,C,D,RESET:in std_logic;CLK:in std_logic;MUSIC:out std_logic;COUT1:out std_logic_vector(6 downto 0);COUT2:out std_logic_vector(6 downto 0); ALIGHT,BLIGHT,CLIGHT,DLIGHT:out std_logic); end;architecture one of Qiang_DA is component COUNTER99 port(SET,CLK:in std_logic;MUSIC:out std_logic;COUT1
9、:out std_logic_vector(6 downto 0);COUT2:out std_logic_vector(6 downto 0); end component;signal A1,B1,C1,D1:std_logic;signal A2,B2,C2,D2:std_logic;signal SET:std_logic;beginA2<=not A1 ;B2<=not B1 ;C2<=not C1 ;3D2<=not D1 ;L1:process(A)beginA1<=(A and B2 and C2 and D2) ; end process L1;
10、L2:process(B)beginB1<=(B and A2 and C2 and D2); end process L2;L3:process(C)beginC1<=(C and A2 and B2 and D2); end process L3;L4:process(D)beginD1<=(D and A2 and C2 and B2); end process L4;L5:process(A1,B1,C1,D1,RESET) beginif RESET='0' thenALIGHT<='0'BLIGHT<='0
11、9;CLIGHT<='0'DLIGHT<='0'SET<='0'else ALIGHT<=A1;BLIGHT<=B1;CLIGHT<=C1;DLIGHT<=D1;SET<=(A1 or B1 or C1 or D1);end if;end process L5;U0:COUNTER99 port map(SET,CLK,MUSIC,COUT1,COUT2); end;下面是99倒數(shù)計數(shù)器的VHDA語言代碼:library ieee;use ieee.std_logic_1164.all;use ie
12、ee.std_logic_unsigned.all;entity COUNTER99 isport( SET,CLK:in std_logic;MUSIC:out std_logic;COUT1:out std_logic_vector(6 downto 0);COUT2:out std_logic_vector(6 downto 0); end;architecture behave of COUNTER99 issignal MUSIC1:std_logic;signal HIGH:std_logic_vector(3 downto 0):="1001" signalL
13、OW:std_logic_vector(3 downto 0):="1001" begin C1:process(SET,CLK,MUSIC1) beginif SET='0' then4MUSIC1<='0'HIGH<="1001"LOW<="1001"elseif RISING_EDGE(CLK) thenif LOW="0000" thenLOW<="1001"if HIGH="0000" thenHIGH<
14、="1001"else HIGH<=HIGH-1;end if;else LOW<=LOW-1;end if ;end if;if (HIGH="0000" and LOW="0001") thenMUSIC1<='1'end if;end if;end process C1;C5:process(HIGH,LOW)function decode(four:std_logic_vector(3 downto 0) return std_logic_vector isvariable outdata:s
15、td_logic_vector(6 downto 0);begincase four isWHEN "0000"=>outdata:="1111110"WHEN "0001"=>outdata:="0110000"WHEN "0010"=>outdata:="1101101"WHEN "0011"=>outdata:="1111001"WHEN "0100"=>outdata:=&quo
16、t;0110011"WHEN "0101"=>outdata:="1011011"WHEN "0110"=>outdata:="0011111"WHEN "0111"=>outdata:="1110000"WHEN "1000"=>outdata:="1111111"WHEN "1001"=>outdata:="1111011"WHEN others=>
17、;outdata:="0000000"end case;return(outdata);end decode;beginCOUT1<=decode(LOW);COUT2<=decode(HIGH);MUSIC<=MUSIC1;end process C5;end;在附錄部分有上述代碼在MAX+PLUXI軟件中的部分仿真結(jié)果,具體電路模擬 結(jié)果參照附錄。5經(jīng)過一周的EDA的課程設(shè)計,我對VHDL有了更深刻的認識,在最開始的時候 也遇到 不少問題,的確書看得比較少??!后來通過查閱資料和書本,總算寫出了一點東西,但模型的仿真過程中,也發(fā)現(xiàn)了一些問題,在時鐘周期設(shè)置200ns內(nèi)時就出現(xiàn)了組合邏輯電路中的競爭冒險現(xiàn)象,有待改進,單此種模型可以推廣到比四人更多的搶答器中,只要添加進程語句就可以了。開*槍笛據(jù)砂訕團歩|出稠67以下四幅圖是99倒數(shù)計數(shù)器的簡單設(shè)計邏輯電路示意圖及仿真結(jié)果bda 劇r 汕斷處"煜sfift耳豈總2門7旳豈_二址帕如赴t七34 曲J*1_- ->-.J > bS j巴襯土比£衛(wèi)d山4筑 A L
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教A版高一(下)數(shù)學必修第二冊6.1平面向量的概念【教學設(shè)計】
- 五年級上冊數(shù)學教案-2.1 軸對稱再認識(一)|北師大版
- 2025年外國游戲大陸推廣代理合同韓文版
- (高清版)DB45∕T 477-2022 綠色食品 黑木耳生產(chǎn)技術(shù)規(guī)程
- 《第2課電視與生活 1 電視百寶箱》(教學設(shè)計)-2023-2024學年四年級下冊綜合實踐活動安徽大學版
- 2025年海南工商職業(yè)學院單招職業(yè)傾向性測試題庫學生專用
- 第3課 建造塔臺(教學設(shè)計)-2023-2024學年六年級下冊科學 教科版
- 2025年度個人單位間借款擔保合同
- 產(chǎn)業(yè)園區(qū)室內(nèi)外裝修合同
- 2025年度商鋪房屋租賃與智能管理系統(tǒng)合作協(xié)議
- 工程質(zhì)量回訪記錄
- GB/T 18268.1-2010測量、控制和實驗室用的電設(shè)備電磁兼容性要求第1部分:通用要求
- 第三節(jié)對化學武器的防護
- 人教版高一物理必修二第六章《圓周運動》課后練習(有答案解析)
- 施工進度計劃-報審表本
- 基于單片機的老人跌倒報警裝置獲獎科研報告
- 呼吸機及管路的管理課件
- 維修質(zhì)量檢驗制度
- 統(tǒng)計學主要計算公式21098
- 品質(zhì)控制計劃(QC工程圖)
- DB15T 1193-2017 城市供水行業(yè)反恐怖防范要求
評論
0/150
提交評論