實驗十四 多路彩燈控制器_第1頁
實驗十四 多路彩燈控制器_第2頁
實驗十四 多路彩燈控制器_第3頁
實驗十四 多路彩燈控制器_第4頁
實驗十四 多路彩燈控制器_第5頁
全文預覽已結束

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

EDA(VHDL&FPGA)實驗指導教程PAGEPAGE1實驗十四多路彩燈控制器一、實驗任務及要求設計一個十六路彩燈控制器,6種花型循環變化,有清零開關,并且可以選擇快慢兩種節拍。二、設計說明與提示1、設計說明根據系統設計要求可知,整個系統共有三個輸入信號:控制彩燈節奏快慢的基準時鐘信號CLK_IN,系統清零信號CLR,彩燈節奏快慢選擇開關CHOSE_KEY;共有16個輸出信號LED[15..0],分別用于控制十六路彩燈。據此,我們可將整個彩燈控制器CDKZQ分為兩大部分:時序控制電路SXKZ和顯示控制電路XSKZ,整個系統的組成原理圖如圖2-4所示。2、提示(1)在時序控制電路SXKZ的設計中,利用計數器計數達到分頻值時,對計數器進行清零,同時將輸出信號反向,這就非常簡潔地實現了對輸入基準時鐘信號的分頻,并且分頻信號的占空比為0.5。(2)在顯示控制電路XSKZ的設計中,利用狀態機可以非常簡潔地實現了六種花型的循環變化,同時利用六個十六位常數的設計,可非常方便地設置和修改六種花型。(3)對于頂層程序的設計,因本系統模塊較少,既可使用文本的程序設計方式,也可使用原理圖的設計方式。但對于模塊較多的系統,最好使用文本的程序設計方式。圖2-4彩燈控制器組成原理圖三、實驗報告要求1.畫出頂層原理圖。2.系統通過仿真后,根據EDA實驗開發系統進行編程下載和硬件驗證。3.寫出各功能模塊的VHDL語言源文件。4.書寫實驗報告時應結構合理,層次分明,注意語言的流暢。四、主要VHDL源程序1、時序控制電路的VHDL源程序--SXKZ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSXKZISPORT(CHOSE_KEY:INSTD_LOGIC;CLK_IN:INSTD_LOGIC;CLR:INSTD_LOGIC;CLK:OUTSTD_LOGIC);ENDENTITYSXKZ;ARCHITECTUREARTOFSXKZISSIGNALCLLK:STD_LOGIC; BEGINPROCESS(CLK_IN,CLR,CHOSE_KEY)ISVARIABLETEMP:STD_LOGIC_VECTOR(2DOWNTO0);BEGINIFCLR='1'THEN--當CLR='1'時清零,否則正常工作CLLK<='0';TEMP:="000";ELSIFRISING_EDGE(CLK_IN)THENIFCHOSE_KEY='1'THENIFTEMP="011"THENTEMP:="000";CLLK<=NOTCLLK;ELSETEMP:=TEMP+'1';ENDIF;--當CHOSE_KEY='1'時產生基準時鐘頻率的1/4的時鐘信號,否則產生基準時鐘--頻率的1/8的時鐘信號ELSEIFTEMP="111"THENTEMP:="000";CLLK<=NOTCLLK;ELSETEMP:=TEMP+’1';ENDIF;ENDIF;ENDIF;ENDPROCESS;CLK<=CLLK;ENDARCHITECTUREART;2、顯示控制電路的VHDL源程序--XSKZ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYXSKZISPORT(CLK:INSTD_LOGIC;CLR:INSTD_LOGIC;LED:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDENTITYXSKZ;ARCHITECTUREARTOFXSKZISTYPESTATEIS(S0,S1,S2,S3,S4,S5,S6);SIGNALCURRENT_STATE:STATE;SIGNALFLOWER:STD_LOGIC_VECTOR(15DOWNTO0);BEGINPROCESS(CLR,CLK)ISCONSTANTF1:STD_LOGIC_VECTOR(15DOWNTO0):="0001000100010001";CONSTANTF2:STD_LOGIC_VECTOR(15DOWNTO0):="1010101010101010";CONSTANTF3:STD_LOGIC_VECTOR(15DOWNTO0):="0011001100110011";CONSTANTF4:STD_LOGIC_VECTOR(15DOWNTO0):="0100100100100100";CONSTANTF5:STD_LOGIC_VECTOR(15DOWNTO0):="1001010010100101";CONSTANTF6:STD_LOGIC_VECTOR(15DOWNTO0):="1101101101100110";--六種花型的定義BEGINIFCLR='1'THENCURRENT_STATE<=S0;ELSIFRISING_EDGE(CLK)THENCASECURRENT_STATEISWHENS0=>FLOWER<="ZZZZZZZZZZZZZZZZ";CURRENT_STATE<=S1;WHENS1=>FLOWER<=F1;CURRENT_STATE<=S2;WHENS2=>FLOWER<=F2;CURRENT_STATE<=S3;WHENS3=>FLOWER<=F3;CURRENT_STATE<=S4;WHENS4=>FLOWER<=F4;CURRENT_STATE<=S5;WHENS5=>FLOWER<=F5;CURRENT_STATE<=S6;WHENS6=>FLOWER<=F6;CURRENT_STATE<=S1;ENDCASE;ENDIF;ENDPROCESS;LED<=FLOWER;ENDARCHITECTUREART;3、整個電路系統的VHDL源程序--CDKZQ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYCDKZQISPORT(CLK_IN:INSTD_LOGIC;CLR:INSTD_LOGIC;CHOSE_KEY:INSTD_LOGIC;LED:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDENTITYCDKZQ;ARCHITECTUREARTOFCDKZQISCOMPONENTSXKZISPORT(CHOSE_KEY:INSTD_LOGIC;CLK_IN:INSTD_LOGIC;CLR:INSTD_LOGIC;CLK:OUTSTD_LOGIC);ENDCOMPONENTSXKZ;COMPONENTXSKZISPORT(CLK:INSTD_LOGIC;CLR:INSTD_LOGIC;LED:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDCOMPONENTXSKZ;SIGNALS1:STD_LOGIC;BEGINU1:SXKZPORTMAP(CHOSE_KEY,CLK_IN,CLR,S1);U2:XSKZPORTMAP(S1,CLR,LED);ENDARCHITECTUREART;五、系統仿真/硬件驗證1、系統的有關仿真時序控制電路SXKZ、顯示控制電路XSKZ及整個電路系統CDKZQ的仿真圖分別如圖2-5、圖2-6和圖2-7所示。圖2-5時序控制電路SXKZ仿真圖(E:1.5G:12)圖2-6顯示控制電路XSKZ仿真圖圖2-7整個電路系統CDKZQ仿真圖2、系統的硬件驗證系統通過仿真后,可根據自己所擁有的EDA實驗開發系統進行編程下載和硬件驗證??紤]到一般EDA實驗開發系統提供的輸出顯示資源有限,可將輸出適當調整后進行硬件驗證。六、設計技巧分析(1)在時序控制電路SXKZ的設計中,利用計數器計數達到分頻值時,對計數器進行清零,同時將輸出信號反向,這就非常簡潔地實現了對輸入基準時鐘信號的分頻,并且分頻信號的占空

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論