11.2 PROM: Programmable Read-Only Memory
Describe how a PROM differs from a mask-programmed ROM by allowing a one-time, field-level programming step, and explain the fuse-based mechanism behind that.
PROM (Programmable Read-Only Memory) is a ROM variant that ships from the factory in a blank, unprogrammed state and can be programmed exactly once, after manufacturing, using a dedicated programmer device. Where an ordinary mask-programmed ROM has its data pattern etched into the silicon at the foundry — a process only economical at very high volumes — a PROM lets a designer, lab, or even an end customer burn in their own data pattern using electrical pulses, without needing a custom fabrication run. This makes PROM valuable for low-to-medium volume production, prototyping, and any situation where the data (a boot image, a lookup table, a fixed configuration) is finalized after the chip itself has already been manufactured. The trade-off for this flexibility is that the programming is permanent: once a bit has been programmed, it cannot be reprogrammed or erased, so a PROM behaves exactly like a fixed ROM from the moment programming finishes.
Core concept: one-time field programmability
Internally, a PROM's storage array is built from an array of fusible links (or antifuses) placed at every row/column intersection where a mask ROM would have a fixed connection. In the unprogrammed state, every link is intact, which typically corresponds to every output bit reading as one fixed logic value (commonly all 1s, though the exact convention depends on the device family). Programming a PROM means selectively 'blowing' fuses at chosen intersections by forcing a higher-than-normal current or voltage through them, permanently breaking that connection and flipping the corresponding output bit to the opposite logic value.
Because blowing a fuse is a destructive, irreversible physical change to the silicon, a PROM can be programmed once and only once: there is no mechanism to reconnect a blown fuse, so any change to the data pattern requires discarding the device and programming a fresh, blank part.
• Ships blank; programmed once after manufacturing using a PROM programmer • Programming physically and permanently alters internal fuse/antifuse links • After programming, behaves identically to a fixed mask-programmed ROM for all subsequent reads • Cannot be erased or reprogrammed — a mistake means discarding the part
Step-by-step: from blank device to fixed data
Step 1: the designer prepares the desired address→data mapping, typically as a binary or hex file. Step 2: a PROM programmer (a piece of lab equipment) applies the elevated programming voltage/current sequentially to the fuse links at every address whose data bit must be flipped from its default value, one location at a time, verifying each burn. Step 3: once programming is complete, the PROM is functionally indistinguishable, from the read side, from a mask-programmed ROM of the same size — the same address decoder plus fixed-array read model applies. Step 4: the device is then deployed exactly as a normal ROM: apply address, read data, no writes possible thereafter.
Why PROM matters and where it fits
PROM sits between two extremes: a mask ROM (cheapest per unit at huge volumes, but with a slow and expensive factory turnaround to change contents) and later reprogrammable technologies like EPROM/EEPROM/Flash (which trade some permanence for the ability to fix mistakes or update data without discarding hardware). PROM's 'programmable once' nature made it historically important for early field-programmable logic and for shipping small-batch fixed firmware, boot code, or lookup tables where a full mask-ROM production run would not be economically justified.
The tricky point students should remember is precisely what 'programmable' means here: it describes when programming happens (after manufacture, in the field) and by whom (the designer/programmer, not the chip foundry) — it does not mean the data can later be changed again. That further capability is what distinguishes EPROM and EEPROM, covered in the next two topics.
PROM lifecycle notation
Factory: PROM ships BLANK (all fuses intact, default data state)
Programming: PROM programmer selectively blows fuses → ONE-TIME event
Post-program: PROM behaves exactly like a fixed ROM for all future reads
Key property: Programmable ONCE — no erase, no rewriteCode Examples
Only the bits that must differ from the unprogrammed default are ever changed, and that change is done by physically destroying a fuse link — a one-way operation that cannot later be undone to restore the original 1.
Blowing a fuse changes a bit permanently from its default value; there is no way to blow it back.
Unprogrammed PROM at address 5: D3 D2 D1 D0 = 1 1 1 1 (default, fuses intact)
Desired data to store at address 5: 1 0 1 0
Programming step blows fuses at bit positions D2 and D0
(those are the bits that must change from 1 → 0):
D3 : fuse left intact → stays 1
D2 : fuse blown → becomes 0
D1 : fuse left intact → stays 1
D0 : fuse blown → becomes 0
Result after programming, address 5: 1 0 1 0 (permanent)Important Rules
A PROM is blank at manufacture; the designer programs it once, in the field, with a dedicated programmer.
Programming works by permanently blowing fuse (or antifuse) links — a destructive, irreversible operation.
After programming, read behavior is identical to a mask-programmed ROM: pure address-in/data-out.
A programming mistake cannot be corrected on the same device — a fresh blank PROM must be used.
Practical use
PROM has historically been used for low-volume fixed lookup tables, early field-programmable address decoders, and small production runs of firmware where committing to a mask-ROM production run would be too costly or too slow — the designer instead orders blank PROMs and programs the exact quantity needed.
Assuming a PROM can be reprogrammed if the wrong data was burned in.
Treat PROM programming as final and irreversible; verify the data file carefully before burning, and budget for spare blank parts.
PROM's fuse-based mechanism is physically destructive and one-directional, unlike EPROM/EEPROM/Flash, which use reversible charge-storage mechanisms instead of fuses.
[tricky] What does 'programmable' mean in the name PROM? A. The data can be rewritten any number of times B. The data can be programmed once, after manufacturing, by the user/designer rather than by the chip foundry C. The data is programmed automatically at power-up D. The device can be reprogrammed using UV light
B. The data can be programmed once, after manufacturing, by the user/designer rather than by the chip foundry — PROM ships blank and is programmed exactly one time in the field using a programmer device, via irreversible fuse-blowing. It is not rewritable (that is EPROM/EEPROM territory) and does not involve UV light (that is EPROM specifically).
[interview] Physically, what happens inside a PROM chip during the programming step? A. Floating-gate transistors are charged with electrons B. Fusible links at selected row/column intersections are permanently blown (broken) by an elevated programming current/voltage C. A UV lamp erases charge from a storage cell D. SRAM cells are written with new flip-flop states
B. Fusible links at selected row/column intersections are permanently blown (broken) by an elevated programming current/voltage — PROM's classic mechanism is fuse/antifuse-based: applying a higher-than-normal voltage/current at chosen array locations destroys a physical link, permanently flipping that bit. Floating-gate charging is the EPROM/EEPROM/Flash mechanism, not PROM's.
You need to ship 200 units of a device with a fixed 256-byte lookup table that a mask ROM foundry run would take 8 weeks to produce. Explain why PROM is a better fit here than either mask ROM or a reprogrammable EEPROM, focusing on cost and lifecycle.
At only 200 units, a mask ROM's per-unit NRE (non-recurring engineering) cost for a custom foundry mask would be far too high, and its 8-week turnaround is a poor fit for a short-notice or low-volume run. PROM devices are stock parts that can be bought off the shelf and programmed in-house immediately with a programmer, avoiding both the mask cost and the wait. EEPROM would also work technically, but if the data is genuinely fixed for the life of the product, PROM is typically cheaper per unit than EEPROM (which requires more complex on-chip circuitry to support erase/rewrite) — so PROM is the more cost-effective choice when one-time programming is all that is needed.
Consider volume (200 units is low), turnaround time, and whether the data will ever need to change after shipping.