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 > FPGA technology today: chips and tools > FPGA–based Prototyping process overview

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

FPGA–based Prototyping process overview

FONT SIZE : AAA

Figure 26 shows the basic flow that we follow in the FPGA-based prototypingprocess: 

Let’s quickly look at each of these steps in turn.

• Synthesis: may e performed before or after partitioning. The process ofconverting RTL into an FPGA netlist. The synthesis process generates anFPGA netlist for the device of choice, and the implementation constraintsto be used by the FPGA back-end tools. In addition, some synthesis toolsprovide early estimation of the expected performance, which allows the

Basic FPGA-based Prototyping flow.png

modified to better fit the FPGA technology and the specific prototypingplatform. Typical modifications to the SoC RTL include the removal ofblocks not to be prototyped, replacing some SoC-specific structures withFPGA structures like clock generation and other IP, and resizing blockslike memories to better fit in FPGA.

• Partitioning: the process in which the FPGA-ready version of the SoCRTL design is divided into blocks that map into individual FPGAs. Thisstep is needed for designs that do not fit into a single FPGA. Partitioning  can be done manually or using partitioning tools. A number of approaches to partitioning were explored in chapter 3. 

• Constraint generation: this is a convenient point in the flow to enter the various implementation constraints such as timing and pin placements. Although constraints may be generated and applied to the back-end tools after synthesis, doing so prior to the synthesis step allows synthesis to produce an FPGA netlist that is more optimized to meet the area/speed constraints after place & route. 

• Place & route: the process of converting the FPGA netlist and the user constraints into an FPGA bit stream which will be loaded into the FPGA to provide it with the design functionality. This is often simply referred to as place & route, but in fact involves a number of steps such as mapping, place & route and timing analysis. 

We will take a closer look in particular at all of the implementation steps but we do not plan to cover the verification stages in this book except to recommend that as much as possible of the existing SoC verification framework is maintained for use during the prototyping project. 

At all points in the flow it is important to have ways to verify our work to that point. Re-using the original RTL testbenches and setup may require some adaptation to match the partitioned design. For example, after partitioning, a top-level netlist is required to link the partitioned FPGA netlists into a whole SoC design; often this top-level can be generated by the partitioning tools themselves. 

Even if not for the whole design but for only sub-functions, maintaining a verification framework will pay us back later when we need to check functional issues seen in the design on the bench. 

  • XC4VLX60-10FF1148I

    Manufacturer:Xilinx

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

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC4VLX60-10FFG668C

    Manufacturer:Xilinx

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

    Lifecycle:Active Active

    RoHS:

  • XC18V02VQ44AEN

    Manufacturer:Xilinx

  • EEPROM
  • Product Categories:

    Lifecycle:Active Active

    RoHS: -

  • XC2S30-5TQ144C

    Manufacturer:Xilinx

  • FPGA Spartan-II Family 30K Gates 972 Cells 263MHz 0.18um Technology 2.5V 144-Pin TQFP
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC2S30-6TQ144C

    Manufacturer:Xilinx

  • FPGA Spartan-II Family 30K Gates 972 Cells 263MHz 0.18um Technology 2.5V 144-Pin TQFP
  • Product Categories: Embedded - FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS: No RoHS

Need Help?

Support

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