版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
..摘要本課程設(shè)計(jì)主要內(nèi)容是利用EDA技術(shù)設(shè)計(jì)一個可容納四組選手的智力競賽搶答器,全面熟悉、掌握VHDL語言基本知識,掌握利用VHDL語言對常用的組合邏輯電路和時序邏輯電路編程。本課程設(shè)計(jì)的開發(fā)仿真工具是MAX+plusII,采用自頂向下、逐層細(xì)化的設(shè)計(jì)方法設(shè)計(jì)整套系統(tǒng),頂層模塊用圖形描述,底層文件用VHDL語言描述。通過波形仿真,實(shí)現(xiàn)了智力競賽搶答器的基本功能,達(dá)到了設(shè)計(jì)要求。關(guān)鍵字智力競賽搶答器;EDA技術(shù);VHDL;MAX+plusII;自頂向下1引言20世紀(jì)90年代,引進(jìn)數(shù)字系統(tǒng)設(shè)計(jì)方法發(fā)生突破性變革的技術(shù)是VHDL〔VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,超高速集成電路硬件描述語言。它是一種IEEE-1076標(biāo)準(zhǔn)所規(guī)范的硬件描述語言,主要用于算法級、寄存器級到門級的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模,已成為電子設(shè)計(jì)自動化〔EDA的一種重要手段。本課程設(shè)計(jì)的主要目的是:全面熟悉、掌握VHDL語言基本知識,掌握利用VHDL語言對常用的的組合邏輯電路和時序邏輯電路編程,把編程和實(shí)際結(jié)合起來,熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進(jìn)一步提高上機(jī)動手能力,培養(yǎng)設(shè)計(jì)綜合電路的能力,養(yǎng)成編寫文檔資料的習(xí)慣和規(guī)范編程的思想。2智力競賽搶答器的主要功能設(shè)計(jì)一個4人參加的智力競賽搶答計(jì)時器。該系統(tǒng)具有回答問題時間控制的功能,要求回答問題時間小于等于100秒<顯示為0~99>,時間顯示采用倒計(jì)時方式。當(dāng)達(dá)到限定時間時,發(fā)出聲響以示警告;當(dāng)有某一參賽者首先按下?lián)尨痖_關(guān)時,相應(yīng)顯示燈亮并伴有聲響,此時搶答器不再接受其他輸入信號。智力競賽搶答器的功能分塊如圖2-1所示。頂層文件QDQ頂層文件QDQdaojishi模塊sanxuanyi模塊pianxuan模塊xianshi模塊jianbie模塊suocunqi模塊zhuanhuan模塊圖2-1智力競賽搶答器功能模塊劃分圖該智力競賽搶答器分為七個模塊,分別為:鑒別模塊、鎖存器模塊、轉(zhuǎn)換模塊、選擇輸出模塊、倒計(jì)時模塊、片選模塊和顯示模塊。3主要功能的實(shí)現(xiàn)3.1鑒別功能鑒別模塊jianbie如圖3-1所示,輸入信號CLK和CLR,若CLR="0",表示無人按鍵,輸出信號Q為0;若CLR="1",表示有人按鍵,輸出信號Q為1。 圖3-1jianbie模塊 鑒別模塊源代碼如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYjianbieISPORT<CLK,CLR:INSTD_LOGIC;Q:OUTSTD_LOGIC>;ENDjianbie;ARCHITECTUREjianbie_mkOFjianbieISBEGINPROCESS<CLK,CLR>BEGINIFCLR='0'THEN--利用IF_THEN_ELSE語句Q<='0';ELSIFCLK'EVENTANDCLK='0'THEN--檢測時鐘下降沿Q<='1';ENDIF;ENDPROCESS;ENDjianbie_mk;鑒別模塊程序調(diào)試波形如圖3-2所示,給CLK一個時鐘信號,在某一時刻開始賦給CLR一個高電平,則從下一個時鐘下降沿開始Q輸出高電平。圖3-2鑒別模塊仿真波形圖3.2鎖存器功能鎖存器模塊suocunqi如圖3-3所示,鎖存器對四位答題者的結(jié)果進(jìn)行鎖存,并將其賦給輸出信號Q1,Q2,Q3,Q4。圖3-3suocunqi模塊鎖存器模塊源代碼如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYsuocunqiISPORT<D1,D2,D3,D4:INSTD_LOGIC;CLK,CLR:INSTD_LOGIC;Q1,Q2,Q3,Q4,ALM:OUTSTD_LOGIC>;ENDsuocunqi;ARCHITECTUREsuocunqi_mkOFsuocunqiISBEGINPROCESS<CLK>BEGINIFCLR='0'THENQ1<='0';Q2<='0';Q3<='0';Q4<='0';ALM<='0';ELSIFCLK'EVENTANDCLK='1'THEN--檢測CLR為高電平,則有人搶答Q1<=D1;Q2<=D2;Q3<=D3;Q4<=D4;ALM<='1';ENDIF;ENDPROCESS;ENDsuocunqi_mk;鎖存器模塊程序調(diào)試波形如圖3-4所示,給CLK一個時鐘信號,在某一時刻開始賦給CLR一個高電平,則從下一個時鐘上升沿開始:將D1賦給Q1、將D2賦給Q2、將D3賦給Q3、將D4賦給Q4,并輸出ALM為1;在CLR為低電平時無輸出。圖3-4鎖存器模塊仿真波形圖3.3轉(zhuǎn)換功能轉(zhuǎn)換模塊zhuanhuan如圖3-5所示,把搶答結(jié)果轉(zhuǎn)化為一個四位二進(jìn)制數(shù),表示搶答者的編號。圖3-5zhuanhuan模塊轉(zhuǎn)換模塊源代碼如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYzhuanhuanISPORT<D1,D2,D3,D4:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR<3DOWNTO0>>;ENDzhuanhuan;ARCHITECTUREzhuanhuan_mkOFzhuanhuanISBEGINPROCESS<D1,D2,D3,D4>VARIABLETMP:STD_LOGIC_VECTOR<3DOWNTO0>;BEGINTMP:=D1&D2&D3&D4;CASETMPISWHEN"1000"=>Q<="0001";--類似于真值表的CASE語句WHEN"0100"=>Q<="0010";WHEN"0010"=>Q<="0011";WHEN"0001"=>Q<="0100";WHENOTHERS=>Q<="0000";ENDCASE;ENDPROCESS;ENDzhuanhuan_mk;轉(zhuǎn)換模塊程序調(diào)試波形如圖3-6所示,通過此模塊將D1D2D3D4的輸入結(jié)果轉(zhuǎn)換成Q1Q2Q3Q4這種四位二進(jìn)制數(shù),當(dāng)D1=‘1’,其他三位為‘0’時,輸出Q為"0001";當(dāng)D2=‘1’,其他三位為‘0’時,輸出Q為"0010";當(dāng)D3=‘1’,其他三位為‘0’時,輸出Q為"0011";當(dāng)D4=‘1’,其他三位為‘0’時,輸出Q為"0100";其他情況下,輸出Q為"0000"。圖3-6轉(zhuǎn)換模塊仿真波形圖3.4選擇輸出功能選擇輸出模塊sanxuanyi如圖3-7所示,用兩個四位二進(jìn)制數(shù)表示倒計(jì)時,其中D1為高位,D2為低位,用一個四位二進(jìn)制數(shù)D3表示搶答號,輸出信號Q1和Q2,其中Q1和Q2作為顯示模塊中數(shù)碼管的輸入值。通過SEL的值控制Q1和Q2輸出搶答號或者倒計(jì)時,當(dāng)SEL=‘0’時為輸出倒計(jì)時狀態(tài),Q1代表高位,Q2代表低位;當(dāng)SEL=‘1’時,為顯示搶答號狀態(tài),Q1輸出為‘0’,Q2的輸出代表搶答者編號。圖3-7sanxuanyi模塊選擇輸出模塊源代碼如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYsanxuanyiISPORT<SEL:INSTD_LOGIC;D1,D2,D3:INSTD_LOGIC_VECTOR<3DOWNTO0>;Q1,Q2:OUTSTD_LOGIC_VECTOR<3DOWNTO0>>;ENDsanxuanyi;ARCHITECTUREsanxuanyi_mkOFsanxuanyiISBEGINPROCESS<SEL,D1,D2,D3>BEGINIFSEL='1'THENQ1<="0000";Q2<=D3;ELSEQ1<=D1;Q2<=D2;ENDIF;ENDPROCESS;ENDsanxuanyi_mk;選擇輸出模塊程序調(diào)試波形如圖3-8所示,由SEL控制Q的輸出,當(dāng)SEL為‘1’時,將D3賦給Q2,"0000"賦給Q1,輸出結(jié)果代表搶答者編號;當(dāng)SEL為‘0’時,將D2賦給Q2,D1賦給Q1,輸出結(jié)果代表倒計(jì)時。圖3-8選擇輸出模塊仿真波形圖3.5倒計(jì)時功能倒計(jì)時模塊daojishi如圖3-9所示,用兩個四位二進(jìn)制數(shù)表示倒計(jì)時,定義變量HH,LL,由時鐘CLK和使能信號EN控制,其中EN的值由鎖存器模塊中的ALM控制。當(dāng)?shù)褂?jì)時至HH==0,LL==0時,發(fā)出聲音停止計(jì)時,輸出H〔XXX,L<XXX>。圖3-9daojishi模塊倒計(jì)時模塊源代碼如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYdaojishiISPORT<CLK,EN:INSTD_LOGIC;H,L:OUTSTD_LOGIC_VECTOR<3DOWNTO0>;SOUND:OUTSTD_LOGIC>;ENDdaojishi;ARCHITECTUREdaojishi_mkOFdaojishiISBEGINPROCESS<CLK,EN>VARIABLEHH,LL:STD_LOGIC_VECTOR<3DOWNTO0>;BEGINIFCLK'EVENTANDCLK='1'THENIFEN='1'THEN--EN=1驅(qū)動倒計(jì)時模塊開始倒計(jì)時SOUND<='0';HH:="1001";LL:="1001";ELSIFLL=0THENIFHH=0THENSOUND<='1';--倒計(jì)時至0時,輸出超時報(bào)警信號ELSELL:="1001";HH:=HH-1;ENDIF;ELSELL:=LL-1;ENDIF;ENDIF;H<=HH;L<=LL;ENDPROCESS;ENDdaojishi_mk;倒計(jì)時模塊程序調(diào)試波形如圖3-10所示,當(dāng)EN為"1"時,在時鐘上升沿將"1001"賦給H和L,準(zhǔn)備進(jìn)入倒計(jì)時;從EN為"0"且時鐘的上升沿到來時,H和L的值開始以逐漸遞減,即從99倒計(jì)時到0,同時倒計(jì)時至0時,輸出超時報(bào)警信號SOUND=1。圖3-10倒計(jì)時模塊仿真波形圖3.6片選功能片選模塊pianxuan如圖3-11所示,該模塊用于控制選擇輸出模塊輸出倒計(jì)時或者搶答號,其中EN1的值由鎖存器模塊中的ALM控制。圖3-11pianxuan模塊片選模塊源代碼如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYpianxuanISPORT<CLK,EN1:INSTD_LOGIC;A:OUTSTD_LOGIC>;ENDpianxuan;ARCHITECTUREpianxuan_mkOFpianxuanISBEGINPROCESS<CLK,EN1>BEGINIFEN1='0'THEN--利用IF_THEN_ELSE語句A<='0';ELSIFCLK'EVENTANDCLK='1'THEN--檢測時鐘上升沿A<='1';ENDIF;ENDPROCESS;ENDpianxuan_mk;片選模塊程序調(diào)試波形如圖3-12所示,EN1=’0’時,將‘0’賦給A;當(dāng)EN1=’1’時,在CLK時鐘信號的下一個時鐘上升沿將‘1’賦給A。圖3-12片選模塊仿真波形圖3.7顯示功能顯示模塊如圖3-13所示,將所有進(jìn)程中的數(shù)值轉(zhuǎn)換成七位二進(jìn)制數(shù)。圖3-13xianshi模塊顯示模塊源代碼如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYxianshiISPORT<D:INSTD_LOGIC_VECTOR<3DOWNTO0>;Q:OUTSTD_LOGIC_VECTOR<6DOWNTO0>>;ENDxianshi;ARCHITECTURExianshi_mkOFxianshiISBEGINPROCESS<D>BEGINCASEDISWHEN"0000"=>Q<="0111111";WHEN"0001"=>Q<="0000110";WHEN"0010"=>Q<="1011011";WHEN"0011"=>Q<="1001111";WHEN"0100"=>Q<="1100110";WHEN"0101"=>Q<="1101101";WHEN"0110"=>Q<="1111101";WHEN"0111"=>Q<="0000111";WHEN"1000"=>Q<="1111111";WHEN"1001"=>Q<="1101111";WHENOTHERS=>Q<="0000000";ENDCASE;ENDPROCESS;ENDxianshi_mk;顯示模塊程序仿真波形如圖3-14所示,將輸入信號D轉(zhuǎn)變成能在七段數(shù)碼管上顯示的七位二進(jìn)制數(shù)。圖3-14顯示模塊仿真波形圖3.8頂層模塊各模塊連接后形成頂層文件的電路圖如圖3-15所示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025 小學(xué)三年級道德與法治下冊不摘路邊的野花課件
- 多跨石拱橋拆除施工方案
- 仰斜式擋土墻專項(xiàng)施工方案
- 2025年福建省寧德市單招職業(yè)適應(yīng)性考試題庫帶答案解析
- 2024年長治縣招教考試備考題庫附答案解析(奪冠)
- 2025年南昌師范學(xué)院馬克思主義基本原理概論期末考試模擬題帶答案解析(奪冠)
- 2025年煙臺工程職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬題附答案解析(必刷)
- 2025年民權(quán)縣招教考試備考題庫及答案解析(必刷)
- 2025年貴州省安順地區(qū)單招職業(yè)傾向性考試題庫附答案解析
- 2024年鹽亭縣幼兒園教師招教考試備考題庫帶答案解析(奪冠)
- 2025年國防科工局面試模擬題庫解析
- 老舊小區(qū)改造的國內(nèi)外現(xiàn)狀與發(fā)展趨勢
- 《人工智能導(dǎo)論》高職人工智能通識課程全套教學(xué)課件
- 2025年四川醫(yī)療衛(wèi)生事業(yè)單位《衛(wèi)生公共基礎(chǔ)知識》考試真題及答案
- 食堂檔口承包合同協(xié)議書
- 云南公務(wù)接待管理辦法
- 農(nóng)行監(jiān)控錄像管理辦法
- 急性呼吸衰竭的診斷與治療
- 職業(yè)技能認(rèn)定考評員培訓(xùn)
- DB11∕T 1448-2024 城市軌道交通工程資料管理規(guī)程
- 職業(yè)技術(shù)學(xué)院數(shù)字媒體技術(shù)應(yīng)用專業(yè)人才培養(yǎng)方案(2024級)
評論
0/150
提交評論