Skip to content

A Verilog asynchronous FIFO using Gray-coded pointers for safe clock domain crossing and reliable full/empty detection.

Notifications You must be signed in to change notification settings

ArjunPShetty/Asynchronous-FIFO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 Asynchronous FIFO (Gray Code) – Verilog | Vivado Project

This project implements an Asynchronous FIFO in Verilog for safe data transfer between two different clock domains. It uses Gray-coded pointers and two-stage synchronizers to avoid metastability.

This repository contains:
Asynchronous FIFO RTL, Testbench, Simulation results

🚀 Project Overview The FIFO supports:
Independent write clock and read clock, 8-bit data width (parameterizable), Configurable depth, Full and Empty flag logic, Gray-coded pointer architecture, Safe Clock Domain Crossing (CDC)

🧠 Why Gray Code? Gray code ensures only one bit changes per increment, reducing CDC errors.

This FIFO uses:
Binary pointers, Binary → Gray conversion, Gray → Binary conversion, Two-FF pointer synchronization

About

A Verilog asynchronous FIFO using Gray-coded pointers for safe clock domain crossing and reliable full/empty detection.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published