(no commit message)
[libreriscv.git] / nlnet_2018.mdwn
1 # NL.net proposal
2
3 * 2019-10-012
4 * Top level bugreport <http://bugs.libre-riscv.org/show_bug.cgi?id=191>
5 * NLNet Project page <https://nlnet.nl/project/Libre-RISCV/>
6
7 ## Project name
8
9 The Libre-RISCV SoC
10
11 ## Website / wiki
12
13 <https://libre-riscv.org/nlnet_2018>
14
15 Please be short and to the point in your answers; focus primarily on
16 the what and how, not so much on the why. Add longer descriptions as
17 attachments (see below). If English isn't your first language, don't
18 worry - our reviewers don't care about spelling errors, only about
19 great ideas. We apologise for the inconvenience of having to submit in
20 English. On the up side, you can be as technical as you need to be (but
21 you don't have to). Do stay concrete. Use plain text in your reply only,
22 if you need any HTML to make your point please include this as attachment.
23
24 ## Abstract: Can you explain the whole project and its expected outcome(s).
25
26 Intelligence Communities have a hard rule: if the trustworthiness of
27 an adversary is not known, the absolute worst must be assumed.
28 An average computer end-user makes the mistake of holding the opposite view:
29 "what I don't know about can't hurt me therefore it couldn't happen to me".
30
31 until it does.
32
33 So responsibility falls to those people who *do* have the expertise and
34 knowledge to design trustworthy privacy-respecting systems to take the
35 initiative. Unfortunately, if the hardware is compromised (for example,
36 the Intel Management Engine, aka "NSA Backdoor spying co-processor"), all
37 efforts at the software level, however well-intentioned and no matter
38 how far they go, are utterly compromised and rendered completely ineffective.
39
40 Therefore, the only real way to fully and truly gain the trust of the
41 end-users is to go right back to the harware, and to *transparently*
42 design an entire processor, from scratch, in a truly Libre / Open
43 fashion.
44
45 This project therefore will provide a fully libre and open design of
46 mobile-class processor, where not only the source code of the BIOS,
47 bootloader, kernel and Operating System are entirely available, the
48 *hardware defintion* (HDL) source code will be entirely available as well.
49 That includes the GPU (for 3D Graphics), and the VPU (for video decode),
50 as well as full libre-licensed source code for the 3D and VPU drivers.
51
52 The expected outcome within the next 18-24 months is to deliver a
53 fully-functioning quad-core 800mhz RISC-V 64-bit SoC (system-on-a-chip)
54 for use in tablets, netbooks, smartphones, chromebooks and IoT Industrial
55 Embedded scenarios.
56
57 # Have you been involved with projects or organisations relevant to this project before? And if so, can you tell us a bit about your contributions?
58
59 Luke Leighton is an ethical technology specialist who has a consistent
60 23-year track record of developing code in a real-time transparent
61 (fully libre) fashion, and in managing Software Libre teams. He currently
62 is fulfilling a USD $200,000 successfully-funded crowdfunding campaign:
63 an eco-conscious computing project.
64
65 Jacob Lifshay is a software libre 3D expert who developed a Vulkan 3D
66 software render engine under the GSoc2017 Programme. He also developed
67 his own libre-licensed 32-bit RISC-V processor, and has written an
68 optimising javascript compiler. Luke is presently personally sponsoring
69 him to continue the Vulkan driver development, a project known as Kazan
70 (https://salsa.debian.org/Kazan-team/kazan)
71
72 # Requested Amount
73
74 EUR $50,000.
75
76 # Explain what the requested budget will be used for?
77
78 EUR $50,000 is approximately half a percent of the total budget needed to
79 achieve the goal. It will however easily fund us, as software engineers,
80 to get to an all-important milestone: an FPGA demonstrator. We already
81 have the FPGAs: we need time to focus on developing both the hardware
82 and the software (in tandem).
83
84 An FPGA demonstration will bring confidence to investors and larger
85 sponsors alike, as well as give potential Crowdsupply campaign backers
86 confidence to back the project (the Crowdsupply page is already
87 up in pre-launch mode at https://crowdsupply.com/libre-risc-v/m-class)
88
89 Additionally, there are domain experts whom we would like to bring on board
90 with offers of sponsorship, particularly when it comes to the compilers
91 that will need to be augmented to match the planned RISC-V enhancements
92 needed for the combined CPU, GPU and VPU workload.
93
94 # Does the project have other funding sources, both past and present?
95
96 The project is entirely self-funded from personal income. Luke is presently
97 sponsoring Jacob from personal income. There is no corporate sponsorship.
98 There is no academic affiliation so there is no source of academic grants.
99
100 Jacob's costs are around USD $1,000 per month. Luke's costs are around
101 USD $1,500 per month (including support for his family).
102
103 We already have been donated a ZC706 FPGA board, and have just recently
104 also been offered a comparable MicroSemi FPGA board from another sponsor.
105 We both have sufficiently powerful modern computers to cope with the workload
106 of both the software development and for hardware simulations, although Luke's
107 Aorus X3v6 high-end laptop could benefit from an upgrade to 32GB of RAM
108 (approx USD $250).
109
110 Whilst there are conferences that it would be good to go to, the cost
111 of world-wide flights is so relatively high that it would only be
112 prudent to do so only if there is significant benefit (or additional
113 sponsors).
114
115 Primarily we need to focus on the development of the core processor,
116 the 3D Driver (Kazan) and the compiler technology. EUR $50,000 will
117 easily cover our costs for up to 20 months.
118
119 # Compare your own project with existing or historical efforts.
120
121 There have been a number of efforts to create Libre SoCs. If they are
122 by Open Hardware community individuals, they are typically 32-bit and
123 tend to run at an absolute maximum of 500mhz, due to design flaws that
124 are not really noticed at the slower speeds achievable with FPGAs.
125 The OpenRISC 1200 falls into this category.
126
127 There are a number of higher-end 64-bit RISC-V efforts: Rocket-Chip
128 is used by LowRISC and SiFive. These are not capable of 3D or VPU
129 workloads, and their internal architecture nor codebase is suited
130 to the massive redesign effort required to cope with the demands of
131 3D and Video workloads.
132
133 There have also been a number of GPU efforts: the Open Graphics
134 Project, and the (incorrectly named) GPLGPU project (the license was
135 not GPL). Both of these focussed on a PCIe Graphics Card as the
136 primary objective: neither of them succeeded. There is also a
137 project called "ORGFX": an extension to the OpenRISC core as a Master's
138 Degree. This was successful however it is what is termed a "fixed
139 function" 3D engine, which is in absolutely no way suited to modern graphics,
140 all of which has moved to "shader" design.
141
142 Also, from two researchers at the University of Birmingham, are
143 two efforts known as "Nyuzi" and the "Open Shader" Project. Nyuzi
144 is a non-hardware-accelerated Software Renderer, based on Intel's
145 Larrabee Project, which has
146 power-performance characteristics 25% that of an embedded MALI 400 GPU.
147 As-is, it is unsuitable for deployment in a mobile-class environment. The
148 Open Shader project appears to have stalled, and its academic developers
149 are unresponsive (a prerequisite for true auditable open collaboration).
150
151 In addition, the MIAOW Project is another academic effort to research
152 parallel computing workloads. It has no GPU characteristics, at all,
153 would require significant investment of time and effort to adapt, and,
154 not being suitable for general-purpose CPU workloads, would require
155 a significant (risky) investment of time and effort in the 3D driver.
156 By contrast, the approach taken - to hardware-accelerate a hybrid
157 CPU-GPU-VPU that is primarily a software renderer, requires significantly
158 less resources in driver development.
159
160 All other mobile-class commercial SoCs license either proprietary
161 GPU technology or proprietary VPU technology, neither of which may
162 be trusted by end-users to respect privacy.
163
164 Basically there does not exist - anywhere in the world - in the year
165 2018 - a commercially-available system-on-a-chip where the entire
166 source code of both the hardware and the software is libre-licensed.
167 Full (libre) transparency is the only way that independent audits may be
168 carried out.
169
170 ## What are significant technical challenges you expect to solve during the project, if any?
171
172 The development of a hybrid CPU-GPU-VPU is a significant project.
173 However as an libre / open project, we are able to ask questions and
174 get help online from unexpected sources, which no "competitive"
175 commercial company could ever possibly consider doing. At the time
176 of writing, the comp.arch newsgroup has a number of active discussions
177 where our lack of knowledge is being corrected and augmented by
178 several extremely experienced hardware engineers, including Mitch
179 Alsup, the designer of the Motorola 68000 Family.
180
181 Mitch used to work for AMD, in particular on the AMDGPU: he was also
182 the architect of the AMD K9 Series, and more recently he was a technical
183 advisor to Samsung on their GPU Project.
184
185 With his help we have already uncovered some previously unknown
186 features of the CDC 6600 processor, developed in 1964 by Seymour Cray.
187 We are extremely lucky to have access to his wealth of experience and
188 knowledge.
189
190 Only by being independent of Corporate control as a Libre Project can we
191 release simulations, reports, documentation and source code, in real-time,
192 such that it may be publicly reviewed and found not to contain
193 privacy-violating spying back-doors.
194
195
196 ## Describe the ecosystem of the project, and how you will engage with relevant actors and promote the outcomes?
197
198 We have a pre-launch Crowdsupply page up and running already, at
199 https://www.crowdsupply.com/libre-risc-v/m-class through which we will
200 engage with developers and end-users alike. Developers will be invited
201 to participate through the http://libre-riscv.org website and resources.
202
203 The Crowdsupply page has already been picked up by Phoronix, Heise.de
204 Magazine, reddit and ycombinator. There is a lot of interest in this
205 project.
206
207 # Extra info to be submitted
208
209 * <https://hardware.slashdot.org/story/18/12/11/1410200/super-micro-says-review-found-no-malicious-chips-in-motherboards>
210 * <https://libreboot.org/faq.html#intelme>