always@(posedge cout1)
begin
if(led_gate_on)
begin
if(shiwei==4'b1000)
begin
shiwei<=4'b1001;
cout2<=1;
end
else if(shiwei==4'b1001 ) begin shiwei<=4'b0000; cout2<=0;end
else
begin
shiwei<=shiwei+4'b0001;
cout2<=0;
end
end
else if(!led_gate_on) begin shiwei<=4'b1111;cout2=~cout2;cout2=~cout2;end
end
最后的else if一段中 我两次取反会产生上升沿和下降沿吗,还是波形不变
应该是不会,因为虽然两次取反,但是vhdl里这个其实构成一个完整的逻辑表达式,用对应的门电路连接,最终输出是不受影响的。
VHDL语言也是刚学完不久 好像是编译器会把你的代码转换成电路图 所以两次取反和没取一样