[Libre-soc-dev] hunting around to connect up the dcache / mmu

Luke Kenneth Casson Leighton lkcl at lkcl.net
Fri Apr 30 00:48:40 BST 2021

On Thursday, April 29, 2021, Luke Kenneth Casson Leighton <lkcl at lkcl.net>

> https://libre-soc.org/3d_gpu/mmu_dcache_links.jpg
> for the Minerva case, ConfigMemoryPortInterface actually establishes
> (instantiates) the entire actual instance.  it *should* be
> instantiating Loadtore1 (because that is derived from
> PortInterfaceBase).

so.  what i've done is move dcache instantiation into Loadstore1.

 now, Loadstore1, being derived from PortInterfaceBase, can go into
ConfigMemoryPortInterface, and a bit more trickery, Loadstore1 can return a
wishbone interface.

then, the MMU FSM can be set up *without* itself instantiating Loadstore1,
it can be added to it after ConfigMemoryPortInterface is created.

and that is here, in TstL0CacheBuffer:

which is instantiated here:

HA! and that's also (next line) where the FUs incl. MMU are instantiated.


so, a function can be added to MMU, "set_loadstore", which is called in


crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68

More information about the Libre-soc-dev mailing list