資源描述:
《多路彩燈設(shè)計(jì)eda課程設(shè)計(jì)大學(xué)畢設(shè)論文.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、EDA課程設(shè)計(jì)多路彩燈控制設(shè)計(jì)前言本次課程設(shè)計(jì)的主要目的是通過(guò)電子設(shè)計(jì)自動(dòng)化的設(shè)計(jì),掌握FPGA應(yīng)用系統(tǒng)的開發(fā)過(guò)程,進(jìn)一步理解FPGA應(yīng)用系統(tǒng)的工作原理。本課程設(shè)計(jì)設(shè)計(jì)了一個(gè)多路彩燈控制器,十六種彩燈能循環(huán)變化,有清零開關(guān),可以變化彩燈閃動(dòng)頻率即是可以選擇快慢兩種節(jié)拍。整個(gè)系統(tǒng)有三個(gè)輸入信號(hào),分別為控制快慢的信號(hào)OPT,復(fù)位清零信號(hào)CLR,輸出信號(hào)是16路彩燈輸出狀態(tài)。最后按照FPGA的開發(fā)流程和VHDL語(yǔ)言建模、仿真、綜合、下載、適配,用EDA6000實(shí)驗(yàn)箱上的FPGA系統(tǒng)實(shí)現(xiàn)了相應(yīng)的功能。通過(guò)這次課程設(shè)計(jì)更清楚的理解了VHDL程序的描述語(yǔ)言,能進(jìn)行簡(jiǎn)單
2、程序的編寫和仿真。一.系統(tǒng)設(shè)計(jì)要求設(shè)計(jì)一個(gè)多路彩燈控制器,十六種彩燈能循環(huán)變化,有清零開關(guān),可以變化彩燈閃動(dòng)頻率即是可以選擇快慢兩種節(jié)拍。二.設(shè)計(jì)方案整個(gè)系統(tǒng)有三個(gè)輸入信號(hào),分別為控制快慢的信號(hào)OPT,復(fù)位清零信號(hào)CLR,輸出信號(hào)是16路彩燈輸出狀態(tài)。系統(tǒng)框圖如:主要模塊組成:時(shí)序控制電路模塊和顯示電路模塊,時(shí)序控制電路是根據(jù)輸入信號(hào)的設(shè)置得到相應(yīng)的輸出信號(hào),并將此信號(hào)作為顯示電路的時(shí)鐘信號(hào);顯示電路輸入時(shí)鐘信號(hào)的周期,有規(guī)律的輸出設(shè)定的六種彩燈變化類型。三.模塊設(shè)計(jì)時(shí)序控制模塊:CLK_IN為輸入時(shí)鐘信號(hào),電路在時(shí)鐘上升沿變化;CLR為復(fù)位清零信號(hào),高電
3、平有效,一旦有效時(shí),電路無(wú)條件的回到初始狀態(tài);chose_key為頻率快慢選擇信號(hào),低電平節(jié)奏快,高電平節(jié)奏慢;CLK為輸出信號(hào),CLR有效時(shí)輸出為零,否則,隨chose_key信號(hào)的變化而改變。我們假設(shè)時(shí)序控制電路所產(chǎn)生的控制時(shí)鐘信號(hào)的快慢兩種節(jié)奏分別為輸入時(shí)鐘信號(hào)頻率的1/4和1/8,因而輸出時(shí)鐘控制信號(hào)可以通過(guò)對(duì)輸入時(shí)鐘的計(jì)數(shù)來(lái)獲得。當(dāng)chose_key為低電平時(shí),輸出沒經(jīng)過(guò)兩個(gè)時(shí)鐘周期進(jìn)行翻轉(zhuǎn),實(shí)現(xiàn)四分頻的快節(jié)奏;當(dāng)chose_key為高電平時(shí),輸出每經(jīng)過(guò)四個(gè)時(shí)鐘周期進(jìn)行翻轉(zhuǎn),實(shí)現(xiàn)把八分頻的慢節(jié)奏。顯示控制電路的模塊框圖如圖所示,輸入信號(hào)clk和的
4、定義與時(shí)序控制電路一樣,輸入信號(hào)led[15...0]能夠循環(huán)輸出16路彩燈16種不同狀態(tài)的花型。對(duì)狀態(tài)的所對(duì)應(yīng)的彩燈輸出花型定義如下:S0:0000000000000000S1:0001000100010001S2:0010001000100010S3:0011001100110011S4:0100010001000100S5:0101010101010101S6:0110011001100110S7:0111011101110111S8:1000100010001000S9:1001100110011001S10:1010101010101010S11
5、:1011101110111011S12:1100110011001100S13:1101110111011101S14:1110111011101110S15:1111111111111111多路彩燈在多種花型之間的轉(zhuǎn)換可以通過(guò)狀態(tài)機(jī)實(shí)現(xiàn),當(dāng)復(fù)位信號(hào)clr有效時(shí),彩燈恢復(fù)初始狀態(tài)s0,否則,每個(gè)時(shí)鐘周期,狀態(tài)都將向下一個(gè)狀態(tài)發(fā)生改變,并對(duì)應(yīng)輸出的花型,這里的時(shí)鐘周期即時(shí)時(shí)序控制電路模塊產(chǎn)生的輸出信號(hào),它根據(jù)chose_key信號(hào)的不同取值得到兩種快慢不同的時(shí)鐘頻率。四.序控制電路模塊程序如下:Libraryieee;Useieee.std_logic_1
6、164.all;Useieee.std_logic_unsigned.all;EntityCDisPort(chose_key1:instd_logic;Clk_in1:instd_logic;Clr1:instd_logic;Led1:outstd_logic_vector(15downto0));EndCD;ArchitectureoneofCDiscomponentsxkzPort(chose_key:instd_logic;Clk_in:instd_logic;Clr:instd_logic;Clk:outstd_logic);Endcompone
7、nt;componentxskzPort(Clr:instd_logic;Clk:instd_logic;Led:outstd_logic_vector(15downto0));Endcomponent;signala:std_logic;beginu1:sxkzportmap(chose_key=>chose_key1,Clk_in=>Clk_in1,Clr=>Clr1,Clk=>a);u2:xskzportmap(Clr=>Clr1,Led=>Led1,Clk=>a);endarchitectureone;Libraryieee;Useieee.std
8、_logic_1164.all;Useieee.std_logic