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 > Design-for-Prototyping > What is Design-for-Prototyping?

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

What is Design-for-Prototyping?

FONT SIZE : AAA

Design-for-Prototyping is the art of considering the prototype early in the design  process, and establishing procedural and design specific techniques to ease the  development of the prototype in conjunction with all other program goals. 

There’s an old expression which says that “if a job is worth doing, it is worth doing  well.” If we are to employ FPGA-based prototyping in our SoC projects then we  should help the prototypers to do the best job possible. We can do that by making  some small changes in the SoC design style and overall project procedures, all of  which are at least low impact on the rest of the SoC design flow and in fact, many  are good design practice for the SoC anyway. 

It should be clear from the earlier discussions that putting an SoC design into a  prototyping system requires some planning in order to best accomplish the  prototyping goals with minimal effort. The aim of this chapter is to help collect  many of the recommendations mentioned throughout this book into a single  manifesto on how we might make the prototyping tasks simpler and the project  more successful. As a result, newcomers to FPGA-based prototyping will better  understand how to modify their design style and development procedures to  incorporate this methodology. This chapter will present some guiding principles for  that change; perhaps best described as a “manifesto for Design-for-Prototyping”.

The decision to add FPGA-based prototyping to the chip design flow should be seen  as a change from previous practices rather than a “bolt-on” parallel step. We should expect some impact to all groups in the design team, including SoC designers,  verification engineers, software development teams and FPGA platform specialists.  Earlier chapters have presented the positive returns expected to the design project as  the team embraces this new methodology. Consider Design-for-Prototyping as the  investment made to maximize those returns. 

The following sections focus on specific RTL coding style practices and  organizational (or procedural) guidelines to achieve this overarching goal.

What’s good for FPGA is usually good for SoC

FPGA designs tend to require clean architectures and generic logic for effective  synthesis and mapping to the target technology. SoC design processes allow the  flexibility of more ad hoc design styles, which may be used inappropriately by some  designers to the detriment of subsequent rework.  

The need to share a single RTL design for both FPGA and SoC technologies can  motivate designers to follow cleaner design styles for simple functionality and  reserve unusual coding style for odd cases where it is justified. This path is really  the least work for everyone and should benefit the on-going maintenance of the SoC  design as a by-product of supporting the FPGA prototype. 

The next sections expand on this point with specific coding style suggestions, like FFs at block boundaries, isolation of clock management, and so forth. The whole  SoC project should stick to these coding styles, reinforced through formal design  reviews and informal organizational behavior. It should be the aim of management  and other senior team members who realize the benefits of FPGA-based prototyping to fully embrace the methodology. A “bolt-on” approach to prototyping without a  proper integration into the SoC design flow will not yield as great a return on the  investment.

  • XC5215-5PQG160C

    Manufacturer:Xilinx

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

    Lifecycle:Obsolete -

    RoHS:

  • XC5215-6HQ304C

    Manufacturer:Xilinx

  • FPGA XC5200 Family 23K Gates 1936 Cells 83MHz 0.5um Technology 5V 304-Pin HPQFP
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XC2V1000-4BGG575I

    Manufacturer:Xilinx

  • FPGA Virtex-II Family 1M Gates 11520 Cells 650MHz 0.15um Technology 1.5V 575-Pin BGA
  • Product Categories: FPGAs

    Lifecycle:Obsolete -

    RoHS:

  • XC3S700A-4FG400I

    Manufacturer:Xilinx

  • FPGA Spartan-3A Family 700K Gates 13248 Cells 667MHz 90nm Technology 1.2V 400-Pin FBGA
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS:

  • XC3S700A-4FT256I

    Manufacturer:Xilinx

  • FPGA Spartan-3A Family 700K Gates 13248 Cells 667MHz 90nm Technology 1.2V 256-Pin FTBGA
  • Product Categories: 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.