def test_l0_cache_test_bare_wb(self):
 
-        dut = TstL0CacheBuffer(regwid=64, ifacetype='test_bare_wb')
+        pspec = TestMemPspec(ldst_ifacetype='test_bare_wb',
+                             addr_wid=48,
+                             mask_wid=8,
+                             reg_wid=64)
+        dut = TstL0CacheBuffer(pspec)
         vl = rtlil.convert(dut, ports=[])# TODOdut.ports())
         with open("test_basic_l0_cache_bare_wb.il", "w") as f:
             f.write(vl)
 
     def test_l0_cache_testpi(self):
 
-        dut = TstL0CacheBuffer(regwid=64, ifacetype='testpi')
+        pspec = TestMemPspec(ldst_ifacetype='testpi',
+                             addr_wid=48,
+                             mask_wid=8,
+                             reg_wid=64)
+        dut = TstL0CacheBuffer(pspec)
         vl = rtlil.convert(dut, ports=[])# TODOdut.ports())
         with open("test_basic_l0_cache.il", "w") as f:
             f.write(vl)
 
      * type of FU required
 
     """
-    def __init__(self, pilist=None, addrwid=6):
+    def __init__(self, pspec, pilist=None, addrwid=6):
         self.fus = {}
         for (name, qty, kls) in (('alu', 1, ALUFunctionUnit),
                                  ('cr', 1, CRFunctionUnit),