EDA課程設(shè)計報告彩燈控制器_第1頁
EDA課程設(shè)計報告彩燈控制器_第2頁
EDA課程設(shè)計報告彩燈控制器_第3頁
EDA課程設(shè)計報告彩燈控制器_第4頁
EDA課程設(shè)計報告彩燈控制器_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1設(shè)計目的熟練掌握EDA技術(shù)利用計算機(jī)方面的課程解決專業(yè)課程方面點(diǎn)具體問題,達(dá)到解決問題,完成課程設(shè)計任務(wù),培養(yǎng)實踐的目的。2設(shè)計要求和任務(wù)利用所學(xué)的EDA設(shè)計方法設(shè)計彩燈控制器,熟練使用使用QUARTUSII應(yīng)用軟件,進(jìn)一步學(xué)習(xí)使用VHDL語言、原理圖等EDA設(shè)計方法進(jìn)行綜合題目的方法。功能要求:.要有多種花型變化(至少4種)..多種花型可以自動變換,循環(huán)往復(fù)..彩燈變換的快慢節(jié)拍可以選擇..具有清零開關(guān).3總體設(shè)計思路及原理描述功能描述在電路中以1代表燈亮,以0代表燈滅,由0,1按不同的規(guī)律組合代表不同的燈光圖案,同時使其選擇不同的頻率,從而實現(xiàn)多種圖案多種頻率的花樣功能顯示。在該電路中只需簡單的修改程序就可以靈活地調(diào)整彩燈圖案和變化方式。下面就以一個十六路彩燈控制系統(tǒng)的實現(xiàn)為例進(jìn)行簡單說明。此十六路彩燈控制系統(tǒng)設(shè)定有六種花樣變化,這六種花樣可以進(jìn)行自動切換,并且每種花樣可以選擇不同的頻率。設(shè)計原理用VHDL進(jìn)行設(shè)計,首先應(yīng)該了解,VHDL語言一種全方位硬件描述語言,包括系統(tǒng)行為級,寄存?zhèn)鬏敿壓瓦壿嬮T級多個設(shè)計層次。應(yīng)充分利用DL“自頂向下”的設(shè)計優(yōu)點(diǎn)以及層次化的設(shè)計概層次概念對于設(shè)計復(fù)雜的數(shù)字系統(tǒng)是非常有用它使得人們可以從簡單的單元入手,逐漸構(gòu)成龐大而復(fù)雜的系統(tǒng)。首先應(yīng)進(jìn)行系統(tǒng)模塊的劃分,規(guī)定每一模塊的功能以及各個模塊之間的接口。最終設(shè)計方案為:以一個十六路彩燈花樣控制器、一個四頻率輸出分頻器,一個四選一控制器和一個時間選擇器總共四部分來完成設(shè)計。四選一控制器從分頻器選擇不同頻率的時鐘信號輸送到彩燈花樣控制器,從而達(dá)到控制彩燈閃爍速度的快慢,時間選擇器控制每種速度維持的時間長短。整個十六路彩燈控制系統(tǒng)設(shè)計的模塊圖如圖1所示

