[libre-riscv-dev] libresoc memory architecture

Luke Kenneth Casson Leighton lkcl at lkcl.net
Wed Jun 24 15:54:33 BST 2020


On Wed, Jun 24, 2020 at 2:24 PM Michael Nolan <mtnolan2640 at gmail.com> wrote:

> > 1) a TestMemoryLoadStoreUnit that contains a TestMemory instance and
> > presents a LoadStoreInterface.

> Ok, this seems reasonably straightforward. I'll give it a go.

star.  a look-ahead towards the integration testing: a
reconfigureable-class that (just like minerva) does runtime-selection
of which type of LoadStoreInterface-compatible "thing" to instantiate
would be good:

class ConfigureableLoadStoreUnit:
    def __init__(self, ifacetype, *args, **kwargs):
        if ifacetype == "testmem":
            self.lsi = TestMemoryLoadStoreUnit(*args, **kwargs)
        elif ifacetype == "bare_wb":
            self.lsi = BareLoadStoreUnit(*args, **kwargs)
        elif ifacetype == "cache_wb":
            self.lsi = CacheLoadStoreUnit(*args, **kwargs)

although from experience that might be better to use pspec which
contains parameters and so is a bit less of a mess when it comes to
setting up.

l.



More information about the libre-riscv-dev mailing list