Welcome to Libre-SOC
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...
Why should I care?
With Libre-SOC, you can take complex algorithms usually intended for
power hungry servers with big fat GPUs, and run them on tiny devices
like smartwatches, cellphones, and pocket drones without changing your
code at all.
Hasn't Somebody Already Done This?
To the best of our knowledge, no. The closest systems would be ARM Cortex
devices which currently offer mediocre GPU and OpenCL support. Often
times, it is quite difficult for customers to get their hands on the
drivers and install them due to their locked down nature. Libre-SOC is
providing our own Free/Libre drivers. Easy as 1, 2, 3!
Does Open Hardware Really Work?
A few names come to mind:
Learn more
# Our Team
We are proud of our talented and diverse [team](about_us).
# Our sponsors and partners
* [Purism](http://puri.sm) donates to us through [NLNet](nlnet)
charitable gifting
* [Raptor CS](http://raptorcs.com) has given us access to a powerful
18-core 128 GB RAM TALOS II workstation, online.
* [Raptor Engineering](https://raptorengineering.com) is providing
additional assistance including access to an [[shakti/m_class/LPC]]
interface (more to come)
* [MarketNext](http://marketnext.org) is helping us connect to developer
resources in Emerging markets, for completion of NLNet-funded tasks.
See the upcoming [Hackathon](https://www.youtube.com/embed/Px6eakWja3Q"),
deadline May 15th
* The [[PowerPC Notebook]] Project
* [RED Semiconductor](http://redsemiconductor.com) is the commercial realisation of Libre-SOC technology that respects and actively supports Libre principles in its business objectives.
* [[fed4fire]] for supercomputer access for verilator simulations,
with thanks to Ghent University / IMEC.
# 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.
# How Can I Help as a Developer?
If you want to write code with us (and receive donations from NLNet
for doing so), keep reading. If you want to *learn*
so that you can write code with us, see "How can I learn" section,
below. If there is anything else,
just get in touch on the list, there is plenty to do.
1. First, join the
[mailing list](http://lists.libre-soc.org/mailman/listinfo/libre-soc-dev),
introduce yourself (people will happily say "hello" back") and
the Freenode IRC channel
[#libre-soc](https://libre-soc.org/irclog/latest.log.html).
Read through
[recent posts](http://lists.libre-soc.org/pipermail/libre-soc-dev/)
and the [[charter]], ask questions if you have any 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](http://bugs.libre-soc.org) and
see if there are any bugs that pique your interest.
A fascinating way to do that is to view the
[dependency graph](https://bugs.libre-soc.org/showdependencygraph.cgi?id=1&display=web&rankdir=LR)
3. After that, go ahead and take a look at the
[git repositories](https://git.libre-soc.org).
4. If you plan to do HDL work, you should familiarize yourself with our
[[HDL_workflow]]. If you would like to help with the ASIC layout,
see [[HDL_workflow/coriolis2]]
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](about_us) 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]].
## Quick peek at the code
Here is an example process of how to play with the soc code. The last
step you will have needed to install yosys:
pip3 install virtualenv requests
mkdir ~/.virtualenvs && cd ~/.virtualenvs
python3 -m venv libresoc
source ~/.virtualenvs/libresoc/bin/activate
cd ~; mkdir libresoc; cd libresoc
git clone https://git.libre-soc.org/git/nmigen.git
git clone https://git.libre-soc.org/git/nmigen-soc.git
git clone https://git.libre-soc.org/git/nmutil.git
git clone https://git.libre-soc.org/git/c4m-jtag.git
git clone https://git.libre-soc.org/git/ieee754fpu.git
git clone https://git.libre-soc.org/git/soc.git
cd nmigen; python setup.py develop; cd ..
cd nmigen-soc; python setup.py develop; cd ..
cd c4m-jtag; python setup.py develop; cd ..
cd nmutil; make install; cd ..
cd ieee754fpu; make install; cd ..
cd soc; make gitupdate; make develop
python3 src/soc/decoder/power_decoder.py
yosys -p "read_ilang decoder.il; show dec31"
The full install process may be automated using scripts found
here: