d37bed24d64d5f285dc047b73dbff63c3a01fd77
[libreriscv.git] / nlnet_2022_ongoing / discussion.mdwn
1 # Meeting 30th aug 2023 16:00 UTC
2
3 * Checked TOML fields and participants in bugs: 961, 1035, 1068, 1083, 1119, 1120, 1123,
4 1146, 1147, 1148
5
6 **TODO**: Check unallocated budget for bugs 737, 1035, 1026. Also check bug 1047 budget
7 allocation.
8
9 # Meeting 30th aug 2023 08:45 UTC
10
11 * Updated the TOML fields for the following bugs: 737, 852, 990, 999, 1004, 1024, 1025,
12 1026, 1031, 1032, 1033, 1034, 1035, 1039, 1086, 1116, 1120, 1123, 1128, 1130, 1131, 1132
13
14 * If Dmitriy has any more ammendments to make, please check your subtasks (we didn't
15 see any problems).
16
17 * Jacob please update the json file.
18
19 * Luke (once checked with Dmitry and Jacob) please do a final check and submit.
20
21 **TODO**: Dmitry would like to make budget adjustments to
22 [bug #1068](https://bugs.libre-soc.org/show_bug.cgi?id=1068),
23 a subtask of [bug #1003](https://bugs.libre-soc.org/show_bug.cgi?id=1003).
24 See the
25 [IRC log](https://libre-soc.org/irclog/%23libre-soc.2023-08-30.log.html#t2023-08-30T11:18:53)
26
27 * A meeting later today will be arranged to make adjustments to the budget.
28
29 Edit:
30
31 * [Bug #1116](https://bugs.libre-soc.org/show_bug.cgi?id=1116#c7) only needs one person to do the work, so budget allocation adjusted accordingly.
32
33 * Need a discussion on [bug #1047](https://bugs.libre-soc.org/show_bug.cgi?id=1047#c10), as it also intended to done by one person.
34
35 * Jacob mentioned to re-adjust
36 [bug #1123](https://bugs.libre-soc.org/show_bug.cgi?id=1123#c3) budget to about
37 half of bug #1120. Also Dmitry is not involved in this task (his work will be on a subtask
38 bug #1035).
39
40 # questions 17 aug 2023
41
42 * <https://bugs.libre-soc.org/show_bug.cgi?id=961#c5>
43
44 ## Discussion from meeting on the 23rd August 2023 21:00 UTC+1
45
46 ### Bug #1003
47
48 * There is no overlap, as #976 tackled a different issue (and was already complete
49 before #1003).
50 * "observe in the child tasks that the entire budget *has* already been allocated to subtasks.... *none of which* overlap (or are a duplicate of) #972"
51 * Bug #1003 does however build on the work from #972.
52 * Added to comment 0 of bug #1003 to clarify that it builds on top of #972.
53
54 **TODO: just put clear message describing task. No "Edit: this etc etc"**
55
56 * Edit: Please see updated [comment 0](https://bugs.libre-soc.org/show_bug.cgi?id=1003#c0).
57
58 **TODO: 1) the 1st sentence does not mention binutils. 2. it needs to say "continuation of bug #976"
59 3. a "--" is needed. 4. the paragraph "this is an umbrella task" is unnecessary. we already know it's an umbrella task, as it has child
60 subtasks. 5. the last sentence which repeats for the *third* or fourth time "this is a task" can be removed. 6. again "bug #976" not "#976".**
61
62 * Edit: Please see updated [comment 0](https://bugs.libre-soc.org/show_bug.cgi?id=1003#c0).
63
64 ### Bug #999
65
66 * Build means that Sadoon provides documentation for setting up a SFFS port
67 of Gentoo and Debian.
68 * Stage 3 tar archive file for Gentoo is now available,
69 see [instructions](https://libre-soc.org/SFFS/gentoo_bootstrap/).
70 * Debian scripts are still being worked on as of 23rd Aug.
71 * All files required are hosted either on Libre-SOC's ftp or git.
72 * Patching qemu has been discovered to be out-of-scope for this task
73 (far too much work). Sadoon will be creating (or adding sesction to
74 Gentoo/Debian pages) a wiki page describing the
75 work he went through with qemu.
76
77 **TODO: sadoon, edit the "TODOs" and "DONEs" to include the relevant bugreports.**
78
79 **TODO: sadoon, complete the descriptions in comment zeros of each subtask of #999.**
80
81 * Edit: Sadoon updated comments 0 for bugs #999, 1130, 1131, 1132.
82
83 ### Bugs 1025/1026
84
85 * Jacob is still working on figuring out the subtasks which should be focused
86 on for the scope of the On-Going grant.
87
88 **NOT NEEDED at this stage, can be submitted later. we need to MOVE and get the MoU signed**
89
90 Edit: Jacob specified that 1025/1026 subtasks are not going to be part of
91 the MoU. See
92 [IRC log](https://libre-soc.org/irclog/%23libre-soc.2023-08-24.log.html#t2023-08-24T17:27:20)
93
94 **please REMOVE that. it is NOT necessary to make such a statement.
95 it is already known**
96
97 ### Bug 1032
98
99 * Jacob mentioned there are two major parts
100
101 1. Decoder/fetch pipeline
102 2. Execution unit
103
104 Cesar likely do the former, Jacob could do the latter.
105
106 **CORRECTION: JACOB to do both.**
107
108 * Edit: Please see updated [comment 0](https://bugs.libre-soc.org/show_bug.cgi?id=1032#c0).
109
110 ### Bug 1033
111
112 * Create the framework for testing (or choose existing)
113 (jacob: important clarification -- afaict this task is adding new `StateRunner`
114 and `State` subclasses for FPGA/verilator/etc.
115 This task is *not* for creating a new framework or choosing an existing framework,
116 we already have one with implementations for pypowersim, nmigen simulation of the
117 libre-soc core, and `ExpectedState`. maybe also QEMU through GDB, icr.)
118 * Add specialisation for pypowersim, microwatt (verilator), FPGA.
119 * Cavatools out of scope.
120 * Builds on top of <https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/test/state.py;hb=c23202498ae30addf04ab4c1e0d7262cc825cd45>?
121 * Initially pypowersim tested against qemu, then FPGA.
122 * For Simple-V/SVP64 only pypowersim implementation right now.
123 SoC HDL has small subset of SVP64.
124
125
126 ### Automated method for removing non-MOU things
127
128 * Jacob added a feature to automatically remove non-MOU strings.
129
130 **(and didn't follow instructions which was to only add support for "--...--" the standard line-break of markdown). now additional work has to be done looking for the extremely irritating and tiresome and completely undocumented "trigger-sentence" which if typed incorrectly will not do its job)**
131
132 # questions 05 oct 2022
133
134 context is from other [[nlnet_2022_opf_isa_wg/discussion]] on 2022-08-051.
135 mailing list <https://lists.libre-soc.org/pipermail/libre-soc-dev/2022-October/005363.html>
136
137 **
138 Again there should be a breakdown of the main tasks, and the associated effort.
139 And a clarification what rates you used.
140 (I'm assuming these are the same, but I've learned not to assume...)
141 **
142
143 yes EUR 3,000 / mo as a yardstick works out ok in practice.
144
145 tasks, adapted (OpenCAPI is now a secret closed Standard, assigned to a
146 group backed by Intel!)
147
148 * 2-3 months: Dynamic Partitioned SIMD for nmigen
149 * 5-6 months: Continuation of IEEE754 FP Formal Correctness Proofs, addition
150 of FP Rounding Modes and Power ISA Flags
151 * 3-5 months: Completion of an In-Order Single-Issue core implementing SVP64
152 * 3-4 months: Addition of the IEEE754 FPU to the Core
153 * 3-4 months: Addition of other ALUs and pipelines
154 * 4-5 months: Addition of SMP (multi-core) support (lots of research here,
155 need help from IBM / Microwatt, the SMP Memory Model is conprehensive)
156 * 3-4 months: Running under Verilator and on FPGAs (big ones)
157 * 4-5 months: Continued documentation, attendance of Conferences online
158 * 4-5 months: Begin investigating Multi-Issue Out-of-Order
159 * 2-3 months plus hosting costs: Establishment and management of CI
160 * 2? months?: two Bitmain 250 FPGA porting (thanks to UOregon)
161
162 lower estimate is around 35 months, upper limit is 46, so a EUR 100,000
163 budget @ EUR 3,000/mo is within target (just). may need adjusting or some
164 tasks removing, to fit. we cannot risk committing to tasks at too low a
165 rate to be able to attract interest and committment.
166
167 Again however I do not have a problem with reducing the scope of this one
168 to only EUR 50,000 to cover some of the less ambitious tasks, with the
169 necessary infrastructure (Dynamic SIMD, IEEE754 ALUs) being first
170 priority then a second Grant following up to continue.
171
172 **
173 What would be the concrete (high level) outcome of that project -
174 where would the grant get us? Would there be a new test chip made
175 during the lifespan of the project?
176 **
177
178 Answering on the ASIC first: it is a little early to tell. Coriolis2 needs Timing
179 based Routing completed in order to tackle lower geometries (even 90nm),
180 https://libre-soc.org/nlnet_2021_lip6_vlsi/ 2021-08-049.
181 sky130
182 is far too small an allocation (12 mm^2 when we need around 100), we
183 really need sky90 which as i understand is still being negotiated and set up.
184
185 Given the amount of time ls180 took (I have to admit it was a major time-sink for me)
186 as a "learning exercise" the 2019-10-029 project was perfect.
187 However as far as "value for money" is concerned, a repeat is honestly
188 less valuable. That said: when it is ready, RED Semiconductor
189 *will* be picking up the Libre-SOC core and taking it to Silicon
190 (28 nm or below). For this Grant Proposal, powerful FPGAs will
191 get us a long way.
192
193 The concrete outcomes:
194
195 * A greatly increased strategic capacity of nmigen HDL: full Object-Orientated
196 Abstraction of its core Language Features. Opportunities then open up
197 to perform strict type checking, length checking, other types of Arithmetic
198 (Complex numbers, Galois Field) and other "filters" as
199 3rd party extensions, of which the Dynamic SIMD Partitioning Library created under
200 2019-02-012 would be the first big showcase.
201 * A modern well-documented IEEE754 Floating-Point Library, with Formal Correctess
202 Proofs using modern FOSSHW tools (smt2, symbiyosis) is a big deal in its own right,
203 and something worth aiming for.
204 The only
205 other Libre Formal Proof is Academically developed
206 for an older version of IEEE754: we will
207 target 2008 and 2019 semantics.
208 * An actual "on-the-ground" realisation of Simple-V in a useable Core, whereas at
209 present it is Simulations only and the cavatools Cycle-accurate Simulator
210 (2021-08-071) is not quite the same thing (userspace binaries only in cavatools,
211 no Virtual Memory, for a start). SMP Support in particular would be strategically
212 very valuable to have, it greatly expands the commercial viability.
213 * A lot larger "eat own dogfood" hosting solution, the NGI POINTER Grant paid for
214 an IBM POWER9 Server which lends us credibility but it needs to be put to
215 good use!
216
217 In other words, mostly "low-level strategic outcomes" on the way to success :)