EDA課程設計之八路彩燈控制系統(tǒng)_第1頁
EDA課程設計之八路彩燈控制系統(tǒng)_第2頁
EDA課程設計之八路彩燈控制系統(tǒng)_第3頁
EDA課程設計之八路彩燈控制系統(tǒng)_第4頁
EDA課程設計之八路彩燈控制系統(tǒng)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1前言22 總體方案設計33單元模塊設計54軟件設計94.1 Quartus 簡介94.2 Qartus 設計開發(fā)流程105系統(tǒng)調(diào)試116系統(tǒng)功能及指標參數(shù)127設計總結與體會138參考文獻14附錄1總設計圖及仿真圖15附錄2 Verilog HDL源程序161前言在經(jīng)濟和商業(yè)高度發(fā)達的今天,彩燈已經(jīng)成為人民日常生活不可或缺的一部分,已經(jīng)逐漸為越來越多的人們所關注,在家庭中的普及率不斷提高,大大的豐富和點綴了人民的生活。彩燈由不同的顏色的LED燈組成,通過控制不同顏色的燈的亮與滅,呈現(xiàn)給人們不同的花塑和圖案,極大的點綴了單調(diào)的都市夜景,讓城市成為了多姿多彩的不夜城。當今社會是數(shù)字化的社會,也是

2、數(shù)字集成電路廣泛應用的社會,數(shù)字本身在不斷的進行更新?lián)Q代。它由早起的電子管、晶體管、小中規(guī)模集成電路發(fā)展到超大規(guī)模集成電路以及許多具有特定功能的專用集成電路。而EDA技術就是以微電子技術為物理層面,現(xiàn)代電子設計為靈魂,計算機軟件技術為手段,最終形成集成電子系統(tǒng)或?qū)S眉呻娐稟SIC為目的的一門新興技術。 Verilog HDL是一種應用較為廣泛的HDL語言,能對范圍廣泛的各種復雜的網(wǎng)絡在不同的抽象級加以描述,而且在整個設計過程中可使用同一種語言。采用Verilog HDL作為HDL綜合設計的優(yōu)點有:標準語言,即設計者可在不同環(huán)境下進行設計;仿真和綜合均可采用同一種語言進行;Verilog HD

3、L中提供的大量的資源模塊,簡化了設計者的開發(fā)工作;由Verilog HDL描述的源文件既是程序文件又可作為設計的文檔。2 總體方案設計彩燈控制器的核心設計部分是彩燈花型的控制模塊,顯示部分相對比較容易。分頻器的設計方法多種多樣,我設計的是比較常見的一種。外接clk為始終輸入基準信號,彩燈節(jié)奏的快慢用選擇開關select1:0。針對課題要求設計了如圖2.1所示總體框圖。方案比較該設計主要是以FPGA為基礎,通過硬件描述語言Verilog HDL靈活多變的改變彩燈顯示的花型以及寬快慢,對此這幾了以下兩個方案。方案一:總體電路共分三大塊。第一塊實現(xiàn)時鐘信號的產(chǎn)生;第二塊實現(xiàn)花型的控制及節(jié)拍控制;第三

4、塊實現(xiàn)花型的演示。主題框圖如圖2.2所示。圖八路彩燈設計框圖方案二:在方案一的基礎上將整體電路分為四個模塊。第一塊實現(xiàn)花型的演示;第二塊實現(xiàn)花型的控制;第三塊實現(xiàn)節(jié)拍快慢控制;第四塊實現(xiàn)時鐘信號的產(chǎn)生。并在部分電路的設計上與方案一采用了完全不同的方法,如花型的控制。如圖2.3所示。圖方案一與方案二最大的不同就在,前者將花型控制與節(jié)拍控制兩種功能融合在一起,是考慮到只要計數(shù)器就可以實現(xiàn)其全部功能的原因,且原理相對簡單。這樣設計,其優(yōu)點在于:設計思想比較簡單。元件種類使用少,且都較熟悉易于組裝電路。缺點則是:中間單元電路連線過于繁多,容易出錯。且可能出現(xiàn)線與關系。要避免這些,則勢必造成門電路使用過

5、多。導致電路不穩(wěn)定,抗干擾能力下降。而后者則將以上兩種功能分開設計,各單元電路只實現(xiàn)一種功能。其優(yōu)點在于:電路設計模塊化,易于檢查電路,對后面的電路組裝及電路調(diào)試帶來方便。缺點則是:節(jié)拍控制電路采用可編輯邏輯電路,原理相對復雜,不易理解。花型控制電路簡單,花型也比較簡單。2.3方案選擇方案一主要設計過程簡單明了,而且花型控制和快慢結合在一起,用一個計數(shù)器就能而過輕松地實現(xiàn)功能,但是細節(jié)太多容易出錯。方案二雖然多了一個步驟,但是每個模塊只完成一個功能,相對更容易上手。所以基于以上原因,加上為了確保短時間內(nèi)完成課程設計,我選擇了連線少,易于調(diào)試的方案二。3單元模塊設計時鐘信號控制模塊的主要功能是將

