【作业要求】
1、请画出1s跑马灯的时序图?
2、请使用Verilog设计一个翻转灯:led隔1s翻转一次,led一开始亮两个灯,1s之后亮另外两个灯(写出详细的代码)?
【我的做法】
module led_2(
input wire sysclk,
input wire rst_n,
output reg [3:0]led
);
parameter T_deley = 26'd49_999_999; //1s计时器
reg [25:0]ns_num; //计数变量
reg en;
always@(posedge sysclk or negedge rst_n)begin
if(!rst_n)begin
ns_num <= 0;
en <= 0;
end
else
begin
if(ns_num < T_deley)begin
ns_num <= ns_num + 1;
en <= en;
end
else
ns_num <= 0;
en <= ~en;
end
end
always@(posedge sysclk or negedge rst_n)begin
if(!rst_n)
led <= 4'b0000;
else
begin
if(en == 0)
led <= 4'b1100;
else
led <= led>>2;
end
end
endmodule【结果/时序图/实验现象(可视频)】
评论 0