This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > FPGA Technical Tutorials > FPGAs: World Class Designs > FPGA Architectures > EMBEDDED PROCESSOR CORES

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

EMBEDDED PROCESSOR CORES

FONT SIZE : AAA

Almost any portion of an electronic design can be realized in hardware (using  logic gates and registers, etc.) or software (as instructions to be executed on a  microprocessor). One of the main partitioning criteria is how fast you wish the  various functions to perform their tasks:

● Picosecond and nanosecond logic: This has to run insanely fast, which  mandates that it be implemented in hardware (in the FPGA fabric).  

● Microsecond logic: This is reasonably fast and can be implemented either  in hardware or software (this type of logic is where you spend the bulk of  your time deciding which way to go).  

● Millisecond logic: This is the logic used to implement interfaces such as  reading switch positions and flashing light-emitting diodes (LEDs). It’s a pain slowing the hardware down to implement this sort of function (using  huge counters to generate delays, for example). Thus, it’s often better to  implement these tasks as microprocessor code (because processors give you  lousy speed—compared to dedicated hardware—but fantastic complexity).

The fact is that the majority of designs make use of microprocessors in one  form or another. Until recently, these appeared as discrete devices on the circuit board. Of late, high-end FPGAs have become available that contain one  or more embedded microprocessors, which are typically referred to as microprocessor cores. In this case, it often makes sense to move all of the tasks that  used to be performed by the external microprocessor into the internal core.  This provides a number of advantages, not the least being that it saves the cost  of having two devices; it eliminates large numbers of tracks, pads, and pins on  the circuit board; and it makes the board smaller and lighter.

Hard Microprocessor Cores

A hard microprocessor core is implemented as a dedicated, predefined block.  There are two main approaches for integrating such a core into the FPGA:

  1. Locate it in a strip (actually called “ The Stripe ” ) to the side of the main  FPGA fabric ( Figure 2-13 ). In this scenario, all of the components are typically formed on the same silicon chip, although they could also be formed  on two chips and packaged as a multichip module (MCM). The main FPGA  fabric would also include the embedded RAM blocks, multipliers, and so  on, but these have been omitted from this illustration to keep things simpler.  One advantage of this implementation is that the main FPGA fabric is  identical for devices with and without the embedded microprocessor core,  which can help make things easier for the design tools used by the engineers. The other advantage is that the FPGA vendor can bundle a whole  load of additional functions in the strip to complement the microprocessor  core, such as memory, special peripherals, and so forth.

    Bird’s-eye view of chip with embedded core outside of the main fabricpng

  2. An alternative is to embed one or more microprocessor cores directly into  the main FPGA fabric. One-, two-, and even four-core implementations  are currently available ( Figure 2-14 ). In this case, the design tools have to  be able to take account of the presence of these blocks in the fabric; any  memory used by the core is formed from embedded RAM blocks, and  any peripheral functions are formed from groups of general-purpose programmable logic blocks. Proponents of this scheme will argue that there  are inherent speed advantages to be gained from having the microprocessor  core in intimate proximity to the main FPGA fabric.

Soft Microprocessor Cores  

As opposed to embedding a microprocessor physically into the fabric of the  chip, it is possible to configure a group of programmable logic blocks to act  as a microprocessor. These are typically called soft cores, but they may be  more precisely categorized as either “ soft ” or “ firm ” depending on the way  in which the microprocessor’s functionality is mapped onto the logic blocks.  Soft cores are simpler (more primitive) and slower than their hard-core  counterparts.

Bird’s-eye view of chips with embedded cores inside the main fabricpng

—Technology Trade-offs—

● A soft core typically runs at 30 to 50 percent of the speed of a hard core. 

● However, they have the advantage that you only need to implement a core if  you need it and that you can instantiate as many cores as you require until  you run out of resources in the form of programmable logic blocks.




  • XC4VLX60-11FF668I

    Manufacturer:Xilinx

  • FPGA Virtex-4 LX Family 59904 Cells 90nm Technology 1.2V 668-Pin FCBGA
  • Product Categories: Disjoncteur

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC4VLX60-12FF1148C

    Manufacturer:Xilinx

  • FPGA Virtex-4 LX Family 59904 Cells 90nm Technology 1.2V 1148-Pin FCBGA
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC40150XV-08BG560C

    Manufacturer:Xilinx

  • FPGA XC4000XV Family 150K Gates 12312 Cells 0.25um Technology 2.5V 560-Pin Metal BGA
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XC18V04PC44C-RI

    Manufacturer:Xilinx

  • Xilinx PLCC
  • Product Categories:

    Lifecycle:Active Active

    RoHS: -

  • XC40150XV-09BG432C

    Manufacturer:Xilinx

  • FPGA XC4000XV Family 150K Gates 12312 Cells 0.25um Technology 2.5V 432-Pin BGA
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS: No RoHS

Need Help?

Support

If you have any questions about the product and related issues, Please contact us.