|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
能否抽点时间帮我看一下。
原始代码:
module COUNTER(
Rst,
Clk_ro,
Clk_std,
Cnt_numb);
input Rst;
input Clk_ro;
input Clk_std;
output [7:0]Cnt_numb;
reg Flag_ro;
wire Flag_std;
reg bdat1;
reg bdat2;
reg [7:0]Ro_numb;
reg [7:0]Cnt_numb;
always@(negedge Rst or posedge Clk_ro)
begin
if(!Rst)
begin
Ro_numb <= 8'h00;
Flag_ro<=0;
end
else
if(Ro_numb==8'h77)
Flag_ro<=1;
else
Ro_numb <= Ro_numb+1;
end
always@(negedge Rst or posedge Clk_std)
begin
if(!Rst)
{bdat2,bdat1}<=2'b00;
else
{bdat2,bdat1}<={bdat1,Flag_ro};
end
assign Flag_std=bdat2;
always@(negedge Rst or posedge Clk_std)
begin
if(!Rst)
Cnt_numb<=8'h00;
else
if(Flag_std==0)
Cnt_numb<=Cnt_numb+1;
else ;
end
endmodule
测试文件:
initial
begin
Rst=0;
Clk_ro=0;
Clk_std=0;
#20 Rst=1;
#2000 Rst=0;
#20 Rst=1;
#2000 Rst=0;
#20 Rst=1;
#2000 Rst=0;
#20 Rst=1;
end
always #5 Clk_std=~Clk_std;
always #20 Clk_ro=~Clk_ro;
initial
begin
#10000;
$stop;
end |
|