实验报告。课程名称eda(交通灯的设计。
学生姓名魏巍。
学号8000612064
专业班级计软121班。
南昌大学实验报告。
学生姓名: 魏巍学号: 8000612064 专业班级: 计软121
实验类型:□ 验证 □ 综合 设计 □ 创新实验日期: 2015.05.20 实验成绩:
一、 项目名称。
十字路**通灯管理系统。
二、 实验目的。
1. 熟悉verilog语言的程序的设计。
2. 熟悉quatus ii软件的使用。
3. 熟练掌握**对硬件的烧写。
4. 使用verilog语言设计具有创新的硬件电路。
三、 实验要求。
一条主干道,一条乡间公路。组成十字路口,要求优先保证主干道通行。
设计要求:1. 有mr(主红)、my(主黄)、mg(主绿)、cr(乡红)、cy(乡黄)、cg(乡绿)六盏交通灯需要控制;
2. 交通灯由绿→红有4秒黄灯亮的间隔时间,由红→绿没有间隔时间;
3. 系统有mrcy、mrcg、mycr、mgcr四个状态;
4. 乡间公路右侧各埋有一个传感器,当有车辆通过乡间公路时,发出请求信号s=1,其余时间s=0;
5. 平时系统停留在mgcr(主干道通行)状态,一旦s信号有效,经mycr(黄灯状态)转入mrcg(乡间公路通行)状态,但要保证mgcr的状态不得短于一分钟;
6. 一旦s信号无效,系统脱离mrcg状态。随即经mrcy(黄灯状态)进入mgcr状态,即使s信号一直有效,mrcg状态也不得长于20秒钟。
四、 实验原理。
1. 原理分析。
系统设置一个两位bcd码倒计时计数器(计数脉冲1hz),用于记录各状态持续时间;
因为各状态持续时间不一致,所以上述计数器应置入不同的预置数;
倒计时计数值输出至二个数码管显示;
程序共设置4个过程p1、p2、p3、p4:
过程p1、p2和p3构成两个带有预置数功能的十进制计数器,其中p1和p3分别为个位和十位计数器,p2产生个位向十位的进位信号;
过程p4是状态寄存器,控制状态的转换,并输出6盏交通灯的控制信号。
2. 用rerilog语言编写程序原理框图。
输出sc = mr my mg cr cy cg 初值sc=001100
状态state: mgcr → mycr → mrcg → mrcy
五、 实验步骤。
启动quartusii建立一个空白工程,然后命名为。
新建veriloghdl源程序文件输入程序**并保存(完整的veriloghdl程序参考程序清单3.17),对各个hdl文件进行综合编译,若在编译过程中发现错误,则找出并更改错误,直至编译成功为止。
选择目标器件并对相应的引脚进行锁定,在这里所选择的器件为altera公司cycloneii系列的ep2c35f672c8芯片,引脚锁定方法如表3.16所列。将未使用的引脚设置为三态输入(一定要设置,否则可能会损坏芯片)。
设置方法见3.1节。lampa,lampb表3.
16引脚锁定方法。
设置为顶层文件,对该工程文件进行全程编译处理,若在编译处理过程中发现错误,则找出更正错误,直至编译成功为止。
把程序**到fpga器件中。按一下复位键sys-rst,然后观察交通灯及数码管的显示状态。
六、 实验数据及结果处理。
实验**:module test(clb,qh,ql,ledh,ledl,sc,s,clk,clr);
output [3:0]qh,ql;
output [7:0]ledh,ledl;
output [5:0]sc;
output clb;
input s,clk,clr;
reg [3:0]qh,ql;
reg [7:0]ledh,ledl;
reg [5:0]sc;
reg [31:0]i;
reg flag,flag2;
reg clb;
initial
beginqh = 4'b0110;
ql = 4'b0000;
sc = 6'b110011;
flag = 0;
flag2 = 0;
endalways @(posedge clk )
beginif(i==50000000)
begini <=0;
clb<=0;
endelse
begini=i+1;
clb<=1;
endend
always @(posedge clb or posedge clr)
beginif(clr)
beginqh = 4'b0110;
ql = 4'b0000;
sc = 6'b110011;
flag = 0;
flag2=0;
endelse
beginif((qh==0)&(ql==0))
beginif(sc==6'b110011)
beginsc<=6'b110011;
qh[3:0]<=6;
ql[3:0]<=0;
flag2 <=1;
endelse if(sc==6'b101011)
beginsc<=6'b011110;
qh[3:0]<=2;
ql[3:0]<=0;
flag <=1;
endelse if(sc==6'b011110)
beginsc<=6'b011101;
qh[3:0]<=0;
ql[3:0]<=4;
flag <=0;
endelse if(sc==6'b011101)
beginsc<=6'b110011;
qh[3:0]<=6;
ql[3:0]<=0;
endend
else if(ql[3:0]==0)
beginqh[3:0]<=qh[3:0]-1;
ql[3:0]<=9;
endelse
beginqh[3:0]<=qh[3:0];
ql[3:0]<=ql[3:0]-1;
end if(!s)
if(flag ==1)
beginsc<=6'b011101;
qh[3:0]<=0;
ql[3:0]<=4;
flag<=0;
endif(s)
beginif(flag2==1)
beginif(sc==6'b110011)
beginsc<=6'b101011;
qh[3:0]<=0;
ql[3:0]<=4;
flag2 <=0;
endend
endend
endalways @(ql)
begincase(ql)
0:ledl<='b1000000;
1:ledl<='b1111001;
2:ledl<='b0100100;
3:ledl<='b0110000;
4:ledl<='b0011001;
5:ledl<='b0010010;
6:ledl<='b0000010;
7:ledl<='b1111000;
8:ledl<='b0000000;
9:ledl<='b0010000;
10:ledl<='b0001000;
11:ledl<='b1111100;
12:ledl<='b0111001;
13:ledl<='b1011110;
14:ledl<='b1111001;
15:ledl<='b1110001;
endcase
end always @(qh)
begincase(qh)
0:ledh<='b1000000;
1:ledh<='b1111001;
2:ledh<='b0100100;
3:ledh<='b0110000;
4:ledh<='b0011001;
5:ledh<='b0010010;
6:ledh<='b0000010;
7:ledh<='b1111000;
8:ledh<='b0000000;
9:ledh<='b0010000;
10:ledh<='b0001000;
11:ledh<='b1111100;
12:ledh<='b0111001;
13:ledh<='b1011110;
14:ledh<='b1111001;
15:ledh<='b1110001;
endcase
end endmodule
**波形图:
1. 正常通行的情况下是主干道通行,乡村通道不通行的。
2. sc表示6盏灯,3盏灯是主干道的,3盏是乡村通道的,led=110011,这表示乡村是红灯,而主干道是绿灯(注意:这里要跟烧写的eda的开发板有关,我这用的开发板是低电位表示灯),qh、ql表示2个数码管的显示,这是共阳极的下s信号(乡村公路有车辆要通行了信号),并且主干道已经行走了60秒了,则led将由110011变成101011,表示主干道是黄灯,乡村道路是红灯,这个状态要维持5秒钟。
3. 接下来的状态时主干道是红灯,乡村道路是绿灯,从图可以看得led灯的变换,这个状态要维持20秒钟的时间。
4. 后5秒是主干道是红灯,乡村道路是黄灯(道路行走的切换)。
5. 接下来同样主干道通行,乡村道路红灯,交通灯的变换的正常的情况了。
开发板上运行截图:
七、 思考讨论题或体会或对改进实验的建议。
无。八、 参考资料。
cpld/fpga与asic设计实践教程》
EDA交通灯设计作业
信息工程专业2009级。可编程逻辑器件及应用 课程设计实践报告。设计题目 交通灯控制器的设计。专业班级 信息工程。学号 姓名 完成时间 可编程逻辑器件及应用 课程设计实践报告。1.设计题目。交通灯控制器的设计。2.设计要求。设计制作一个用于十字路口的交通灯控制器。1 南北和东西方向各有一组红 黄 绿...
EDA课程设计 交通灯
交通信号灯控制电路设计。1 概述。城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。目前,大部分无控制交叉口都存在高峰小时车流混乱 车速缓慢 延误情况严重 事故多发 通行能力和服务水平低下等问题。特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。因此,做好基于eda...
EDA交通灯课程设计
学院 电气与信息工程学院。1.东西各设有一个绿 黄 红指示灯 一个2位7段数码管。1 南北和东西方向各有一组绿,黄,红灯,各自的持续时间分别为20s,5s,25s 2 当有特殊情况时,两个方向均为红灯,计时暂停,当特殊情况结束后,控制器恢复原来状态,继续正常工作。3 用两组数码管,以倒计时方式显示两...