花形控制電路花形控制電路總體控制電路圖一4分層次方案設(shè)計及代碼描述子模塊及其功能本次設(shè)計分為四個子模塊,即十六路彩燈花樣控制器、四頻率輸出分頻器,四選一控制器和時間選擇器,其子模塊及其功能如下:四頻率輸出分頻器在本次設(shè)計中,設(shè)計了六種花樣,要求這六種花樣以不同的頻率顯示,而只有一個輸入的時鐘信號,所以對所輸入的時鐘信號進(jìn)行2分頻,4分頻,8分頻,16分頻,得到四種頻率信號,CLKDIV模塊用來完成此功能。時間選擇器時間選擇器實際上是兩個分頻器,其中一個頻率是另一個頻率的兩倍。本來這兩個分頻器是可以在上述的四頻率輸出器中實現(xiàn)的,但為了方便地為四選一控制器提供不同的時間選擇條件,就將這兩個分頻器獨(dú)立開來。這兩個輸出的時鐘信號組合起來就可以為四選一控制器提供00,01,10,11四個時間選擇條件,如下圖三所示。圖二四選一控制器四選一控制器功能是從分頻器中選擇不同頻率的時鐘信號送給彩燈控制器,實現(xiàn)彩燈閃爍的頻率變化。彩燈控制器彩燈控制電路是整個設(shè)計的核心,它負(fù)責(zé)整個設(shè)計的輸出效果即各種彩燈圖案的樣式變化。該程序充分地說明了用VHDL設(shè)計電路的“彈”性,即可通過改變程序中輸出變量Q的位數(shù)來改變彩燈的數(shù)目。其中,P1進(jìn)程對燈閃的速clr:instd_logic;clr:instd_logic;--復(fù)位信號度控制有兩種方式可改變燈閃的速度:一是改變外部時鐘的賦值,二是改變信號U的位數(shù)。P2進(jìn)程能進(jìn)行彩燈的圖案控制,改變s的位數(shù)即可改變要控制圖案的數(shù)目,改變輸出變量Q的組合即可變幻彩燈圖案。最后,當(dāng)各個模塊均完成上述操作之后,即可利用MAXPLUS2的原理圖輸入,調(diào)用各個元器件(底層文件),以原理圖的形式形成最后的十六路彩燈顯示系統(tǒng)(頂層文件),并且進(jìn)行仿真。仿真通過,即可下載到指定的CPLD芯片里面,并進(jìn)行實際連線,進(jìn)行最后的硬件測試。當(dāng)然,可以將各個模塊所生成的元件符號存放在元件庫中,用以被其它人或其它的設(shè)計所重復(fù)調(diào)用,以簡化后面的設(shè)計。代碼描述時序控制電路部分程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitytimecontrolis--定義實體port(clk:instd_logic;--時鐘信號opt:instd_logic;--快慢控制信號clkout:outstd_logic--輸出時鐘信號);endtimecontrol;architectureoneoftimecontrolissignalclk_tmp:std_logic;signalcounter:std_logic_vector(1downto0);--定義計數(shù)器beginprocess(clk,clr,opt)beginifclr='0'then--清零clk_tmp<='0';counter<="00";elsifclk'eventandclk='1'thenifopt='0'then--四分頻ifcounter="01"thencounter<="00";clk_tmp<=notclk_tmp;elsecounter<=counter+'1';endif;else--八分頻ifcounter="11"thencounter<="00";clk_tmp<=notclk_tmp;elsecounter<=counter+'1';endif;endif;endif;endprocess;clkout<=clk_tmp;--輸出分頻后的信號endarchitectureone;4.2.2顯示控制電路部分程序如下:libraryieee;useieee.std_logic_1164.all;entityshowcontrolisport(clk:instd_logic;--輸入時鐘信號clr:instd_logic;--復(fù)位信號led:outstd_logic_vector(15downto0));--彩燈輸出endshowcontrol;architectureone1ofshowcontrolistypestatesis--狀態(tài)機(jī)狀態(tài)列舉(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15);signalstate:states;beginprocess(clk,clr)beginifclr='0'thenstate<=s0;led<="00000";elsifclk'eventandclk='1'thencasestateiswhens0=>state<=s1;led<="00001";whens1=>state<=s2;led<="10001";whens2=>state<=s3;led<="00010";whens3=>state<=s4;led<="10011”;whens4=>state<=s5;led<="00100";whens5=>state<=s6;led<="10101”;whens6=>state<=s7;led<=”00110”;whens7=>state<=s8;led<=”10111”;whens8=>state<=s9;led<=”01000”;whens9=>state<=s10;led<=”11001”;whens10=>state<=s11;led<=”01010”;whens11=>state<=s12;led<=”11011”;whens12=>state<=s13;led<=”01100”;whens13=>state<=s14;led<=”11101”;whens14=>state<=s15;led<="01110";whens15=>state<=s0;led<="11111";whenothers=>null;endcase;endif;endprocess;endarchitectureone1;4.2.3頂層電路部分程序如下:libraryieee;useieee.std_logic_1164.all;entityrootisport(clk:instd_logic;clr:instd_logic;opt:instd_logic;led:outstd_logic_vector(15downto0));--八路彩燈輸出endcolorled;architectureone3ofrootiscomponenttimecontrolis--定義元件:時序控制電路port(clk:instd_logic;clr:instd_logic;opt:instd_logic;clkout:outstd_logic);endcomponenttimecontrol;componentshowcontrolis--定義元件:顯示電路port(clk:instd_logic;clr:instd_logic;led:outstd_logic_vector(15downto0));endcomponentshowcontrol;signalclk_tmp:std_logic;beginu1:timecontrolportmap(clk=>clk,clr=>clr,opt=>opt,clkout=>clk_tmp);--例化時序控制模塊u2:showcontrolportmap(clk=>clk_tmp,clr=>clr,led=>led);--例化顯示電路模塊endarchitectureone3;

