|
module TEST1(A,B,C,D,E,CLK,RESET);
output A,B,C,D,E;
reg A,B,C,D,E;
input CLK,RESET;
reg[7:0] counter;
always @(posedge CLK or posedge RESET)
begin
if(RESET==1)
begin
counter<=0;A<=B<=C<=D<=E<=0;
end
else
begin
if(counter==255)
counter<=0;
else
counter<=counter+1;
if(counter==51)
begin A<=1;B<=C<=D<=E<=0; end
else if(counter==102)
begin B<=1;A<=C<=D<=E<=0; end
else if(counter==153)
begin C<=1;A<=B<=D<=E<=0; end
else if(counter==204)
begin D<=1;A<=B<=C<=E<=0; end
else if(counter==255)
begin E<=1;A<=B<=C<=D<=0; end
end
end
endmodule
我上面代码的意思是在计数器counter的值到51的时候A输出1,到102的时候B输出1,一直这样下去。但是好像仿真的时候,C,D,E三个都直接就是高电平,前面A,B两个的波形也不对。这个我的代码到底出错在那里呢?
望高手指点。 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|