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

下載本文檔

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

文檔簡介

TOC\o"1-3"\h\z\u1前言22總體方案設計33單元模塊設計54軟件設計94.1QuartusⅡ簡介94.2QartusⅡ設計開發流程105系統調試116系統功能及指標參數127設計總結與體會138參考文獻14附錄1總設計圖及仿真圖15附錄2VerilogHDL源程序161前言在經濟和商業高度發達的今天,彩燈已經成為人民日常生活不可或缺的一部分,已經逐漸為越來越多的人們所關注,在家庭中的普及率不斷提高,大大的豐富和點綴了人民的生活。彩燈由不同的顏色的LED燈組成,通過控制不同顏色的燈的亮與滅,呈現給人們不同的花塑和圖案,極大的點綴了單調的都市夜景,讓城市成為了多姿多彩的不夜城。當今社會是數字化的社會,也是數字集成電路廣泛應用的社會,數字本身在不斷的進行更新換代。它由早起的電子管、晶體管、小中規模集成電路發展到超大規模集成電路以及許多具有特定功能的專用集成電路。而EDA技術就是以微電子技術為物理層面,現代電子設計為靈魂,計算機軟件技術為手段,最終形成集成電子系統或專用集成電路ASIC為目的的一門新興技術。VerilogHDL是一種應用較為廣泛的HDL語言,能對范圍廣泛的各種復雜的網絡在不同的抽象級加以描述,而且在整個設計過程中可使用同一種語言。采用VerilogHDL作為HDL綜合設計的優點有:標準語言,即設計者可在不同環境下進行設計;仿真和綜合均可采用同一種語言進行;VerilogHDL中提供的大量的資源模塊,簡化了設計者的開發工作;由VerilogHDL描述的源文件既是程序文件又可作為設計的文檔。2總體方案設計彩燈控制器的核心設計部分是彩燈花型的控制模塊,顯示部分相對比較容易。分頻器的設計方法多種多樣,我設計的是比較常見的一種。外接clk為始終輸入基準信號,彩燈節奏的快慢用選擇開關select[1:0]。針對課題要求設計了如圖2.1所示總體框圖。方案比較該設計主要是以FPGA為基礎,通過硬件描述語言VerilogHDL靈活多變的改變彩燈顯示的花型以及寬快慢,對此這幾了以下兩個方案。方案一:總體電路共分三大塊。第一塊實現時鐘信號的產生;第二塊實現花型的控制及節拍控制;第三塊實現花型的演示。主題框圖如圖2.2所示。圖八路彩燈設計框圖方案二:在方案一的基礎上將整體電路分為四個模塊。第一塊實現花型的演示;第二塊實現花型的控制;第三塊實現節拍快慢控制;第四塊實現時鐘信號的產生。并在部分電路的設計上與方案一采用了完全不同的方法,如花型的控制。如圖2.3所示。圖方案一與方案二最大的不同就在,前者將花型控制與節拍控制兩種功能融合在一起,是考慮到只要計數器就可以實現其全部功能的原因,且原理相對簡單。這樣設計,其優點在于:設計思想比較簡單。元件種類使用少,且都較熟悉易于組裝電路。缺點則是:中間單元電路連線過于繁多,容易出錯。且可能出現線與關系。要避免這些,則勢必造成門電路使用過多。導致電路不穩定,抗干擾能力下降。而后者則將以上兩種功能分開設計,各單元電路只實現一種功能。其優點在于:電路設計模塊化,易于檢查電路,對后面的電路組裝及電路調試帶來方便。缺點則是:節拍控制電路采用可編輯邏輯電路,原理相對復雜,不易理解。花型控制電路簡單,花型也比較簡單。2.3方案選擇方案一主要設計過程簡單明了,而且花型控制和快慢結合在一起,用一個計數器就能而過輕松地實現功能,但是細節太多容易出錯。方案二雖然多了一個步驟,但是每個模塊只完成一個功能,相對更容易上手。所以基于以上原因,加上為了確保短時間內完成課程設計,我選擇了連線少,易于調試的方案二。3單元模塊設計時鐘信號控制模塊的主要功能是將輸出的標準時鐘進行分頻,以此控制八路彩燈的快慢節奏變化。時鐘信號控制在本設計中起著至關重要的作用,它以彩燈閃動快慢節奏的變化實現了八路彩燈絢麗多彩的花型節奏變化。時鐘控制是整個設計中的一個分模塊,它的設計對八路彩燈控制器的順利完成起著決定性作用。對時鐘控制程序封裝如圖3.1所示。圖分頻器模塊設計的標準時鐘輸入時50MHz,但是在QuartusⅡ中仿真時由于計數次數太多以至于不能正常得到分頻后的波形,所以此處的仿真波形非標準時鐘,僅用來表示分頻的結果。圖3.2仿真波形圖中,out是對基準時鐘的4分頻,out1是對基準時鐘的8分頻,out2是對基準時鐘的16分頻,out3是對基準時鐘的32分頻。節拍快慢控制模塊即一個4選1數據選擇器,它的功能是將分頻器分出來的四個時鐘信號通過我們外部輸入而選擇其中一個輸出到下一個模塊中,這樣就可以控制彩燈顯示的快慢。它的真值表如表3.1所示。表3.14選1數據選擇器真值表select[1:0]輸出00Out101Out210Out311Out44選1數據選擇器仿真波形和封裝模型分別如下:圖3.44選1數據選擇器仿真圖圖3.4數據選擇器仿真波形中,輸入的選擇信號sel是2'b01即選擇輸入的第二個波形,所以輸出的波形即是第二個波形。彩燈控花型控制模塊彩燈控制模塊是整個設計的核心,彩燈控制模塊能夠進行彩燈圖案的控制,它負責整個設計的輸出效果即各種彩燈圖案的樣式變化。在仿真時序中高電平代表燈亮,低電平代表燈滅,由高低電平按不同規律組合就代表不同的花型,同時選擇不同的頻率,從而實現多種圖案多種頻率的花樣功能顯示。此時VerilgHDL硬件描述語言的優勢就展現出來,使用者可以按自己的需求改變源程序從而改變顯示的花型,而不用更換顯示設備,這樣不但經濟而且環保。程序封裝圖及仿真圖分別如圖所示。彩燈控制系統程序封裝圖圖圖3.6中,在第一個上升沿輸出8個高電平即8個彩燈全亮,下一個上升沿全部為低電平表示彩燈全部熄滅。之后隔一個時鐘周期產生一個高電平,即彩燈依次點亮。最后四個高電平和低電平相間,表示8個彩燈亮滅相間。4軟件設計4.1QuartusⅡ簡介QuartusⅡ可編程邏輯開發軟件是Altera公司為其FPGA/CPLD芯片設計的集成化專用開發工具,是Altera最新一代功能更強的集成EDA開發軟件。使用QuartusII可完成從設計輸入,綜合適配,仿真到下載的整個設計過程。Max+plusⅡ是Altera公司早期的開發工具,曾經是最優秀的PLD開發平臺之一,現在正在逐步被QuartusⅡ代替。并且Max+plusⅡ已經不再支持Altera公司的新器件,同時,QuartusH也放棄了對少數較老器件的支持。QuattusII界面友好,具有MAX+PLUSⅡ界面選項,這樣MAX的老用戶就無須學習新的用戶界面就能夠充分享用QuartusⅡ軟件的優異性能。所以,無論是初學者,還是Max+plusⅡ的老用戶,都能較快的上手。QuartusⅡ根據設計者需求提供了一個完整的多平臺開發環境,它包含蕞個FPGA和CPLD設計階段的解決方案。QuarmsⅡ軟件提供的完整,操作簡易的圖形用戶界面可以完成整個設計流程中的各個階段。QuartusⅡ集成環境包括以下內容:系統級設計,嵌入式軟件開發,可編程邏輯器件(PLD)設計,綜合,布局和布線,驗證和仿真。QuartusⅡ也可以直接調用SynplifyPro,LeonardoS~ctmm以及ModelSim等第三方EDA工具來完成設計任務的綜合與仿真。QualtusⅡ與MATLAB和DSPBuilder結合可以進行基于FPGA的DSP系統開發,方便且快捷,還可以與SOPCBuilder結合,實現SOPC系統的開發。4.2QartusⅡ設計開發流程QuanusⅡ設計的主要流程有:創建工程、設計輸入、編譯、仿真驗證、下載,其進行數字電路設計的一般流程如圖所示。圖4.1QuartusⅡ設計開發流程設計輸入:包括原理圖輸入、HDL文本輸入、EDIF網表輸入等幾種方式。編譯:先根據設計要求設定編譯方式和編譯方略,如器件的選擇、邏輯綜合方式的選擇等。然后根據設定的參數和策略對設計項目進行網表提取,邏輯綜合器件適配,并產生報告文件、延時信息文件及編程文件,供分析、仿真和編譯使用。仿真:仿真包括功能仿真、時序仿真和定時分析,用以驗證設計項目的邏輯功能和時序關系是否正確。編程與驗證:用得到的編程文件通過編程電纜配置PLD,加入實際激勵,進行在線測試。再設計過程中,如果出現錯誤,則需重新回到設計輸入階段,改正錯誤或調整電路后重復上述過程。5系統調試在進行系統調試時首先要建一個項目,將我們以前設計的各個子模塊工程添加到該項目中并且創建模塊。之后新建一個頂層原理圖文件,將我們所創建的所有子模塊添加進去,再添加相應的輸入輸出模塊,連接好線,編譯之后便可以仿真。具體頂層文件圖和仿真圖如下所示。圖5.1頂層文件總線圖圖5.2彩燈功能仿真圖6系統功能及指標參數本設計主要是設計一個顯示三種花型的八路彩燈控制系統。它能夠通過外部選擇調節彩燈顯示的快慢,也可以通過更改VerilogHDL源程序改變所要現實的花型,從而獲得不同的顯示效果。本設計是基于QuartusⅡ中的EP2S15F672C3芯片,基本完成了課程設計任務書上的所有功能要求,但還是有一些不足的地方,我以后會盡量改進。7設計總結與體會通過本次實驗的學習和實踐,我對DEA這門課程有了感性的認識,并且對仿真軟件QuartusII有了深刻的了解和學會運用軟件建立工程仿真實驗,對硬件描述語言VerilogHDL有了較為基礎的了解和認識,深刻體會到該語言方面的設計在生活中應用范圍之廣泛。經過本次作業,我體會到設計對設計人員的基本要求:掌握最基本的知識并且學會靈活運用這些基本知識,大膽創新敢于實踐,遵守相關的游戲規則,運用謹慎全面的邏輯思維思考問題、解決問題。具體而言,對VHDL語言的掌握程度更加的深刻,雖不能獨立的設計復雜的產品,但對整個流程有了一定的了解,為以后的工作打下了基礎,積累了經驗。本次課程不僅是對基礎知識的提升,更是對思維方式的擴展有了相當的幫助,我相信知識是在不斷的更新,但從本課程學到的思維方式卻是對以后的發展大有裨益。最后要感謝林老師的悉心指導,課程設計中,遇到了不少問題,多虧了老師的悉心指導才能夠順利、及時地解決問題,使得課題能夠順利完成。8參考文獻[1]夏宇聞.Verilog數字系統設計教程.北京:航空航天大學出版社,2008.[2]吳繼華,王誠.AlteraFPGA/CPLD設計.北京:人民郵電出版社,2005.[3]常曉明,李媛媛.VerilogHDL工程實踐入門.北京:航空航天大學出版社,2005.[4]常曉明.VerilogHDL實踐與應用系統設計.北京:航空航天大學出版社,2003.[5]王金明,楊吉斌.數字系統設計與VerilogHDL.北京:電子工業出版社.2002.附錄1總設計圖及仿真圖附錄2VerilogHDL源程序分頻模塊程序modulefenpin3(reset,clkin,clkout,clkout1,clkout2,clkout3); inputreset,clkin; outputclkout,clkout1,clkout2,clkout3; regclkout,clkout1,clkout2,clkout3; reg[1:0]cnt,cnt1,cnt2,cnt3;always@(posedgeresetorposedgeclkin) if(reset)begincnt<=0;clkout<=0;end elsebegincnt<=cnt+1'b1;if(cnt==1)begincnt<=0;clkout<=~clkout;endendalways@(posedgeresetorposedgeclkout) if(reset)begincnt1<=0;clkout1<=0;end elsebegincnt1<=cnt1+1'b1;if(cnt1==1)begincnt1<=0;clkout1<=~clkout1;endendalways@(posedgeresetorposedgeclkout1) if(reset)begincnt2<=0;clkout2<=0;end elsebegincnt2<=cnt2+1'b1;if(cnt2==1)begincnt2<=0;clkout2<=~clkout2;endendalways@(posedgeresetorposedgeclkout2) if(reset)begincnt3<=0;clkout3<=0;end elsebegincnt3<=cnt3+1'b1;if(cnt3==1)begincnt3<=0;clkout3<=~clkout3;endendendmodule數據選擇器程序modulemux4_1(out,in0,in1,in2,in3,sel);outputout;inputin0,in1,in2,in3;input[1:0]sel;regout;always@(in0orin1orin2orin3orsel)case(sel)2'b00:out=in0;2'b01:out=in1;2'b10:out=in2;2'b11:out=in3;default:out=2'bx;endcaseendmodule彩燈控制程序modulecaideng(clk,reset,z);inputreset,clk;outputreg[7:0]z;reg[5:0]state;parameters0='d0,s1='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='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='d48,s49='d49,s50='d50,s51='d51,s52='d52;always@(posedgeclk)beginif(reset)state<=s0;elsecase(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:state<=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:state<=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:state<=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;endcaseendalways@(state)begincase(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'b0

溫馨提示

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

評論

0/150

提交評論