|
|
1
2
同步重置与异步重置与CPU的大端与小端之争有一些相似之处。 在许多情况下,这两种类型的工作同样良好。 但在某些情况下,两种类型都比另一种有优势。 在通电或断电等情况下,您可能没有有效的时钟,但您仍然需要重置以使系统处于已知的被动状态,并避免危险的I/O故障。 只有异步重置才能做到这一点。 如果您的设计包含缺乏重置功能的寄存器,例如ram块,那么在向ram提供adr、数据和控制信号的寄存器上使用异步重置可能会在重置发生时导致ram内容损坏。因此,如果您需要在必须保留ram内容的地方进行热重置:对最接近ram的逻辑使用同步热重置。 Altera和Xilinx建议他们的客户只使用同步复位,这增加了混乱。 由于altera和xilinx都是基于sram的fpga架构,因此仅使用同步复位就可以很好地工作,因此通电故障从来就不是问题。 但如果你想让你的设计移植到其他架构,如asic或flash fpgas,那么异步重置可能是更好的默认选择。 关于异步重置引起的元稳定性的问题。没错。完全异步复位信号可导致亚稳态。 这就是为什么您必须始终同步活动低异步复位信号的上升沿。 只有复位的下降沿可以完全异步。 两个触发器只同步上升沿。 闩锁:不,你几乎永远不希望闩锁在一个时钟设计。 好的做法是让刚果民主共和国在发现锁存时触发一个错误。 |