always @ (posedge clk or negedge reset )
begin
//Asynchrous FF
end
always @(posedge clk)
begin
if (reset)
// Synchronous FF
end
次の実装の違いは何ですか? FF のサイズの数という意味です。なぜ、どのようにシンセサイザーによって合成されるのですか?
非同期リセットは、実際に非同期クリア (または非同期セット) 入力を持つライブラリに FF があることを意味します。これらは、これらの入力を持たない FF よりも少し大きくなる傾向がありますが、これはライブラリによって異なります。これらは、rest 信号がアサートされるとすぐに FF の Q がリセット状態になるように機能します。
同期リセットは、FF の D 入力のファンイン コーンにリセット信号を含めることによって実装されます。これは、リセットがアサートされると、クロックの次のアクティブ エッジまで有効にならないことを意味します。
正確にいつどちらを使用する必要があるかは、広範な問題です。