self.l0 = TstL0CacheBuffer(n_units=1, regwid=64, addrwid=addrwid)
         pi = self.l0.l0.dports[0].pi
 
-        # Instruction memory
+        # Test Instruction memory
         self.imem = TestMemory(32, idepth)
 
         # function units (only one each)
         self.issue_i = Signal(reset_less=True)
         self.busy_o = Signal(reset_less=True)
 
+        # instruction input
+        self.bigendian_i = self.pdecode2.dec.bigendian
+        self.raw_opcode_i = self.pdecode2.dec.raw_opcode_in
+
     def elaborate(self, platform):
         m = Module()
 
 
         pdecode2 = core.pdecode2
         l0 = core.l0
 
-        comb += pdecode2.dec.raw_opcode_in.eq(instruction)
+        comb += core.raw_opcode_i.eq(instruction)
         comb += core.ivalid_i.eq(ivalid_i)
 
         # temporary hack: says "go" immediately for both address gen and ST
                     print(code)
 
                     # ask the decoder to decode this binary data (endian'd)
-                    yield pdecode2.dec.bigendian.eq(0)  # little / big?
+                    yield core.bigendian_i.eq(0)  # little / big?
                     yield instruction.eq(ins)          # raw binary instr.
                     yield ivalid_i.eq(1)
                     yield Settle()