TTL computing

From: Richard Erlacher <>
Date: Wed Apr 10 19:42:24 2002

----- Original Message -----
From: "Tony Duell" <>
To: <>
Sent: Wednesday, April 10, 2002 3:09 PM
Subject: Re: TTL computing

> >
> > I think you may be mistaken there, Tony. If you wire up a set of gates to
> > generate the outputs otherwise generated by a PROM, it's hardware, not
> > firmware, since it's hard-wired and not programmable.
> By _your_ definition, sure...
> 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
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
> >
> > Likewise, if you configure a CPLD to contain what (a logic function) would
> > otherwise have been generated with discrete LSI/MSI/SSI logic, it's still
> > firmware. From what I have gathered over the years. If it can't be
> So by your definition, a CPLD or FPGA are firmware? Most people consider
> them as hardware, I think.
I said it was a quagmire, didn't I? It happens that some folks differentiate
between hardware and firmware based on whether you can touch it or not. You
can't touch firmware, at least not in a practical sense, just as you can't
touch software. It happens that both firmware and software can live in
hardware. If you can touch it, however, it's hardware. Have you ever touched
software? I suppose you could touch firmware in the form of a bipolar PROM in
a ceramic package that got too hot, exposing the device, including its fuse
array, and you could even read it, which you certainly can't do with software
on a diskette without external equipment. Of course you can read software on
a paper tape as well ...

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,
you know it's going to be a 'D' flipflop with positive-going clock and
negative-going direct set and direct clear inputs, and true and complement
outputs. It doesn't go without saying that you won't use it as an R/S
flipflop, but its definition as a 7474 does define what its capabilities are.
That's true in a much more general sense of PALs, FPGA's, and EPROMS, too, but
not so much, and the distinction lies in the gray area somewhere. The fact is
that some devices, devices being hardware, were intended to hold firmware.
That's their function. They are hardware, but they hold firmware. Firmware
is like software, except that it's not so easy to change, and, though it stays
on the hard or floppy disk, it doesn't stay in the memory into which it's
loaded when the power goes down. If it does, it's firmware. Now that brings
up the matter of battery-backed RAMs ...
> > from the device without making the function of the item go away, then it's
> > hardware or firmware. If it's possible to remove it and leave the
> If I remove the operating system from any normal computer, the computer
> ceases to function in the same way. So you're claiming the OS is hardware
> or firmware, yes?
If you take out the hard disk, you've removed the piece of hardware whereon
the software resides. If a piece of code has to be loaded into a memory from
which it executed by the CPU each time it's required, i.e. when the power is
turned on, it's probably software.

Now, the contents of an FPGA have to be loaded from an EPROM or EEPROM of some
sort, either directly or indirectly via a processor or other means. I don't
want to say that's not firmware, since it's stored in a device normally used
for firmware, but it seems that it's stored in RAM, lost when power is lost,
so I can't argue with someone who wants to say that what's in an FPGA is
software. I can't disagree that it's firmware either, however.
> > device/system of which it's a component intact, having simply removed that
> > function it's probably firmware. If it is copied from one medium to
> So a serial card is firmware? I remove it from my PDP8/e and the PDP8/e
> still works much the same as before. All I remove is one function (namely
> a serial I/O link).
Nope ... if you can touch it, it's hardware. You can't touch firmware, and
you can't touch software, though you can touch listings of them. As I said
before, it's a semantic quagmire, simply because evolution of the technology
has blurred the boundaries. In general, however, people seem to agree that if
it is something you can touch, it's hardware. If it's something that's
"there" when you turn on the power, it's firmware, and if it llives on a mass
storage medium and goes away along with the power, then it's probably
> > before it becomes part of the system, it's probably software, particularly
> > it resides in a locus capable of being routinely modified, it's probably
> > software. (notice the need for "wiggle-room")/
> Yes, the above examples are silly. We can all give conventional examples
> of hardware, software and firmware. But IMHO there are some things that
> are most definitely 'on the edge' (the 'ROM' made from decoders and OR
> gates is one such). This does not make the terms useless, of course.
> -tony
Received on Wed Apr 10 2002 - 19:42:24 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:34:30 BST