名稱:DE0開發(fā)板的交通燈控制器紅綠燈verilog手動自動(代碼在文末付費下載)
軟件:QuartusII
語言:Verilog
代碼功能:
交通燈控制器,DE0開發(fā)板驗證
要求:分兩個方向(1、2),每個方向各有紅(R)、綠(G)、黃(Y)三個交通燈。
有自動,手動兩種控制方式。
演示視頻:
FPGA代碼Verilog/VHDL代碼資源下載網(wǎng):www.hdlcode.com
部分代碼展示
//紅綠燈控制模塊 module?led( input?clk_1Hz,//1Hz時鐘 input?K0,//按鍵 input?K1,//按鍵 input?K2,//按鍵 input?K3,//按鍵 //紅綠燈1 output?reg?R1, output?reg?G1, output?reg?Y1, //紅綠燈2 output?reg?R2, output?reg?G2, output?reg?Y2 ); //定義4個狀態(tài) parameter?S0=3'd0; parameter?S1=3'd1; parameter?S2=3'd2; parameter?S3=3'd3; reg?[2:0]?state=3'd0; reg?[7:0]?S0_time=8'd1; reg?[7:0]?S1_time=8'd1; reg?[7:0]?S2_time=8'd1; reg?[7:0]?S3_time=8'd1; //主路綠燈+主路黃燈=支路紅燈時間 //支路綠燈+支路黃燈=主路紅燈時間 always@(posedge?clk_1Hz?or?posedge?K0?or?posedge?K1?or?posedge?K2?or?posedge?K3) if(K0) state<=S0;//按鍵K0進(jìn)入S0 else?if(K1) state<=S1;//按鍵K1進(jìn)入S1 else?if(K2) state<=S2;//按鍵K2進(jìn)入S2 else?if(K3) state<=S3;//按鍵K3進(jìn)入S3 else case(state) S0: if(S0_time<8'd2)?begin//S0狀態(tài)2秒 state<=S0; S0_time<=S0_time+8'd1;//S0狀態(tài)計時 end else?begin state<=S1;//計數(shù)到后到下一狀態(tài) S0_time<='d1; end S1:??? ???if(S1_time<8'd1)?begin//S1狀態(tài)1秒 state<=S1; S1_time<=S1_time+'d1;//S1狀態(tài)計時 end else?begin state<=S2;//計數(shù)到后到下一狀態(tài) S1_time<='d1; end
設(shè)計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. Testbench
7. 仿真圖
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=226
閱讀全文