Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

Version Control with Quartus

I know that version control software and paradigms are a relatively lively topic; however for many projects I have simply used the Quartus archive function to take a "snapshot" of the entire development project at a given point. At different times, I have used SVN, GIT, and Source Safe. The majority of time I have used the Quartus archive function. Now I am looking to use a vcs. I am just wondering if anyone has any thoughts on using one over the other of the vcs's and associated tools such as TCL. I am envisioning a process for a TCL program that would be:

1. copy all the files from the repository

2. write to a vhdl RAM file with version, date

3. set all pins

3. set all compiler options

4. place/route/fit

5. reports

Thanks in advance for comments. James

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi James,

    --- Quote Start ---

    I am just wondering if anyone has any thoughts on using one over the other of the vcs's and associated tools such as TCL. I am envisioning a process for a TCL program that would be:

    1. copy all the files from the repository

    2. write to a vhdl RAM file with version, date

    3. set all pins

    3. set all compiler options

    4. place/route/fit

    5. reports

    --- Quote End ---

    Independent of whatever versioning tool you use, you want a scheme where you can check in the minimum number of files.

    I use Tcl synthesis and simulation scripts. Both of these scripts create 'generated' files in a build area. The build area is tool and tool-version specific, so that I can have multiple versions of Quartus and Modelsim installed.

    The synthesis scripts create a Quartus project file in the build area, and then run the tool, eg., just as would happen if you pressed the play button on the GUI.

    A simplified version of these types of scripts is implemented in this tutorial;

    http://www.alterawiki.com/wiki/using_the_usb-blaster_as_an_sopc/qsys_avalon-mm_master_tutorial

    In my scripts, I use Tcl packages to avoid duplicating procedures for detecting the tool version, etc.

    Have a play with the tutorial scripts, and then ask questions.

    Cheers,

    Dave