A read-only memory (or ROM for short), is like an
ordinary memory, except that it does not have the capability of
writing. Its contents is fixed at the factory.
Since the contents cannot be altered, we don't have a r/w
signal. Except for the enable signal, a ROM is thus
like an ordinary combinatorial circuit with m inputs and
If a ROM is like an ordinary sequential circuit, then why do we
treat it separately? The answer is that ROMs are usually
programmable. They are often sold with a contents of all
0s or all 1s. The user can then stick it in a
special machine and fill it with the desired contents, i.e. the ROM
can be programmed. In that case, we sometimes call it a
PROM (programmable ROM).
Some varieties of PROMS can be erased and re-programmed. The way
they are erased is typically with ultra-violet light. When the PROM
can be erased, we sometimes call it EPROM (erasable PROM).