6、輸出的標準時鐘進行分頻,以此控制八路彩燈的快慢節(jié)奏變化。時鐘信號控制在本設計中起著至關重要的作用,它以彩燈閃動快慢節(jié)奏的變化實現(xiàn)了八路彩燈絢麗多彩的花型節(jié)奏變化。時鐘控制是整個設計中的一個分模塊,它的設計對八路彩燈控制器的順利完成起著決定性作用。對時鐘控制程序封裝如圖3.1所示。圖分頻器模塊設計的標準時鐘輸入時50M Hz,但是在Quartus 中仿真時由于計數(shù)次數(shù)太多以至于不能正常得到分頻后的波形,所以此處的仿真波形非標準時鐘,僅用來表示分頻的結果。圖3.2仿真波形圖中,out是對基準時鐘的4分頻,out1是對基準時鐘的8分頻,out2是對基準時鐘的16分頻,out3是對基準時鐘的32分頻。

7、節(jié)拍快慢控制模塊即一個4選1數(shù)據(jù)選擇器,它的功能是將分頻器分出來的四個時鐘信號通過我們外部輸入而選擇其中一個輸出到下一個模塊中,這樣就可以控制彩燈顯示的快慢。它的真值表如表3.1所示。表3.1 4選1數(shù)據(jù)選擇器真值表select1:0輸出00Out101Out210Out311Out44選1數(shù)據(jù)選擇器仿真波形和封裝模型分別如下:圖3.4 4選1數(shù)據(jù)選擇器仿真圖圖3.4數(shù)據(jù)選擇器仿真波形中,輸入的選擇信號sel是2'b01即選擇輸入的第二個波形,所以輸出的波形即是第二個波形。彩燈控花型控制模塊彩燈控制模塊是整個設計的核心,彩燈控制模塊能夠進行彩燈圖案的控制,它負責整個設計的輸出效果即各種

8、彩燈圖案的樣式變化。在仿真時序中高電平代表燈亮,低電平代表燈滅,由高低電平按不同規(guī)律組合就代表不同的花型,同時選擇不同的頻率,從而實現(xiàn)多種圖案多種頻率的花樣功能顯示。此時Verilg HDL硬件描述語言的優(yōu)勢就展現(xiàn)出來,使用者可以按自己的需求改變源程序從而改變顯示的花型,而不用更換顯示設備,這樣不但經(jīng)濟而且環(huán)保。程序封裝圖及仿真圖分別如圖所示。彩燈控制系統(tǒng)程序封裝圖圖 圖3.6中,在第一個上升沿輸出8個高電平即8個彩燈全亮,下一個上升沿全部為低電平表示彩燈全部熄滅。之后隔一個時鐘周期產(chǎn)生一個高電平,即彩燈依次點亮。最后四個高電平和低電平相間,表示8個彩燈亮滅相間。4軟件設計4.1 Quartu

9、s 簡介Quartus可編程邏輯開發(fā)軟件是Altera公司為其FPGACPLD芯片設計的集成化專用開發(fā)工具,是Altera最新一代功能更強的集成EDA開發(fā)軟件。使用QuartusII可完成從設計輸入,綜合適配,仿真到下載的整個設計過程。 Max+plus是Altera公司早期的開發(fā)工具,曾經(jīng)是最優(yōu)秀的PLD開發(fā)平臺之一,現(xiàn)在正在逐步被Quartus代替。并且Max+plus已經(jīng)不再支持Altera公司的新器件,同時,QuartusH也放棄了對少數(shù)較老器件的支持。QuattusII界面友好,具有MAX+PLUS界面選項,這樣MAX的老用戶就無須學習新的用戶界面就能夠充分享用Quartus軟件的優(yōu)

10、異性能。所以,無論是初學者,還是Max+plus的老用戶,都能較快的上手。 Quartus根據(jù)設計者需求提供了一個完整的多平臺開發(fā)環(huán)境,它包含蕞個FPGA和CPLD設計階段的解決方案。Quarms軟件提供的完整,操作簡易的圖形用戶界面可以完成整個設計流程中的各個階段。Quartus集成環(huán)境包括以下內(nèi)容:系統(tǒng)級設計,嵌入式軟件開發(fā),可編程邏輯器件(PLD)設計,綜合,布局和布線,驗證和仿真。 Quartus也可以直接調(diào)用Synplify Pro,LeonardoSctmm以及ModelSim等第三方EDA工具來完成設計任務的綜合與仿真。Qualtus與MATLAB和DSPBuilder結合可以進

