Home Knowledge Base SRAM Bitcell Design
<svg viewBox="0 0 760 470" xmlns="http://www.w3.org/2000/svg" font-family="-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif"><rect x="0" y="0" width="760" height="470" rx="14" fill="#0d1117"/><text x="20" y="30" fill="#e6edf3" font-size="19" font-weight="700">The 6T SRAM cell: two inverters that hold one bit by fighting each other</text><text x="20" y="50" fill="#8b949e" font-size="12.5">Cross-coupled inverters latch the bit; two access transistors let the bitlines read or write it</text><!-- Panel 1: schematic --><rect x="20" y="66" width="226" height="298" rx="7" fill="#0c141d" stroke="#30363d"/><text x="32" y="88" fill="#7ee6c0" font-size="13" font-weight="700">1 &#183; Six transistors</text><text x="32" y="106" fill="#8b949e" font-size="10.5">a latch plus two gates</text><rect x="42" y="118" width="182" height="200" rx="3" fill="#111a24" stroke="#30363d"/><!-- wordline --><line x1="52" y1="132" x2="214" y2="132" stroke="#e0b13a" stroke-width="2"/><text x="150" y="128" fill="#e0b13a" font-size="8">WL (wordline)</text><!-- bitlines --><line x1="60" y1="140" x2="60" y2="300" stroke="#38bdf8" stroke-width="1.5"/><text x="46" y="312" fill="#38bdf8" font-size="8">BL</text><line x1="206" y1="140" x2="206" y2="300" stroke="#38bdf8" stroke-width="1.5"/><text x="196" y="312" fill="#38bdf8" font-size="8">BL&#772;</text><!-- access transistors --><rect x="70" y="150" width="18" height="14" rx="2" fill="#6b5fb0"/><line x1="60" y1="157" x2="70" y2="157" stroke="#8b949e" stroke-width="1"/><line x1="79" y1="140" x2="79" y2="150" stroke="#e0b13a" stroke-width="1"/><rect x="178" y="150" width="18" height="14" rx="2" fill="#6b5fb0"/><line x1="196" y1="157" x2="206" y2="157" stroke="#8b949e" stroke-width="1"/><line x1="187" y1="140" x2="187" y2="150" stroke="#e0b13a" stroke-width="1"/><text x="60" y="180" fill="#c4b5fd" font-size="7.5">M5</text><text x="188" y="180" fill="#c4b5fd" font-size="7.5">M6</text><!-- inverter A box --><rect x="88" y="196" width="34" height="60" rx="3" fill="#0c141d" stroke="#34d399"/><text x="105" y="222" fill="#34d399" font-size="8" text-anchor="middle">INV</text><text x="105" y="234" fill="#34d399" font-size="8" text-anchor="middle">A</text><!-- inverter B box --><rect x="144" y="196" width="34" height="60" rx="3" fill="#0c141d" stroke="#34d399"/><text x="161" y="222" fill="#34d399" font-size="8" text-anchor="middle">INV</text><text x="161" y="234" fill="#34d399" font-size="8" text-anchor="middle">B</text><!-- cross-couple wires --><line x1="122" y1="208" x2="144" y2="244" stroke="#f0d9b5" stroke-width="1.3"/><line x1="122" y1="244" x2="144" y2="208" stroke="#f0d9b5" stroke-width="1.3"/><!-- storage nodes --><circle cx="88" cy="226" r="3" fill="#f87171"/><text x="70" y="229" fill="#f87171" font-size="7.5">Q</text><circle cx="178" cy="226" r="3" fill="#38bdf8"/><text x="182" y="229" fill="#38bdf8" font-size="7.5">Q&#772;</text><!-- access connect --><line x1="79" y1="164" x2="79" y2="226" stroke="#8b949e" stroke-width="1"/><line x1="79" y1="226" x2="88" y2="226" stroke="#8b949e" stroke-width="1"/><line x1="187" y1="164" x2="187" y2="226" stroke="#8b949e" stroke-width="1"/><line x1="178" y1="226" x2="187" y2="226" stroke="#8b949e" stroke-width="1"/><text x="52" y="278" fill="#8b949e" font-size="7.5">4 latch FETs (M1&#8211;M4) + 2 access (M5,M6)</text><text x="52" y="292" fill="#8b949e" font-size="7.5">Q and Q&#772; always hold opposite values</text><text x="32" y="336" fill="#adb5bd" font-size="9.5">Two inverters wired output-to-input</text><text x="32" y="351" fill="#adb5bd" font-size="9.5">form a latch with two stable states.</text><!-- Panel 2: read/write --><rect x="267" y="66" width="226" height="298" rx="7" fill="#0c141d" stroke="#30363d"/><text x="279" y="88" fill="#9fd8ef" font-size="13" font-weight="700">2 &#183; Read &amp; write</text><text x="279" y="106" fill="#8b949e" font-size="10.5">the wordline opens the door</text><rect x="287" y="118" width="196" height="76" rx="3" fill="#111a24" stroke="#30363d"/><text x="297" y="134" fill="#34d399" font-size="9.5" font-weight="700">Hold (WL = 0)</text><text x="297" y="150" fill="#8b949e" font-size="8.5">access FETs off; the latch feeds back</text><text x="297" y="163" fill="#8b949e" font-size="8.5">on itself and keeps the bit forever</text><text x="297" y="176" fill="#8b949e" font-size="8.5">&#8212; as long as the cell stays powered.</text><text x="297" y="189" fill="#6f8fb0" font-size="8.5">static: no refresh needed.</text><rect x="287" y="200" width="196" height="70" rx="3" fill="#111a24" stroke="#30363d"/><text x="297" y="216" fill="#9fd8ef" font-size="9.5" font-weight="700">Read (WL = 1)</text><text x="297" y="232" fill="#8b949e" font-size="8.5">precharge both bitlines high, raise WL;</text><text x="297" y="245" fill="#8b949e" font-size="8.5">the storage node pulls one BL down a</text><text x="297" y="258" fill="#8b949e" font-size="8.5">little; a sense amp resolves the bit.</text><rect x="287" y="276" width="196" height="70" rx="3" fill="#111a24" stroke="#30363d"/><text x="297" y="292" fill="#e0b13a" font-size="9.5" font-weight="700">Write (WL = 1)</text><text x="297" y="308" fill="#8b949e" font-size="8.5">drive the bitlines hard to the new value;</text><text x="297" y="321" fill="#8b949e" font-size="8.5">the access FETs overpower the latch and</text><text x="297" y="334" fill="#8b949e" font-size="8.5">flip Q / Q&#772; to the written state.</text><!-- Panel 3: tradeoffs --><rect x="514" y="66" width="226" height="298" rx="7" fill="#0c141d" stroke="#30363d"/><text x="526" y="88" fill="#c4b5fd" font-size="13" font-weight="700">3 &#183; Why SRAM, and its cost</text><text x="526" y="106" fill="#8b949e" font-size="10.5">fast and stable, but big</text><circle cx="532" cy="126" r="2.4" fill="#34d399"/><text x="542" y="129" fill="#e6edf3" font-size="10" font-weight="700">Fast &amp; static</text><text x="542" y="143" fill="#8b949e" font-size="9">single-cycle access, no refresh &#8212; ideal</text><text x="542" y="156" fill="#8b949e" font-size="9">for caches right next to the cores.</text><circle cx="532" cy="176" r="2.4" fill="#38bdf8"/><text x="542" y="179" fill="#e6edf3" font-size="10" font-weight="700">Six transistors = area</text><text x="542" y="193" fill="#8b949e" font-size="9">far larger per bit than DRAM&#8217;s 1T1C,</text><text x="542" y="206" fill="#8b949e" font-size="9">so capacity is limited &amp; expensive.</text><circle cx="532" cy="226" r="2.4" fill="#e0b13a"/><text x="542" y="229" fill="#e6edf3" font-size="10" font-weight="700">Stability margins</text><text x="542" y="243" fill="#8b949e" font-size="9">read must not disturb the bit; sizing</text><text x="542" y="256" fill="#8b949e" font-size="9">ratios set read/write noise margins.</text><rect x="526" y="272" width="202" height="82" rx="5" fill="#111a24" stroke="#30363d"/><text x="536" y="290" fill="#f87171" font-size="10" font-weight="700">The bitcell sets the SoC</text><text x="536" y="306" fill="#adb5bd" font-size="9">SRAM is often half a modern chip&#8217;s area.</text><text x="536" y="320" fill="#adb5bd" font-size="9">Foundries push a specially-drawn cell to</text><text x="536" y="334" fill="#adb5bd" font-size="9">the density limit each node; it drives</text><text x="536" y="348" fill="#adb5bd" font-size="9">cache size, cost and yield.</text><!-- bottom cards --><rect x="20" y="384" width="226" height="70" rx="7" fill="#111a24" stroke="#30363d"/><text x="32" y="406" fill="#34d399" font-size="11" font-weight="700">Cross-coupled latch</text><text x="32" y="424" fill="#adb5bd" font-size="9.5">Two inverters hold Q and Q&#772; &#8212; the</text><text x="32" y="440" fill="#adb5bd" font-size="9.5">bit is stored as a stable state.</text><rect x="267" y="384" width="226" height="70" rx="7" fill="#111a24" stroke="#30363d"/><text x="279" y="406" fill="#9fd8ef" font-size="11" font-weight="700">Access transistors</text><text x="279" y="424" fill="#adb5bd" font-size="9.5">The wordline gates the bitlines onto</text><text x="279" y="440" fill="#adb5bd" font-size="9.5">the node to read or write.</text><rect x="514" y="384" width="226" height="70" rx="7" fill="#111a24" stroke="#30363d"/><text x="526" y="406" fill="#e0b13a" font-size="11" font-weight="700">Static, not stored charge</text><text x="526" y="424" fill="#adb5bd" font-size="9.5">Holds its bit with no refresh &#8212; but</text><text x="526" y="440" fill="#adb5bd" font-size="9.5">at six transistors per bit.</text></svg>

