触发器中同步复位和异步复位的区别


always @ (posedge clk or negedge reset )
begin
//Asynchrous FF
end

always @(posedge clk)
begin
if (reset)
// Synchronous FF
end

下面的实现有什么不同?我指的是FF的数量和大小。它们为什么和如何被合成器合成?

异步重置意味着库中有一个FF实际上具有异步清除(或异步设置)输入。它们往往比没有这些输入的ff稍大一些,但这取决于您的库。这些函数使得一旦休息信号被断言,FF的Q将处于复位状态。

通过在FF的D输入的扇入锥中包含复位信号来实现同步复位。这意味着当复位被断言时,它将不会生效,直到时钟的下一个活动边缘。

确切地说,当你应该使用其中一个而不是另一个时,是一个扩展的主题。

最新更新