求助:程序中当a=10000000时,为什么cp拉不低?
时间:10-02
整理:3721RD
点击:
程序如下:
module kongzhibujin(clk,cp,reset);
input clk,reset;
output cp;
reg [25:0]cnt;
reg a ;
reg [1:0]cp1;
reg cp;
always @(posedge clk )
if (!reset)
begin
if (a!=10000000)
begin
if(cnt==50000)
begin
cnt<=0;
cp<=~cp;
end
else
cnt<=cnt + 1'b1;
end
else
begin
cp <= cp1;
end
end
always @(posedge clk)
if(!reset)
begin
if(a==100000000)
begin
cp1<=0;
end
else
a<=a+1'b1;
end
endmodule
请问为什么cp拉不低?
module kongzhibujin(clk,cp,reset);
input clk,reset;
output cp;
reg [25:0]cnt;
reg a ;
reg [1:0]cp1;
reg cp;
always @(posedge clk )
if (!reset)
begin
if (a!=10000000)
begin
if(cnt==50000)
begin
cnt<=0;
cp<=~cp;
end
else
cnt<=cnt + 1'b1;
end
else
begin
cp <= cp1;
end
end
always @(posedge clk)
if(!reset)
begin
if(a==100000000)
begin
cp1<=0;
end
else
a<=a+1'b1;
end
endmodule
请问为什么cp拉不低?
a的位数够不够表示10000000?
确实加到了吗?
加到的时候是持续拉低,还是只是一个脉冲拉低?
那现在想反射脉冲,当发射到500个时,然后让它停止。这样该怎么做?