大家好,
我用的软件是ISE13.1.
芯片是spartan3a。
请教一个非常蹊跷的问题。
代码如下:
reg flag;
always @(posedge clk or negedge rst_n)
begin
if(!rst_n)
flag <= 0;
else if(full_pulse)
flag <= 1;
else if(color == 2'd3)
flag <= 0;
else
;
end
full_pulse是一个脉冲,color是一个颜 {MOD}计数。
问题是,有的情况下,当full_pulse使flag = 1之后,flag又立刻变成0,而此时rst_n一直是1的,color也没有加到3,就是说让flag变成0的条件并没有满足。
为什么flag会自动拉低呢?
非常感谢!
if( xxx )
flag <= 0;
else if( xxx ) 或 else( xxx )
flag <= 1;
评分
查看全部评分
一周热门 更多>