通過Verilog實現(xiàn)交通燈設計實驗報告_第1頁
通過Verilog實現(xiàn)交通燈設計實驗報告_第2頁
通過Verilog實現(xiàn)交通燈設計實驗報告_第3頁
通過Verilog實現(xiàn)交通燈設計實驗報告_第4頁
通過Verilog實現(xiàn)交通燈設計實驗報告_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、建筑電子科技大學實驗報生口一、實驗室名稱:虛擬儀器實驗室二、實驗項目名稱:交通燈設計實驗三、實驗學時:4學時四、實驗原理假設交通燈處于南北和東西兩條大街的“十”字路口,如圖 1所示。用FPGA開發(fā)板的LED燈來模擬紅、黃、綠3種顏色信號,并按一定順序、 時延來點亮LED,如圖2所示。圖3給出了交通燈的狀態(tài)轉(zhuǎn)移圖。設計使 用頻率為1Hz的時鐘來驅(qū)動電路(注1:仿真時采用1MHz的時鐘來驅(qū)動 電路),則停留1個時鐘可得到1S的延時,類似停留3個時鐘可得到3s的 延時,停留15個時鐘可得到15S的延時(注2:開發(fā)板工作時鐘為50MHz)。圖1.六個彩色led可以表示一組交通信號燈狀態(tài)機的狀態(tài)南北大街

2、東四大街開發(fā)板延時(單位:s)仿真延時(單位:us)S0紅綠1515S1紅黃33S2紅紅33S3綠紅1515S4r黃紅33S5紅紅33圖2.交通燈狀態(tài)南北東西紅黃綠紅黃綠S0100001S1100010S2100100S3001100S4010100S5100100頂層模塊時鐘分頻模塊狀態(tài)機跳轉(zhuǎn)模塊圖4.交通燈的原理框圖五、實驗目的本實驗是有限狀態(tài)機的典型綜合實驗,掌握如何使用狀態(tài)轉(zhuǎn)移圖來定義 Mealy狀態(tài)機和Moore狀態(tài)機,熟悉利用HDL代碼輸入方式進行電路的設 計和仿真的流程,掌握 Verilog語言的基本語法。并通過一個交通燈的設計 掌握利用EDA軟件(Xilinx ISE 13.2

3、)進行HDL代碼輸入方式的電子線 路設計與仿真的詳細流程。六、實驗內(nèi)容在Xilinx ISE 13.2上完成交通燈設計,輸入設計文件,生成二進制碼流文件 下載到FPGA開發(fā)板上進行驗證。七、實驗器材(設備、元器件)1、計算機(安裝Xilinx ISE 13.2軟件平臺);2、BASYS2 FPGA 開發(fā)板一套(帶 USB-MIniUSB 下載線)八、實驗步驟(1) 新建工程,設置器件屬性:在Xilinx ISE 13.2平臺中,新建一個工程 (注意命名規(guī)范),輸入工程名稱以及工程所在的目錄,設置芯片的具 體型號(Spartan 3E XC3S100E)、封裝類型(CP132)以及編碼使用的 語

4、言(Verilog)。(詳見實驗指導書)(2) Verilog源碼文件創(chuàng)建與編輯:選中器件名字,點擊鼠標右鍵,選中 New Source,選擇Verilog Module以及輸入文件名稱(詳見實驗指導(3) 語法檢查,對設計文件進行綜合:代碼編寫完成后,在 ISE的主界 面的處理子窗口的synthesis的工具檢查代碼語法(Check SyntaX),同時 在此窗口可以查看 RTL原理圖(View RTL schematic)、查看技術原理圖(View Technology Schematic)以及產(chǎn)生綜合后仿真模型( Generate Post-Synthesis Simulation Mo

5、del)。(4) 對設計進行行為仿真:1)產(chǎn)生測試文件模板;2)完成測試腳本創(chuàng) 建與編輯;3)調(diào)出仿真窗口對設計進行仿真;4)通過波形查看仿真結(jié) 果。(詳見實驗指導書)(5) 添加實現(xiàn)約束文件。(詳見實驗指導書)(6) UCF文件導入。(詳見實驗指導書)(7) FPGA在線下載配置:1)連接開發(fā)板并給開發(fā)板供電;2)邊界掃描, 初始化鏈;3)下載比特流文件;4)對FPGA進行編程;5)生成PROM 文件;6)將生成的PROM文件燒到PROM芯片中。(詳見實驗指導書)(8) 關閉配置界面,不保存任何信息。(一定不要保存任何信息)(9) 關閉電源重新上電,程序從 PROM自動引導到FPGA芯片中。

