NOTE: Warning, this is a double post to make sure I get a receiver and can do a Commit soon. Also posted in the other-section of the forum for more input!
I'm looking into building up a file structure for the new scratch ddr-controller which permits separating and sharing files between several synthesis projects. For now everything is working fine, I can build both the 500E and 1600E projects from the same physical disk files by using relative paths in the ISE 11.2 XISE-files. Having this structure will probably demand text-editing the XISE-file (XML-file = simple) each time someone add files but I think it's worth it.
For now it looks like this locally: -trunk scratch.vhd ... and all other files as before... -boards -Microblaze1600E Microblaze1600E.xise Microblaze1600E.ucf -StarterKit500E StarterKit500E.xise StarterKit500E.ucf
Is there a OpenCores-standard for laying out the directory structure? Then this should probably be followed instead.
By looking at for example MilkyMist at: http://github.com/lekernel/milkymist
they use a deeper structure with all reusable cores under /cores/.../ and under their respective names. They also use a /boards/.../ directory in where they also separate synthesis files and board-specific rtl. One step further would be to support several versions of the environments (10.1, 11.x) and of course also have support of several vendors (/xilinx/ /altera/ /lattice/ ) but I think this will have to wait until/if other people joins.
I kind of like the shallow one I describe above to start with! It can be reworked later if there are more interested parties.
Of the directory-tree got busted in the loss of spaces when sending this IDEA! :-) Here's another try with a new format:
For now it looks like this locally:
/trunk/ /trunk/scratch.vhd /trunk/ddr.vhd /trunk/ddr_parameters.vh /trunk/scratch_isim_tb.vhd /trunk/sdram.vhd /trunk/sdram_init.vhd /trunk/sdram_reader.vhd /trunk/sdram_support.vhd /trunk/sdram_writer.vhd
/trunk/boards/..
/trunk/boards/Microblaze1600E/.. /trunk/boards/Microblaze1600E/Microblaze1600E.xise /trunk/boards/Microblaze1600E/Microblaze1600E.ucf
/trunk/boards/StarterKit500E/.. /trunk/boards/StarterKit500E/StarterKit500E.xise /trunk/boards/StarterKit500E/StarterKit500E.ucf
I dunno, what I've seen is everyone does their own thing, more or less. Markus Lemke more or less just posted a tarball of his stuff, some people don't even check anything in, they just post a URL to some other website to get the source.
What you've suggested makes sense to me. Basically then at this point, all I need is your .xise and .ucf files. My email address is in the source code.
Attach them to an email and I'll set up a directory structure for them.