FPGA實驗報告_第1頁
FPGA實驗報告_第2頁
FPGA實驗報告_第3頁
FPGA實驗報告_第4頁
FPGA實驗報告_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)字電路與邏輯設(shè)計用Verilog編程 用FPGA實現(xiàn)汽車尾燈控制系統(tǒng)實驗報告 學(xué)院:信息與通信工程學(xué)院 專業(yè): 電子信息工程 班級: 2015211103 組員:傅遠昌 2015210077 張楷 2015210078 12 / 12文檔可自由編輯一 實驗要求根據(jù)汽車行駛狀態(tài)自動控制汽車尾燈1. 直行:尾燈不亮2. 右轉(zhuǎn):右側(cè)尾燈亮而且按秒閃爍,左側(cè)尾燈不亮3. 左轉(zhuǎn):左側(cè)尾燈亮而且按秒閃爍,右側(cè)尾燈不亮4. 臨時停車或故障:兩側(cè)尾燈同時閃爍5. 倒車顯示二 用實現(xiàn)方式設(shè)計. 用三色LED代表左右汽車尾燈,為了便于區(qū)分,左尾燈選擇靠左的三色LED且顯示為藍色,右尾燈選擇靠右的三色LED且顯示

2、為紅色。兩燈同時閃爍表示停車或倒車。. 用八個單色以流水燈的方式顯示汽車的行駛狀態(tài),向前滾動表示汽車前行,向后滾動表示汽車到車,只有前四個LED亮表示左轉(zhuǎn),只有后四個亮表示右轉(zhuǎn)。. 用四個撥碼開關(guān)分別表示前行、左轉(zhuǎn)、右轉(zhuǎn)、故障(倒車),器輸入組合1000表示前行,0100表示左轉(zhuǎn)、0010表示右轉(zhuǎn)、0001表示故障(倒車);三 設(shè)計思路分析. 使用不同的進程來分別處理時鐘分頻及各個狀態(tài)下的燈光效果. 用三色LED代表左右汽車尾燈. 用撥碼開關(guān)控制汽車行駛狀態(tài). 用單色LED顯示汽車行駛狀態(tài). 使用狀態(tài)機的思想來設(shè)計,通過過狀態(tài)來決定燈光效果,通過外部輸入來改變狀態(tài)。四 波形仿真五 管腳分配.

3、輸入管腳分配:. 輸出管腳分配:六 實驗總結(jié)體會:(1)本次實驗,我們采用模塊化的設(shè)計方法,將整體分成不同功能的模塊,如計時模塊、分頻模塊、顯示控制模塊、LED燈顯示模塊,然后分模塊編寫程序(由小組人員分工完成),之后再將模塊之間用變量連接起來,從而實現(xiàn)汽車尾燈顯示要求。(2)在實現(xiàn)本次設(shè)計的過程中,使我們了解了汽車尾燈的基本原理,從而讓我們覺得,首次將我們的專業(yè)知識與生活聯(lián)系起來,增強了我們對本課程的學(xué)習(xí)興趣。(3)在本次實驗的實現(xiàn)過程中,通過調(diào)用case語句、always語句,是我們進一步加深了對case、always語句的認識,并且能夠?qū)⑵溥\用到其他設(shè)計中,使我們進一步熟練了這種設(shè)計方法

4、和verilog程序設(shè)計語言。七 實現(xiàn)代碼. 汽車尾燈控制系統(tǒng)module tail_lamp(inputsys_clk,/系統(tǒng)時鐘 inputsys_rst_n,/系統(tǒng)復(fù)位 input3:0state_in,/撥碼開關(guān)輸入 outputreg2:0led_left,/左側(cè)尾燈 msblsb = R,G,Boutputreg2:0led_right,/右側(cè)尾燈 msblsb = R,G,Boutputreg7:0led_out/流水燈輸出 );parameterCNT_NUM = 6_000_000; /計數(shù)器實現(xiàn)分頻的分頻系數(shù)localparamSTOP= 4b0000;localparam

