Attempted to fix OP_RFID in TRAP pipeline
authorcolepoirier <colepoirier@gmail.com>
Wed, 3 Jun 2020 00:07:39 +0000 (17:07 -0700)
committercolepoirier <colepoirier@gmail.com>
Wed, 3 Jun 2020 00:07:39 +0000 (17:07 -0700)
src/soc/fu/trap/main_stage.py

index 03e5c2e4ab776564e755ec5b6407b2979b97977d..d165aefbe7078f171bd300eb839b37f81572b65d 100644 (file)
@@ -163,8 +163,12 @@ class TrapMainStage(PipeModBase):
                     ctrl_tmp.msr(MSR_DR) <= '1';
                 end if;
                 """
-                comb += self.o.msr.data.eq(Cat(b[63:31], b[26:22], b[15:0]))
-                comb += self.o.msr.ok.eq(a)
+                comb += self.o.msr.data[:16].eq(b[:16])
+                comb += self.o.msr.data[22:27].eq(b[22:27])
+                comb += self.o.msr.data[31:]
+                comb += self.o.msr.ok.eq(1)
+                comb += self.o.msr.data.eq(b)
+                comb += self.o.msr.ok.eq(1)
 
             # TODO
             with m.Case(InternalOp.OP_SC):