input wire clk //1khz
output reg sig
reg [x:x] cnt1
always@(posedge clk or reset)
begin
if(reset = 0)
cnt1 <= 'b0;
else if( cnt1 == 44) (0到29出现一次,后面30到44循环计数
cnt1 <= 30;
else
cnt1 <= cnt1 + 1;
end
always@(posedge clk or reset)
begin
if(reset = 0)
sig <= 0;
else if( cnt1 < 30) (0到29高电平
sig <= 1;
else if( cnt1 < 35 ) 30到34低电平
sig <= 0;
else if( cnt1 < 45 ) 35到44 高电平
sig <= 1;
end
计数调试一下
input wire clk //1khz
output reg sig
reg [x:x] cnt1
always@(posedge clk or reset)
begin
if(reset = 0)
cnt1 <= 'b0;
else if( cnt1 == 44) (0到29出现一次,后面30到44循环计数
cnt1 <= 30;
else
cnt1 <= cnt1 + 1;
end
always@(posedge clk or reset)
begin
if(reset = 0)
sig <= 0;
else if( cnt1 < 30) (0到29高电平
sig <= 1;
else if( cnt1 < 35 ) 30到34低电平
sig <= 0;
else if( cnt1 < 45 ) 35到44 高电平
sig <= 1;
end
计数调试一下
举报