Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)

Source-code control Poll

Altera_Forum
Honored Contributor II
2,136 Views

Hi all, 

I wanted to conduct a poll to see what people are using for a source-code control system for their FPGA development. This has become a hot-topic in my organization as we are finding certain systems to be more or less efficient when using the FPGA development tools. 

The forum does not have explicit functionality to support conducting a poll. So, what I've done is attached 4 files to this post. Click on one of the files below to cast your vote. Then we can use the number of views to count the number of votes. 

 

The choices are: 

1 - CVS 

2 - SVN 

3 - ClearCase 

4 - Other 

5 - Git 

 

Feel free to post your comments here as well if you have strong feelings regarding a particular tool set. 

 

Thanks, 

Jake
0 Kudos
14 Replies
Altera_Forum
Honored Contributor II
1,447 Views

Hi Jake, 

 

I would suggest adding "git" to the poll. "git" is spreading widely in opensource community, such as linux,glibc,busybox etc. 

 

There are git bridges/converter to svn and cvs. The best point is that it is compact and fast. 

 

Cheers, 

Hippo
0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

I've added "git". Although I must admit I've never actually heard of it being used in a corporate environment. 

 

Thanks Hippo, 

Jake
0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

I'm using subversion. We are already using it for the software and documentation, it seemed natural to use it for the FPGA projects too. 

Unfortunately I find that Quartus projects are a real nightmare to place under source control. I've created a 'Design" folder for the VHDL files, an 'output' folder for the generated files, but SOPC builder insists on putting all its generated files in the project folder and it makes it difficult to know what should be put under control and what shouldn't...
0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

How do you manage to place Quartus output files in the 'output' folder? Did I miss a Quartus feature in this regard or are they copied manually? Compared to the structured directory concept of usual software tools, Quartus looks rather rusty.

0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

Go to the project settings, "Compilations Process Settings", and near the bottom of the window "save project output files in specified directory" 

But you need to set it up for each project, and as I said Quartus still put some files in the project directory instead of the one you specify there, especially when you use SOPC builder. 

It's still nice to have the sof/pof and various reports files out of the way, though.
0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

I always put SoPC builder in a seperate folder. 

 

So my tree looks something like this: 

 

altera - Quartus project files src - My source code, folder structure typically mirrors project hierarchy. |___ sopc - This is where I generate SoPC builder. |___ mysource1 |___ mysource2 sim - Modelsim files src_tb - Testbench source files doc - documents 

 

The way to accomplish getting SoPC builder in a folder other than the Quartus project folder is to launch it using the MegaWizard plug-in manager instead of launching directly from the "tools" menu or the SoPC builder icon on the Quartus toolbar. Using the MegaWizard plug-in manager you can specify where you want it located. 

 

Jake
0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

I really missed the output directory setting. Thanks a lot!

0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

We use SVN, CVS seemed outdated and we didn't have the moxie to go with git.

0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

git is distributed, while svn and cvs are centralized. 

 

We setup a "public" git to share. Each individual has his own copy of git, with public and local branches. We work on local branches, and share what we want to share via the public git server. 

 

I used CVS in the early days, then switched SVN. Now I am very happy with git. With gui frontend (git gui), I think it is much easier than CVS and SVN. 

 

Another good point, git doesn't create .svn or CVS in every subdirectory. It looks much cleaner. 

 

http://git-scm.com/ 

 

- Hippo
0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

We use "Perforce" at my company. This goes for RTL/Verif/Documentation. Perforce 

allows access to both windows and linux env.
0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

 

--- Quote Start ---  

I always put SoPC builder in a seperate folder. 

.... Using the MegaWizard plug-in manager you can specify where you want it located. 

 

Jake 

--- Quote End ---  

 

In addition you have to manually add the SoPC folder to the library path: 

in the assignments->setting->library

edit:[By second thought - this is insufficient. You also need to add the .qip file generated in the SoPC folder to your projects list of files (right-click in file list tab), otherwise you will not get the timing constraints file. This is a subtle but important detail because it compiles nicely without .qip, but it risks to fail in timing. Same applies for any other "dislocated" MegaWizard IP's by the way 

 

edit2:[By a third thought and some experiments - unfortunately this is not as simple as I wrote above. You need to add the file .qip and .sdc file(s). Otherwise QII does not find the .sdc files even though they are quoted inside .qip!.:mad:. With this in mind I am not sure if - after all - in general its ok to place other MegaWizard IP's in sub folders. I know FIR and FFT ip's clutter the design folder with a lot of generated files as well. Does anybody know about this?] 

 

Further reading is here www.altera.com/literature/hb/qts/qts_qii54023.pdf (http://www.altera.com/literature/hb/qts/qts_qii54023.pdf)] 

 

Very nice trick never the less. Thanks for that but good things should be used with care.
0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

Where did you locate the settings file? such as .qsf file!

0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

We've got 15 votes; anybody else? 

 

Jake
0 Kudos
Altera_Forum
Honored Contributor II
1,447 Views

we just cheat, rather than just doing a one off migration we have 2 repositories kept in step (using a tool from clearvision cm bridge (http://www.clearvision-cm.com/clearcase-subversion-git-mercurial-integration.html) ) literally keeps both repos's in step, even tho they are of different types, and we can work from both ends at once, its pretty cool :)

0 Kudos
Reply