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 > FPGA-Based Prototyping Methodology > PROTOTYPING + VERIFICATION = THE BEST OF BOTH WORLDS > System partitioning

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

System partitioning

FONT SIZE : AAA

Getting the hardware-software partition in the right place is critical to achieving  good system performance. There are a number of issues that designers must  consider, as well as some practical guidance to follow. 

First, there are certain fixed constraints. Some parts of the system – for example, the  testbench – may just not be synthesizable, so the design team cannot place them in  hardware. They may also be constrained by design size and need to map the design  to multiple FPGAs. Remember that high utilization of the available gates leads to  longer implementation times, especially because of place & route.

For parts where they have choice, design teams need to decide where to put the  bridge between hardware and software. They can only make a cut where they can  use a transactor that already exists, or that they can easily obtain. This tends to favor  inserting the partition at well-defined industry standards, such as on an AHB™ bus  interface. Making a cut at some arbitrary point means that the design team has to  come up with a way of modeling it, which can create problems. 

Once they have considered the constraints, the design team must analyze the design  to understand where they can make the cut in order to reduce the communication  between the simulator and the hardware. To maximize the chances of having the  FPGA accelerate the design, ideally they need to have computation in the hardware  dominate communication between the simulator and hardware.

Whether a design team will see their design accelerated depends predominantly on  the traffic across the interface between hardware and software. If the traffic is  characterized by a few control signals, the design team will likely see a huge speed up. On the other hand, heavy interaction between the simulator and DUT may yield  a small speed-up, or none at all. Table 33 shows how applying Amdahl’s law helps  to predict simulation acceleration.

Recommendation: if the aim is simulation acceleration, consider where  computation is happening. Move more and more components into the DUT, if  possible synthesize the testbench so that everything runs in the DUT.

Ahmdahl’s law predicts simulation acceleration.png

Sometimes, design teams choose to successively refine their partitions by moving  more and more into the DUT, as the RTL becomes mature. Not committing untested  code to the FPGA helps them to manage risk. For maximum performance they can  move across all synthesizable parts of the testbench.

Recommendation: if the DUT uses multiple FPGAs, dedicating the simulator  interface to just one of the FPGAs will help improve performance.




  • XC2C64A-7CP56I

    Manufacturer:Xilinx

  • CPLD CoolRunner -II Family 1.5K Gates 64 Macro Cells 159MHz 0.18um Technology 1.8V 56-Pin CSBGA
  • Product Categories: Embedded - CPLDs (Complex Programmable Logic Devices)

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC2C64A-7PC44C

    Manufacturer:Xilinx

  • CPLD CoolRunner -II Family 1.5K Gates 64 Macro Cells 159MHz 0.18um Technology 1.8V 44-Pin PLCC
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XC5VFX100T-1FFG1738I

    Manufacturer:Xilinx

  • FPGA Virtex-5 FXT Family 65nm Technology 1V 1738-Pin FCBGA
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS:

  • XC5VFX100T-2FF1738I

    Manufacturer:Xilinx

  • FPGA Virtex-5 FXT Family 65nm Technology 1V 1738-Pin FCBGA
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC5VFX100T-3FF1136C

    Manufacturer:Xilinx

  • FPGA Virtex-5 FXT Family 65nm Technology 1V 1136-Pin FCBGA
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Unconfirmed -

    RoHS: No RoHS

Need Help?

Support

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