SRAM Verilog Code Implementation | 6T SRAM Design in Verilog | VLSI Project Series
Why It Matters
A clear, simulation‑ready SRAM controller accelerates prototyping and education in digital design, reducing time spent on low‑level memory interfacing.
Key Takeaways
- •SRAM controller written in Verilog with 8‑bit data, 8‑bit address.
- •FSM includes idle, read, write, and done states.
- •Chip‑select and write‑enable signals determine read vs write transition.
- •Ready signal asserts only after transaction reaches done state.
- •Testbench drives controller to verify read/write functionality effectively.
Summary
The video walks through a Verilog implementation of a simple 6T SRAM controller, detailing module ports, internal memory sizing, and the accompanying testbench used for simulation. It targets an educational VLSI project series, showing how to model SRAM behavior without physical hardware.
Key design elements include an 8‑bit address bus, 8‑bit data bus, and a 256‑location internal memory array. The controller operates as a finite‑state machine with four states—idle, read, write, and done—driven by chip‑select and write‑enable signals. Output‑enable (OE) and a ready flag are managed to indicate when data is valid and when a transaction completes.
The presenter highlights that during a read, OE is asserted high and data is routed from the memory array to the output, while a write keeps OE low and stores incoming data at the specified address. The ready signal is de‑asserted throughout the operation and only goes high in the done state, signaling transaction completion. A Vivado testbench exercises these paths, confirming correct read/write behavior.
For designers, this example provides a reusable template for SRAM interfacing, illustrating best practices for synchronous state handling, reset logic, and testbench verification. It also serves as a stepping stone toward more complex memory controllers in ASIC or FPGA projects.
Comments
Want to join the conversation?
Loading comments...