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 > Partitioning and reconnecting > Automated partitioning

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

Automated partitioning

FONT SIZE : AAA

We touched upon impact analysis earlier and considered that it might be possible to  automate partitioning based on a similar approach.  

Generally, automatic partitioning tools work towards the same prime goals as we  would ourselves, namely to minimize IO connectivity between FPGAs and balance  resource utilization inside the FPGAs, but they do not have the intelligence to  replace an experienced prototyper in finding an optimal solution. What they can do  very well, however, is to try very many strategies until something works. An ideal  combination may be to use our skill and knowledge to assign an initial set of blocks  and then allow the automatic tool to complete the rest.

At the very least we will need to guide the tools. Here are some tasks which should  be done manually in order to assist an automatic partitioner:  

• Group pins together that need to be connected to an off-FPGA resource  (e.g., memory or external interface). If there are no constraints to keep pins  together the partitioner may split the pins across all FPGAs. This would be  a problem because a typical external resource like a memory is normally  connected to only one FPGA. 

• Constrain resource usage per device: the automatic partitioner may have  a default, but in any case, the available resources (gates, logic, memory)  inside an FPGA should be constraint to a maximum of 50 to 70%.  

• Populate black boxes or manually assign a resource count so that even  the black boxes appear to have some size and then the partitioner will  reserve space for that black box. Autopartitioners cannot split black boxes. 

• Assign clocks and reset manually: as we would for manual partitioning,  special components like the clocks, resets and startup should be replicated  into all FPGA and this must usually be done manually (see next section). 

• Group blocks together for peak performance: an example here is the  manual partitioning of blocks which should stay in one FPGA to get  highest performance. 

• Allow automatic partitioner to perform multiplexing: the quality of the  results will vary from tool to tool, but in those designs which need IO  multiplexing, the automated tool may be able to find a solution which  allows a lower multiplexing ratio and hence higher system performance.  

There are a number of commercially available automated partitioning tools, each  with a different approach. However, we must not think of these tools as a pushbutton or optimal solution. The only partitioning tools which come close to this  push-button ideal are aimed at quick-pass, low utilization and low performance  results, best suited to emulator platforms. For FPGA-based prototyping, where high-performance is our main aim, this kind of fully automated partitioning is not  feasible and it will always be both necessary and beneficial for us humans to stay  involved in the process.


  • XC3S50A-4FT256C

    Manufacturer:Xilinx

  • FPGA Spartan-3A Family 50K Gates 1584 Cells 667MHz 90nm Technology 1.2V 256-Pin FTBGA
  • Product Categories: Embedded - FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC3S50A-4TQ144I

    Manufacturer:Xilinx

  • FPGA Spartan-3A Family 50K Gates 1584 Cells 667MHz 90nm Technology 1.2V 144-Pin TQFP
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC3S50A-5TQ144C

    Manufacturer:Xilinx

  • FPGA Spartan-3A Family 50K Gates 1584 Cells 770MHz 90nm Technology 1.2V 144-Pin TQFP
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC3S50AN-4TQ144I

    Manufacturer:Xilinx

  • FPGA Spartan-3AN Family 50K Gates 1584 Cells 667MHz 90nm Technology 1.2V Automotive Medical 144-Pin TQFP EP
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC5215-6HQ208C

    Manufacturer:Xilinx

  • FPGA XC5200 Family 23K Gates 1936 Cells 83MHz 0.5um Technology 5V 208-Pin HSPQFP EP
  • Product Categories: FPGAs

    Lifecycle:Obsolete -

    RoHS: No RoHS

Need Help?

Support

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