Transforming ideas into code is so much easier if we can build on top of a stack of libraries and frameworks. That’s not news, of course: NodeJS strives because of npm, PHP development now relies heavily on composer and packagist, Python has pip, and so on.
But what about digital hardware, i.e. creating chip designs (or parts of it) using languages like Verilog or VHDL? In commercial settings, a wealth of IP blocks is used, which can be bought from a range of companies, such as Synopsys or Cadence, among many smaller companies.
To make free and open digital hardware design successful, we need to build a similar ecosystem. And since sharing is at the very heart of the free and open source movement, we can do even better – if we get around three challenges first.
Building Trust. Creating hardware, much more than software, relies on trust. Trust in the code itself, trust in the testing and verification that was done, and trust in the word of the author regarding patents and licenses. Trust is key, as physical hardware cannot be updated.
Making things discoverable. The internet is a wide ocean of ideas and code, of great things and crap. Even in the age of Google dominating the world, finding the right piece missing in a code puzzle isn’t always easy.
Forming a community. There are way more software developers than hardware hackers. Connecting them better has the potential to unleash the force of collaboration – because 1 + 1 can be more than 2.
To address these three points, we, the FOSSi Foundation, created LibreCores. It’s a “repository site” for digital hardware designs and the surrounding ecosystem, tailored towards the needs of the digital hardware design community.
I’m the project lead for LibreCores, and contribute on all areas from coding to deployment, from design to mentoring new contributors.
More information is available at (of course) LibreCores.org.