Basics of core-based FPGA design: Part 1 – core types & trade-offs

R.C. Cofer and Ben Harding

August 17, 2011

R.C. Cofer and Ben Harding

FPGA processor Use Considerations
Many factors influence the decision to implement the processor functionality of a design within an FPGA. A critical factor affecting FPGA processor implementation is the ability to reuse or port existing baseline code. The design team may have existing investments in software, tool sets and processor architecture familiarity.

It is a common practice for a software team to leverage both knowledge and reuse from design to design. There will need to be compelling technical or cost advantages for switching processor cores when significant changes in software are required.

A common design situation involves migrating an existing design that was implemented with a discrete processor and an FPGA in the same system to an implementation based on a processor embedded within the FPGA.

If the same processor core can be implemented within the FPGA as was implemented in the discrete processor design, significant design leverage can occur. The advantages of implementing an embedded FPGA processor in this situation includes access to existing well-defined functional requirements, well-known processor performance requirements and existing processor architecture.

For example, if the current discrete processor is a PowerPC-based processor, then the FPGA embedded processor may be able to be implemented within a hard core 405 PowerPC within Xilinx’s Virtex family. Even if the FPGA processor core is different from the discrete processor core there may still be adequate justification for switching cores.

A potential reason for switching to an FPGA embedded processor is a need to achieve tighter integration between the software and hardware design elements. An implementation of an FPGA embedded processor may be able to reduce system cost and potentially increase performance. The potential for increased performance is a direct result of being able to optimize the design implementation to meet the specific system requirements with an optimized architecture.

An important potential benefit of implementing a design with an FPGA embedded processor is the ability to reduce risk of obsolescence. Traditionally, discrete processors are subject to end-of-life when the component technology becomes too old or the volume of sales drops below a certain threshold.

With a soft or firm processor implementation within an FPGA, it becomes possible to port designs forward to newer FPGA device families. Several factors will influence the ability to carry designs forward in this manner, however, the potential exists if certain conditions are met.

These factors include ownership of the processor HDL code, a processor architecture that is not dependent on specific FPGA hardware features that may not be available in future FPGA devices and ongoing access to software design tools. An important factor to reducing future obsolescence issues is the inclusion of the FPGA processor HDL source code, licenses and software tool set as part of the permanent system technical baseline. Potential benefits for implementing an FPGA processor are presented in the following list.

FPGA-Based Processor Implementation Advantages

1 - Ability to implement all or most of the system functionality within a single device (consolidation of multiple devices into one device)
2 - Ability to implement a highly-tailored embedded processing solution
3 - Ability to implement only the specific functionality required
4 - Ability to implement a scalable processing solution
5 - The potential for improved system performance
6 - Ability to support design modifications later in the design cycle
7 - Optimization of processor-to-peripheral interfaces
8 - Optimization of software versus hardware functional implementation
9 - Improved interaction between hardware and software design (co-design)
10 - More efficient system interface (incorporating chip-to-chip interfaces on chip)
11 - Potential to use the same hardware for multiple applications (lower inventory costs)
12 - Potential lower implementation cost
13 - Ability to implement custom coprocessors
14 - Ability to implement multiprocessor implementation
15 - Ability to implement state-machine functionality

An FPGA-based processor may not always be an ideal fit. For example, an FPGA processor implementation in applications sourced by a battery may not be an optimal fit for FPGA processor technology depending on power consumption. FPGA power consumption has dropped significantly and will continue to drop, but traditionally lags behind stand-alone discrete processors optimized for low-power applications.

Another situation where an FPGA-based processor might not be an ideal fit is when the processor application requires integrated analog functionality within the FPGA component. In general, the processes used to implement FPGAs are optimized for digital circuitry and do not easily support analog functionality. Thus, integrated analog functionality tends to be limited. Very low-cost products are also an application where FPGA technology may not be an ideal fit.

While process technologies continue to drive FPGA costs lower, microcontroller costs also continue to drop. However, FPGAs may be appropriate for projects with functional requirements not met by available commercial processors.

In certain cases, the system cost reduction that may be achieved by merging multiple components into a single FPGA device still may not support implementation within an FPGA. The best applications for embedded FPGA processors are designs that already include or require FPGA functionality. 

To read Part 2, go to: System Design Considerations
To read Part 3, go to  Picking the right core options
To read Part 4, go to  Implementing a design

Used with permission from Newnes, a division of Elsevier. Copyright 2006, from “Rapid System Prototyping with FPGAs,” by R.C. Cofer and Ben Harding. For more information about this title and other similar books, please visit www.elsevierdirect.com.

RC Cofer has almost 25 years of embedded design experience, including real time DSP algorithm development, high speed hardware, ASIC and FPGA and project focus. His technical focus is on rapid system development of high speed DSP and FPGA based designs. He holds an MSEE from the University of Florida anda BSEE from Florida Tech.

Ben Harding has a BSEE from the University of Alabama, with post-graduate studies in DSP, control theory, parallel processing and robotics. He has almost 20 years of experience in embedded systems design involving DSPs, network processors and programmable logic.


< Previous
Page 3 of 3
Next >

Loading comments...

Most Commented

  • Currently no items

Parts Search Datasheets.com

KNOWLEDGE CENTER