add marketnext hackathon video
[libreriscv.git] / index.mdwn
1 <div class="jumbotron">
2 <h1 class="display-5">Welcome to Libre-SOC</h1>
3 <blockquote>
4 <p>We're building a chip. A fast chip. A safe chip. A trusted chip.</p>
5
6 <p>A chip with lots of peripherals. And a VPU. And a 3D GPU...</p>
7
8 <p>Oh and here, have the <a href="http://git.libre-riscv.org">source code</a>...</p>
9 </blockquote>
10 <hr class="my-4">
11
12 <h2 class="display-5">Why should I care?</h2>
13
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
17 code at all.
18
19 <hr class="my-4">
20
21 <h2 class="display-5">Hasn't Somebody Already Done This?</h2>
22
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!
28
29 <hr class="my-4">
30
31 <h2 class="display-5">Does Open Hardware Really Work?</h2>
32 <p>A few names come to mind:</p>
33
34 <ul>
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>
40 </ul>
41
42 <p class="lead">
43 <a class="btn btn-primary btn-lg" href="https://libre-soc.org/why_a_libresoc/" role="button">Learn more</a>
44
45 </div>
46
47
48
49 # Our Team
50
51 We are proud of our talented and diverse [team](about_us).
52
53 # Our sponsors and partners
54
55 * [Purism](http://puri.sm) donates to us through [NLNet](nlnet)
56 charitable gifting
57 * [Raptor CS](http://raptorcs.com) has given us access to a powerful
58 18-core 128 GB RAM TALOS II workstation, online.
59 * [MarketNext](http://marketnext.org) is helping us connect to developer
60 resources in Emerging markets, for completion of NLNet-funded tasks.
61 See the upcoming [Hackathon](https://www.youtube.com/embed/Px6eakWja3Q"),
62 deadline May 15th
63
64 # How Can I Help?
65
66 If you would like to fund us, see [[funding]]. We currently have some
67 funding and always appreciate more! If you are a Corporation or an
68 individual you can donate tax-free to NLNet, and they can in turn gift
69 our developers. Contact lkcl@lkcl.net for more information.
70
71 # How Can I Help as a Developer?
72
73 If you want to write code with us (and receive donations from NLNet
74 for doing so), keep reading. If you want to *learn*
75 so that you can write code with us, see "How can I learn" section,
76 below. If there is anything else,
77 just get in touch on the list, there is plenty to do.
78
79 1. First, join the
80 [mailing list](http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev),
81 introduce yourself (people will happily say "hello" back"). Read through
82 [recent posts](http://lists.libre-riscv.org/pipermail/libre-riscv-dev/)
83 and the [[charter]], and let everyone know, on the list that you're
84 happy with it and agree to it.
85 2. The next thing you should do is read through the [bugs
86 list](http://bugs.libre-riscv.org) and see if there are any bugs that
87 pique your interest.
88 3. After that, go ahead and take a look at the [git repositories](https://git.libre-riscv.org).
89
90 4. If you plan to do HDL work, you should familiarize yourself with our
91 [[HDL_workflow]]. If you would like to help with the ASIC layout,
92 see [[HDL_workflow/coriolis2]]
93 5. We do have funding available (see [[nlnet]]) upon completion of issues -
94 we are also working on procuring more funding which gets the project to
95 nanometre scale tapeout.
96 6. After all this, if you feel that Libre-SOC is a something
97 that you would like to contribute to, add yourself to the
98 [current_members](about_us) page, fill in some information about yourself,
99 and join the mailing list and say hello.
100
101 Also note that you can edit this wiki. You can experiment in the [[Sandbox]].
102
103 ## Quick peek at the code
104
105 Here is an example process of how to play with the soc code:
106
107 pip3 install virtualenv requests
108 mkdir ~/.virtualenvs && cd ~/.virtualenvs
109 python3 -m venv libresoc
110 source ~/.virtualenvs/bin/activate
111
112 cd ~; mkdir libresoc; cd libresoc
113 git clone https://git.libre-riscv.org/git/nmutil.git
114 git clone https://git.libre-riscv.org/git/ieee754fpu.git
115 git clone https://git.libre-riscv.org/git/soc.git
116
117 cd nmutil; pip3 install -e .; cd ..
118 cd ieee754fpu; pip3 install -e .; cd ..
119 cd soc; pip3 install -e .; cd ..
120
121 python3 soc/src/soc/decoder/power_decoder.py
122 yosys -p "read_ilang decoder.il; show dec31"
123
124
125
126 ## How can I learn?
127
128 The whole purpose of this project is to be a learning environment as well
129 as an actual business. If you want to learn how to do ASIC design, with
130 a view to contributing or starting your own ASIC business, start here:
131 [[3d_gpu/tutorial]]. Yes, really: do not let anyone tell you that you
132 can't learn this stuff too.
133
134 Along the way, if you find any [[resources]] or links that you found
135 particularly helpful, please add them to that page so that other people
136 can also benefit (and you have a place to remember them, too).
137
138 ## Needed Skills
139
140 Most labor is currently being applied to developing the GPU portion of
141 the Libre-SOC.
142
143 Our highest priority short-term and medium-term: we need HDL engineers.
144 Particularly those familiar
145 with nMigen or just python. Most of the techniques being used require
146 software engineering skills (OO design, polymorphism) than they do more
147 traditional HDL programming skills. Basically if you have experience in 2
148 of the following you'll do fine: python, nmigen, verilog/VHDL/gate-level
149 design. See [[HDL_workflow]]
150
151 We also need to find a c++ engineer with compiler experience to work on
152 a MESA 3D driver. This will begin life similar to SwiftShader however
153 retaining the vectorisation and predication intrinsics as well as hardware
154 accelerated opcodes (all of which SwiftShader lacks)
155
156 Also, individuals with experience in formal mathematical verification
157 are quite welcome.
158
159 # [Documentation](Documentation/SOC/index.md)