Project Structure Guidelines
Don't take this page as a guide line yet, it's just some random thoughts for the moment.
Releases | min/maj scheme wiki release pages -> templates, automate page creation git tags |
Binary files | only in "Files" section |
PTS | common part in it's own project, part specific to a board in a sub-project of the board Install script |
git submodules | avoid dependency on hdlmake in hdl projects more flexible better structured -> avoid copy of sources avoid huge & messy repo (c.f. PTS) |
git repos | no binaries or huge simulation files ONE person (maintainer) commits to master other developers commit to proposed_master see Repository-use |
- Several git repos per project OR several sub-projects?
- Keep issues separate (e.g. pcb revision, hdl versions)
- Is it possible to have several repo per project?
- Several wikis to edit -> how to minimise drawback?
- Different types of project (pcb+hdl+sw+pts, hdl only, pcb only, ...)
ohwr project srtucture:*
- top/main project
- PCB project
- Gateware project (hdl)
- Software project (driver, lib, test prog)
- Test project (prod/functional tests), board specific part of PTS
- PTS project, test framework, common libraries/classes
- HDL cores
git submodules structure:*
- pcb
- sw
- sw dependencies (e.g. carrier, fmc-bus, zio)
- hdl
- hdl dependencies (e.g. hdl cores)
- test
- pts framework, common lib
- sw (e.g. carrier driver)
CERN specific -> should also make a proposal from non-ohwr projects.
Matthieu Cattin, Feb. 2014