SoC_Automation icon indicating copy to clipboard operation
SoC_Automation copied to clipboard

GUIDs

Open thesourcerer8 opened this issue 4 years ago • 1 comments

I am a bit unhappy about the current approach of numbering/naming of the various objects (IPs, Masters, Systems). From my point of view, we need:

  • Globally unique IDs for public objects, those should be collected as Pull-Requests in this repository. We currently have potential collissions with parallel pull-requests from different people assigning the same numbers.
  • Locally unique IDs for internal objects, for people who do not want or are not allowed to publish their objects. At the moment there is no seperate number-space for locally used IDs, so they can potentially collide with the newly published objects. I see several different possible ways to solve this:
  • randomly generated GUIDs like 1234-123-456-678-1234
  • Names with domains like raptor!efabless.com for global objects or "pll!local" for local objects (similar to Java namespaces)
  • Assigning numbering schemes, one 99000-99999 for local objects, and 1000-1999 for efabless, 2000-2999 for VSD, 3000-3999 for LibreSilicon, ...

thesourcerer8 avatar Oct 30 '20 09:10 thesourcerer8

Some more ideas: We could use URLs, which would have the advantage, that we could load the .json files from those URLs automatically in case they are referenced and not available locally. We could use VLNV (vendor, library, name, version) combinations like librecores.org:peripherals:uart16550:1.5 (taken from https://fusesoc.readthedocs.io/en/master/user/overview.html)

thesourcerer8 avatar Oct 30 '20 12:10 thesourcerer8