Welcome to Libre-SOC

(formerly Libre-RISCV)

We're building a chip. A fast chip. A safe chip. A trusted chip.

A chip with lots of peripherals. And a VPU. And a 3D GPU...

Oh and here, have the source code...

Sounds cool? Learn more about the why behind Libre-SOC and our mission.

Our Team

We are proud of our talented and diverse team.

Our sponsors

  • Purism donates to us through NLNet charitable gifting
  • Raptor CS has given us access to a powerful 18-core 128 GB RAM TALOS II workstation, online.

How Can I Help?

If you would like to fund us, see funding. We currently have some funding and always appreciate more! If you are a Corporation or an individual you can donate tax-free to NLNet, and they can in turn gift our developers. Contact lkcl@lkcl.net for more information.

If you want to write code with us, keep reading. If you want to learn so that you can write code with us, see below. If there is anything else, just get in touch on the list, there is plenty to do.

  1. First, join the mailing list, introduce yourself (people will happily say "hello" back"). Read through recent posts and the charter, and let everyone know, on the list that you're happy with it and agree to it.
  2. The next thing you should do is read through the bugs list and see if there are any bugs that pique your interest.
  3. After that, go ahead and take a look at the git repositories. Try and clone a repository with git clone https://git.libre-riscv.org/git/repositoryname.git
  4. If you plan to do HDL work, you should familiarize yourself with our HDL workflow.
  5. We do have funding available (see nlnet) upon completion of issues - we are also working on procuring more funding which gets the project to nanometre scale tapeout.
  6. After all this, if you feel that Libre-SOC is a something that you would like to contribute to, add yourself to the current_members page, fill in some information about yourself, and join the mailing list and say hello.

Also note that you can edit this wiki. You can experiment in the Sandbox.

How can I learn?

The whole purpose of this project is to be a learning environment as well as an actual business. If you want to learn how to do ASIC design, with a view to contributing or starting your own ASIC business, start here: tutorial. Yes, really: do not let anyone tell you that you can't learn this stuff too.

Along the way, if you find any resources or links that you found particularly helpful, please add them to that page so that other people can also benefit (and you have a place to remember them, too).

Needed Skills

Most labor is currently being applied to developing the GPU portion of the Libre-SOC.

The highest priority needed at the moment is a c++ engineer to work on a MESA 3D driver. This will begin life similar to SwiftShader however retaining the vectorisation and predication intrinsics as well as hardware accelerated opcodes (all of which SwiftShader lacks)

Medium to long-term we need HDL engineers. Particularly those familiar with nMigen or just python. Most of the techniques being used require software engineering skills (OO design, polymorphism) than they do more traditional HDL programming skills. Basically if you have experience in 2 of the following you'll do fine: python, nmigen, verilog/VHDL/gate-level design. See HDL workflow

Also, individuals with experience in formal mathematical verification are quite welcome.