Libre RISC-V Mailing list Archives (accessible via public-inbox)
 help / color / Atom feed
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] next tasks
Date: Mon, 16 Mar 2020 22:53:05 +0000
Message-ID: <CAPweEDyO3nLo_u2bSKDjfCCgt6vuNL-0qt=5GPJXLAy0UV31_g@mail.gmail.com> (raw)
In-Reply-To: <5CD6DF89-FF40-4732-9E42-1EB2092969B8@gatech.edu>

On Monday, March 16, 2020, Immanuel, Yehowshua U <yimmanuel3@gatech.edu>
wrote:

>
> If we decide we don't want rpython, then I would suggest Rust — I’ve
>
> Like I’ve mentioned before, I’m all for Rust.
> If I remember correctly, we’re implementing POWER 3.0 and Gem5 only has
> support for 2.7(2.7 and 3.0 - wow sounds like Python versions :)…


hugh just pointed me today at work by IBM and a university in India which
fixes that.


>
> Anyways, one thing we should strongly consider making the simulator take
> advantage of multiple cores.
>
> Honestly, we could implement a single cycle CPU in RTL and the compile it
> into C++ with Verilator.
> To me, this seems to be the way to go.
>
> 1. Verilator Creates quite speedy cycle accurate C++ models
> 2. RTL is a really natural way to describe a CPU - duh
> 3. A single cycle CPU is about 3 - 4 days worth of labor
> 4. If we did the Single cycle CPU reference simulator in BSV for example,
> it’d simulate even faster than it would in verilator


yes it is a huge advantage of BSV that it actually compiles to an
executable that is 20x faster than verilator.


>
> I know using an RTL implementation of a CPU to test other RTL
> implementations seems unatural, but if we’d want to catch errors like
> pipeline and flushing behaviors in our CPU, then what makes more sense than
> a single cycle reference?


an FPGA test.

this is absolutely essential.

an FPGA test finds parallelism, gate propagation and timing errors that RTL
level simulations simply cannot catch.


> Also, I’d imagine in the future that we’d want to have speedy unit-testing
> etc etc, and considering ventilator offers multi-core support, we could see
> the speedup benefit of throwing our unit tests at a 64 core risen 3990x for
> example.


we have just been offered access to raptorcs POWER9 remote login, so we can
do some unit tests on there.

jacob i think it would be really good to get the algorithmic library into
shape by actually running it on there, and for the unit tests to try all
the different rounding modes exceptions etc.

then when we have that, we can also run the nmigen RTL on the same (fast)
hardware and make sure it covers the same cases.

l.



-- 
---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

  parent reply index

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAPweEDyGztErPRa=9KLM9J02R1fLQ9Y23VY7UNAkfJ5yt-03PQ@mail.gmail.com>
     [not found] ` <20200220093921.635c47f72ea2faf85dd352b7@gmx.com>
2020-03-12 14:32   ` Hendrik Boom
2020-03-12 14:43     ` Luke Kenneth Casson Leighton
2020-03-12 17:40       ` Jacob Lifshay
2020-03-13  6:44         ` Lauri Kasanen
2020-03-13  7:38           ` Jacob Lifshay
2020-03-13  8:04             ` Lauri Kasanen
2020-03-13  8:25               ` Jacob Lifshay
2020-03-13 10:13                 ` Luke Kenneth Casson Leighton
2020-03-13 18:10                   ` [libre-riscv-dev] Rustup security Jacob Lifshay
2020-03-14 18:13                   ` [libre-riscv-dev] next tasks Hendrik Boom
2020-03-14 18:23                     ` whygee
2020-03-14 18:28                       ` Luke Kenneth Casson Leighton
2020-03-14 18:49                         ` whygee
2020-03-15  2:47                     ` [libre-riscv-dev] benefits of rust Jacob Lifshay
2020-03-15  5:18                       ` Hendrik Boom
2020-03-15  5:42                         ` Jacob Lifshay
2020-03-15  5:47                           ` [libre-riscv-dev] [OT] Minecraft garbage collection Hendrik Boom
2020-03-15  6:41                             ` Jacob Lifshay
2020-03-15 12:11                               ` Luke Kenneth Casson Leighton
2020-03-16 13:22                                 ` Luke Kenneth Casson Leighton
2020-03-16 16:22                                   ` Jacob Lifshay
2020-03-16 16:24                                     ` Luke Kenneth Casson Leighton
2020-03-17 18:23                   ` [libre-riscv-dev] next tasks Jacob Lifshay
2020-03-17 18:56                     ` Luke Kenneth Casson Leighton
2020-03-16 18:30         ` Immanuel, Yehowshua U
2020-03-16 18:51           ` Jacob Lifshay
2020-03-16 22:53             ` Luke Kenneth Casson Leighton
2020-03-16 22:53           ` Luke Kenneth Casson Leighton [this message]
2020-03-16 23:12             ` Immanuel, Yehowshua U
2020-03-16 23:16               ` Immanuel, Yehowshua U
2020-03-16 23:42               ` Luke Kenneth Casson Leighton

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='CAPweEDyO3nLo_u2bSKDjfCCgt6vuNL-0qt=5GPJXLAy0UV31_g@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