[libre-riscv-dev] Questions The Libre-RISCV SoC

Jacob Lifshay programmerjake at gmail.com
Thu Mar 21 16:15:21 GMT 2019

On Thu, Mar 21, 2019, 04:26 lkcl <luke.leighton at gmail.com> wrote:

> off the top of my
> head i can think of the following tasks:
> * an IEEE754 floating point pipeline
I think we should split this into the div/mod/sqrt/inv-sqrt pipeline
(referred to as div pipeline hereafter) and the main pipeline. In
particular,  I'm planning on having the div pipeline also handle integer
div/mod and having the main pipeline handle integer multiplication and
probably additional operations.

> * a basic processor core (we need a management / low-power-mode / boot-up
> core)
> * a nmigen pinmux (for peripheral multiplexing)
> * a Virtual Memory Management system suitable for hybrid CPU / GPU usage
> * a software simulator compliant with the latest SimpleV Vectorisation
> Standard proposal
> * design and software simulation of some of the 3D custom instructions
> needed for the GPU
> * Kazan 3D's software SPIR-V to LLVM compiler being operational and
> running OpenCL applications (although this is also a massive task so
> may need further subdivision)
I wasn't planning an OpenCL implementation until much later, if at all,
assuming you meant Vulkan.

Subgoals of Vulkan driver (not in any particular order):
getting basic compute shader to compile and run on x86.
getting control barriers to work on x86
getting basic graphics shaders (vertex and fragment only) to compile and
run on x86
adding support for required texture formats on x86
adding support for rendering to DRM surfaces on x86
supporting extensions required for zink (mesa opengl to vulkan translator)
on x86
running some vulkan games on x86
running some opengl games on x86 using zink
passing vulkan test suite on x86
adding support for running shaders on rv64gc (without SimpleV)
passing vulkan test suite on rv64gc
implementing SimpleV support in llvm
working on upstreaming llvm patches
getting basic compute shaders to compile and run on SimpleV
getting basic graphics shaders to compile and run on SimpleV
running vulkan games on SimpleV
passing vulkan test suite on SimpleV
implementing support for additional custom instructions
passing test suite when using additional custom instructions
work on inclusion of vulkan driver in debian on x86 and riscv
work on inclusion of vulkan driver in fedora on x86 and riscv
getting support for rv64gc on linux upstream in rust

> there are actually a significant number of sub-tasks, many of which
> are already underway and/or have been planned in advance: we can track
> them using http://bugs.libre-riscv.org if that would work?
> http://bugs.libre-riscv.org/buglist.cgi?component=Milestones&list_id=40&product=Libre%20Shakti%20M-Class&resolution=---
> > Is Jacob aware of the project proposal?
>  yes: as is the whole team. as mentioned earlier we discussed the
> proposal and agreed how to respond when you got back to us:
> http://lists.libre-riscv.org/pipermail/libre-riscv-dev/2019-February/000625.html
> > How do you see the division of
> > funding between him and you, and others?
> our Charter requires that everyone is equitably rewarded for their
> contributions:
> https://libre-riscv.org/charter/discussion/
> so we will strike a balance between the individual needs of each team
> member and how their contribution, if encouraged and so empowered,
> will help move the goal forward.
> these are for full-time focus:
> * i need around USD $1200-1500 per month for living expenses
> * jacob needs around $1000 per month.
> we've not yet had anyone else come forward to formally discuss any
> financial needs in exchange for an agreed contribution.  we do have
> the option of allocating shares (yet to be fully discussed, i am
> leaning towards http://slicingpie.com as it is about the only fair
> equitable startup calculator available).
> i have also contacted the nmigen developers and provisionally offered
> them a donation, as we are taking up their time with support
> questions, and using code that they spent time and resources
> developing, so it is only fair and reasonable to make sure that
> they're fairly compensated for their efforts.
we may want to consider donating to yosys (used by nmigen and ecp5
toolchain) and symbiflow (used as ecp5 toolchain).

> would that be something that could be arranged and discussed?  if it
> cannot be arranged through NLnet i feel strongly obligated to arrange
> a donation to the nmigen developers through some other means.
> also, since writing the proposal we have located a suitable low-cost
> FPGA developer board (around $200) called the ECP5 that happens to be
> compatible with libre-licensed toolchains.  at the appropriate point,
> a case could be made to get some of these for the team.  although they
> are smaller than the resources needed to run the full FPGA core (for
> which I have the Xilinx ZC-706), the ECP5 will manage sub-tasks very
> nicely.  and, crucially, will not need payment of FPGA SDK licensing
> fees.

I agree on the points which I have not specifically responded to.

Jacob Lifshay


More information about the libre-riscv-dev mailing list