資源描述:
《eda課程設(shè)計報告-多路彩燈控制電路設(shè)計》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、EDA課程設(shè)計報告——多路彩燈控制電路設(shè)計學(xué)號:班級:姓名:日期:2008年1月1日多路彩燈控制電路設(shè)計報告題目:多路彩燈控制電路設(shè)計要求:⑴要有6種花型變化。⑵多種花型可以自動變化,循環(huán)往復(fù)。⑶彩燈變化的快慢節(jié)拍可以選擇。⑷具有清零開關(guān)。設(shè)計方案:根據(jù)系統(tǒng)設(shè)計要求,設(shè)計一個具有6種花型循環(huán)變化的彩燈控制器。整個系統(tǒng)共有三個輸入信號:控制彩燈節(jié)奏快慢的基準(zhǔn)時鐘信號CLK_IN,系統(tǒng)清零信號CLR,彩燈節(jié)奏快慢選擇開關(guān)CHOSE_KEY;共有16個輸出信號LED[15..0],分別用于控制十六路彩燈。據(jù)此,系統(tǒng)設(shè)計采用自頂向下的設(shè)計方法,我們可將整個彩燈控制器CDKZQ分
2、為兩大部分:時序控制電路SXKZ和顯示控制電路XSKZ。模塊劃分:時序控制電路(SXKZ)顯示控制電路(XSKZ)端口介紹:CLK_IN—控制彩燈節(jié)奏快慢的基準(zhǔn)時鐘信號CLR—系統(tǒng)清零信號CHOSE_KEY—彩燈節(jié)奏快慢選擇開關(guān)LED[15..0]—16個輸出信號設(shè)計過程:⒈時序控制模塊(SXKZ)①新建一個VHD格式的文本編輯文件,保存—默認(rèn)—命名②編寫源程序,如下:時序控制模塊源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSXKZISPORT(CHOSE
3、_KEY:INSTD_LOGIC;CLK_ZN:INSTD_LOGIC;CLR:INSTD_LOGIC;CLK:OUTSTD_LOGIC);ENDSXKZ;ARCHITECTUREARTOFSXKZISSIGNALCK:STD_LOGIC;BEGINPROCESS(CLK_ZN,CLR,CHOSE_KEY)VARIABLETEMP:STD_LOGIC_VECTOR(2DOWNTO0);BEGINIFCLR='1'THENCK<='0';TEMP:="000";ELSIF(CLK_ZN'EVENTANDCLK_ZN='1')THENIF(CHOSE_KEY='1')THE
4、NIFTEMP="011"THENTEMP:="000";CK<=NOTCK;ELSETEMP:=TEMP+1;ENDIF;ELSEIFTEMP="111"THENTEMP:="000";CK<=NOTCK;ELSETEMP:=TEMP+'1';ENDIF;ENDIF;ENDIF;ENDPROCESS;CLK<=CK;ENDART;③檢查錯誤,如圖:④器件配置。選用FLEX10K下的EPF10K10LC84-3⑤系統(tǒng)綜合。如圖:⑥管腳定義。注意:端口只能放在I/O端口和I/O數(shù)據(jù)端,時鐘信號放在CLK,如圖:⑦生成符號文件。如圖:⑧仿真。新建一個波形編輯文件,格式為SC
5、F,先保存—默認(rèn)—命名,結(jié)束時間:10ms時鐘周期:50ns如圖:分析仿真結(jié)果:根據(jù)源程序當(dāng)CLR為1時,TEMP=000,CLK=0清零。當(dāng)CLR=0且時鐘信號CLK_IN來到時,⒈CHOSE_KEY為1時,如果TEMP=011(即為3),則TEMP=000(即為0)且CLK反轉(zhuǎn)。如果TEMP不為011,則TEMP+1⒉CHOSE_KEY為0時如果TEMP=111(即為7),則TEMP=000(即為0)且CLK反轉(zhuǎn)。如果TEMP不為111,則TEMP+1⒉顯示控制模塊(XSKZ)①新建一個VHD格式的文本編輯文件,保存—默認(rèn)—命名②編寫源程序,如下:顯示控制模塊源程序
6、:LIBRARYIEEE;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;SIGNALLIGHT:STD_LOGIC_VECTOR(15DOWNTO0);BEGINPROCESS(CLR,CLK)ISCON
7、STANTL1:STD_LOGIC_VECTOR(15DOWNTO0):="10010";CONSTANTL2:STD_LOGIC_VECTOR(15DOWNTO0):="10010";CONSTANTL3:STD_LOGIC_VECTOR(15DOWNTO0):="11010";CONSTANTL4:STD_LOGIC_VECTOR(15DOWNTO0):="10011";CONSTANTL5:STD_LOGIC_VECTOR(15DOWNTO0):="10110";CONSTANTL6:STD_LOGIC_VECTOR(15DOWNT