2-STAGE SYNCHRONIZER2 [CDC] 10. Asynchronous FIFO(4) 이전 포스트들을 통해서 Asynchronous FIFO를 설계하기 위한 기본적인 사항들을 알아보았다. Meta-stability 상태를 제거하기 위하여 2-Stage Synchronizer, Multi-bit CDC를 하기 위한 Gray Code, FIFO의 Empty, Full 상태를 알아보기 위한 Pointer 연산까지 살펴보았다. 이 사항들을 조합하여 Asynchronous FIFO를 설계해보도록 하자. Asynchronous FIFO를 이해함에 있어서 가장 중요한 점은 Asynchronous FIFO에 저장되는 데이터가 아니라 Write Domain과 Read Domain의 Pointer에 CDC(Clock Domain Crossing) 기법을 적용한다는 것이다. Asynchronous FIFO에.. 2022. 4. 25. [CDC] 02. Two Flip-flop Synchronizer Usage Example 지난 Post에서 Metastability를 극복하기 위한 방법으로 Register Chain을 소개하였다. 아래 그림과 같이 Register를 직렬로 연결하면 마지막 Register에서 Metastability에 빠질 확률이 극도록 낮아진다. 이 2-stage Synchronizer를 사용하려면 주의할 사항이 있다. 첫 번째로는 위 그림에서 Clock1 Domain에서 Clock2 Domain으로 전달되는 신호는 중간에 Combination Logic 없이 Register의 출력 값이어야 한다. 그 이유는 Clock 1와 Clock 2의 주파수가 서로 다르기 때문에 Clock1 Domain에서 Clock2 Domain으로 전달되는 신호를 Capture하는 시간이 계속 변할 수 있다. 다시 말하면 Clo.. 2022. 3. 18. 이전 1 다음