A more conventional board approach is found in Avnet’s $495 Xilinx MicroBlaze Starter Kit, which includes the Linux for MicroBlaze DVD plus a Spartan-3A DSP XC3SD1800A edition board (Fig. 3). The DVD features PetaLogix Petalinux and Lynux- Work’s BlueCAT Linux distribution and tool chains, including support for the MicroBlaze memory management unit (MMU). There’s plenty of room on the DVD for video and instructional material in addition to the operating system and tools.
The board has Gigabit Ethernet support, a serial port plus 128 Mbytes of DDR2 SDRAM, 16 Mbytes of configuration flash, and 64 Mbits of serial peripheral interface (SPI) configuration flash. It also has JTAG, a System ACE module, and Eridon debug connectors. Similar to Altera, Xilinx provides its Integrated Synthesis Environment (ISE) for hardware development and an Eclipse-based Embedded Development Kit (EDK) for software development.
Altium’s Altium Designer takes an integrated approach to tools. It can handle a wider range of design chores, including printed-circuitboard (PCB) layout. Altium Designer also can be used with the company’s NanoBoard platform (see “System Design Environment Goes ‘Soft’” at www.electronicdesign.com, ED Online 18334).
This platform differs from most in that it supports all major FPGA vendors’ product lines. Even more impressive is its ability to swap chips and use the same FPGA IP, assuming it doesn’t take advantage of vendor/chip-specific features.
Sometimes, developers will exploit the features of FPGAs. For example, they’ll use one for development that programs faster, while deploying another with better power or performance features. Altium also takes the development platform to deployment. The Industrial Handheld Unit can use the same plug-in modules as the NanoBoard platform (Fig. 4).
Most kits come preconfigured with a soft or hard core plus a complement of standard peripherals. Software developers can program the system strictly using the software-development tools without having to contend with FPGA tools, but this often defeats the purpose of an FPGA platform. Still, it highlights how a software developer’s exposure to hardware configuration can be minimized.
An interesting alternative to configuring the FPGA and then matching it to the hardware interfaces and connectors comes by way of Eridon’s UnifiedLogic Development Platform (see “Use New Hardware To Get Your Job Done Faster,” ED Online17905). It has a Xilinx Spartan-3A or Virtex-II FPGA-based board at its center, along with multiple connectors that can be used with an array of standard interface uCard modules for connections to Ethernet and RS-232 serial ports (Fig. 5).
The interface modules include a flash-memory device that can be read by the system at configuration time. The Eridon IDE takes this into account and then provides interfaces to be incorporated into a design or to verify that a design’s requirements are met. Modules may be daisy-chained with each module utilizing an arbitrary number of signals. The configuration information notes the functionality of the modules and the number of signals so the system knows what device is attached to a particular FPGA pin.
UnifiedLogic also addresses real-time operating systems (RTOSs) and device synthesis, providing a more robust environment for development and debugging than most alternatives. Altium Designer has a similar approach with more support on the PCB and FPGA design side. However, it lacks the explicit operating-system support found in Eridon’s solution.
Eridon’s approach even includes an online cost-estimate calculator. It matches the menu-style selection of peripherals versus the drag-and-drop schematic capture or the more exacting RTL/ HDL design used with most FPGA design tools.
HARD AND SOFT FPGA vendors can deliver a host of standard soft cores (see the table). Xilinx also offers PowerPC hard cores with better performance. It’s possible to mix and match cores, which often garners better results than using a large or more sophisticated alternative.
One good example is Actel’s CoreABC (Amba bus controller). This tiny 159-tile core is just 1/20th the size of a 32-bit Cortex- M1. Also, this free controller is ideal for handling interfaces or for supporting FPGA IP. The CoreABC can operate alone, but a more typical scenario has one or more working in conjunction with a power core.
FPGAs enable designers to choose a core that’s relatively independent of peripherals. This means a designer could choose, say, the fault-tolerant version of the LEON3 processor for systemcritical applications.