EDA语句解释(交通灯黄灯模块,求全注释,谢谢)
答案:1 悬赏:80 手机版
解决时间 2021-12-01 09:38
- 提问者网友:动次大次蹦擦擦
- 2021-11-30 17:43
EDA语句解释(交通灯黄灯模块,求全注释,谢谢)
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-11-30 18:47
module ylight(flag,clk,clrn,q1,q2,LED_h);
input[7:0] q1,q2; //输入信号
input clk,clrn; //输入信号
input [1:0] flag; //输入信号
output reg[3:0] LED_h; //输出信号
always @(posedge clk or negedge clrn) //此进程在clk上升沿或clrn下降沿被触发
begin
if(~clrn) //若clrn=‘0’,则将LED_h清零,将黄灯关闭
LED_h='b0000;
else
begin
if(flag==0)//用flag来标记黄灯处于那种工作方式(具体要结合整体电路来看,可能是
//红灯亮或者绿灯亮,此处假设flag为零代表红灯亮的情况)
begin
if(q1=='h03&&q2=='h03) //若q1=3并且q2=3,LED_h='b1010,打开黄灯
LED_h='b1010;
if(q1=='h02&&q2=='h02) //若q1=2并且q2=2,LED_h='b0000,关闭黄灯,
LED_h='b0000; //实现闪烁功能
if(q1=='h01&&q2=='h01) //打开黄灯
LED_h='b1010;
if(q1=='h00&&q2=='h00) //关闭黄灯,最后三秒钟实现让黄灯闪烁
LED_h='b0000;
end
if(flag==1) //假设为绿灯亮的情况
begin
if(q1=='h03&&q2=='h03) //若q1=3并且q2=3,LED_h='b0101,打开黄灯
LED_h='b0101;
if(q1=='h02&&q2=='h02) //若q1=2并且q2=2,LED_h='b0000,关闭黄灯,
LED_h='b0000;
if(q1=='h01&&q2=='h01) //打开黄灯
LED_h='b0101;
if(q1=='h00&&q2=='h00) //关闭黄灯,最后三秒钟实现让黄灯闪烁LED_h='b0000;
end
end
end
endmodule
input[7:0] q1,q2; //输入信号
input clk,clrn; //输入信号
input [1:0] flag; //输入信号
output reg[3:0] LED_h; //输出信号
always @(posedge clk or negedge clrn) //此进程在clk上升沿或clrn下降沿被触发
begin
if(~clrn) //若clrn=‘0’,则将LED_h清零,将黄灯关闭
LED_h='b0000;
else
begin
if(flag==0)//用flag来标记黄灯处于那种工作方式(具体要结合整体电路来看,可能是
//红灯亮或者绿灯亮,此处假设flag为零代表红灯亮的情况)
begin
if(q1=='h03&&q2=='h03) //若q1=3并且q2=3,LED_h='b1010,打开黄灯
LED_h='b1010;
if(q1=='h02&&q2=='h02) //若q1=2并且q2=2,LED_h='b0000,关闭黄灯,
LED_h='b0000; //实现闪烁功能
if(q1=='h01&&q2=='h01) //打开黄灯
LED_h='b1010;
if(q1=='h00&&q2=='h00) //关闭黄灯,最后三秒钟实现让黄灯闪烁
LED_h='b0000;
end
if(flag==1) //假设为绿灯亮的情况
begin
if(q1=='h03&&q2=='h03) //若q1=3并且q2=3,LED_h='b0101,打开黄灯
LED_h='b0101;
if(q1=='h02&&q2=='h02) //若q1=2并且q2=2,LED_h='b0000,关闭黄灯,
LED_h='b0000;
if(q1=='h01&&q2=='h01) //打开黄灯
LED_h='b0101;
if(q1=='h00&&q2=='h00) //关闭黄灯,最后三秒钟实现让黄灯闪烁LED_h='b0000;
end
end
end
endmodule
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