5、GO= 4b0001;localparamLEFT= 4b0010;localparamRIGHT= 4b0100;localparamBACK= 4b1000;wire2:0tail_on;/尾燈點亮狀態(tài)wire2:0tail_off;/尾燈熄滅狀態(tài)wire2:0tail_shin;/尾燈閃爍狀態(tài)wire7:0_left;/左轉(zhuǎn)時單色LED的狀態(tài)wire7:0_rignt;/右轉(zhuǎn)時單色LED的狀態(tài)wire7:0_stop;/停止時單色LED的狀態(tài)reg23:0cnt;/計數(shù)器,reg3:0current_state;/當前狀態(tài)reg3:0next_state;/下一個狀態(tài)regclk_1hz

6、;/1Hz分頻信號reg7:0_go;/前進時單色LED的狀態(tài)reg7:0_back;/倒車時單色LED的狀態(tài)/*計數(shù)器實現(xiàn)0.5秒的周期*/always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n) cnt = CNT_NUM-1) cnt = 1b0;else cnt = cnt + 1b1;/*根據(jù)計數(shù)器的周期實現(xiàn)1Hz信號分頻*/always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n) clk_1hz = 1b0;else if(cnt = CNT_NUM-1) clk

7、_1hz = clk_1hz;else clk_1hz = clk_1hz;/*尾燈的三種狀態(tài),RGB燈只使用紅色*/assigntail_on = 3b011;/msblsb = R,G,Bassigntail_off = 3b111;/msblsb = R,G,Bassigntail_shin = clk_1hz,2b11;/msblsb = R,G,B/*車輛前進時,流水燈向上流水*/always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n) _go = 8h7f;else if(cnt = CNT_NUM-1) _go = _g

8、o0,_go7:1;else _go = _go;/*車輛倒車時,流水燈向下流水*/always(posedge sys_clk or negedge sys_rst_n)if(!sys_rst_n) _back = 8hfe;else if(cnt = CNT_NUM-1) _back = _back6:0,_back7;else _back = _back;/*車輛左轉(zhuǎn)、右轉(zhuǎn)、停止時,流水燈的狀態(tài)*/assign_left = 8hf0;assign_rignt = 8h0f;assign_stop = 8h00;/*將次態(tài)賦值給當前狀態(tài)*/always(posedge sys_clk o

9、r negedge sys_rst_n)if(!sys_rst_n) current_state = STOP;else current_state = next_state;/*車輛次態(tài)完全由人為通過撥碼開關(guān)控制*/always(*) next_state = state_in;/*車輛處于不同狀態(tài)時,尾燈及流水燈的輸出*/always(current_state or sys_rst_n)if(!sys_rst_n) beginled_left = tail_shin; led_right = tail_shin; led_out = _stop ;endelsecase(current_

10、state)STOP: begin led_left = tail_shin; led_right = tail_shin; led_out = _stop ; endGO: begin led_left = tail_off ; led_right = tail_off ; led_out = _go ; end LEFT: begin led_left = tail_shin; led_right = tail_off ; led_out = _left ; end RIGHT: begin led_left = tail_off ; led_right = tail_shin; led_

11、out = _rignt; endBACK: begin led_left = tail_on ; led_right = tail_on ; led_out = _back ; enddefault: begin led_left = tail_shin; led_right = tail_shin; led_out = _stop ; endendcaseendmodule. 仿真代碼timescale 1ns / 1psmodule tail_lamp_tb;parameter CNT_NUM = 10; /方便仿真,定義新的分頻系數(shù),例化時使用/*系統(tǒng)時鐘信號的產(chǎn)生*/reg sys_

12、clk;initialsys_clk = 1b0;alwayssys_clk = #10 sys_clk;/*系統(tǒng)復(fù)位信號的產(chǎn)生,低電平復(fù)位*/reg sys_rst_n;initial beginsys_rst_n = 1b0;#20;sys_rst_n = 1b1;end/*撥碼開關(guān)信號的產(chǎn)生*/reg 3:0 state_in;initial beginstate_in = 4b0000; / 停止 #20;state_in = 4b0001; / 前進 #20;state_in = 4b0010; / 左轉(zhuǎn) #20;state_in = 4b0100; / 右轉(zhuǎn) #20;state_in = 4b0000; / 停止 #20;state_in = 4b1000; / 倒車 #20;state_in = 4b0000; / 停止 #20;$stop; / 結(jié)束仿真 endwire 2:0led_left,led_right;wire 7:0led_out;/*例化設(shè)計文件*/tail_lamp #(.CNT_NUM(CNT_NUM)u1(.sys

溫馨提示

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

評論

0/150

提交評論