11、行基于FPGA的DSP系統(tǒng)開發(fā),方便且快捷,還可以與SOPCBuilder結合,實現(xiàn)SOPC系統(tǒng)的開發(fā)。4.2 Qartus 設計開發(fā)流程Quanus設計的主要流程有:創(chuàng)建工程、設計輸入、編譯、仿真驗證、下載,其進行數(shù)字電路設計的一般流程如圖所示。圖4.1 Quartus設計開發(fā)流程設計輸入:包括原理圖輸入、HDL文本輸入、EDIF網(wǎng)表輸入等幾種方式。編譯:先根據(jù)設計要求設定編譯方式和編譯方略,如器件的選擇、邏輯綜合方式的選擇等。然后根據(jù)設定的參數(shù)和策略對設計項目進行網(wǎng)表提取,邏輯綜合器件適配,并產(chǎn)生報告文件、延時信息文件及編程文件,供分析、仿真和編譯使用。仿真:仿真包括功能仿真、時序仿真和定

12、時分析,用以驗證設計項目的邏輯功能和時序關系是否正確。編程與驗證:用得到的編程文件通過編程電纜配置PLD,加入實際激勵,進行在線測試。再設計過程中,如果出現(xiàn)錯誤,則需重新回到設計輸入階段,改正錯誤或調(diào)整電路后重復上述過程。5系統(tǒng)調(diào)試在進行系統(tǒng)調(diào)試時首先要建一個項目,將我們以前設計的各個子模塊工程添加到該項目中并且創(chuàng)建模塊。之后新建一個頂層原理圖文件,將我們所創(chuàng)建的所有子模塊添加進去,再添加相應的輸入輸出模塊,連接好線,編譯之后便可以仿真。具體頂層文件圖和仿真圖如下所示。圖5.1 頂層文件總線圖圖5.2 彩燈功能仿真圖6系統(tǒng)功能及指標參數(shù)本設計主要是設計一個顯示三種花型的八路彩燈控制系統(tǒng)。它能夠

13、通過外部選擇調(diào)節(jié)彩燈顯示的快慢,也可以通過更改Verilog HDL源程序改變所要現(xiàn)實的花型,從而獲得不同的顯示效果。本設計是基于Quartus 中的EP2S15F672C3芯片,基本完成了課程設計任務書上的所有功能要求,但還是有一些不足的地方,我以后會盡量改進。7設計總結與體會通過本次實驗的學習和實踐,我對DEA這門課程有了感性的認識,并且對仿真軟件Quartus II 有了深刻的了解和學會運用軟件建立工程仿真實驗,對硬件描述語言Verilog HDL有了較為基礎的了解和認識,深刻體會到該語言方面的設計在生活中應用范圍之廣泛。 經(jīng)過本次作業(yè),我體會到設計對設計人員的基本要求:掌握最基本的知識

14、并且學會靈活運用這些基本知識,大膽創(chuàng)新敢于實踐,遵守相關的游戲規(guī)則,運用謹慎全面的邏輯思維思考問題、解決問題。具體而言,對VHDL語言的掌握程度更加的深刻,雖不能獨立的設計復雜的產(chǎn)品,但對整個流程有了一定的了解,為以后的工作打下了基礎,積累了經(jīng)驗。 本次課程不僅是對基礎知識的提升,更是對思維方式的擴展有了相當?shù)膸椭?,我相信知識是在不斷的更新,但從本課程學到的思維方式卻是對以后的發(fā)展大有裨益。 最后要感謝林老師的悉心指導,課程設計中,遇到了不少問題,多虧了老師的悉心指導才能夠順利、及時地解決問題,使得課題能夠順利完成。8參考文獻1夏宇聞.Verilog數(shù)字系統(tǒng)設計教程. 北京:航空航天大學出版社

15、,2008.2 吳繼華,王誠. Altera FPGA/CPLD設計. 北京: 人民郵電出版社,2005.3 常曉明,李媛媛.Verilog HDL工程實踐入門.北京:航空航天大學出版社,2005.4 常曉明.Verilog HDL實踐與應用系統(tǒng)設計. 北京: 航空航天大學出版社,2003.5 王金明,楊吉斌.數(shù)字系統(tǒng)設計與Verilog HDL.北京:電子工業(yè)出版社.2002.附錄1總設計圖及仿真圖附錄2 Verilog HDL源程序分頻模塊程序module fenpin3(reset,clkin,clkout,clkout1,clkout2,clkout3);input reset,clk

