From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
To: Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
Subject: Re: [libre-riscv-dev] Understanding the LibreSOC core
Date: Mon, 8 Jun 2020 19:24:12 +0100
Message-ID: <CAPweEDz5XeFCXTzhJ0j6WyWe=3FbZb2nb29QXr2yRvseJhZQZA@mail.gmail.com> (raw)
In-Reply-To: <CAE_rhwaprF7wsHr8amwY3BZhVB=nj22xdRo0-D02MQFFsYYmmQ@mail.gmail.com>
On Mon, Jun 8, 2020 at 7:03 PM Sanjay Menon <sanjayamenon.mec@gmail.com> wrote:
>
> Hi,
hi! :)
> Currently making a little progress on the nMigen tool.
excellent. you understand gates (and verilog) already, so it should be
pretty straightforward. Cesar i think got used to nmigen in around,
maybe 2 weeks? it took me about that long.
> Got to see some interesting things been discussed on the Alexa IOT pitch
> for LibreSOC.
>
> I have a few questions for you guys
>
> 1.Where do I start if I were to check into the LibreSoC source code?
ha, ok, hum, bear in mind it's 75,000 lines, ok? so i do recommend:
be patient, both with us and with yourself. you've got nmigen already
(and yosys? and symbiyosys? - you only need symbiyosys and its
dependencies if running the formal proof tests)
have you followed the "quick peek at the code" on the frontpage?
https://libre-soc.org/ if so, you have the 3 key repositories, and you
could, for example, run the simple_core.py test that i posted about,
yesterday. you *may* need to re-run pywriter.py though - see the
top-level Makefile
you can also just browse the source code directly online. here's
core.py for example:
https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/simple/core.py;hb=HEAD
and its unit test:
https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/simple/test/test_core.py;hb=HEAD
if you use vim, i recommend also "apt-get install exuberant-ctags",
then in each top-level directory where you work from, run "ctags -R".
you can then jump to any definition of any variable, class or
function, by putting the cursor on it and pressing "Ctrl-]"
> 2. Is this SoC in any way similar to the Xilinx ZYNQ architecture?.
> Where the ARM embedded processor would be replaced by PowerPC and the
> reconfigurable logic is converted to a GPU like entity, together forming a
> heterogeneous SoC.
ah no. it *really is* an actual POWER9 core, where the plan is to
*extend* the POWER9 ISA (safely, and with careful mentoring from IBM
and the OpenPOWER Foundation), to add SimpleV vectorisation, YUV2RGB
instructions, Texture Interpolation instructions, and a shed-load
more.
those instructions *actually* run as *CPU* instructions, and we will
beef up the internal architecture to the point where it can cope with
the significant data and computational demands of executing GPU
workloads. this is why we are going with a multi-issue OoO execution
engine, because it's the... "sane" way of dealing with the mixed
workloads of both sequential and parallel operations.
that is what being a "hybrid CPU-GPU-VPU" is all about. it's very
much *not* about "farming off GPU workloads to elsewhere" - the
complete opposite is true.
> 3. Do you plan to run the SoC on an FPGA for prototyping and testing
> purposes?,
yes absolutely! there is a EUR 10,000 budget allocated to this task:
https://bugs.libre-soc.org/show_bug.cgi?id=22
> or are you using some other methodologies?
i'd also like us to be able to use coriolis2 simulation. this is
right at the gate level, about as close to the GDSII files as you can
get without actually paying for masks.
although it will be INSANELY slow, it will allow us to check that the
HDL has actually been properly translated into what we expect to be
executed.
l.
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev
next prev parent reply index
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-08 18:03 Sanjay Menon
2020-06-08 18:24 ` Luke Kenneth Casson Leighton [this message]
2020-06-08 18:46 ` Yehowshua
2020-06-08 18:55 ` Luke Kenneth Casson Leighton
2020-06-08 18:58 ` Yehowshua
2020-06-08 19:01 ` Sanjay Menon
2020-06-08 19:09 ` Yehowshua
2020-06-08 19:14 ` Yehowshua
2020-06-08 20:38 ` Luke Kenneth Casson Leighton
2020-06-08 20:46 ` Luke Kenneth Casson Leighton
2020-06-08 21:19 ` Michael Nolan
2020-06-08 22:17 ` Luke Kenneth Casson Leighton
2020-06-08 22:18 ` Luke Kenneth Casson Leighton
2020-06-08 20:11 ` Michael Nolan
2020-06-08 20:12 ` Yehowshua
2020-06-08 20:31 ` Luke Kenneth Casson Leighton
2020-06-08 19:02 ` Luke Kenneth Casson Leighton
2020-06-08 19:05 ` Yehowshua
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAPweEDz5XeFCXTzhJ0j6WyWe=3FbZb2nb29QXr2yRvseJhZQZA@mail.gmail.com' \
--to=lkcl@lkcl.net \
--cc=libre-riscv-dev@lists.libre-riscv.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Libre RISC-V Mailing list Archives (accessible via public-inbox)
Archives are clonable: git clone --mirror https://inbox.libre-soc.org/libre-riscv-dev
Example config snippet for mirrors
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git