请采用Verilog的有限状态机来设计一个交通灯控制器Controller,要求实现以下控制功能:
按下复位键RST时,学术路上的绿灯亮,文化路上红灯亮。
每隔5秒钟,控制器检查学术路传感器的输出。
若学术路上有人,灯不改变;若学术路上没人,则此路变为黄灯亮并保持5秒钟,然后变成红灯亮,同时文化路上变为绿灯亮。
此状态下,每隔5秒钟,控制器检查文化路上是否有人。若有人,保持绿灯亮;若没人,则此路变为黄灯亮并保持5秒钟,然后变成红灯亮,同时学术路上变为绿灯亮。
状态机采用周期为5秒的时钟信号。
代码分为两部分按照给定的RTL图设计
一部分为控制跳变,一部分为计时模块,主函数包括U1,U2两部分
红绿灯:
module Timer(CLK,RST,clk);
input CLK,RST;
output clk;
reg clk;
reg[27:0] count;
always @(posedge CLK or negedge RST)
begin
if(!RST)
begin
count&l