Logo
All chapters
Volume II: Digital Logic  ›  Memory & Programmable Logic

Memory Decoding

How address bits are turned into one active word line, and how chips combine.

PrevRandom-Access Memory
NextError Detection & Correction

Description

Memory decoding converts the address into a single active word line using a decoder, often split into row and column decoders (coincident selection) to keep the decoder small. Larger memories are built by combining chips, using high-order address bits and chip-enable lines to select which chip responds.

  • A 2D array uses a row decoder and a column decoder.
  • A cell is selected only where its row and column lines coincide.
  • Two √N decoders replace one huge N decoder — far fewer gates.
  • Row line activates a whole word; column logic routes the bits.
  • This is why memory arrays are drawn as squares.
  • Stack chips for more words: high-order address bits + a decoder pick the chip via CE.
  • Place chips side by side for wider words: share address, concatenate data buses.
  • Only the enabled chip drives the (shared) data bus; others go high-impedance.
  • Address map = which ranges land on which chip.
  • Tri-state outputs let many chips share one bus safely.

At a glance

What

The logic that maps an address to exactly one selected memory cell/word.

Why

A flat decoder for big memory is impractical; structured decoding keeps it small and square.

How

Split address into row + column (coincident selection); use high bits + CE to pick a chip.

Where

Inside every memory array and across multi-chip memory systems.

When

Whenever an address must select a unique location.

Think of it like…

Coincident selection is like seat numbers at a stadium: a row letter and a seat number together pick exactly one seat — far fewer signs than numbering every seat uniquely.

Coincident selection

  • A 2D array uses a row decoder and a column decoder.
  • A cell is selected only where its row and column lines coincide.
  • Two √N decoders replace one huge N decoder — far fewer gates.
  • Row line activates a whole word; column logic routes the bits.
  • This is why memory arrays are drawn as squares.

Building bigger memory

  • Stack chips for more words: high-order address bits + a decoder pick the chip via CE.
  • Place chips side by side for wider words: share address, concatenate data buses.
  • Only the enabled chip drives the (shared) data bus; others go high-impedance.
  • Address map = which ranges land on which chip.
  • Tri-state outputs let many chips share one bus safely.

Expanding memory

GoalTechnique
More wordshigh address bits + CE decoder
Wider wordsparallel chips, shared address
Shared bustri-state outputs

Black-box view

A (high)A (low)Decodersblack boxWord selectChip enable

Inputs on the left → outputs on the right · particles show signal direction

Decoder picks one line (memory addressing)

▶ live simulator
A10A00EN1DEC2:41D00D10D20D3

Code 00 = activates D0 (one-hot).

Real-world applications

DRAM row/column addressingMemory-mapped I/OMulti-bank memory systems

The 5 Whys

  1. 1

    Why decode at all? To pick one location from many with few wires.

  2. 2

    Why row+column? Two small decoders beat one giant one.

  3. 3

    Why chip-enable? To select among multiple memory chips.

  4. 4

    Why tri-state? So chips can share one data bus.

  5. 5

    Root cause: structured decoding makes large memories buildable and combinable.

Cheat sheet

Working principle

  • Split address into row + column (coincident selection); use high bits + CE to pick a chip.
  • The logic that maps an address to exactly one selected memory cell/word.

Formulas & Boolean expressions

  • Address map = which ranges land on which chip.
  • More words = high address bits + CE decoder
  • Wider words = parallel chips, shared address
  • Shared bus = tri-state outputs

Key facts

  • A 2D array uses a row decoder and a column decoder.
  • Stack chips for more words: high-order address bits + a decoder pick the chip via CE.

Why it exists

  • Root cause: structured decoding makes large memories buildable and combinable.
PrevRandom-Access Memory
NextError Detection & Correction