Back when I had a real job in engineering I loved to use FPGAs. Field-programmable gate arrays were a big improvement over PALs and PLDs because they could hold so much more logic. A PLD might handle a simple state machine but an FPGA could hold most of a board's system logic, memory controller, or bus interface. FPGAs were wonderful devices: vast digital whiteboards where I could sketch out logic designs and test them in minutes.
And like big whiteboards, you could erase them without a trace. No smell of solder or telltale blue wires on the back of the board would betray my incompetence. You could fiddle with FPGA designs all day long with no one the wiser, as long as you didn't change the chip's pinout. Even though PLDs were pretty cheap, you could fill a wastebasket with them if you weren't careful.
I did learn that FPGAs weren't suitable for everything. A DRAM controller that needed nanosecond accuracy proved a poor choice for an FPGA whose timing drifted like a paper sailboat when the chip warmed up. But that was partly the beauty. You could experiment and test with no repercussions until you found the right design tradeoff. Hardware bugs succumbed to software fixes downloaded into those malleable chips. With no hardware cost, chip designs would spin faster than a frog in a blender. Those were good times.
And they're here to stay, with FPGAs and other forms of programmable logic becoming more common and more affordable. As their acceptance grows, the skill set of the typical hardware engineer will grow with them.
Our monthly installments of the embedded survey results have been very popular, which is a good thing—until someone spots a mistake. In this case, it was a particularly vexing and embarrassing one. In the June issue (“Operating Systems Up for Grabs,” p.36) we shared the statistics for embedded operating systems: which ones developers are using now and which ones they'd consider in the future. Unfortunately, at least one RTOS was missing from the list we provided to our thousands of survey takers. This was made very clear to me when dozens of irate μC/OS users wrote to say their favorite RTOS hadn't appeared in the survey. I was so sure it had appeared that at first I thought we must have misprinted the results. No such luck; μC/OS had been left off the multiple-choice list we provided to survey takers.
We'd certainly intended to include μC/OS but due to an accidental editing error it somehow got removed in the final version we fielded. Even though we'd reviewed and proofread the survey questions at least seven times, this mistake somehow slipped past me at the very end. My apologies to all the loyal and satisfied μC/OS users and vendors out there; I'll try to do better next year.
Not unexpectedly, Jean Labrosse, Mister μC/OS himself, wrote to express his, er, surprise at our little omission. He was admirably diplomatic; his letter appears in the Parity Bit section. The survey mistake is all the more embarrassing because Jean's a good friend of this magazine and a popular speaker at the Embedded Systems Conference. So it goes. If bugs crept in where you wanted them they wouldn't be bugs, would they?