16、in;output clkout,clkout1,clkout2,clkout3; reg clkout,clkout1,clkout2,clkout3;reg 1:0 cnt,cnt1,cnt2,cnt3;always (posedge reset or posedge clkin)if(reset) begin cnt<=0; clkout<=0; endelse begin cnt<=cnt+1'b1; if(cnt=1) begin cnt<=0; clkout<=clkout; end endalways (posedge reset or po

17、sedge clkout)if(reset) begin cnt1<=0; clkout1<=0; endelse begin cnt1<=cnt1+1'b1; if(cnt1=1) begin cnt1<=0; clkout1<=clkout1; end end always (posedge reset or posedge clkout1)if(reset) begin cnt2<=0; clkout2<=0; endelse begin cnt2<=cnt2+1'b1; if(cnt2=1) begin cnt2<=

18、0; clkout2<=clkout2; end end always (posedge reset or posedge clkout2)if(reset) begin cnt3<=0; clkout3<=0; endelse begin cnt3<=cnt3+1'b1; if(cnt3=1) begin cnt3<=0; clkout3<=clkout3; end end endmodule數(shù)據(jù)選擇器程序module mux4_1(out,in0,in1,in2,in3,sel); output out; input in0,in1,in2,in

19、3; input 1:0sel; reg out; always (in0 or in1 or in2 or in3 or sel) case(sel) 2'b00: out=in0; 2'b01: out=in1; 2'b10: out=in2; 2'b11: out=in3; default: out=2'bx; endcase endmodule彩燈控制程序module caideng(clk,reset,z);input reset,clk; output reg7:0 z;reg 5:0 state;parameter s0='d0,s

20、1='d1,s2='d2,s3='d3,s4='d4,s5='d5,s6='d6,s7='d7,s8='d8,s9='d9,s10='d10,s11='d11, s12='d12,s13='d13,s14='d14,s15='d15,s16='d16,s17='d17,s18='d18,s19='d19,s20='d20,s21='d21, s22='d22,s23='d23,s24='d24,s25=&

21、#39;d25,s26='d26,s27='d27,s28='d28,s29='d29,s30='d30,s31='d31, s32='d32,s33='d33,s34='d34,s35='d35,s36='d36,s37='d37,s38='d38,s39='d39,s40='d40,s41='d41,s42='d42,s43='d43,s44='d44,s45='d45,s46='d46,s47='d47,s48=&

22、#39;d48,s49='d49,s50='d50,s51='d51, s52='d52;always (posedge clk) begin if (reset) state<=s0; else case (state) s0: state<=s1; s1: state<=s2; s2: state<=s3; s3: state<=s4; s4: state<=s5; s5: state<=s6; s6: state<=s7; s7: state<=s8; s8: state<=s9; s9: sta

23、te<=s10; s10: state<=s11; s11: state<=s12; s12: state<=s13; s13: state<=s14; s14: state<=s15; s15: state<=s16; s16: state<=s17; s17: state<=s18; s18: state<=s19; s19: state<=s20; s20: state<=s21; s21: state<=s22; s22: state<=s23; s23: state<=s24; s24: sta

24、te<=s25; s25: state<=s26; s26: state<=s27; s27: state<=s28; s28: state<=s29; s29: state<=s30; s30: state<=s31; s31: state<=s32; s32: state<=s33; s33: state<=s34; s34: state<=s35; s35: state<=s36; s36: state<=s37; s37: state<=s38; s38: state<=s39; s39: sta

25、te<=s40; s40: state<=s41; s41: state<=s42; s42: state<=s43; s43: state<=s44; s44: state<=s45; s45: state<=s46; s46: state<=s47; s47: state<=s48; s48: state<=s49; s49: state<=s50; s50: state<=s51; s51: state<=s52; s52: state<=s0; default: state<=s0; endcas

26、e end always (state) begin case (state) s0:z<=8'b00000000; s1:z<=8'b11111111; s3:z<=8'b00000000; s4:z<=8'b11111111; s5:z<=8'b00000000; s6:z<=8'b11111111; s7:z<=8'b00000000; s8:z<=8'b11111111; s9:z<=8'b00000000; s10:z<=8'b10000000; s11:z<=8'b01000000; s12:z<=8'b00100000; s13:z<=8'b00010000; s14:z<=8'b00001000; s15:z<=8'b00000100; s16:z<=8'b00000010; s17:z<=8'b00000001; s18:z<=8'b10000000; s19:z<=8'b01000000; s20:z<=8'b00100000; s21:z<=8'b0

溫馨提示

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

評論

0/150

提交評論