資源描述:
《eda課程設(shè)計彩燈控制器》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、沈陽理工大學(xué)EDA技術(shù)課程設(shè)計報告1設(shè)計目的熟練掌握EDA技術(shù)利用計算機方面的課程解決專業(yè)課程方面點具體問題,達到解決問題,完成課程設(shè)計任務(wù),培養(yǎng)實踐的目的。2設(shè)計要求和任務(wù)利用所學(xué)的EDA設(shè)計方法設(shè)計彩燈控制器,熟練使用使用QUARTUSII應(yīng)用軟件,進一步學(xué)習(xí)使用VHDL語言、原理圖等EDA設(shè)計方法進行綜合題目的方法。功能要求:1.要有多種花型變化(至少4種).2.多種花型可以自動變換,循環(huán)往復(fù).3.彩燈變換的快慢節(jié)拍可以選擇.4.具有清零開關(guān).3總體設(shè)計思路及原理描述3.1功能描述在電路中以1代表燈亮
2、,以0代表燈滅,由0,1按不同的規(guī)律組合代表不同的燈光圖案,同時使其選擇不同的頻率,從而實現(xiàn)多種圖案多種頻率的花樣功能顯示。在該電路中只需簡單的修改程序就可以靈活地調(diào)整彩燈圖案和變化方式。下面就以一個十六路彩燈控制系統(tǒng)的實現(xiàn)為例進行簡單說明。此十六路彩燈控制系統(tǒng)設(shè)定有六種花樣變化,這六種花樣可以進行自動切換,并且每種花樣可以選擇不同的頻率。3.2設(shè)計原理用VHDL進行設(shè)計,首先應(yīng)該了解,VHDL語言一種全方位硬件描述語言,包括系統(tǒng)行為級,寄存?zhèn)鬏敿壓瓦壿嬮T級多個設(shè)計層次。應(yīng)充分利用DL“自頂向下”12沈陽理
3、工大學(xué)EDA技術(shù)課程設(shè)計報告的設(shè)計優(yōu)點以及層次化的設(shè)計概層次概念對于設(shè)計復(fù)雜的數(shù)字系統(tǒng)是非常有用它使得人們可以從簡單的單元入手,逐漸構(gòu)成龐大而復(fù)雜的系統(tǒng)。首先應(yīng)進行系統(tǒng)模塊的劃分,規(guī)定每一模塊的功能以及各個模塊之間的接口。最終設(shè)計方案為:以一個十六路彩燈花樣控制器、一個四頻率輸出分頻器,一個四選一控制器和一個時間選擇器總共四部分來完成設(shè)計。四選一控制器從分頻器選擇不同頻率的時鐘信號輸送到彩燈花樣控制器,從而達到控制彩燈閃爍速度的快慢,時間選擇器控制每種速度維持的時間長短。整個十六路彩燈控制系統(tǒng)設(shè)計的模塊圖如
4、圖1所示????圖一4分層次方案設(shè)計及代碼描述4.1子模塊及其功能本次設(shè)計分為四個子模塊,即十六路彩燈花樣控制器、四頻率輸出分頻器,四選一控制器和時間選擇器,其子模塊及其功能如下:12沈陽理工大學(xué)EDA技術(shù)課程設(shè)計報告4.1.1四頻率輸出分頻器在本次設(shè)計中,設(shè)計了六種花樣,要求這六種花樣以不同的頻率顯示,而只有一個輸入的時鐘信號,所以對所輸入的時鐘信號進行2分頻,4分頻,8分頻,16分頻,得到四種頻率信號,CLKDIV模塊用來完成此功能。4.1.2時間選擇器時間選擇器實際上是兩個分頻器,其中一個頻率是另一個
5、頻率的兩倍。本來這兩個分頻器是可以在上述的四頻率輸出器中實現(xiàn)的,但為了方便地為四選一控制器提供不同的時間選擇條件,就將這兩個分頻器獨立開來。這兩個輸出的時鐘信號組合起來就可以為四選一控制器提供00,01,10,11四個時間選擇條件,如下圖三所示。圖二4.1.3四選一控制器四選一控制器功能是從分頻器中選擇不同頻率的時鐘信號送給彩燈控制器,實現(xiàn)彩燈閃爍的頻率變化。4.1.4彩燈控制器彩燈控制電路是整個設(shè)計的核心,它負責(zé)整個設(shè)計的輸出效果即各種彩燈圖案的樣式變化。該程序充分地說明了用VHDL設(shè)計電路的“彈”性,即
6、可通過改變程序中輸出變量Q的位數(shù)來改變彩燈的數(shù)目。其中,P1進程對燈閃的速度控制有兩種方式可改變燈閃的速度:一是改變外部時鐘的賦值,二是改變信號U的位數(shù)。P2進程能進行彩燈的圖案控制,改變s的位數(shù)即可改變要控制圖案的數(shù)目,改變輸出變量Q的組合即可變幻彩燈圖案。最后,當(dāng)各個模塊均完成上述操作之后,即可利用MAXPLUS2的原理圖輸入,調(diào)用各個元器件(底層文件)12沈陽理工大學(xué)EDA技術(shù)課程設(shè)計報告,以原理圖的形式形成最后的十六路彩燈顯示系統(tǒng)(頂層文件),并且進行仿真。仿真通過,即可下載到指定的CPLD芯片里面
7、,并進行實際連線,進行最后的硬件測試。當(dāng)然,可以將各個模塊所生成的元件符號存放在元件庫中,用以被其它人或其它的設(shè)計所重復(fù)調(diào)用,以簡化后面的設(shè)計。4.2代碼描述4.2.1時序控制電路部分程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitytimecontrolis--定義實體port(clk:instd_logic;--時鐘信號clr:instd
8、_logic;--復(fù)位信號opt:instd_logic;--快慢控制信號clkout:outstd_logic--輸出時鐘信號);endtimecontrol;architectureoneoftimecontrolissignalclk_tmp:std_logic;signalcounter:std_logic_vector(1downto0);--定義計數(shù)器beginprocess(clk,clr,opt)