




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于Verilog的課程設計多路彩燈控制器指導老師:甕嘉民 李小魁班 級:0941電子科學與技術成 員:周俊冉 200910711103 李 靜 200910711108 馬慶蒙 200910711110 目錄1 EDA簡介2 彩燈控制器的設計方案3 程序設計和源程序4 波形仿真分析5 硬件測試引腳鎖定圖6 電路模塊圖7 實物圖8 心得體會9 擴展思路10 參考文獻1.EDA簡介 EDA技術(即Electronic Design Automation技術)就是依賴強大的計算機,在EDA工具軟件平臺上,對以硬件描述語言HDL(Hardware Description Language)為系統(tǒng)邏輯
2、描述手段完成的設計文件,自動的完成邏輯編譯、化簡、分割、綜合、布局布線以及邏輯優(yōu)化和仿真測試,直至實現既定的電子線路系統(tǒng)功能。他在硬件實現方面融合了大規(guī)模集成電路制造技術、IC版圖設計、ASIC測試和封裝、FPGA(Field Programme Gate Array)CPLD(Complex Programme Logic Device)編程下載和自動測試等技術:在計算機輔助工程方面融合了計算機輔助設計(CAD),計算機輔助制造(CAM),計算機輔助測試(CAT),計算機輔助工程(CAE)技術以及多種計算機語言的設計概念;而在現代電子學方面則容納了更多的內容,如電子線路設計理論、數字信號處理
3、技術、數字系統(tǒng)建模和優(yōu)化技術及長線技術理論等。 硬件描述語言HDL是EDA技術的重要組成部分,常見的HDL主要有VHDL、Verilog HDL、ABEL、AHDL、System Verilog和System C。其中VHDL、Verilog HDL和現在的EDA設計中使用最多,并且我們學習的是Verilog的編程方法及實用技術。 2.彩燈控制器的設計方案彩燈控制器的核心設計部分是分頻器的使用,顯示部分相對比較容易。分頻器的設計方法多種多樣,我們設計的是比較常見的一種。外接clk為始終輸入基準信號,彩燈節(jié)奏的快慢用選擇開關select1.0,共有q13:0十四個輸出信號控制彩燈的輸出以及dis
4、play15:0輸出信號控制數碼管的顯示。彩燈由流水燈和交通燈兩部分顯示彩燈的各種狀態(tài),數碼管顯示選擇開關的四種狀態(tài)。 彩燈共有32個狀態(tài),流水燈顯示部分可以做成7種花樣,一種花樣完成后,自動進入下一種狀態(tài)。交通燈作為輔助部分顯示。第一種花樣為彩燈從右到左,依次點亮,從左往右依次點亮,然后全亮。11111110011111 到00000000101010;第二種花樣兩邊同時亮一個,逐次向中間移動,再散開,全滅。01111110111111到11111111111110;第三種左邊四個燈亮,然后右邊四個燈亮,再反過來。00001111111100和11110000111000第四種奇數燈亮,再偶
5、數燈亮,然后反過來。01010101110000和01010101110000第五種右邊七個亮,然后左邊七個亮。10000000和00000001第六種全亮00000000101101第七種全滅11111111110110 3.程序設計和源程序整個控制器的實現流程如下:經分析,彩燈控制器設計可以分為四部分:時鐘分頻,數碼管顯示,彩燈顯示電路。其中時鐘分頻又包括四選一數據選擇和分頻和狀態(tài)選擇兩部分系統(tǒng)程序框圖如下: 彩燈控制器系統(tǒng)框圖各部分電路模塊框圖功能:分頻值選擇框圖 此部四選一數據選擇器:試驗箱上的時鐘進行四種分頻,該模塊對四個時鐘進行選擇,配合按鍵的控制選擇亮燈之間的時間間隔。確定頻率和
6、狀態(tài)部分:該部分實現了兩個功能:一個是分頻計數,對四種分頻(12,25,50,100)計數,達到分頻數時清零;另一個是實現狀態(tài)的改變,在每次計數滿時(達到分頻的數時)狀態(tài)改變一次,同時清零重新計數;未滿時,狀態(tài)保持。顯示部分: 該部分由流水燈和交通燈兩部分組成。顯示當前彩燈的狀態(tài)。共32個狀態(tài),進行自動循環(huán)轉換。該部分控制的是彩燈當前的分頻狀態(tài),共有四種分頻12,25,50,100對應的顯示1,2,3,4 。由輸入信號和按鍵決定。主要源程序:module led(select,clk,q,display);input 1:0 select;input clk;output reg 13:0 q
7、;reg 2:0 seg;output 15:0display;reg 15:0display;wire 6:0 num;assign num=(select=0)?12:(select=1)?25:(select=2)?50:100;/計數分類reg 5:0 state;reg 6:0 count;initial begin state=0; count=0; end /always (posedge clk) begin display <= 8'b1111_1110,1'b1,led7(seg); case(select)2'b00:seg<=1;2&
8、#39;b01:seg<=3;2'b10:seg<=2;2'b11:seg<=4;default :seg<=0;endcase end / always(posedge clk) begin if(count=(num-1) begincount<=0;if(state<32)state<=state+1;elsestate<=0; endelse begincount<=count+1;state<=state;endend/always(posedge clk) begincase(state)0:q<=1
9、4'b11111110011111;1:q<=14'b11111101101111;2:q<=14'b11111011110111;3:q<=14'b11110111111011;4:q<=14'b11101111111101;5:q<=14'b11011111111110;6:q<=14'b10111111111101;7:q<=14'b01111111111011;8:q<=14'b10111111110111;9:q<=14'b11011111101111
10、;10:q<=14'b11011111011111;11:q<=14'b11101111000111;12:q<=14'b11110111111000;13:q<=14'b11111011000000;14:q<=14'b11111101011101;15:q<=14'b11111110010101;16:q<=14'b00000000101010;17:q<=14'b01111110111111;18:q<=14'b10111101110101;19:q<=14
11、'b11011011001001;20:q<=14'b11100111000000;21:q<=14'b11011011000111;22:q<=14'b10111101111000;23:q<=14'b01111110111111;24:q<=14'b11111111111110;25:q<=14'b00001111111100;26:q<=14'b11110000111000;27:q<=14'b01010101110000;28:q<=14'b101010
12、10100000;29:q<=14'b10000000000000;30:q<=14'b01111111011011;31:q<=14'b00000000101101;32:q<=14'b11111111110110;default :q<=14'b00000000000000;endcase end /function 6:0 led7; /*數碼管段碼表,供陽數碼管6:0=gfedcba*/input 3:0 dis_input;begincase (dis_input)0 : led7 = 7'b100_000
13、0;1 : led7 = 7'b111_1001;2 : led7 = 7'b010_0100;3 : led7 = 7'b011_0000;4 : led7 = 7'b001_1001;5 : led7 = 7'b001_0010;6 : led7 = 7'b000_0010;7 : led7 = 7'b111_1000;8 : led7 = 7'b000_0000;9 : led7 = 7'b001_1000;default : led7 = 7'b111_1111;endcaseendendfunctione
14、ndmodule 4.波形仿真分析 輸入一個時鐘,select1:0選擇的事是00,即12分頻時候的波形。輸出引腳q顯示每個燈的高低電平,低電平燈亮。 5 引腳鎖定圖 波形仿真完之后即可進行引腳的分配,并進行編譯下載至硬件進行測試。在生成的.qsf文件中給引腳配對。在quarter中生成的引腳分配圖如下所示: 6電路原理圖7 實物圖 8 實訓心得李 靜: 實訓雖然進行了兩周,但由于請了三天假就像只參加了一周一樣,沒有參與所有的編程,有點遺憾。不過后來我還是認真琢磨了我們的程序。我們組做到是多路彩燈控制器,實際上很簡單,生活上很常見,和花樣流水燈可以說是異曲同工。不過在期間做好讓老師檢查時,老師
15、覺得這個課題有些簡單,又建議加上數碼管或是增加彩燈數目,以增加點難度。當然,我們對實驗又進行了修整。不過在實驗中還是遇到了以下幾個問題。例如:分頻的時候,可以用一個兩位的輸入變量作為分頻的選擇,使用選擇語句付給中間變量num,簡化程序。在.數碼管控制分頻的選擇,因為數碼管碼和斷碼有固定函數,可以調用此函數用以顯示對應數據。還有交通燈閃爍的問題,試驗箱上有12個交通燈,交通等和流水燈不一樣,只有6個引腳紅黃藍分別公用一個引腳。當然期間遇到的問題不止這幾個,在遇到問題解決不了時,也有請教了老師以及其他同學,最終在我們組成員的共同努力下,完成了我們的實驗科目。在這次實驗中,我也學到了新的知識,對于v
16、erilog有了更深的了解。馬慶蒙:經過為期兩周的實訓,多多少少還是學到點東西的。很慶幸,從開始選材到程序到仿真出來我都參與進來了。我們組做的是多路彩燈控制器。實際上就是花樣的流水燈。我們的課題相對來說不是很難。很多的超市都掛有流水燈,不過他們的花樣比較多,由于試驗箱上的燈顏色比較單一,做不出那種效果,只能根據自己的能力設計出像流水燈一樣的花型。由于實驗箱上有交通燈部分,第一次把流水燈的部分設計完之后,讓老師檢查,又布置下來新的任務,要求用上數碼管或交通燈部分。初次設計的過程中無從下手,首先是方案的選擇,花型的變換,節(jié)奏變化的快慢等問題。后來的加上數碼管和交通燈部分,怎么在數碼管上顯示四種分頻
17、,交通等花型變換。在設計過程中遇到的問題及解決方案:1. 怎么分頻 幾個選擇變量可以用一個條件賦值語句付各一個變量,這樣可以簡化程序。于是我們用一個兩位的輸入變量作為分頻的選擇,使用選擇語句付給中間變量num。2. 怎么把用數碼管控制分頻的選擇 因數碼管位碼和斷碼有固定的函數,調用此函數用以顯示對應的數字。12分頻顯示1,25分頻顯示2,50分頻顯示3,100分頻顯示4。3. 交通燈怎么閃爍 試驗箱上交通燈有12個彩燈,開始時以為交通和流水燈一樣,每一個燈對應一個引腳,于是在程序中直接把交通燈的12位付給輸出變量q。,但到了引腳鎖定時發(fā)現交通燈的引腳只有六位。思考一番知道了,在現實生活中交通燈
18、的東西(或)南北方向的燈顯示的事一樣的。于是把12位的引腳改成6位的,紅的黃的綠的每一種顏色共用一個引腳,程序的12位也改為了6位。4. 交通燈沒有閃爍 在把交通燈部分加上以后,交通燈沒有反應,檢查程序,發(fā)現輸出變量應該是14位,所以定義時應該把q定義為q13:0。重新往試驗箱里下載程序,還是沒反應,連流水燈的變化也變得不正常了。這時人都快崩潰了,于是找人呢幫忙檢查,原來是應該把狀態(tài)輸出時的賦值語句q<=8'b寫成q<=14'b,該賦值語句中的數字表示q輸出的位數,當為8時小于輸出的位數,只會取后面的8位。因此只有流水燈在閃爍,交通燈還會保持原來的狀態(tài)。至于流水變化
19、不正常是因為有人把試驗箱上的時鐘改大了,造成流水燈的速度變快,看不出來狀態(tài)的變化。周俊冉: 實訓兩周結束了,這次實訓和往常不同的是沒有實體的產品,主要是程序的編寫和實驗箱的演示,通過這次實訓我再次學習了EDA中的程序編寫和軟件使用并和實踐相結合。 我們做的是多路彩燈,實驗箱上只有一種顏色就做成了多種顯示方式和頻率的流水燈形式。后來在老師的指導下又加入了交通燈的多種花樣及頻率顯示。 在整個過程中遇到了很多問題和思考:第一周在方案的選擇和程序編寫上我們討論和修改了很多,本來準備使用多個模塊和例化語句,為了使構造更清晰簡易就選擇使用一個整體模塊。 編程過程中:我們首先利用一個兩位的變量輸入和一個多重的條件賦值句來簡潔的選擇閃爍快慢,即實現分頻的選擇;然后通過計數的方式達到分頻的目的,然后是控制顯示部分,因
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年美術活動春雨標準教案反思
- 提升教學質量的年度目標計劃
- 《貴州眾一金彩黔礦業(yè)有限公司織金縣官寨鄉(xiāng)明源煤礦(變更)礦產資源綠色開發(fā)利用方案(三合一)》評審意見
- 渠道管理-渠道中的行為
- 2025年駐馬店貨運資格證考題
- 2025年黃石貨運從業(yè)資格證考試模擬考試題庫
- 2025年阿克蘇b2貨運上崗證模擬考試
- 2025年盤錦貨運資格證模擬考試卷
- 2025年安徽貨運從業(yè)考試試題及答案大全
- 美食產品知識培訓課件
- 城鄉(xiāng)規(guī)劃畢業(yè)設計開題報告
- 上海倚海電力工程有限公司“4.17”高處墜落死亡事故調查報告
- 監(jiān)理工程師培訓課件(共8)-2024鮮版
- 基于消費者行為的社交電商營銷策略研究分析-以小紅書和拼多多為例對比分析 電子商務管理專業(yè)
- 上海交通大學無機化學課件第八章第二部分
- 星巴克新員工培訓手冊
- 《中國缺血性卒中和短暫性腦缺血發(fā)作二級預防指南2022》解讀
- 2024年西安電力高等專科學校高職單招(英語/數學/語文)筆試歷年參考題庫含答案解析
- 袁家村招商策劃方案
- 天龍八部礦石分布圖
- 光伏電站運維安全培訓內容
評論
0/150
提交評論