Skip to main content

RAM vs ROM; functions using PROM

Short answer

RAM is volatile and allows read/write; ROM is non-volatile and read-only. Implement F1=Σ(1,2,4,6) and F2=Σ(0,2,3) with an 8×2 PROM: a 3-to-8 decoder generates all minterms, and the OR array connects m1,m2,m4,m6 to F1 and m0,m2,m3 to F2.

Differentiate between RAM and ROM. Implement F1 = Σ(1,2,4,6) and F2 = Σm(0,2,3) using PROM.

RAM vs ROM

PointRAMROM
Full formRandom Access MemoryRead Only Memory
OperationRead and writeRead only (written once/rarely)
VolatilityVolatile: data lost on power offNon-volatile
UseTemporary data and running programsFixed programs (BIOS, firmware), tables
TypesSRAM, DRAMMask ROM, PROM, EPROM, EEPROM
SpeedFast read and writeFast read; writing slow or impossible

F1 = Σ(1,2,4,6) and F2 = Σ(0,2,3) using PROM

Three inputs (AA, BB, CC) and two outputs, so an 8 × 2 PROM is used: a fixed 3-to-8 decoder (AND array) produces all minterms m0m_0–m7m_7, and the programmable OR array connects the needed minterms to each output.

PROM truth table (contents):

Address ABCABCMintermF1F_1F2F_2
000m0m_001
001m1m_110
010m2m_211
011m3m_301
100m4m_410
101m5m_500
110m6m_610
111m7m_700

A 1 means the fuse/link between that minterm line and the OR gate is kept; a 0 means it is blown.

A B C
| | |
[3-to-8 decoder] (fixed AND array)
 m0 m1 m2 m3 m4 m5 m6 m7
 |  x  x  |  x  |  x  |   --> OR1 --> F1
 x  |  x  x  |  |  |  |   --> OR2 --> F2
 (x = intact link)
  • F1=m1+m2+m4+m6F_1 = m_1 + m_2 + m_4 + m_6
  • F2=m0+m2+m3F_2 = m_0 + m_2 + m_3

No simplification is needed with a PROM, because the decoder already gives every minterm.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 4 questions →