Advanced L5–L8 ⏱️ 5–8 weeks

Memory and FIFO Design

From single-port SRAM inference to parameterized synchronous FIFOs, programmable watermarks, and dual-clock asynchronous FIFOs.

Target Audience ASIC/SoC engineers designing streaming buffers, memory controllers, and inter-domain queues.
Prerequisites Sequential RTL Design (Path 3) and synchronous timing fundamentals.
Curriculum Goal Implement silicon-proven FIFO queues capable of sustained 100% throughput without underflow or overflow.
0%
Roadmap Progress: 0/14 problems solved
0/10 modules mastered
Benchmark Skills →

Interactive Learning Roadmap

Module 1
⏱️ 45 mins

Synchronous RAM Inference & Memory Arrays

Infer block RAMs (BRAM) using synthesizable Verilog array syntax with synchronous write enables.

reg [DATA_WIDTH-1:0] mem [0:DEPTH-1]Write-first vs read-firstAddress registers
Module 2
⏱️ 55 mins

Dual-Port RAM & Register Files

Implement multi-read, single-write register files with write-through forwarding.

Dual-port read accessSimultaneous read/write to same addressForwarding multiplexers
Module 3
⏱️ 50 mins

Synchronous FIFO Fundamentals

Build single-clock circular FIFO buffers managing write pointers, read pointers, and entry counts.

Circular pointerswr_en && !full push logicrd_en && !empty pop logic
Module 4
⏱️ 55 mins

Pointer MSB Wraparound & Full/Empty Detection

Distinguish full from empty capacity using an extra MSB wrap-around bit on pointers.

N+1 bit pointer techniqueMSB inverted with lower bits equal = FULLZero hardware count storage
Module 5
⏱️ 45 mins

FIFO Occupancy & Available Space Tracking

Maintain precise word occupancy counters with simultaneous push and pop handling.

Count up/down logicZero delta on simultaneous push/popCapacity headroom
Module 6
⏱️ 60 mins

Programmable Watermarks (Almost-Full / Almost-Empty)

Generate proactive flow control threshold signals to absorb pipeline latency.

Almost-full watermarkAlmost-empty watermarkThreshold register comparators
Module 7
⏱️ 65 mins

Parameterized Full-Bandwidth Synchronous FIFO

Design a parameterizable synchronous FIFO supporting continuous simultaneous read and write even when full.

Simultaneous push/pop when fullFirst-word fall-through (FWFT)Zero idle bubbles
Module 8
⏱️ 50 mins

Gray Code Pointers & Conversion Mechanics

Convert binary pointers to Gray code and back, ensuring exactly 1-bit transitions across multi-bit words.

Binary to Gray (b ^ (b >> 1))Gray to Binary conversionMetastability reduction
Module 9
⏱️ 60 mins

Asynchronous Pointer Cross-Domain Synchronization

Pass Gray pointers across unrelated write and read clocks using 2-stage flip-flop synchronizers.

2-flop Gray pointer CDCMulti-cycle path constraintsPointer pessimism
Module 10
⏱️ 90 mins

Complete Dual-Clock Asynchronous FIFO

Implement a full dual-clock asynchronous FIFO with safe full/empty flags, zero data loss, and ASIC synthesis pragmas.

Write domain full generationRead domain empty generation(* ASYNC_REG = "TRUE" *)set_max_delay -datapath_only

Why Master Memory and FIFO Design?

Implement silicon-proven FIFO queues capable of sustained 100% throughput without underflow or overflow. Engineers who excel in this curriculum consistently outperform in technical interviews at semiconductor leaders such as NVIDIA, Qualcomm, Apple, and Intel because this roadmap focuses on synthesizability, edge-case assertions, and real simulation waveforms rather than purely theoretical textbook logic.

Recommended Learning Methodology

Frequently Asked Questions

What tools do I need for this roadmap?

None! All simulation testbenches run in the browser using our remote Icarus Verilog runner with automated waveform generation.

Are the reference solutions accessible?

Yes. Reference solutions are protected in an expandable solution drawer. We strongly encourage attempting and simulating your own RTL first.