1. 时序逻辑电路代码和仿真
1.1 秒计数器
代码:
//秒计数器
module s_counter( clk , res , s_num);
input clk;
input res;
output[3:0] s_num;
parameter frequncy_clk=24;//24;
reg[24:0] con_t;//秒脉冲分频计数器
reg s_pulse;//秒脉冲尖
reg[3:0] s_num;//想在awalys里面赋值必须是定义reg
always@(posedge clk or negedge res)
if(~res) begin
con_t<=0;s_pulse<=0;s_num<=0;
end
else begin
//if(con_t==frequncy_clk*1000000-1) begin//24M时钟频率
if(con_t==frequncy_clk*1000-1) begin//24k时钟频率
con_t<=0;
end
else begin
con_t<=con_t+1;
end
if(con_t==0) begin
s_pulse<=1;
end
else begin
s_pulse<=0;
end
if(s_pulse) begin
if(s_num==9) begin
s_num<=0;
end
else begin
s_num<=s_num+1;
end
end
end
endmodule