FPGARelated.com
Forums

Quartus and source control

Started by avishay April 29, 2006
Hello all,
I'm interested in implementing a source control system (Subversion) in
the company I work. We do mostly Altera FPGA designs, so our main tool
is Quartus. I would like to know if anyone has done that before, and
how. The main problem with Quartus is that it has no "source file
list", but rather it searches dynamically for files (mostly true for
old design entry methods like AHDL and schematic). Does anyone know of
a tool (maybe a TCL script) that takes a projects and generate a list
of all source files included?
I would be happy to hear about any experience of this kind.

Thanks,
Avishay

"avishay" <avishorp@yahoo.com> writes:

> I'm interested in implementing a source control system (Subversion) in > the company I work. We do mostly Altera FPGA designs, so our main tool > is Quartus. I would like to know if anyone has done that before, and
Most of my designes are under CVS. They are are a mix of ASIC, Altera, and Xilinx designs. Some of the designs have even an implementation for all the above. However, I rarely use the GUI tools, except for floorplanners, memory/ip-builder and waveform viewers. To generate a new implementation I usually do: cvs checkout designname cd designname/impl/somefpgadevicename make In the Altera case make will run quartus_sh.
> how. The main problem with Quartus is that it has no "source file > list", but rather it searches dynamically for files (mostly true for > old design entry methods like AHDL and schematic). Does anyone know of > a tool (maybe a TCL script) that takes a projects and generate a list > of all source files included?
I usually explicitly list my source files: foreach f designfile1.v designfile2.v designfile3.v { set_global_assignment -name VERILOG_FILE $f } Petter -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
What a timely post.  I was just looking into this on Friday (but with
CVS).

I've been used to Xilinx where I just archived my .npl an .ucf files to
capture
the project settings for the Synthesis/P&R..

I believe in Quartus you need to archive the .qpf and .qsf files (as
well
as your HDL code, of course).

Does anyone know of other Quartus specific files that need archived to
be
able to restore the Synthesis/P&R project?



John Providenza

The list of all source files compiled can be found in the Report file under 
Analysis and Synthesis->Source Files Read.
You can right click in this window and save the panel out to a text file. 
Take every file which says User Entered, every file which is not under the 
Quartus installation directory and add it to your source code control 
system. Then follow Petter's instructions. The process of discovery only 
works in the cases where there is 1-1 relationship between filename and 
entity name. This is true for BDF's (schematics) and TDF's(AHDL), but does 
not hold true for HDL's like VHDL and Verilog. You are required to add the 
list of HDL files in your project.

I recommend that you archive your design, and restore it in a separate 
directory. This should contain the list of files that Quartus needs to 
recreate your project.  Never archive the db directory. To learn how to 
generate a Quartus Project from scratch each time if you only have the HDL 
files  take a look at the Tcl file generated by the Project->Generate Tcl 
file for Project command.

Hope this helps,
Subroto Datta
Altera Corp.


"avishay" <avishorp@yahoo.com> wrote in message 
news:1146329623.963661.11530@j73g2000cwa.googlegroups.com...
> Hello all, > I'm interested in implementing a source control system (Subversion) in > the company I work. We do mostly Altera FPGA designs, so our main tool > is Quartus. I would like to know if anyone has done that before, and > how. The main problem with Quartus is that it has no "source file > list", but rather it searches dynamically for files (mostly true for > old design entry methods like AHDL and schematic). Does anyone know of > a tool (maybe a TCL script) that takes a projects and generate a list > of all source files included? > I would be happy to hear about any experience of this kind. > > Thanks, > Avishay >
Ok, let's say I want to write a script that adds all new source files
into the source control. The first step would be obtainig the list of
sources from the report. Is there a better way other than reading the
report file and process it to find the relevant section?

Apart from that, there is yet another problem. Some of the VHDL files
in the project are generated automatically by SOPC builder. Strictly
speaking, these are not source files, and I don't want to add them to
the source control system (they're already there at their source
locations). Is there any way to detect which are these files? As a
starting point, it would be nice if I could instruct SOPC builder to
put its files into some specific directory under the project, not in
its root (even from command line).

Thanks,
Avishay

Is there a recommended source control system?

Thanks,
Derek

Quartus files can be stored in any source code control system. All source 
files needed to create and compile a project are text files. We have 
customers and internal users  who have versioned Quartus projects with CVS, 
Clearcase, Perforce, RCS.... The only binary file is the .qws (workspace 
file) files that contains the locations of the window settings when the 
Quartus UI executable (quartus.exe) is closed..The .qws file is not needed 
for compilation.

Hope this helps,
- Subroto Datta
Altera Corp.

"Derek Simmons" <dereks314@gmail.com> wrote in message 
news:1146537078.892378.252860@e56g2000cwe.googlegroups.com...
> Is there a recommended source control system? > > Thanks, > Derek >
> Apart from that, there is yet another problem. Some of the VHDL files > in the project are generated automatically by SOPC builder. Strictly > speaking, these are not source files, and I don't want to add them to > the source control system (they're already there at their source > locations).
The 'source files' for things that flow through SOPC Builder are the .PTF file(s). If you develop your own unique Avalon components then those components will each have their own .PTF file. Whether you develop your own components or are only integrating existing components via SOPC Builder, the system .PTF file is where all this information gets stored so at a minimum that .PTF file would need to be included in the sources with a build script needed to then transform the .PTF file into VHDL. KJ
Subroto Datta <sdatta@altera.com> wrote:
>Quartus files can be stored in any source code control system. All source >files needed to create and compile a project are text files. We have >customers and internal users who have versioned Quartus projects with CVS, >Clearcase, Perforce, RCS.... The only binary file is the .qws (workspace >file) files that contains the locations of the window settings when the >Quartus UI executable (quartus.exe) is closed..The .qws file is not needed >for compilation.
One can use uuencode the .qws file to get it into a source code control system. Btw, why is there no webpack linux offering like xilinx have?
pbdelete@spamnuke.ludd.luthdelete.se.invalid wrote:
> Subroto Datta <sdatta@altera.com> wrote: >> Quartus files can be stored in any source code control system. All source >> files needed to create and compile a project are text files. We have >> customers and internal users who have versioned Quartus projects with CVS, >> Clearcase, Perforce, RCS.... The only binary file is the .qws (workspace >> file) files that contains the locations of the window settings when the >> Quartus UI executable (quartus.exe) is closed..The .qws file is not needed >> for compilation. > > One can use uuencode the .qws file to get it into a source code control system. >
Can't you just store the binary in the source code control? Obviously you can't compare versions in the same way as for text files, but you couldn't do that with uuencoded files anyway. Certainly subversion should have no problem storing binary qws files - I don't know about any other systems.
> Btw, why is there no webpack linux offering like xilinx have? >