[libre-riscv-dev] experimental code & monorepo
programmerjake at gmail.com
Sun May 3 05:49:15 BST 2020
On Sat, May 2, 2020, 11:47 Yehowshua <yimmanuel3 at gatech.edu> wrote:
> Also - we have some experimental files in the SOC repo.
> I think it is a good practice to make an experimental branch instead.
We really should move all code that's not actually used in the final soc to
its own folder or branch -- currently, there is lots of unused code that
either was used in the past or we intend to eventually use or even never
intended to use (lots of minerva and some of the FP code) and was only ever
reference code to base our new code on. All of that makes it very confusing
to newcomers and partially confusing for people who aren't newcomers
anymore -- I myself couldn't point out with any degree of certainty all the
code that we actually intend to use even though I've been here longer than
nearly everyone else.
Additionally, I'd advocate for all HDL code (at least soc, ieee754fpu, and
nmutil) to be moved to one repo (especially including the data files
currently hosted on the wiki -- libre-soc.org shouldn't need to be
online/accessible to build if someone gets the git repos some other way)
and using submodules for often updated external dependencies (nmigen at
least), since that helps tie all the code together so one commit id is
sufficient to describe the state of all the code that's tightly
interconnected. See LLVM switching to a monorepo for an example of how this
is a good idea.
More information about the libre-riscv-dev