6、(10) 給開發(fā)板斷電,清理器件,實驗結(jié)束。九、實驗數(shù)據(jù)及結(jié)果分析9.1 狀態(tài)機轉(zhuǎn)移代碼module traffic(input clk,input rst,output reg5:0 lights); reg2:0 state;reg3:0 count;parameter S0=3'b000,S1=3'b001,S2=3'b010,S3=3'b011,S4=3'b100,S5=3'b101;always(posedge clk or posedge rst)begin if(rst)beginstate<=S0;count<=0;e

7、ndelse begincase(state)S0:if(count<15)beginstate<=S0;count<=count+1;endelse beginstate<=S1;count<=0;endS1:if(count<3)beginstate<=S1;count<=count+1;endelse beginstate<=S2;count<=0;endS2:if(count<3)beginstate<=S2;count<=count+1;endelse begin state<=S3; count&l

8、t;=0;endS3:if(count<15)begin state<=S3; count<=count+1;endelse begin state<=S4; count<=0;endS4:if(count<3)begin state<=S4; count<=count+1;endelse begin state<=S5; count<=0;endS5:if(count<3)begin state<=S5; count<=count+1;endelse begin state<=S0; count<=0;

9、enddefault state<=S0; endcaseendendalways(*)begincase(state)S0:lights=6'b100_001;S1:lights=6'b100_010;S2:lights=6'b100_100;S3:lights=6'b001_100;S4:lights=6'b010_100;S5:lights=6'b100_100;default lights=6'b100_001;endcaseendEndmodule9.2 時鐘分頻代碼module clk_div(input clk,inp

10、ut rst,output reg clk_1hz );parameter CNT_WIDTH=5;regCNT_WIDTH-1:0 cnt;always(posedge clk or posedge rst)beginif(rst)begincnt<=0;endelse begincnt<=cnt+1;endendalways(posedge clk or posedge rst)if(rst)clk_1hz<=0;else if(cnt=25)begin clk_1hz<=clk_1hz; cnt<=0;endEndmodule9.3 頂層代碼module t

11、op(input mclk,input wire3:3 btn, output wire7:2 Led);wire clk_1hz;wire rst;assign rst=btn3;clk_div clk_div_inst( .clk(mclk), .rst(rst), .clk_1hz(clk_1hz) );traffic traffic_inst( .clk(clk_1hz), .rst(rst), .lights(Led) );endmodule9.4 測試代碼module text;/ Inputs reg mclk;reg 3:3 btn;/ Outputs wire 7:2 Led

12、;/Instantiate the Unit Under Test (UUT)top uut (.mclk(mclk),.btn(btn), .Led(Led);initial begin/ Initialize Inputsmclk = 0;btn = 1;/ Wait 100 ns for global reset to finish#100;btn = 0;/ Add stimulus hereendparameter PERIOD =20;always begin#(PERIOD/2) mclk =0;#(PERIOD/2) mclk =1;endEndmodule9.5 仿真波形代碼(對波形進行相關的文字說明,所截取的波形要覆蓋所有 狀態(tài)轉(zhuǎn)移)由圖中可以看出,lights顯示100001 (S0),經(jīng)過15us后變?yōu)?00010 (S1), 接著 3us 變?yōu)?100100( S2),再 3us 變?yōu)?001100( S3),然后 15us 變?yōu)?010100(S4),

溫馨提示

  • 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

提交評論