近日看到博文:
http://www.eetop.cn/blog/html/50/320550-38642.html
里面提到了同步复位的优缺点:
优点: 同步复位仅在时钟的有效沿生效,可以有效的避免因复位电路毛刺造成的亚稳态和错误。
缺点:1.很多触发器本身并不包含同步复位端口,使用同步复位会增加更多逻辑资源
2.同步复位的最大问题在于必须保证复位信号的有效时间足够长,从而才能保证所有触发器都有效地复位。
在此谈谈自己的体会,希望可以有更多的网友提出自己的建议:
#1 关于占用更多逻辑资源:
由于很多触发器本身不包含同步复位端口,所以要实现同步复位,往往要通过在触发器的D端加入与门,如下图,所以需要占用额外的逻辑:
# 2 同步复位的最大问题在于必须保证复位信号的有效时间足够长,从而才能保证所有触发器都有效地复位。
这里提到了为复位信号有效时间的问题,举个例子:
code:
if(resetCore) a <= 1'd0;
else a <= ~a;
end
aF1 <= a;
aF2 <= aF1;
end
这种情况下只有当resetCore保持3个cycle以上,aF2才能输出一个非X的值。而对于更加复杂的逻辑,复位时长的确定往往比较困难,这时可以通过一个有较大计数范围的计数器,来控制reset释放的时间长短。