from openpower.decoder.power_decoder2 import decode_spr_num
from openpower.decoder.power_enums import MicrOp
+def test_TLBIE(dut):
+ yield dut.fsm.p.i_data.ctx.op.eq(MicrOp.OP_TLBIE)
+ yield dut.fsm.p.valid_i.eq(1)
+ yield
+ yield dut.fsm.p.valid_i.eq(0)
+ yield
+ yield
+ yield
+ yield
+ yield Display("OP_TLBIE test done")
+
def ldst_sim(dut):
yield dut.mmu.rin.prtbl.eq(0x1000000) # set process table
addr = 0x100e0
print(data,data_ok,ld_addr)
assert(ld_data==data)
yield
+ yield from test_TLBIE(dut)
- ##### not yet complete
- yield dut.fsm.p.i_data.ctx.op.eq(MicrOp.OP_TLBIE)
- yield
- yield
- yield
- yield
"""
-- not testing dzbz here --
from soc.experiment.mem_types import MMUToLoadStore1Type
from soc.fu.ldst.loadstore import LoadStore1, TestSRAMLoadStore1
-
+from nmutil.util import Display
class FSMMMUStage(ControlBase):
"""FSM MMU
# note that the spr is *not* an actual spr number, it's
# just that those bits happen to match with field bits
# RIC, PRS, R
+ comb += Display("TLBIE: %i %i",spr,l_out.done)
comb += valid.eq(1) # start "pulse"
comb += l_in.valid.eq(blip) # start
comb += l_in.tlbie.eq(1) # mtspr mode