fix unittest test_compldst_multi_mmu.py (load now returned byte previously stored)
authorTobias Platen <tplaten@posteo.de>
Fri, 29 Oct 2021 16:45:47 +0000 (18:45 +0200)
committerTobias Platen <tplaten@posteo.de>
Fri, 29 Oct 2021 16:45:47 +0000 (18:45 +0200)
src/soc/experiment/compldst_multi.py
src/soc/experiment/test/test_compldst_multi_mmu.py

index 833112e36607a6450da4fa9cb0d9588ea9346a7f..c14e35374cb9a60baedbd55ac923612843d92964 100644 (file)
@@ -714,24 +714,24 @@ def load(dut, src1, src2, imm, imm_ok=True, update=False, zero_a=False,
 
     if update:
         yield from wait_for(dut.wr.rel_o[1])
-        yield dut.wr.go.eq(0b10)
+        yield dut.wr.go_i.eq(0b10)
         yield
         addr = yield dut.addr_o
         print("addr", addr)
-        yield dut.wr.go.eq(0)
+        yield dut.wr.go_i.eq(0)
     else:
         addr = None
 
     yield from wait_for(dut.wr.rel_o[0], test1st=True)
-    yield dut.wr.go.eq(1)
+    yield dut.wr.go_i.eq(1)
     yield
-    data = yield dut.o_data
-    print(data)
-    yield dut.wr.go.eq(0)
+    data = yield dut.o_data.o
+    data_ok = yield dut.o_data.o_ok
+    yield dut.wr.go_i.eq(0)
     yield from wait_for(dut.busy_o)
     yield
     # wait_for(dut.stwd_mem_o)
-    return data, addr
+    return data, data_ok, addr
 
 
 def ldst_sim(dut):
index 63f9854ed46bd70c340c78dff1c0348c5bd5cfa3..52397262d540b244661a05de80f3e6781dbfbd51 100644 (file)
@@ -35,10 +35,15 @@ from soc.experiment.test.test_wishbone import wb_get
 def ldst_sim(dut):
     yield dut.mmu.rin.prtbl.eq(0x1000000) # set process table
     addr = 0x100e0
-    data = 0xf553b658ba7e1f51
+    data = 0xFF #just a single byte for this test
+    #data = 0xf553b658ba7e1f51
 
     yield from store(dut, addr, 0, data, 0)
     yield
+    ld_data, data_ok, addr = yield from load(dut, addr, 0, 0)
+    print("ret")
+    print(data,data_ok,addr)
+    assert(ld_data==data)
     #TODO
     dut.stop = True # stop simulation