self.pspec.dcache = self.dcache
# debugging output for gtkw
- self.debug0 = Signal(64)
- self.debug1 = Signal(64)
- self.debug2 = Signal(64)
- self.debug3 = Signal(64)
+ self.debug0 = Signal(4)
+ #self.debug1 = Signal(64)
+ #self.debug2 = Signal(64)
+ #self.debug3 = Signal(64)
# for SPR field number access
i = self.p.data_i
# responds ("done").
with m.Switch(op.insn_type):
with m.Case(MicrOp.OP_MTSPR):
- comb += self.debug0.eq(0xFF)
- comb += self.debug1.eq(spr)
- comb += self.debug2.eq(a_i)
- comb += self.debug3.eq(a_i[:32])
# subset SPR: first check a few bits
with m.If(~spr[9] & ~spr[5]):
with m.If(spr[0]):
comb += d_in.dcbz.eq(1) # dcbz mode
comb += d_in.addr.eq(a_i + b_i) # addr is (RA|0) + RB
comb += done.eq(d_out.store_done) # TODO
+ comb += self.debug0.eq(1)
+
with m.Case(MicrOp.OP_TLBIE):
# pass TLBIE request to MMU (spec: v3.0B p1034)
comb += l_in.sprn.eq(spr) # use sprn to send insn bits
comb += l_in.addr.eq(b_i) # incoming operand (RB)
comb += done.eq(l_out.done) # zzzz
+ comb += self.debug0.eq(2)
with m.If(self.n.ready_i & self.n.valid_o):
m.d.sync += busy.eq(0)