SRAM Bitcell Design is the fundamental memory circuit element consisting of cross-coupled inverters that store a single bit of data — where the classic 6-transistor (6T) cell provides a compact, fast, and low-power storage element that forms the basis of all on-chip caches, register files, and embedded memories, with bitcell design being one of the most critical and specialized areas of circuit design because SRAM occupies 50-80% of modern processor die area and its density/performance directly determines chip capability.

6T SRAM Cell

Operations

OperationWLBLBLBAction
Hold0PrechargedPrechargedAccess transistors off, data retained
Read1SenseSenseSmall ΔV develops between BL and BLB
Write1Drive 0/1Drive 1/0Override cell through strong BL drivers

Stability Metrics

MetricWhat It MeasuresTarget
SNM (Static Noise Margin)Read stability — how much noise before flip> 150-200 mV
WNM (Write Noise Margin)Write-ability — can BL drivers flip the cell?> 200 mV
Read current (Iread)Speed of sense amp detection> 10-30 µA
Hold marginData retention in standby> 250 mV

SNM (Butterfly Curve)

Cell Ratio (CR) and Pull-Up Ratio (PR)

Advanced Bitcell Variants

VariantTransistorsAdvantageArea
6T6Compact, standard
8T8Separate read port → no read disturb1.3×
10T10Differential read + single-ended write1.6×
12T12Full read/write decoupling
FinFET 6T6 (multi-fin)Better matching, lower Vmin

FinFET/GAA SRAM Challenges

SRAM bitcell design is the most area-critical and variability-sensitive circuit in all of digital IC design — because SRAM density directly determines cache size, and cache size is often the primary performance differentiator between processor generations, bitcell optimization at each new technology node represents a central battleground where every square nanometer saved translates to measurable system-level performance improvement.

sram bitcellsram cell design6t sramsram stabilityread write margin sram

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.