The point is, I can't see a real difference
between a ROM chip and a
decoder + gates. Electronically they're much the same thing. Physically,
to change the program, I have to use a soldering iron. It is _not_ clear
to me why one is called firmware and the other called hardware.
A ROM chip doesn' have firmware, since it's hard-wired at the factory. A
Are you saying that a program in a mask programmed ROM is not firmware?
Because everybody else that I know would call it that.
PROM/EPROM/EEPROM, PAL/GAL, CPLD, FPGA or
whatever, that you can program to
suit your own definition, falls in a different class. A RAM, which doesn't
retain that definition between power-on cycles, falls into a different
category.
And where do you put core memory? Or core-on-a-rope? :-)
The distinction between hardware and firmware is
in that you can't tell from
looking at the part as you buy it, what it's going to be. If you buy a 7474,
That's a dubious definition at best....
If I buy a 7474, then I know it's going to be 2 d-type ff's. But I can
choose to use those as 2 bits of an register on a CPU I want to build, or
as a /4 clock divider, or to do the handshake for a centronics input
port, or...
Or 1/2 as an inverter for an xtal oscillator and 1/2 for div/2
(had to do that one to avoid using 1 more package)
If I buy a PROM, then again I know it's going to store (say) 256 4 bit
words. But I can use those as a tiny bit of microcode, or as the feedback
logic for a state machine, or whatever...
-tony