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
next prev parent 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