FPGA交通灯实验报告_fpga交通灯设计实验

其他范文 时间:2020-02-28 06:41:34 收藏本文下载本文
【www.daodoc.com - 其他范文】

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实验报告

FPGA实验报告专业:XXX 姓名:XXX 学号:XX一:实验目的 1.熟悉Modelsim和Quartus II软件的运行环境和使用2.熟练使用Quartus II仿真软件生成网表。3.熟悉FPGA前仿真和后仿真的整......

基于FPGA的智能交通灯

设计题目: 基于FPGA的交通灯控制系统设计 专 业: 学生姓名: 学 号: 起迄日期: 2014.8.22.--2014.9.22.指导教师: 教研室主任: 目录1.绪论......................................

基于FPGA的交通灯控制系统

基于FPGA的交通灯控制系统摘 要:针对现实中越来越严重的城市交通拥堵现象,提出了一种城市十字路口 交通信号灯控制与FPGA实现的新方法。利用超高速硬件描述语言VHDL设计十字路......

FPGA秒表实验报告

课程设计报告专业班级 课 程 题 目 秒表的设计 学 号 姓 名 同 组 人 成 绩2013年5月一、设计目的1.进一步熟悉七段码译码器的硬件接口。 2.掌握用扫描方法驱动多个数码管硬......

基于FPGA的交通灯控制电路的设计

编号:EDA技术 实训 (论文)说明书题 目: 交通灯控制电路的设计 院 (系): 信息与通信学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师: 2013年1 月10 日桂林电子科技大学实训说明......

下载FPGA交通灯实验报告word格式文档
下载FPGA交通灯实验报告.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文