Design Technique of Register-based Asynchronous FIFO

레지스터 기반 비동기 FIFO 구조 설계 기법

  • Published : 2005.05.27

Abstract

In today's SoC design, most of IPs which use the different clock frequency from that of the bus require asynchronous FIFOs. However, in many cases, asynchronous FIFO is designed improperly and the cost of the wrong design is high. In this paper, a register-based asynchronous FIFO is designed to transfer data in asynchronous clock domains by using a valid bits scheme that eliminates the problem of the metastability and synchronization altogether. This FIFO architecture is described in HDL and synthesized to the gate level to compare with other FIFO scheme.

현재 SoC 설계에 사용되는 많은 IP들은 대부분 이들이 연결되는 버스 클럭과 주파수가 서로 다른 클럭을 사용하며 이를 위해서는 비동기 FIFO가 필수적이다. 그러나 아직 많은 수의 비동기 FIFO가 잘못 설계되고 있으며 이에 따른 비용이 심각하다. 이에 본 논문에서는 레지스터 기반의 비동기 FIFO를 유효비트를 사용하여 설계함으로써 비동기 회로에서 발생하는 metastability를 없애고 비동기 카운터의 오류를 수정함으로써 비동기 클럭들 사이에서 안전하게 데이터를 전송할 수 있는 FIFO 구조를 제안한다. 또한 이 FIFO 구조의 HDL 기술을 바탕으로 합성하여 다른 방식의 FIFO 설계 방식과 비교 평가한다.

Keywords