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 > Do we always need to partition across FPGAs?

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

Do we always need to partition across FPGAs?

FONT SIZE : AAA

Many FPGA-based prototypes will use a single FPGA device, either because the  design is relatively small or because as prototypers, we have purposely limited the  scope of our project to fit in a single FPGA. As explained in chapter 3, FPGA  capacity keeps increasing in line with Moore’s law, so one might assume that  eventually all prototypes will fit into a single device. However, SoC designs are also  getting larger and typically already include multiple CPUs and other large-scale  application processors such as video graphics and DSPs, so they will still overflow  even the largest FPGA.  

As we shall see in chapter 9 on Design-for-Prototyping, an SoC design can be  created to pre-empt the partitioning stage of an FPGA-based prototyping project.  The RTL is already pre-conditioned for multiple devices and we can consider the  SoC design to consist of a number of separate FPGA projects. By planning in  advance we can ensure that each significant function of the SoC design is small  enough to fit within a single very large FPGA, or otherwise easy to split into two at  a boundary with minimal cross-connectivity.  

However, some designs do not have such a natural granularity and do not obviously  divide into FPGA-sized sections so for the foreseeable future, therefore, we should  usually expect to partition the design into more than one FPGA and for some  designs this may be a significant challenge. In addition, not only do we need to  partition the design but we also need to reconnect the signals across the FPGA  boundaries and ensure that the different FPGAs are synchronized in order to work  the same as they will have in a single SoC. Let’s look in turn at partitioning,  reconnection and design synchronization.

Do we always need EDA partitioning tools?  

If we have not designed our SoC expressly for multiple FPGA prototyping, it is  unlikely that we will be successful without using EDA tools to either aid or  completely automate the partitioning tasks. There are a number of EDA tools that  aid in the partitioning effort and greatly simplify it. Generally, these tools take as  their inputs the complete design and a system resource description, including the FPGAs, their interconnections, and other significant components in the prototyping  system. Some are completely script driven based on a command file, while others  are more interactive and graphical. Interactive tools display the design hierarchy and  the available resources and allow us to drag-and-drop design elements of sub-trees “into” specific FPGAs. Advanced tools will dynamically show the impact of logic  placement on utilization and connectivity.

The following list depicts the advantages of using EDA tools to perform  partitioning:  

• Global implementation constraints are possible and the tools  transparently propagate these constraints to the place & route tools for  each FPGA. 

• The partitioning tools will optionally insert pin multiplexing and employ  logic replication as needed. 

• Some partitioning tools are tightly integrated with FPGA synthesis tools  allowing resource and timing information to be generated by one and  used by the other. This integration further simplifies the partitioning and  synthesis processes.

  • XC17S40LSC

    Manufacturer:Xilinx

  • Xilinx SOP20 7.2
  • Product Categories:

    Lifecycle:Any -

    RoHS: -

  • XCR3384XL-12FTG256I

    Manufacturer:Xilinx

  • CPLD CoolRunner XPLA3 Family 9K Gates 384 Macro Cells 83MHz 0.35um Technology 3.3V 256-Pin FTBGA
  • Product Categories: CPLDs

    Lifecycle:Unconfirmed -

    RoHS:

  • XCR3384XL-12TQ144C

    Manufacturer:Xilinx

  • CPLD CoolRunner XPLA3 Family 9K Gates 384 Macro Cells 83MHz 0.35um Technology 3.3V 144-Pin TQFP
  • Product Categories: Programmable logic array

    Lifecycle:Active Active

    RoHS: No RoHS

  • XCR3384XL-7FT256C

    Manufacturer:Xilinx

  • CPLD CoolRunner XPLA3 Family 9K Gates 384 Macro Cells 135MHz 0.35um Technology 3.3V 256-Pin FTBGA
  • Product Categories: Embedded - CPLDs (Complex Programmable Logic Devices)

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC4VLX25-10FFG676C

    Manufacturer:Xilinx

  • FPGA Virtex-4 LX Family 24192 Cells 90nm Technology 1.2V 676-Pin FCBGA
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Obsolete -

    RoHS:

Need Help?

Support

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