×
SRAM Memory Array
Project Overview
This project involved the full custom design and validation of a 16x4 Static Random-Access Memory (SRAM) array in Cadence for
ESE 5700: Digital Integrated Circuits and VLSI Fundamentals. The final memory supports random-access read and write
operations across 16 addressable locations with a 4-bit data bus. The complete design was implemented at the
transistor level, simulated in Cadence Virtuoso, and verified for functionality, timing, power, and area.
System Architecture
The SRAM array consists of 64 six-transistor (6T) bitcells organized into 16 rows and 4 columns, along with
supporting peripheral circuitry including a row decoder, precharge logic, clock-synchronized wordline generation,
and tristate read/write drivers. Each memory operation is coordinated using a clock signal to ensure that precharge
occurs during the first half of the cycle and wordlines are only asserted during the second half, preventing data
corruption.
Key Circuit Blocks
SRAM Bitcell
Each memory cell is built from two cross-coupled CMOS inverters forming a bistable latch, with two NMOS access
transistors connecting the internal storage nodes to the complementary bitlines. The cell stores data indefinitely
while power is applied and supports nondestructive reads and reliable writes through controlled wordline activation.
Row Decoder
A 4-to-16 row decoder selects the active wordline using a predecoded NAND2/NOR2 architecture rather than naive NAND4
gates, reducing redundant logic, transistor count, and power consumption. This optimized structure significantly
improves efficiency while maintaining correct decode behavior across all addresses.
Precharge Circuitry
The precharge network ensures that all bitlines are charged to VDD before each read operation. To avoid large fan-in
delay, the design replaces a single NOR16 gate with four NOR4 gates feeding a NAND4 stage. Precharge is enabled only
when all wordlines are low and write-enable is inactive.
Read / Write Drivers
Tristate buffer and inverter structures control whether data is driven onto the bitlines (write mode) or read from
them (read mode). During writes, the data bus actively forces BL/BLB, while during reads, the bitcells condition the
bitlines and the output buffer captures the stored value.
Timing and Performance
Worst-case access time occurs during a read-0 operation and was measured at 301 ps. Through simulation, the minimum
safe clock period was found to be 1.28 ns, corresponding to a maximum operating frequency of 781 MHz. Power was
measured by integrating the supply current during repeated write operations, yielding an energy cost of 1.673 pJ.
The estimated array area is 2.07 µm².
Verification
All subsystems were individually verified, including tristate buffers, inverters, row decoder, and precharge
control. The full SRAM array was then validated through comprehensive test cases that demonstrated correct read and
write behavior, non-destructive reads, address switching, and repeated access to the same row without data loss.
Technical Highlights
- Designed and simulated a complete 16x4 SRAM array at the transistor level.
- Optimized row decoder and precharge circuitry to reduce fan-in delay and redundant logic.
- Measured power, delay, and area to compute a quantitative figure-of-merit.
- Validated functionality through detailed Cadence Virtuoso simulations of all read/write scenarios.