Skip to content

Back to Barcelona Day Plan

CRAFT Overlay — D9 — Memory: RAM, ROM & Block RAM

Date: Thu 6/4


🌍 Contextualize

"Memory is in every system you interact with. Your phone's frame buffer, the Metro's schedule lookup tables, the airport's flight display. Today you learn how to describe memory in HDL."

⚠️ Reframe

"If You're Thinking Like a Programmer: memory is just an array. Reframe: Memory has physical constraints — read latency (synchronous vs async), port count (single vs dual), initialization ($readmemh). And coding patterns determine whether Yosys infers efficient block RAM (EBR) or wastes all your LUTs on distributed RAM."

🔑 Key Insight

"The iCE40 has 16 EBR blocks — that's 64 Kbits of free, fast memory. But only if your code matches the inference pattern: synchronous read, registered address."

🤖 Check the Machine

"Prompt AI: 'Write a dual-port RAM in Verilog for Lattice iCE40.' Does it produce code that Yosys will infer as EBR? Synthesize and check yosys stat for SB_RAM40_4K instances."

🔗 Transfer

"This weekend: watch the D10 video on timing and numerical architectures. Monday: the constraints that make real systems work — setup, hold, Fmax, and PPA."



Back to Barcelona Day Plan   Baseline D9 Materials

This overlay supplements the baseline D9 daily plan. All lab exercises and lecture content come from the baseline D9 materials.