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 > Getting the design ready for the prototype > Revision control during prototyping

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

Revision control during prototyping

FONT SIZE : AAA

As we have seen, although we try to minimize the impact of FPGA-based  prototyping on the SoC source, we will probably need to make changes to the  design files. As with all engineering tasks it is crucial to track and document these  changes. In addition there may be changes to the embedded software running in our  prototype or in simulation testbenches and of course, the prototyping tool set-up,  scripts and so forth will need to be recorded in order to be repeatable. For all these  reasons, the use of a revision-control system during prototyping will greatly assist  us in recreating the prototype across platforms, sites and future derivative projects.  

Undoubtedly, our labs already use revision control for hardware and software  projects, and tools such as Perforce are widely used at Synopsys and Xilinx. When  delivering RTL for use by the prototyping team, this is no less important to track  than any other branching of the code. In parallel, the embedded software branches  to run on the prototype may be very similar to that which will eventually run on the  SoC (we certainly hope so) but there will be small changes, for example, a time  constant in a header file to account for a slower clock. These small software  changes must also be controlled and only the appropriate changes used for a  particular prototype build. 

This becomes exponentially more difficult to control when multiple engineers are  working on the prototype and time is short. If we make changes to our branch of the  SoC source code to enable prototyping or debug, then these will probably not be  wanted back in the mainline SoC code repository. However, a change in an RTL file  to fix a bug discovered during prototyping must obviously be fed back into the  mainline code. Only good revision control will enable us to keep track and  discriminate between these two cases.  

We must resist the temptation to make quick and temporary changes during  prototyping even though FPGAs offer great freedom to make exactly these kinds of  quick changes. If we work with the mindset that anything we do can impact the final  silicon, even though we are not working on the mainline of the code (either RTL or  software), then we can avoid much unnecessary, inefficient and perhaps ultimately  costly confusion.

  • XC2C512-10FG324I

    Manufacturer:Xilinx

  • CPLD CoolRunner -II Family 12K Gates 512 Macro Cells 128MHz 0.18um Technology 1.8V 324-Pin FBGA
  • Product Categories: Embedded - CPLDs (Complex Programmable Logic Devices)

    Lifecycle:Active Active

    RoHS:

  • XC5215-4HQ208C

    Manufacturer:Xilinx

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

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XC3S50-5CPG132C

    Manufacturer:Xilinx

  • FPGA Spartan-3 Family 50K Gates 1728 Cells 725MHz 90nm Technology 1.2V 132-Pin CSBGA
  • Product Categories: FPGAs

    Lifecycle:Obsolete -

    RoHS: -

  • XC3S50-5VQG100C

    Manufacturer:Xilinx

  • FPGA Spartan-3 Family 50K Gates 1728 Cells 725MHz 90nm Technology 1.2V 100-Pin VTQFP
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS:

  • XC3S50A-4TQ144C

    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

Need Help?

Support

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