要求实现一个交通红绿灯,具有红黄绿三个小指示灯和一个行人按钮,正常情况下,机动车道指示灯按照60时钟周期绿灯,5个时钟周期黄灯,10个时钟周期红灯循环。当行人按钮按下,如果剩余绿灯时间大于10个时钟,则缩短为10个时钟,小于10个时钟则保持不变。 注:机动车道的指示灯和人行道指示灯应该是配对的,当机动车道的灯为绿或者黄时,人行道的灯为红;当机动车道的灯为红时,人行道的灯为绿,为简便起见,只考虑机动车道的指示灯。 模块的信号接口图如下: 请使用VerilogHDL语言实现,并编写testbench验证功能。
输入描述:
clk:系统时钟信号rst_n:复位信号,低电平有效pass_request:行人按钮信号,当该信号为1,表示按钮按下,如果剩余绿灯时间大于10个时钟,则缩短为10个时钟,小于10个时钟则保持不变。
输出描述:
clock:交通灯倒计时读数red:该信号为1,表示红灯亮,为0表示红灯不亮yellow:该信号为1,表示黄灯亮,为0表示黄灯不亮green:该信号为1,表示黄灯亮,为0表示黄灯不亮
加载中...