by Axel Tillmann
Electronic design automation is taking on a wider role than its traditional scope. A concept can be taken from an idea or a standard, and eventually end up as an implementation in either silicon or software. EDA no longer involves only a hardware implementation; it is implementation, period.
There seems to be a notion in the electronics industry that hardware is difficult to design and software is easy. But fundamentally, it's not really clear why one should be easier than the other.
Hardware is extremely logical, like any mathematical formula. Software, on the other hand, often does not follow the same constraints. It's not that it couldn't, but historically, it doesn't.
Firmware is an odd animal - where software becomes somewhat more hardened, but not hard enough to be called hardware. Firmware is a piece of software, which works very closely with hardware and is typically used for embedded processors. Firmware may be loaded at startup time into a particular memory area, or could be stored permanently in flash memory or an EPROM.