用Vorilog HDL语言编写百位可加减计数器,使用可清零十进制加减计数模块,在清零时出现只有十位和个位清零或者只有个位清零的情况,希望大佬可以帮忙教一下。
代码如下:
module cnt_9(d,t,clk,pd,rst);
output reg [3:0] d = 0;
output reg t;
input clk;
input pd;
inout rst;
always @(posedge clk or negedge rst)
if(!rst)
d<=0;
else
begin
if(pd==1 )
begin
if(d==0)
begin
d<=9;
d <= d - 1'b1;
end
else
d <= d - 1'b1;
if(4'b0000 == d)
begin
d <= 9;
t<= 1;
end
else t <= 0;
end
else
begin
d <= d + 1'b1;
if(4'b1010 == d)
begin
d <= 0;
t<= 1;
end
else t <= 0;
end
end
endmodule