[Libre-soc-bugs] [Bug 393] Hook up L2 Cache to Wishbone/LDST Wrappers

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Sat Jun 20 21:38:46 BST 2020


https://bugs.libre-soc.org/show_bug.cgi?id=393

--- Comment #11 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68

On Sat, Jun 20, 2020 at 8:55 PM Yehowshua <yimmanuel3 at gatech.edu> wrote:
>
> >
> > what do you think?
>
> > * create a TestMemoryLoadStoreUnit (TMLSU) which is compliant with the
> > LSUI interface, but *IGNORES* LSUI's wishbone bus entirely
> > * make TMLSU read and write to TestMemory *using* the LSUI x_addr,
> > x_mask, etc. etc.
>
> Wait - why not just have TestMemory test
> LSUI connected to memory via wishbone?

because that's yet another piece in the chain that would need to be
understood.   the FSMs of wishbone are complex enough to understand
without being in the way of TestMemory.

    L0CacheBuffer <- LoadStoreInterface -> TestMemory is dead simple

    L0CacheBuffer <-> LoadStoreInterface <- can have a unit test

    unit test here -> LoadStoreInterface -> TestMemory is dead simple

what you are proposing is:

    L0CacheBuffer <- LoadStoreInterface <- SomeClass -> Wishbone -> TestMemory

for which we need *four* unit tests - one at each join-point.  (note: SomeClass
is almost identical to BareUnitLoadStore).

now that *is* actually what we need.... however: one thing at a time, and,
more than that, it's... well... 4 things (actually 8 including unit tests)
to write rather than 2 (actually 4) before we get to the point where we can
get some feedback about whether things work.



>
> That would make sense to me?
>
> I might not be understanding everything here,
> but if we make all memories look like wishbone mems,
> whether caches or SRAMS, then the only problem that needs solving
> Is ensuring LSUI is wishbone compliant.

yes... however that's a lot of complexity - a lot of code to write before
we can actually do integration.

the strategy above (outlined by starting with TestMemoryLoadStoreUnit)
is an incremental one with a lot less risk.


> However, I remember that we had two caches - that is, the even/odd cache
> Thingies connected directly to LDSTunit .

thingies lol.  yes.  that's the next phase.... but not yet.

> It might make sense to abstract out these with wishbone?

wishbone's sufficiently complex that it needs its own unit test... *and*
we need a unit test on the thing it connects to.

should anything go wrong with wishbone, we can't even *get* to the thing that
it's behind.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list