




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.wd.wd.wd.可編程課程設計實驗報告一、設計題目汽車尾燈控制電路二、設計要求用6個發(fā)光管模擬6個汽車尾燈左右各3個,用4個開關作為汽車控制信號,分別為:左拐、右拐、故障和剎車。車勻速行駛時,6個汽車尾燈全滅;右拐時,車右邊3個尾燈從左至右順序亮滅;左拐時,車左邊3個尾燈從右至左順序亮滅;故障時車6個尾燈一起明滅閃爍;剎車時,6個尾燈全亮 三、設計語言簡介VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認為標準硬件描述語言 。自
2、IEEE公布了VHDL的標準版本,IEEE-1076簡稱87版)之后,各EDA公司相繼推出了自己的VHDL設計環(huán)境,或宣布自己的設計工具可以和VHDL接口。此后VHDL在電子設計領域得到了廣泛的承受,并逐步取代了原有的非標準的硬件描述語言。1993年,IEEE對VHDL進展了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展VHDL的內容,公布了新版本的VHDL,即IEEE標準的1076-1993版本,簡稱93版?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標準硬件描述語言,又得到眾多EDA公司的支持,在電子工程領域,已成為事實上的通用硬件描述語言。有專家認為,在新的世紀中,VHDL于Verilo
3、g語言將承當起大局部的數(shù)字系統(tǒng)設計任務。VHDL設計的主要特點:1.用VHDL代碼而不是用原理圖進展設計,意味著整個電路板的模型及性能可用計算機模擬進展驗證。2.VHDL元件的設計與工藝無關,與工藝獨立,方便工藝轉換。3.VHDL支持各種設計方法,自頂向下、自底向上或者混合的都可以。4.可以進展從系統(tǒng)級到邏輯級的描述,即混合描述。5.VHDL區(qū)別于其他的HDL,已形成標準,其代碼在不同的系統(tǒng)中可交換建模。四、程序代碼module weideng(nrst,haz,left,right,brake,lc,lb,la,ra,rb,rc,/*CLOCK_50*/clk,vga);input haz,
4、left,right,brake;/warning,turn left,turn right,brakinginput nrst,/*CLOCK_50*/clk; output lc,lb,la,ra,rb,rc;/6 lightoutput vga;reg 3:0vga; wire lc,lb,la,ra,rb,rc; /wire cp;/2 HZ reg 19:0state,next_state; /14 states parameter 19:0idle=20b00_0000_0000_0001_000_000, l1=20b00_0000_0000_0010_001_000, l2=2
5、0b00_0000_0000_0100_010_000, l3=20b00_0000_0000_1000_100_000, r1=20b00_0000_0001_0000_000_100, r2=20b00_0000_0010_0000_000_010, r3=20b00_0000_0100_0000_000_001, full=20b00_0000_1000_0000_111_111, bl1=20b00_0001_0000_0000_001_111, bl2=20b00_0010_0000_0000_010_111, bl3=20b00_0100_0000_0000_100_111, br
6、1=20b00_1000_0000_0000_111_100, br2=20b01_0000_0000_0000_111_010, br3=20b10_0000_0000_0000_111_001; /position of each state parameter 4:0 idle_pos=5d6, l1_pos=5d7, l2_pos=5d8, l3_pos=5d9, r1_pos=5d10, r2_pos=5d11, r3_pos=5d12, full_pos=5d13, bl1_pos=5d14, bl2_pos=5d15, bl3_pos=5d16, br1_pos=5d17, br
7、2_pos=5d18, br3_pos=5d19; /store status always (posedge clk ,negedge nrst) beginvga=4b0001; if(!nrst) state=idle; else state=next_state;end /state transition * always (haz,left,right,brake) beginnext_state=idle; case(1b1) stateidle_pos:if(left&haz&right&brake) next_state=l1; else if(right&haz&left&b
8、rake) next_state=r1; else if(brake|haz|left&right) next_state=full; else next_state=idle; statel1_pos:if(brake) next_state=bl1; else if(haz&brake) next_state=full; else next_state=l2; statel2_pos:if(brake) next_state=bl1; else if(haz&brake) next_state=full; else next_state=l3; statel3_pos:next_state
9、=idle; statefull_pos:if(brake) next_state=idle; else next_state=full; stater1_pos:if(brake) next_state=br1; else if(haz&brake) next_state=full; else next_state=r2; stater2_pos:if(brake) next_state=br1; else if(haz&brake) next_state=full; else next_state=r3; stater3_pos:next_state=idle; statebr1_pos:
10、if(brake) next_state=r1; /else if(brake&haz) /next_state=full; else next_state=br2; statebr2_pos:if(brake) next_state=r1; /else if(brake&haz) /next_state=full; else next_state=br3; statebr3_pos:if(brake) next_state=r1; else next_state=br1; statebl1_pos:if(brake) next_state=l1; /else if(brake&haz) /n
11、ext_state=full; else next_state=bl2; statebl2_pos:if(brake) next_state=l1; /else if(brake&haz) /next_state=full; else next_state=bl3; statebl3_pos:if(brake) next_state=l1; else next_state=bl1; default:next_state=idle; endcase end /output logic assign la=state3, lb=state4, lc=state5, ra=state2, rb=state1, rc=state0;/2hz clock /* divn # (.WIDTH(25), .N(25000000) CLOCK_50 u0 ( .clk(CLOCK_50), .rst_n(nrst), .o_clk(cp) ); */endmodule五、心得體會Verilog語言是目前電路設計中不可缺少的語言之一,其在電子信息、通信、自動控制及計算機領域中的重要性日益突出。通過本次課程設計,使我對Verilog語
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 短視頻在電子商務平臺中的營銷策略研究
- 秋季職場人士的中醫(yī)保健策略
- 社區(qū)銀行品牌與公共關系的協(xié)同發(fā)展
- 電桿加固合同范本
- DB15-T 3825-2025 商品鴨飼養(yǎng)技術規(guī)范
- 白水泥行業(yè)產業(yè)鏈的優(yōu)化與重構
- 服裝品牌代理居間合同范本
- 《CAXA電子文檔管理》課件
- 《琥珀紋與摩尼寶珠》課件
- 新人教版二年級下冊數(shù)學全冊教案含反思
- 《專門檔案管理(第三版)》課件 第1章
- CAD培訓教學講解課件
- 包莖包皮過長精選課件
- QSB質量體系基礎課件
- 小兒高熱驚厥精品課件
- 優(yōu)秀員工榮譽證書模板
- 三維電生理導航系統(tǒng)技術參數(shù)
- 三年級下冊科學活動手冊
- 《交通工程CAD》課程教學大綱(本科)
- 人教版數(shù)學五年級下冊 全冊各單元教材解析
- 換班申請表(標準模版)
評論
0/150
提交評論