Jump to content
  • 0

code organization, reuse, and peripherals


engrpetero

Question

I have a few questions of the ways you guys handle such things, primarily towards reuse and maintainability.

(Almost) anytime I consider a new feature for a module (or custom IP), I add the module as a source to a 'TestItems' project.  THis project also contains several test benches for testing new modules.  So the actual verilog files are under the TestItems.srcs/sources_1_new folder of the TestItems project. 

Once I'm happy the module works in the TestItems project (I get the expected results from the test bench), I then allow reuse of the module so it can be instantiated in other modules (or custom IP).  Conceptually, this makes sense to me - in theory, the versions in the folder above *should be* 'correct' and I ready for reuse.

Following the custom IP route, when I make a new custom IP (often only after I've tested as a simpler RTL module), and I want to reuse something from the TestItems project, I'll add as design sources the desired TestItems modules to the custom IP project. 

When adding design sources, I'm often unsure about what to do with the check box that says 'Copy Sources into IP Directory'.  My assumption (and experience) when I check that box is the sources I'm adding get copied to the custom IP's sources (new) directory.  Which means there are local copies with the IP and then it's my manual responsibility to ensure if changes are made, they stay consistent with my TestItems 'gospel' source.  Also, if the files are not local, then weird things happen with the Files group when repackaging IP.

I might have a follow up to this question after seeing some responses. 

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...