[Libre-soc-dev] MMU SPR handling / trying to understand how pipeline elements get connected to each other

Tobias Platen libre-soc at platen-software.de
Thu Jan 21 19:11:36 GMT 2021

In the original microwatt based design the config SPRs of the MMU are set by FSMMMUStage, but when using the NonProductionCore the MicrOp.OP_MTSPR and MicrOp.OP_MFSPR operations are handled by the SPRMainStage. In the case that a SPR number belongs to the MMU those must be forwarded to the MMU. In AllFunctionUnits the self.fus['spr0'].alu is a SPRBasePipe object,
not a SPRMainStage object. I am still trying to unserstand how those components get connected to each other. The config SPRs that SPRMainStage needs to have access to are defined in mmu.py: 

# config SPRs
self.prtbl = Signal(64)
self.pid = Signal(32)

Tobias Platen <libre-soc[at]platen-software[dot]de>

More information about the Libre-soc-dev mailing list