5各模塊的時序仿真圖時序控制電路timecontrol的仿真圖如下:2.51壬2.盟w2.99te3.5lsIlliHarter2.51壬2.盟w2.99te3.5lsIlliHarterlingBar:IB.325je一七!口打2班!eStart:ViluialLB.Sas金&1.丁二r二r二r二r二r二匚丁二r二r二r二r二匚丁二r二r二r二r二r二r二r二rBd.nn圖三功能:時序控制電路metronome的功能是,用OPT控制輸入信號CKL_IN的快慢節(jié)拍。而CLR是控制開關(guān)。且從圖中可以看出,當(dāng)復(fù)位信號為高電平時,電路時鐘輸出清零,當(dāng)快慢信號OPT為低電平時,時序控制電路四分頻起作用,當(dāng)快慢信號OPT為高電平時,時序控制電路八分頻起作用,仿真結(jié)果符合電路

要求。顯示控制電路showcontrol的仿真圖如下:?0ps工%止5.12us7.68as10.2412.815.36姓17,92as30.嚙止23.0425.620y「????II????Iaie:15.65二J_j0elk_nr_nnnr_ATr_Timnr_nRr_nnn___nnnnnjdriiiiiiiiiiii:...0]l>3...1]-4...2]I,I::31:::111:h:!:??ii???????????????????????iiii?ii????????????????iii?????iiii3...3]????????????????????????????????????iiii…4]i?????■I??h■?????????????■_/T...5]?????l_/8...6]...I]~10...8]■I?-Ih■iiiiiiiiii?????????L>LI...9]?~12...0]1,1::3::::::::;|:!:...1]-14...2]Iiil>15...3]iiiiiiii~16…4]I,I::31:::111::i:!:?iiiiii?ii????????????????iii?????iiiiiii?ii????????????????iii?????iiiiL>LI...5]■?????????????????????????????????????iiii????????????????????????????????????iiii圖四功能:顯示控制電路showcontrol的功能是控制花形的。且從圖中可以看出,當(dāng)復(fù)位信號有效時彩燈輸出為零,否則,顯示電路在十六種不同狀態(tài)間轉(zhuǎn)換。5.3頂層電路root系統(tǒng)的仿真圖如下:Js一山—6Js}I廠!:|Js一山IJ3Js一山—6Js}I廠!:|Js一山IJ3-III-1■JJ5uoI,z0VIIIfirna0工叩田叩,『川『”?廠口田用0工叩田叩,『川『”?廠口田用11口町口口口)’1111刀圖五廣elk0led7曰leefi0晡0Ied40Ied3厘Ied2值Ied10岫_/|xs:ii2|led功能:整個電路root系統(tǒng)是把showcontrol與timecontrol綜合成一個電路。且從圖中可以看出,從圖中可以看出當(dāng)OPT為高電平時彩燈狀態(tài)轉(zhuǎn)換慢,為低電平時轉(zhuǎn)換要快,當(dāng)復(fù)位信號有效時,所用輸出都清零。6總結(jié)通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,通過這次的課程設(shè)計,發(fā)現(xiàn)自己的實踐經(jīng)驗還是不足的,以后多應(yīng)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論