Ctrl-alt-reconfigure: Time for PC/104 to stop merely following the desktop
PC/104 started out as an extension of the desktop PC, using the same processors, chipsets, memory, and I/O from companies such as AMD, Intel, and VIA. The PC/104 community, driven by the PC/104 Embedded Consortium, intentionally positioned the standard at the trailing edge of the desktop market to avoid the whipsawing of the bleeding edge gamers’ market in favor of more stable components, software, and other technology. This ingratiated PC/104 and its mature ISA bus with the customer base and the typically longer life cycles required in embedded applications. But with FPGAs and other reconfigurable logic making such headway in the embedded space, it’s time for PC/104 and other small form factors to blaze their own trail and stop hiding behind the desktop.
I’m advocating taking the best of today’s desktop market and marrying it with what all embedded systems designers want: FPGAs. This becomes a sort of ctrl-alt-reconfigure, if you will. At least one PC/104 vendor, Jacyl Technology, has found incredible success with the military by following this strategy (see article on page 28). I know of several other PC/104 companies doing the same.
With screaming performance multicore CPUs from AMD (Athlon FX-62) and Intel (Core 2 Extreme), radically higher performance will soon be available on PC/104-Plus and PCI-104 boards1 without blowing the power budget. As we went to press in late August, Apple just announced that all the company’s Mac Minis will now come with Intel’s Core Duo processors. The Mini is a passively cooled desktop Mac not much bigger than a PC/104 stack. Clearly Intel’s latest processors are equally ideal for space-constrained embedded systems without requiring boat anchor/scramjet heat sinks and coolers.
|“I’m advocating taking the best of today’s desktop market and marrying it with what all embedded systems designers want: FPGAs.”|
And as the PC/104 Consortium adds PCI Express (PCIe) into the mix (refer to article on page 8), 2.5 Gbps serial fabrics and beyond will soon interconnect modules in the stack and offer higher-speed I/O options than today’s 10/100 Ethernet. Vendors need to start adding reconfigurable FPGAs onto PC/104 boards. With high-density Virtex-4 devices from Xilinx or Stratix II chips from Altera, PC/104 and other small form factors can now go toe-to-toe with heavyweight embedded boards such as CompactPCI or VME.
Stacks containing FPGAs, interlinked or routed to the outside world with PCIe, can immediately rival the functionality of existing PMC mezzanines. Moreover, several can be stacked together, which if you do the performance/area calculations ought to be roughly equivalent to a 6U-sized board with one PMC.
FPGAs and PCIe will be PC/104’s great enablers. Inside FPGAs you can find 32-bit ARM 7TDMI cores, IBM PowerPC 750 cores, Viterbi encoders, H.264 and MPEG4 encoders, digital down conversion RF front ends, and literally thousands of other logic instantiations – all as COTS IP. (Check out Altera’s list, or Xilinx’s list at: www.xilinx.com/ipcenter/. Countless other choices are available, too, from Actel, Lattice, QuickLogic, and third parties.)
And the beauty of PCIe as an interconnect is that these FPGAs and their signals can be fed and routed to the outside world. Or, if you prefer a different serial interconnect, designers can choose their favorite serial fabric and plop it into the FPGA. From raw LVDS signal I/O rings to RapidIO, designers have a wealth of high-speed choices.
But with FPGAs and dramatically increased functionality comes more complexity. Thankfully, the programmable logic industry is rife with high-value tools that simplify the PC/104 designer’s task and the task of the PC/104 customer, too, assuming that the FPGA ships in a reconfigurable mode. At a recent OSP E-cast (webcast) I moderated, several FPGA tools vendors outlined the incredible sophistication – and simplicity – of FPGA development environments. (Refer to www.opensystems-publishing.com/ecast/)
Products from Gedae, for example, provide a high-level model-driven environment for creating FPGA-based multiprocessing between heterogeneous processors. That means that a Xilinx Microblaze IP core can do the heavy lifting in an inner control loop for a piece of industrial equipment, while still passing coarse control results to an Intel Core Duo CPU. And because the main x86 CPU is a software-driven processor while the FPGA is primarily a hardware-driven element, Electronic System Level (ESL) design tools from Celoxica, for example, are intended to parcel complex system problems between software and hardware elements.
With FPGAs, PC/104 and other small form factors can reside right at the sensor itself, performing preprocessing and reducing the data load on the downstream processor. Or, their inherent reconfigurability allows in-system adaptability and complete function changes, sometimes on-the-fly.
Armed with the hottest desktop processors and interconnects, it’s time for x86-based PC/104 and other small form factors to take an open arms approach to FPGAs. The system and application possibilities would quickly go from trailing- to leading-edge.