就是我的verilog代码有一个移位寄存器,相关代码如下:
if(一个脉冲信号 & 一个持续高电平信号)
data ≤ {data[lbk]6:0[rbk], 1'b0};
else
data ≤ data;
在用fpga上板测试中,用ila抓取各个信号波形,我发现移位寄存器在 if 的条件均为0下,发生了移位。脉冲信号是打了两拍才用的,应该不存在毛刺。另一个是状态机的flag信号,也不会存在看不见跳变。所以请问一下这个移位寄存器为什么会在没有触发条件的情况下移位了。发生错误移位概率大概为百分之2,3左右,不会固定触发错误移位。
