Forum Discussion
Altera_Forum
Honored Contributor
9 years agoThe features you are looking for are supported by many versioning tools.
When you complete a project you can "tag" your repository, or multiple repositories, which allows you to return to that "instant in time" at some later date. If you create a system where you "build" all of your projects all of the time, eg., simulate and synthesize after each code checkin or every evening, then you'll rapidly catch cases where you modify a common component used in an older design. Ideally you'd write unit tests for components, and board-level testbenches for your designs. The build system can then run the testbenches. If the testbenches run ok, then the component changes you just checked in are ok. If not, then this allows you to upgrade any existing (older) project to use the new component (or new features), even if you no longer have access to the hardware. Having good testbenches saves you hours and hours of remembering what you've done or how you are supposed to use a component. It also saves you explaining it to someone else, 'cause you can give them the testbench (and hopefully some documentation, but lets not get carried away here ...) Cheers. Dave