X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=index.mdwn;h=4d046961f37d7115d76aa34b45edb5f05564190c;hb=5d389ca0b1bb371a7624eebdb5d8b1d7a1155158;hp=34b690734614fe3d9559476789d433d6c0b3a6fc;hpb=74a13fa37f724f1ce8814543cefa47e1df297676;p=libreriscv.git diff --git a/index.mdwn b/index.mdwn index 34b690734..4d046961f 100644 --- a/index.mdwn +++ b/index.mdwn @@ -1,26 +1,216 @@ -# Welcome to libre-riscv. +
+

Welcome to Libre-SOC

+
+

We're building a chip. A fast chip. A safe chip. A trusted chip.

-This is a publicly editable wiki. +

A chip with lots of peripherals. And it's a VPU. And it's a 3D GPU...

-All wikis are supposed to have a [[SandBox]], so this one does too. +

Oh and here, have the source code...

+
+
----- +

Why should I care?

-This wiki is powered by [[ikiwiki]]. +With Libre-SOC, you can take complex algorithms usually intended for +power hungry servers with big fat GPUs, and run them on tiny devices +like smartwatches, cellphones, and pocket drones without changing your +code at all. -# Resources +
-* Mailing Lists - - Archives at -* Git repositories - may be cloned publicly with - git clone https://git.libre-riscv.org/git/repositoryname.git +

Hasn't Somebody Already Done This?

-# Main Pages +To the best of our knowledge, no. The closest systems would be ARM Cortex +devices which currently offer mediocre GPU and OpenCL support. Often +times, it is quite difficult for customers to get their hands on the +drivers and install them due to their locked down nature. Libre-SOC is +providing our own Free/Libre drivers. Easy as 1, 2, 3! -* Libre-RISCV [[charter]] -* [[shakti/m_class]] -* [[alt_rvp]] -* [[3d_gpu]] -* [[simple_v_extension]] -* [[harmonised_rvv_rvp]] +
+ +

Does Open Hardware Really Work?

+

A few names come to mind:

+ + + +

+ Learn more + +

