3 ms·
A PLA is much more efficient than a ROM because it can take advantage of "don't care" entries. Specifically, the 6502 has a 130x21 PLA = 2730 entries. A ROM wou
by kens 10y ago
A PLA is much more efficient than a ROM because it can take advantage of "don't care" entries. Specifically, the 6502 has a 130x21 PLA = 2730 entries. A ROM would need 11 inputs (instruction + timing) and 130 outputs, so 130*2^11 = 266240 entries plus the decoding logic.
(You could reduce the ROM size by using tricks such as multiple levels of ROM or partially decoded ROMs.)
Instruction sets are usually defined so groups of bits have meanings and can be decoded separately. This makes the PLA a good fit.
For a specific example, the 6502 PLA decodes instructions matching 100XX1XX to the control line STY (ignoring the timing bits for simplicity). This takes 1 row in the PLA, but it would take 16 entries in a ROM.
More info on the 6502 PLA: http://visual6502.org/wiki/index.php?title=6507_Decode_ROM http://visual6502.org/wiki/index.php?title=6507_Decode_ROM
- bogomipz 10y agoThanks for the excellent answer and the link! I thought ROM had something similar to "don't care" bit which was a 0 was represented by the absence of a transistor. Or does "don't care" mean something else?