题目
描述 要求实现一个交通红绿灯,具有红黄绿三个小指示灯和一个行人按钮,正常情况下,机动车道指示灯按照60时钟周期绿灯,5个时钟周期黄灯,10个时钟周期红灯循环。当行人按钮按下,如果剩余绿灯时间大于10个时钟,则缩短为10个时钟,小于10个时钟则保持不变。 模块的信号接口图如下: 请使用VerilogHDL语言实现,并编写testbench验证功能。
设计
`timescale 1ns/1ns
module triffic_light
(
input rst_n, //异位复位信号,低电平有效
input clk, //时钟信号
input pass_request,
output reg [7:0]clock,
output reg red,
output reg yellow,
output reg green
);
parameter RED=0;
parameter GREEN=1;
parameter YELLOW=2;
reg [1:0] state,next_state;
//60 clk green
//5 clk yellow
//10 clk red
always@(posedge clk,negedge rst_n)
if(~rst_n)
state
关注
打赏