FPGA交通灯实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“fpga交通灯设计实验”。
交通灯实验报告
一,实验目的实现两路信号灯交替亮起,并利用两组数码管分别对两路信号进行倒计时。
两路信号时间分别为:
V:绿灯(30S)
H:红灯(35S)
黄灯(5s)
绿灯(30S)
红灯(35S)
黄灯(5S)
二,实验步骤 建立工程
可在欢迎界面点击“Creat a New Project”进入工程建立界面,亦可关闭欢迎界面,点击菜单栏的“File”,点击“New Project Wizard”进入建立工程界面。右侧为建立工程界面,点击next。
在此界面选定工程路径,取好工程名,点击“Next”。注意:路径中不能有中文,工程名也不能有中文。
一直点击“Next”进入器件设置界面,DE2-70开发工具采用的Cyclone II系列的EP2C70F896C6N。点击“Finish”,完成工程建立
1、点击“File”,点击“New” 选择“Verilog HDL” 2,点击主界面工具栏中的 选择“Verilog HDL”
3、写入verilog代码。
代码如下:
module traffic(Clk_50M,Rst,LedR_H,LedG_H,LedY_H,LedR_V,LedG_V,LedY_V,Seg7_VH,Seg7_VL,Seg7_HH,Seg7_HL,led15);
parameter S1=2'b00;parameter S2=2'b01;parameter S3=2'b10;parameter S4=2'b11;
input Clk_50M,Rst;output LedR_H,LedG_H,LedY_H,LedR_V,LedG_V,LedY_V;output[6:0] Seg7_VH,Seg7_VL,Seg7_HH,Seg7_HL;output led15;
//-------------div for 1Hz-------start----reg Clk_1Hz;reg [31:0] Cnt_1Hz;always@(posedge Clk_50M or negedge Rst)begin
if(!Rst)
begin
Cnt_1Hz
Clk_1Hz
end
else
begin
if(Cnt_1Hz>=25000000)
end
//-----------div for 1Hz------end-----reg[7:0] Cnt30,CntH,CntV,CntHH,CntVV;reg[7:0] CntDis,CntDi;//-----------30 counter and seg7---start---reg LedR_H,LedG_H,LedY_H,LedR_V,LedG_V,LedY_V;always@(posedge Clk_1Hz)begin
end
begin
Cnt_1Hz
Clk_1Hz
end
else
Cnt_1Hz
case(state)
S1:
end
always@(posedge Clk_1Hz)begin
case(stateV)
S1:
begin
if(CntV>=30)
CntV
begin
if(Cnt30>=30)
Cnt30
else
Cnt30
begin
if(Cnt30>=5)
Cnt30
else
Cnt30
begin
if(Cnt30>=30)
Cnt30
else
Cnt30
begin
if(Cnt30>=5)
Cnt30
else
Cnt30
else
CntV
S2: begin
end
end if(CntV>=5)
CntV
else
CntV
S3:
begin
if(CntV>=35)
CntV
else
CntV
case(stateH)
S1:
end
always@(negedge Clk_50M or negedge Rst)begin
begin
if(CntH>=35)
CntH
else
CntH
S2:
begin
if(CntH>=30)
CntH
else
CntH
S3:
begin
if(CntH>=5)
CntH
else
CntH
case(state)
S1:
end always@(negedge Clk_50M or negedge Rst)begin
case(state)
S1:
end
//16进制计数器转换为用于显示的10进制计数器 always@(posedge Clk_50M)begin
if(CntVV>29)
begin
CntDis[7:4]
CntDis[3:0]9)begin
CntDis[7:4]
CntDis[3:0]19)begin
CntDi[7:4]
CntDi[3:0]
CntDi
end
if(Cnt30>=5)
end
end S3:
begin
state
end S4:
begin
state
end default:
begin
state
end endcase
if(Cnt30>=30)
if(Cnt30>=5)always@(posedge Clk_1Hz)begin
case(state)
S1:
end
always@(posedge Clk_50M or negedge Rst)
begin
stateH
stateV
end S2:
begin
stateH
stateV
end S3:
begin
stateH
stateV
end S4:
begin
stateH
stateV
end endcase begin
if(!Rst)
begin
LedR_H
else
LedG_H
LedR_V
LedG_V
begin
case(state)
S1:
begin
LedR_H
S2:
begin
LedR_H
S3:
begin
LedR_H
S4:
begin LedR_H
end
LedY_H
default:
begin
end LedR_H
endcase aign led15=state;
endmodule
module SEG7_LUT input [3:0] iDIG;output reg
always @(iDIG)begin
case(iDIG)4'h1: oSEG = 7'b1111001;
//---t----4'h2: oSEG = 7'b0100100;// |
| 4'h3: oSEG = 7'b0110000;// lt rt
4'h4: oSEG = 7'b0011001;// |
| 4'h5: oSEG = 7'b0010010;//---m----4'h6: oSEG = 7'b0000010;// |
| 4'h7: oSEG = 7'b1111000;// lb rb 4'h8: oSEG = 7'b0000000;// |
| 4'h9: oSEG = 7'b0011000;//---b----4'ha: oSEG = 7'b0001000;4'hb: oSEG = 7'b0000011;4'hc: oSEG = 7'b1000110;4'hd: oSEG = 7'b0100001;4'he: oSEG = 7'b0000110;[6:0] oSEG;[6:0] oSEG;(oSEG,iDIG);
end
4'hf: oSEG = 7'b0001110;4'h0: oSEG = 7'b1000000;endcase endmodule 编译工程
保存文件,将文件放在所建工程所在路径下 点击主界面工具栏中的图标
也可点击菜单栏中“Proceing”,点击“Start Compilation”
分配关键如下:
Clk_50M Input PIN_AD15 LedG_H Output PIN_AD9 LedG_V Output PIN_AJ6 LedR_H Output PIN_AJ7)LedR_V Output PIN_AJ5)LedY_H Output PIN_AD8 LedY_V Output PIN_AK5 Rst Input PIN_AA23 Seg7_HH[6] Output PIN_G1 Seg7_HH[5] Output PIN_H3 Seg7_HH[4] Output PIN_H2 Seg7_HH[3] Output PIN_H1 Seg7_HH[2] Output PIN_J2 Seg7_HH[1] Output PIN_J1 Seg7_HH[0] Output PIN_K3
Seg7_HL[6] Seg7_HL[5] Seg7_HL[4] Seg7_HL[3] Seg7_HL[2] Seg7_HL[1] Seg7_HL[0] Seg7_VH[6] Seg7_VH[5] Seg7_VH[4] Seg7_VH[3] Seg7_VH[2] Seg7_VH[1] Seg7_VH[0] Seg7_VL[6] Seg7_VL[5] Seg7_VL[4] Seg7_VL[3] Seg7_VL[2] Seg7_VL[1] Seg7_VL[0] Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output PIN_E4 PIN_F4 PIN_G4 PIN_H8 PIN_H7 PIN_H4 PIN_H6 PIN_AD17 PIN_AF17 7 PIN_AE17 7 PIN_AG16 PIN_AF16 7 PIN_AE16 7 PIN_AG13 PIN_AD12 PIN_AD11 PIN_AF10 8 PIN_AD10 PIN_AH9 8 PIN_AF9 8 PIN_AE8 8
烧写代码
在管脚配置完成后,还需将工程再编译一次,成功后,点击主界面工具栏中的亦可点击主界面菜单栏中“Tools”,点击“Programmer”
进入代码烧写界面后,点击“Start”,当“Progre”为100%时,表示烧写完成,这是可观察DE2-70板现象
获得预期的效果,两组的信号红黄绿灯交替切换,计数器记为零时信号灯切换状态,红灯35s,黄灯5s,绿灯30s。三,心得体会
通过本次实验初步了解了EDA技术,熟悉了FPGA开发板的开发流程,锻炼了动手能力。
FPGA实验报告专业:XXX 姓名:XXX 学号:XX一:实验目的 1.熟悉Modelsim和Quartus II软件的运行环境和使用2.熟练使用Quartus II仿真软件生成网表。3.熟悉FPGA前仿真和后仿真的整......
设计题目: 基于FPGA的交通灯控制系统设计 专 业: 学生姓名: 学 号: 起迄日期: 2014.8.22.--2014.9.22.指导教师: 教研室主任: 目录1.绪论......................................
基于FPGA的交通灯控制系统摘 要:针对现实中越来越严重的城市交通拥堵现象,提出了一种城市十字路口 交通信号灯控制与FPGA实现的新方法。利用超高速硬件描述语言VHDL设计十字路......
课程设计报告专业班级 课 程 题 目 秒表的设计 学 号 姓 名 同 组 人 成 绩2013年5月一、设计目的1.进一步熟悉七段码译码器的硬件接口。 2.掌握用扫描方法驱动多个数码管硬......
编号:EDA技术 实训 (论文)说明书题 目: 交通灯控制电路的设计 院 (系): 信息与通信学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师: 2013年1 月10 日桂林电子科技大学实训说明......