亮;st3表示主干道红灯亮、支道黄灯亮;根据上述四种状态描述列出的状态转换如下表所示:当前状态下一状态转换条件st0st1主干道绿灯亮了30秒st1st2主干道黄灯亮了5秒st2st3支道绿灯亮了20秒st3st0支道黄灯亮了5秒st0orst1orst2orst3st0复位信号使能根据状态转换表得到交通灯控制器的状态转换图如下图所示:
6
f广西科技大学(筹)课程设计
基于VHDL的交通灯控制器设计
st0
支道黄灯亮了5秒主干道绿灯亮了30秒
st3
复位信号使能
复位信号使能复位信号使能
st1
支道绿灯亮了20秒
主干道黄灯亮了5秒
st2
五、交通灯控制器的VHDL设计
(一)交通灯控制器主要模块设计根据交通灯控制器状态转的分析,利用VHDL有限状态机可以实现交通灯控制器主要模块的设计(详细程序见附录)。利用QuartusII软件将程序编译例化后可得到的控制器模块如下图所示:
图中,为时钟信号,clk时钟上升沿有效。为复位信号,rst高电平有效。lgt1_red、
7
f广西科技大学(筹)课程设计
基于VHDL的交通灯控制器设计
lgt1_yellow、lgt1_gree
分别为主干道的红灯、黄灯、绿灯显示信号,高电平有效。lgt2_red、lgt2_yellow、lgt2_gree
分别表示支道的红灯、黄灯、绿灯显示信号,高电平有效。(二)顶层文件原理图
8
f广西科技大学(筹)课程设计
基于VHDL的交通灯控制器设计
(三)交通灯控制器的仿真波形图
从波形仿真图可以看出,设计的程序大体上可以满足交通灯控制器主干道和支道控制红绿灯的基本功能要求。复位功能仿真图如下:
从上图可以看出,波形仿真和状态机转移图相符合,在复位信号rst为高电平时会复位控制器,这个时候状态机进入st0状态。
9
f广西科技大学(筹)课程设计
基于VHDL的交通灯控制器设计
六、总结
在本次的课程设计中用到了VHDL语言,虽然已经学过EDA这门课程,但是很长一段时间没有接触到过了,已经忘记了不少,通过这次的设计又重新复习了一遍,又学到了不少东西,加深了解了VHDL硬件描述语言,也在原来所学的理论基础上得到了进一步地认识。但由于经验和知识上的不足,本次的课程设计并没有能完全达到预期的目标,这也是我今后需要不断学习的地方。数字化时代的到来给人们的生活水平带来了极大的改变,我们有理由相信,随着数字化的深入,交通灯控制器的功能将日趋完善。而且,VHDL语言对EDA技术产生的影响也是深远的,它缩短了电子产品的设计周期,为设计者提供了方便。在今后的电子产品研究开发过程中,技术将会具有更好的开发手段和更r