A
AndreasWallner
Guest
Hi,
I've worked on a few tiny VHDL projects in the past and since I have
to write a bigger project for my university, I wanted to ask how you
guys use source control on projects using multiple libraries.
I know how to use version control in general, the question is how to
work with those libraries. For example: Consider a design using some
sort of softcore processor and peripheral modules for that processor.
I would make a seperate library for each module as well as for the
processor itself. This way the modules itself could be reused. In that
case I would also use a different repository for each module (We use
Subversion and Git for Version control).
If I would do it that way, I would have a problem taging a specific
revision (for example the first version delivered to the client). Do
you use tags? Do you use SVN/Git externals/submodules? Do you
structurize you code in a way to make is neccesary to use more than
one "level" of libraries in you projects? (For example a Design using
an AES core itself using a librarie providing the S-Box for AES
(shared by AES and DES))?
I would really appreciate information how you handle multiple
libraries, because each scenario we thought of seems to be flawed in
some way.
The second reason I ask this is: While I do study electronics, I'm
also very much into programming. Because I that, a colleague and I
started working on a program to edit VHDL/Verilog Code, much like HDL
Designer from Mentor. (Yes we know this is a lot of work, and yes we
have done project in a reasonable size before to know what awaits us).
Although It is not ready to be tested in a real world situation, I was
interested how you handle such version control issues, so we might be
able to incorporate such functionality. (At the moment the only thing
it can do is managing various libraries and open VHDL files to edit
them)
I hope I have explained myself clear and not missed a note regarding
that issue in my search on the list.
Regards,
Andreas
I've worked on a few tiny VHDL projects in the past and since I have
to write a bigger project for my university, I wanted to ask how you
guys use source control on projects using multiple libraries.
I know how to use version control in general, the question is how to
work with those libraries. For example: Consider a design using some
sort of softcore processor and peripheral modules for that processor.
I would make a seperate library for each module as well as for the
processor itself. This way the modules itself could be reused. In that
case I would also use a different repository for each module (We use
Subversion and Git for Version control).
If I would do it that way, I would have a problem taging a specific
revision (for example the first version delivered to the client). Do
you use tags? Do you use SVN/Git externals/submodules? Do you
structurize you code in a way to make is neccesary to use more than
one "level" of libraries in you projects? (For example a Design using
an AES core itself using a librarie providing the S-Box for AES
(shared by AES and DES))?
I would really appreciate information how you handle multiple
libraries, because each scenario we thought of seems to be flawed in
some way.
The second reason I ask this is: While I do study electronics, I'm
also very much into programming. Because I that, a colleague and I
started working on a program to edit VHDL/Verilog Code, much like HDL
Designer from Mentor. (Yes we know this is a lot of work, and yes we
have done project in a reasonable size before to know what awaits us).
Although It is not ready to be tested in a real world situation, I was
interested how you handle such version control issues, so we might be
able to incorporate such functionality. (At the moment the only thing
it can do is managing various libraries and open VHDL files to edit
them)
I hope I have explained myself clear and not missed a note regarding
that issue in my search on the list.
Regards,
Andreas