Forum Discussion

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

Hints needed for using CVS in Quartus

Dear Forum,

Does anyone use CVS in conjunction with Quartus? The project I'm working on has 2 Nios II CPUs, and my own Avalon components to interface to external sensors and controls. Nios CPU1 runs uClinux, CPU2 runs stand-alone C . It's getting a bit unmanageable; for instance, I created three separate Quartus projects for versions of an Avalon component to unwrap the phase from some I+iQ signal channels. The software has to change to keep up with changes in the Avalon interface and SOPC Builder, and then there are new versions of Quartus. I recently read the book Essential CVS by Jennifer Vesperman and I'd really like to put all the verilog files, ModelSim simulation inputs, SOPC Builder descriptions, stand-alone C, uClinuc stuff into a CVS repository and put a tag through it as each milestone of functionality is reached. If anyone does this already, I appreciate some hints.

Yours sincerely

Stephen

1 Reply

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

    There probably users using RCS, cvs, or subversion with Quartus, but there are some things about the Altera tools that aren't friendly to them. The greatest problem I've faced is that Quartus likes absolute paths, and the great thing about RCS/cvs/subversion is that you could have multiple sandbox directories going at once, all working on variants of your design.

    We use multiple directories:

    project/rtl

    project/sim

    project/impl

    and a few others.

    We do all simulation work outside of Quartus, with our own make files.

    In our impl directory, we have a script that is invoked with quartus_sh to create a new project and set various variables for that project, such as:

    set_global_assignment -name USER_LIBRARIES "$rootdir/rtl"

    You can start with your existing qsf files as templates to create such a script.

    SOPC builder and NIOS2 IDE can be even worse about using absolute paths.

    Altera has their own solution, which is to use their archive operation in Quartus. I think it creates snapshots stored in files that you name, which might be sufficient for what you wanted, but most of us prefer the per file control of CVS et al.