Read in EN

reset synchronizer

FPGA 외부에서 오는 reset signal을 reset으로 사용하는 경우 FF(flip flop)의 recovery, removal time violation이 발생할 수 있으므로 FF가 unknown 상태가 될 수 있다.

Removal & recovery time

Recovery는 setup time에 해당되고, removal time은 hold time에 해당된다. Recovery는 reset이 de-assertion이 된 후 일정시간이 지난 후 clock edge가 발생해야 됨을 나타낸다. Removal은 clock의 edge가 발생한 후 일정시간이 지난 후에 reset이 de-assertion 되어야 한다.

  • A recovery time is a limit of the time between the release of an asynchronous control signal from the active state and the next active clock edge.
  • A removal time is a limit of the time between an active clock edge and the release of an asynchronous control signal from the active state.

이를 방지하기 위해 reset synchronizer를 사용해야 한다. Reset synchronizer는 asynchronous 또는 synchronous에 따라 구성이 틀려진다.

For synchronous reset

Sync reset synchronizer

For asynchronous reset

Async reset synchronizer Asynchronous인 경우 FF의 개수로 reset pulse의 width를 조정할 수 있다.

← All posts