从仿真波形中可以看出:当复位信号rst=1有效时,电路复位,此时light复位为“001100”状态,置a方向和b方向计数器为最大值24和29;当rst=0无效,紧急信号hold=1有效时,light为“100100”表示两路红灯均亮的状态;当rst=0,hold=0时,恢复电路原来的light为“001100”状态,a和b进行倒计时计数。7段显示译码器a方向的dec7sa和b方向的dec7sb分别显示计数器a和b的数值,如当a计数到21时,dec7sa的高位2和低位1的0gFEDcba=01011011B(5B)和00000110 B(06),即5806,同理当b计数到26时,dec7sb的值为5B7D,所以交通灯控制系统的仿真结果完全正确。
最后将顶层文件下载到可编程逻辑器件EP1C12Q240C8中,经测试,交通灯控制系统正常工作,完全符合设计要求。
4 结束语
有限状态机及其设计技术是数字系统中实现高效率、高可靠性逻辑控制的重要途径。在交通灯控制系统设计中,通过对控制功能的分析和实际状态的选择,把交通灯的控制归纳为4种工作状态,并建立状态转移关系,较为准确、直观的反映了实际需求。在用VHDL语言设计实现交通灯控制系统时,既有传统的基于逻辑单元构建的整体组成结构方式,也有利用纯软件编程实现的逻辑模块。设计方法灵活、实现简单、性能稳定的特点。
以上有限状态机的设计方法具有通用性,对于较为复杂的有限状态机可采用多个进程,分别完成任意复杂组合逻辑和时序逻辑,包括进程间状态值的传递以及状态转换值的输出,对类似含有逻辑控制功能的系统,通过自顶向下设计、分步实现,是切实可行的方法。