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] daily kan-ban update 23may2020
Date: Sat, 23 May 2020 16:15:02 +0100
Message-ID: <CAPweEDyi5Dep=o3STGRg_bVc8w2jJEiVF7NJyyp3WjW7dgr54Q@mail.gmail.com> (raw)
In-Reply-To: <20200523165620.92b34df777af2e7b1c7812ab@platen-software.de>

On Sat, May 23, 2020 at 3:56 PM Tobias Platen
<libre-soc@platen-software.de> wrote:
>
> If no one else is working on the LDST unit I will start working there.

good.  please however listen, pay attention, keep in constant
communication (do not wait until the end of the day if you are stuck,
like yesterday).

> First I'll copy the skeleton files from another function unit,

that will not be necessary: LDST is special-cased.  LDST is not
pipelined (they are FSMs), so virtually none of the infrastructure
there in soc.fu/* applies to it.

the reason why i created soc.fu.ldst.ldst_input_record is to make it
"consistent" when it comes to wiring up the Computation Units, which
will be dropped into soc/fu/{somefile.py} later.

> then I'll
> try to implement the things described in the video L0 cache/buffer walkthrough [1].

there are several pieces to this.  i need you to focus on them one at
a time, as this is particularly tricky.

first, a new class in soc/experiment/l0_cache.py is needed which
implements that core algorithm: the one that uses a PriorityPicker to
select one of the "active" LD/STs, then use that to OR-select an
output.

please assume the following inputs:

* an array of 8 Signals of length 8 bits which tell you which
addresses have matched against which other addresses.
  ( we call this the "address-match" array)
* an array of 8 Records containing {16 bytes data, 16 "enable" lines}

and the following output:

* a Record containing {16 bytes data, 16 "enable" lines}

in the address-match array, you want to find the first non-zero line.
once you have that index, use it to OR the 16 bytes and 16 "enables"
from the 8 records, into the output.

that's it.  it's quite simple, and is a crucial piece that we need.

i will cut/paste this into the appropriate bugreport (once i have found it).

please do *NOT* modify, replace or remove the existing L0CacheBuffer.
we need it, because it is currently in use.  it is not
high-performance, however it "works", and the rest of the code relies
on it.

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

  reply index

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-23 14:29 Luke Kenneth Casson Leighton
2020-05-23 14:56 ` Tobias Platen
2020-05-23 15:15   ` Luke Kenneth Casson Leighton [this message]
2020-05-23 20:15     ` Cole Poirier
2020-05-23 20:36       ` Michael Nolan
2020-05-23 20:59         ` Luke Kenneth Casson Leighton
2020-05-23 21:38           ` Cole Poirier
2020-05-23 22:15             ` Luke Kenneth Casson Leighton
2020-05-23 22:23             ` Luke Kenneth Casson Leighton
2020-05-23 20:57       ` Luke Kenneth Casson Leighton
2020-05-23 21:21         ` Cole Poirier
2020-05-23 22:08         ` Cesar Strauss
2020-05-23 22:14           ` Luke Kenneth Casson Leighton
2020-05-23 22:16             ` Luke Kenneth Casson Leighton
2020-05-23 22:16               ` Luke Kenneth Casson Leighton
2020-05-23 22:17                 ` Luke Kenneth Casson Leighton
2020-05-23 22:18                   ` Luke Kenneth Casson Leighton
2020-05-23 22:20                   ` Cole Poirier
2020-05-23 22:27                     ` Luke Kenneth Casson Leighton
2020-05-23 22:32                       ` Cole Poirier
2020-05-23 22:39                         ` Luke Kenneth Casson Leighton
2020-05-23 22:23             ` Cole Poirier
2020-05-23 22:36               ` Luke Kenneth Casson Leighton
2020-05-23 22:59                 ` Cole Poirier
2020-05-23 23:01                   ` 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='CAPweEDyi5Dep=o3STGRg_bVc8w2jJEiVF7NJyyp3WjW7dgr54Q@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