async_fifo icon indicating copy to clipboard operation
async_fifo copied to clipboard

A dual clock asynchronous FIFO written in verilog, tested with Icarus Verilog

Asynchronous dual clock FIFO

GitHub issues GitHub forks GitHub stars GitHub license

Overview

This repository stores a verilog description of dual clock FIFO. A FIFO is a convenient circuit to exchange data between two clock domains. It manages the RAM addressing internally, the clock domain crossing and informs the user of the FIFO fillness with "full" and "empty" flags.

It is widely inspired by the excellent article from Clifford Cummings, Simulation and Synthesis Techniques for Asynchronous FIFO Design.

The simulation testcases available use Icarus Verilog and SVUT tool to run the tests.

Documentation

  • specification
  • testplan