(no commit message)
[libreriscv.git] / nlnet_2019_standards.mdwn
1 # NL.net proposal - 2019-10-046
2
3 * NLNet Project Page <https://nlnet.nl/project/LibreSoC-Standards/>
4
5 ## Project name
6
7 The Libre RISC-V SoC, Formal Standards Development
8
9 ## Website / wiki
10
11 <https://libre-riscv.org/nlnet_2019_standards>
12
13 Please be short and to the point in your answers; focus primarily on
14 the what and how, not so much on the why. Add longer descriptions as
15 attachments (see below). If English isn't your first language, don't
16 worry - our reviewers don't care about spelling errors, only about
17 great ideas. We apologise for the inconvenience of having to submit in
18 English. On the up side, you can be as technical as you need to be (but
19 you don't have to). Do stay concrete. Use plain text in your reply only,
20 if you need any HTML to make your point please include this as attachment.
21
22 ## Abstract: Can you explain the whole project and its expected outcome(s).
23
24 The Libre RISC-V SoC is a hybrid CPU, VPU and GPU which is being designed
25 to be libre to the bedrock. When the hardware is transparently auditable,
26 it can be trusted to not secretly compromise the software running on it.
27
28 With RISC-V being in its early infancy, however, Standards for Video
29 Acceleration and 3D Graphics Acceleration do not yet exist. These need
30 to be written, proposed, formally ratified and Conformance Test Suites
31 written and likewise ratified.
32
33 This takes a huge amount of time and coordinated collaboration, and is
34 a necessary co-dependent task alongside the actual development of the
35 processor itself.
36
37
38 # 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?
39
40 Luke Leighton is an ethical technology specialist who has a consistent
41 24-year track record of developing code in a real-time transparent
42 (fully libre) fashion, and in managing Software Libre teams. He is the
43 lead developer on the Libre RISC-V SoC.
44
45 # Requested Amount
46
47 EUR 50,000.
48
49 # Explain what the requested budget will be used for?
50
51 The improvements and additions to RISC-V Standards (known as Extensions)
52 need to be written, reviewed thoroughly, justification for the features
53 given, and then proposed.
54
55 There are several (see links at end) already in draft form. The primary
56 one is the Vectorisation Standard. Additional Vector Operations is
57 another. Transcendental operations (SIN, COS, LOG) another.
58
59 Once drafts have been agreed, a simulator can be developed. Next is some
60 unit tests, and after that, some formal Compliance Tests.
61
62 Finally this can be submitted to the RISC-V Foundation for formal
63 adoption.
64
65 Traveling expenses for presenting the standards to the RISC-V community
66 at Libre Conferences as well as RISC-V Workshops are needed.
67
68 Writing up of papers on the core technology and discoveries behind the
69 standards, for presentation at IEEE and other Computing Conferences.
70 This to aid in understanding of the need for the Standards and to
71 make adoption easier.
72
73 # Does the project have other funding sources, both past and present?
74
75 The initial proposal in November 2018 was for implementation of the
76 actual processor, as well as writing a simulator and developing Kazan,
77 the 3D Vulkan Driver. Purism began also sponsoring the overall project
78 in mid 2019.
79
80 It was discovered only in September 2019 on an offchance comment from
81 someone inside the (closed participation) RISC-V Foundation that RISC-V
82 Standards require a full Conformance Compliance Test Suite as part
83 of formal acceptance. This easily doubles the workload of Standards
84 Development and is in no way coverable by the initial 2018 proposal.
85
86 # Compare your own project with existing or historical efforts.
87
88 RISC-V is in its early infancy and has neither Extensions for 3D nor
89 Video. Most off the shelf commercial SoCs will use a special custom block
90 for Video, and a separate GPU for 3D. Each of these, bring proprietary,
91 is an attack vector for privacy subversion.
92
93 In this project, the CPU *is* the VPU and the GPU, so there is nothing to
94 compare it against. The full transparency of the Standards Development
95 Process is a necessary prerequisite for being able to trust the end
96 result.
97
98 ## What are significant technical challenges you expect to solve during the project, if any?
99
100 The key challenge will not be technical, it is a communications issue. The
101 RISC-V Foundation operates as a closed ITU Style Standards Organisation,
102 requiring effectively an NDA for participation, with negligeable
103 transparency and zero accountability.
104
105 A two year protracted and persistent request for open participation
106 and recognition of the value of the same is finally starting to get
107 action taken.
108
109 ## Describe the ecosystem of the project, and how you will engage with relevant actors and promote the outcomes
110
111 As mentioned in the 2018 submission, the Libre RISC-V
112 SoC has a full set of resources for Libre Project Management and development:
113 mailing list, bugtracker, git repository and wiki - all listed here:
114 <https://libre-riscv.org/>
115
116 In addition, we have a Crowdsupply page
117 <https://www.crowdsupply.com/libre-risc-v/m-class> which provides a public
118 gateway, and heise.de, reddit, phoronix, slashdot and other locations have
119 all picked up the story. The list is updated and maintained here:
120 <https://libre-riscv.org/3d_gpu/>
121
122 # Extra info to be submitted
123
124 * <http://libre-riscv.org/3d_gpu/>
125 * <https://nlnet.nl/project/Libre-RISCV/>
126 * <https://libre-riscv.org/simple_v_extension/>
127 * <https://libre-riscv.org/ztrans_proposal/>
128 * <https://libre-riscv.org/zfpacc_proposal/>
129 * Several other sub-proposals as part of the above.
130
131 # Management Summary
132
133 The Libre SoC was first funded from NLNet in 2018. This was for the core
134 of the project, based on an informally-developed Hybrid CPU-GPU 3D
135 instruction set that had been written (and implemented in a simulator)
136 in the 18 months prior to contacting NLNet. During the implementation
137 it became clear that a lot more work would be needed, and, further, that
138 to meet proper transparency criteria, the proposed instruction set
139 enhancements would need to be properly written up. In addition,
140 negotiations and communications with the Standards Body responsible
141 for POWER ISA (the OpenPower Foundation) also needed to be taken into
142 consideration. Therefore this proposal was submitted so that full
143 transparency and understanding of the Libre SoC is achieved.