1 <div class="jumbotron">
2 <h1 class="display-5">Welcome to Libre-SOC</h1>
4 <p>We're building a chip. A fast chip. A safe chip. A trusted chip.</p>
6 <p>A chip with lots of peripherals. And a VPU. And a 3D GPU...</p>
8 <p>Oh and here, have the <a href="http://git.libre-soc.org">source code</a>...</p>
12 <h2 class="display-5">Why should I care?</h2>
14 With Libre-SOC, you can take complex algorithms usually intended for
15 power hungry servers with big fat GPUs, and run them on tiny devices
16 like smartwatches, cellphones, and pocket drones without changing your
21 <h2 class="display-5">Hasn't Somebody Already Done This?</h2>
23 To the best of our knowledge, no. The closest systems would be ARM Cortex
24 devices which currently offer mediocre GPU and OpenCL support. Often
25 times, it is quite difficult for customers to get their hands on the
26 drivers and install them due to their locked down nature. Libre-SOC is
27 providing our own Free/Libre drivers. Easy as 1, 2, 3!
31 <h2 class="display-5">Does Open Hardware Really Work?</h2>
32 <p>A few names come to mind:</p>
35 <li><a href="https://www.raspberrypi.org">Raspberry Pi</a></li>
36 <li><a href="https://www.arduino.cc">Arduino</a></li>
37 <li><a href="https://www.raptorcs.com">Raptor Computing Systems</a></li>
38 <li><a href="https://www.bitcraze.io">CrazyFlie</a></li>
39 <li><a href="https://www.scopefun.com">ScopeFun</a></li>
43 <a class="btn btn-primary btn-lg" href="https://libre-soc.org/why_a_libresoc/" role="button">Learn more</a>
51 We are proud of our talented and diverse [team](about_us).
53 # Our sponsors and partners
55 * [Purism](http://puri.sm) donates to us through [NLNet](nlnet)
57 * [Raptor CS](http://raptorcs.com) has given us access to a powerful
58 18-core 128 GB RAM TALOS II workstation, online.
59 * [Raptor Engineering](https://raptorengineering.com) is providing
60 additional assistance including access to an [[shakti/m_class/LPC]]
61 interface (more to come)
62 * [MarketNext](http://marketnext.org) is helping us connect to developer
63 resources in Emerging markets, for completion of NLNet-funded tasks.
64 See the upcoming [Hackathon](https://www.youtube.com/embed/Px6eakWja3Q"),
66 * The [[PowerPC Notebook]] Project
67 * [RED Semiconductor](http://redsemiconductor.com) is the commercial realisation of Libre-SOC technology that respects and actively supports Libre principles in its business objectives.
71 If you would like to fund us, see [[funding]]. We currently have some
72 funding and always appreciate more! If you are a Corporation or an
73 individual you can donate tax-free to NLNet, and they can in turn gift
74 our developers. Contact lkcl@lkcl.net for more information.
76 # How Can I Help as a Developer?
78 If you want to write code with us (and receive donations from NLNet
79 for doing so), keep reading. If you want to *learn*
80 so that you can write code with us, see "How can I learn" section,
81 below. If there is anything else,
82 just get in touch on the list, there is plenty to do.
85 [mailing list](http://lists.libre-soc.org/mailman/listinfo/libre-soc-dev),
86 introduce yourself (people will happily say "hello" back") and
87 the Freenode IRC channel
88 [#libre-soc](https://libre-soc.org/irclog/latest.log.html).
90 [recent posts](http://lists.libre-soc.org/pipermail/libre-soc-dev/)
91 and the [[charter]], ask questions if you have any and let everyone know,
92 on the list that you're happy with it and agree to it.
93 2. The next thing you should do is read through the
94 [bugs list](http://bugs.libre-soc.org) and
95 see if there are any bugs that pique your interest.
96 A fascinating way to do that is to view the
97 [dependency graph](https://bugs.libre-soc.org/showdependencygraph.cgi?id=1&display=web&rankdir=LR)
98 3. After that, go ahead and take a look at the
99 [git repositories](https://git.libre-soc.org).
100 4. If you plan to do HDL work, you should familiarize yourself with our
101 [[HDL_workflow]]. If you would like to help with the ASIC layout,
102 see [[HDL_workflow/coriolis2]]
103 5. We do have funding available (see [[nlnet]]) upon completion of issues -
104 we are also working on procuring more funding which gets the project to
105 nanometre scale tapeout.
106 6. After all this, if you feel that Libre-SOC is a something
107 that you would like to contribute to, add yourself to the
108 [current_members](about_us) page, fill in some information about yourself,
109 and join the mailing list and say hello.
111 Also note that you can edit this wiki. You can experiment in the [[Sandbox]].
113 ## Quick peek at the code
115 Here is an example process of how to play with the soc code. The last
116 step you will have needed to install yosys:
118 pip3 install virtualenv requests
119 mkdir ~/.virtualenvs && cd ~/.virtualenvs
120 python3 -m venv libresoc
121 source ~/.virtualenvs/libresoc/bin/activate
123 cd ~; mkdir libresoc; cd libresoc
124 git clone https://git.libre-soc.org/git/nmigen.git
125 git clone https://git.libre-soc.org/git/nmigen-soc.git
126 git clone https://git.libre-soc.org/git/nmutil.git
127 git clone https://git.libre-soc.org/git/c4m-jtag.git
128 git clone https://git.libre-soc.org/git/ieee754fpu.git
129 git clone https://git.libre-soc.org/git/soc.git
131 cd nmigen; python setup.py develop; cd ..
132 cd nmigen-soc; python setup.py develop; cd ..
133 cd c4m-jtag; python setup.py develop; cd ..
134 cd nmutil; make install; cd ..
135 cd ieee754fpu; make install; cd ..
136 cd soc; make gitupdate; make install; cd ..
138 python3 soc/src/soc/decoder/power_decoder.py
139 yosys -p "read_ilang decoder.il; show dec31"
141 The full install process may be automated using scripts found
142 here: <https://git.libre-soc.org/?p=dev-env-setup.git;a=summary>
143 which you can clone with:
145 git clone https://git.libre-soc.org/git/dev-env-setup.git
149 The whole purpose of this project is to be a learning environment as well
150 as an actual business. If you want to learn how to do ASIC design, with
151 a view to contributing or starting your own ASIC business, start here:
152 [[3d_gpu/tutorial]]. Yes, really: do not let anyone tell you that you
153 can't learn this stuff too.
155 Along the way, if you find any [[resources]] or links that you found
156 particularly helpful, please add them to that page so that other people
157 can also benefit (and you have a place to remember them, too).
161 Most labor is currently being applied to developing the GPU portion of
164 Our highest priority short-term and medium-term: we need HDL engineers.
165 Particularly those familiar
166 with nMigen or just python. Most of the techniques being used require
167 software engineering skills (OO design, polymorphism) than they do more
168 traditional HDL programming skills. Basically if you have experience in 2
169 of the following you'll do fine: python, nmigen, verilog/VHDL/gate-level
170 design. See [[HDL_workflow]]
172 We also need to find a c++ engineer with compiler experience to work on
173 a MESA 3D driver. This will begin life similar to SwiftShader however
174 retaining the vectorisation and predication intrinsics then adding
175 hardware accelerated opcodes (all of which SwiftShader lacks)
177 Also, individuals with experience in formal mathematical verification
182 - [Source Code](/docs/)
183 - [Architecture](3d_gpu/architecture)