+ + + +# Our Team + +We are proud of our talented and diverse [team](about_us). + +# Our sponsors and partners + +* [Purism](http://puri.sm) donates to us through [NLNet](nlnet) + charitable gifting +* [Raptor CS](http://raptorcs.com) has given us access to a powerful + 18-core 128 GB RAM TALOS II workstation, online. +* [Raptor Engineering](https://raptorengineering.com) is providing + additional assistance including access to an [[shakti/m_class/LPC]] + interface (more to come) +* [MarketNext](http://marketnext.org) is helping us connect to developer + resources in Emerging markets, for completion of NLNet-funded tasks. + See the upcoming [Hackathon](https://www.youtube.com/embed/Px6eakWja3Q"), + deadline May 15th +* The [[PowerPC Notebook]] Project +* [RED Semiconductor](http://redsemiconductor.com) is the commercial realisation of Libre-SOC technology that respects and actively supports Libre principles in its business objectives. +* [[fed4fire]] for supercomputer access for verilator simulations, + with thanks to Ghent University / IMEC. + +# Status and TODO + +This section covers more future tasks. A progress report +is available at the [[3d_gpu]] page. + +| Date | Task | bug | +| -------- | ----------------------------------------- | ----- | +| Oct 2020 | Integer OpenPOWER ISA v3.0 implemented | [[!bug 383]] | +| Sep 2020 | ECP5 FPGA running basic bare metal | [[!bug 22]] | +| TODO | 180nm GDS-II IMEC tapeout Jun 9th | [[!bug 199]] | +| TODO | Complete MMU for GNU/Linux OSes | [[!bug 51]] | +| TODO | ISA Simulators | [[!bug 241]] | +| TODO | power-gem5 Simulator | [[!bug 581]] | +| TODO | binutils support for SVP64 | [[!bug 550]] | +| TODO | gcc support for SVP64 | [[!bug 558]] | +| TODO | [[openpower/sv/svp64]] Vectorisation | [[!bug 583]] | +| TODO | In-order execution engine | | +| TODO | out-of-order execution engine | [[!bug 81]] | +| TODO | Video Instructions and libraries | [[!bug 137]] | +| TODO | IEEE754 FP HDL Library | [[!bug 48]] | +| TODO | Kazan 3D Vulkan Driver | [[!bug 54]] | +| TODO | MESA 3D Vulkan Driver | [[!bug 251]] | +| TODO | 3D instructions | [[!bug 252]] | +| TODO | cryptographic [[openpower/sv/bitmanip]] instructions | | +| TODO | [[crypto_router_asic]] (130nm?) | [[!bug 589]] | +| TODO | Kestrel BMC Port | | +| TODO | Debug Working Group (JTAG, DMI, FSI) | | + +# How Can I Help? + +If you would like to fund us, see [[funding]]. We currently have some +funding and always appreciate more! If you are a Corporation or an +individual you can donate tax-free to NLNet, and they can in turn gift +our developers. Contact lkcl@lkcl.net for more information. + +# How Can I Help as a Developer? + +If you want to write code with us (and receive donations from NLNet +for doing so), keep reading. If you want to *learn* +so that you can write code with us, see "How can I learn" section, +below. If there is anything else, +just get in touch on the list, there is plenty to do. + +1. First, join the + [mailing list](http://lists.libre-soc.org/mailman/listinfo/libre-soc-dev), + introduce yourself (people will happily say "hello" back) and + the Libera IRC channel + (#libre-soc at irc.libera.chat port 6697, see +https://libera.chat/guides/connect), [logs here](https://libre-soc.org/irclog/latest.log.html). + Read through + [recent posts](http://lists.libre-soc.org/pipermail/libre-soc-dev/) + and the [[charter]], ask questions if you have any and let everyone know, + on the list that you're happy with it and agree to it. +2. The next thing you should do is read through the + [bugs list](http://bugs.libre-soc.org) and + see if there are any bugs that pique your interest. + A fascinating way to do that is to view the + [dependency graph](https://bugs.libre-soc.org/showdependencygraph.cgi?id=1&display=web&rankdir=LR) +3. After that, go ahead and take a look at the + [git repositories](https://git.libre-soc.org). +4. If you plan to do HDL work, you should familiarize yourself with our + [[HDL_workflow]]. If you would like to help with the ASIC layout, + see [[HDL_workflow/coriolis2]] +5. We do have funding available (see [[nlnet]]) upon completion of issues - + we are also working on procuring more funding which gets the project to + nanometre scale tapeout. +6. After all this, if you feel that Libre-SOC is a something + that you would like to contribute to, add yourself to the + [current_members](about_us) page, fill in some information about yourself, + and join the mailing list and say hello. + +Also note that you can edit this wiki. You can experiment in the [[Sandbox]]. + +## Quick peek at the code + +Here is an example process of how to play with the soc code. The last +step you will have needed to install yosys: + + pip3 install virtualenv requests + mkdir ~/.virtualenvs && cd ~/.virtualenvs + python3 -m venv libresoc + source ~/.virtualenvs/libresoc/bin/activate + + cd ~; mkdir libresoc; cd libresoc + git clone https://git.libre-soc.org/git/nmigen.git + git clone https://git.libre-soc.org/git/nmigen-soc.git + git clone https://git.libre-soc.org/git/nmutil.git + git clone https://git.libre-soc.org/git/openpower-isa.git + git clone https://git.libre-soc.org/git/c4m-jtag.git + git clone https://git.libre-soc.org/git/ieee754fpu.git + git clone https://git.libre-soc.org/git/soc.git + + cd nmigen; python setup.py develop; cd .. + cd nmigen-soc; python setup.py develop; cd .. + cd c4m-jtag; python setup.py develop; cd .. + cd nmutil; make develop; cd .. + cd openpower-isa; make develop; cd .. + cd ieee754fpu; make develop; cd .. + cd soc; make gitupdate; make develop + + python3 src/soc/decoder/power_decoder.py + yosys -p "read_ilang decoder.il; show dec31" + +The full install process may be automated using scripts found +here: +which you can clone with: + + git clone https://git.libre-soc.org/git/dev-env-setup.git + +## How can I learn? + +The whole purpose of this project is to be a learning environment as well +as an actual business. If you want to learn how to do ASIC design, with +a view to contributing or starting your own ASIC business, start here: +[[3d_gpu/tutorial]]. Yes, really: do not let anyone tell you that you +can't learn this stuff too. + +Along the way, if you find any [[resources]] or links that you found +particularly helpful, please add them to that page so that other people +can also benefit (and you have a place to remember them, too). + +## Needed Skills + +Most labor is currently being applied to developing the GPU portion of +the Libre-SOC. + +Our highest priority short-term and medium-term: we need HDL engineers. +Particularly those familiar +with nMigen or just python. Most of the techniques being used require +software engineering skills (OO design, polymorphism) than they do more +traditional HDL programming skills. Basically if you have experience in 2 +of the following you'll do fine: python, nmigen, verilog/VHDL/gate-level +design. See [[HDL_workflow]] + +We also need to find a c++ engineer with compiler experience to work on +a MESA 3D driver. This will begin life similar to SwiftShader however +retaining the vectorisation and predication intrinsics then adding +hardware accelerated opcodes (all of which SwiftShader lacks) + +Also, individuals with experience in formal mathematical verification +are quite welcome. + +# Documentation + + - [Source Code](/docs/) + - [Architecture](3d_gpu/architecture)