Support|documentation

  Xcell Journal Online
  Xcell Journal Archives
   
  Writing for Xcell
  Advertising in Xcell
  FREE Subscription
   
  Partner Yellow Pages
  Reference Pages
  Contact Us

    

Home : Documentation : Xcell Journal Online : Article
Implement an Embedded System with FPGAs



by Zulfiqar Ali Zamindar, Field Application Engineer, Nu Horizons Electronics Corp.
azamindar@nuhorizons.com (8/1/04)


Merging the processor capability onto the FPGA on board can boost system performance and lower overall system cost.
article link to PDF
Article PDF 390 KB


Xilinx FPGAs have been a great platform for control logic and system interfaces for years, but have been missing the processor capabilities fulfilled by external processors in every application. Today’s complex systems require a large amount of memory, a super fast microprocessor, a digital signal processor, and a variety of system interfaces to communicate with other chips, systems, and backplanes.

Every system has an external processor and memory component that delays system performance and increases system component cost. Once you’ve integrated both, you can then concentrate on making your system faster and eliminate performance bottlenecks.

Many companies have focused their efforts on developing the system-on-chip concept by adding feature sets to bring additional functionality to single silicon. These customized ASICs have become a very costly solution in today’s competitive and time-to-market landscape.

FPGA technology has come a long way in recent years by increasing a large number of intellectual properties to reduce the cost of silicon development in various markets. This was accomplished by optimizing architecture, leading process technology, and adding both soft and hard embedded processor cores.

Some of the applications for embedded processors are infotainment systems in automotives, security systems in storage and networking markets, high-speed data analysis by data warehouse, and system monitoring in various applications. Having a processor inside an FPGA is the perfect design innovation for these types of applications; a programmable system-on-chip in the FPGA will not only support changing IP standards but can also quickly adapt to newly defined programmable systems for new markets.

Embedded Development Kit
Xilinx expanded the features within its FPGAs by adding embedded IBM™ PowerPC™ 405 processors in its Virtex-II Pro™ devices and MicroBlaze™ soft processors in both the Virtex™ and Spartan™ architectures. This is just another step towards innovation, similar to embedded block memory, block multipliers, clock management, and multiple high-speed I/O circuitries.

Time to market still remains critical to all companies developing both hardware and software for a system. With the Embedded Development Kit (EDK) from Xilinx, you can simultaneously create both hardware and software designs and generate a system file with just a few tool clicks. The tool allows you to create block-based processor systems with many widely used peripherals like Ethernet MAC, GPIO, SDRAM Controller, UART, and IIC, all in one silicon.

With EDK v6.2 (Figure 1), the base system builder (BSB) wizard allows you to select any board from Xilinx and its distributors and connect the processor to any board component with just a few clicks. It also creates a simple software application in C that you can expand and customize.

The EDK tool also comes with a GNU-based compiler/debugger, allowing you to compile and debug within the same GUI used to develop the hardware system. The library generator (LibGen) in EDK creates all of the libraries, drivers, executables, and link files for the processor design.

Initial support for the board support package (BSP) includes Wind River Systems’ vxWorks™ for PowerPC-based embedded designs and the Xilinx microkernel for MicroBlaze-based designs.

EDK v6.2 has automated the memory addressing capabilities of all of the selected design peripherals. It also has the capacity to bring developed cores into the tools environment, adding them to the processor or peripheral bus. For example, you can create a core in System Generator for DSP and bring a finite impulse response (FIR) filter or other IP into your processor-based design.

EDK is fully capable of running ISE tools in the background with a built-in feature called XFLOW, achieved by a command-line script file. This flow can synthesize, place, route, and generate hardware configuration files; compile and execute multiple software codes; generate libraries for code; and merge firmware to hardware files for downloading to a target board. All of this is achieved by just a few clicks in the EDK software.

EDK v6.2 also allows you to add ChipScope™ Pro cores during the design process to debug your design in hardware. You can add ICON, ILA, and IBA cores the same way that you can add user or Xilinx IP. Once you have downloaded the design into a target board, you can open the logic analyzer to trigger signals and view the wave form to debug your systems.

With ChipScope Pro 6.2 software, a powerful virtual I/O core has been added, which you can use as a DIP switch or LED to simulate signals and view outputs.

The Nu Horizons Spartan-3 Board
Xilinx and its distributors have several boards for prototyping or emulating a processor-based system. A low-cost and widely adaptable prototyping platform from Nu Horizons is the Spartan-3™ development board (HW-AFX-SP3-400-DB).

NuHorizons recognizes the importance of prototyping platforms for its customers, as well as entering into new markets where Spartan-3 allows us to increase market share. The board (Figure 2) comprises the following:

  • Xilinx 3S400-4PQ208C Spartan-3 device
  • 4 x 24 character LCD
  • LED
  • Push button
  • Oscillator with PLL
  • RS232-C interface
  • A/D and D/A converter
  • Flash memory
  • SDRAM memory
  • JTAG configuration header for programming
  • Test point headers for debugging device
This fully loaded Spartan-3 development board includes all the features necessary to prototype a MicroBlaze-based embedded system design. The board comes with the Xilinx WebPACK™ version of ISE tools, design files, user’s manual, and documentation. The option of getting the board bundled with ChipScope Pro and EDK software is also available.

The Spartan-3 board comes with a simple display controller design that uses the MicroBlaze core, a few GPIOs, RS232, and a JTAG interface designed in EDK. The BSB flow makes it very easy to target the Nu Horizons board in EDK and generate an embedded design with the MicroBlaze processor in a few clicks. With the GNU debugger and ChipScope Pro software, you can debug a design within the same GUI environment.

Besides the MicroBlaze core, the Spartan-3 platform is a great tool in which to implement the Xilinx PicoBlaze™ 8-bit soft controller reference design. Nu Horizons field application engineers have written several designs covering memory controllers, embedded processors, hardware-in-the-loop with digital signal processing (DSP), and system monitor design using analog-to-digital (ADC) and digital-to-analog converters (DAC) on the board. ADC and DAC are very powerful attributes of our low-cost board, and two of the many competitive board features.

The Nu Horizons Spartan-3 board also supports Shift-Right Technologies’ free open-source eXtreme Minimal Kernel (XMK). XMK is a 100% free, preemptive multi-threaded RTOS for microcontrollers. XMK’s primary design goal is to be extremely small without sacrificing performance or functionality.

XMK’s minimal footprint makes it ideal for running an 8-bit microcontroller, while its feature content makes it an excellent choice for 16-bit and 32-bit microcontrollers. uIP is one of the several free TCP/IP stacks integrated into the XMK operating system. The uIP TCP/IP stack makes it possible to connect to a TCP/IP network without sacrificing interoperability or RFC-standard compliance.

Conclusion
The era of creating embedded designs in FPGAs is here. With tools like EDK, anyone can implement a powerful system-onchip design within days.

The Spartan-3 board from Nu Horizons is a perfect solution for prototyping logic and embedded processing in Xilinx FPGAs. The board has all of the interfaces necessary to create an embedded system design. Nu Horizons is also in the process of releasing a Spartan-3 (3S1500) platform board for those who need higher density logic, more memory, and a high-performance interface for video and imaging applications.

All of the designs and related documentation for the Spartan-3 board are available on the Nu Horizons website at www.nuhorizons.com/products/xilinx/spartan3/development-board.html.

Printable PDF version of this article with graphics. PDF logo (8/1/04) 390 KB

 
/csi/footer.htm