score6600 working without FunctionUnit (using dep matrices)
[soc.git] / src / experiment / cscore.py
index 09d52451393458965cfd70ce0d67bbd40f956efc..3a34cfa948269395a36690c7fbf60bdb99f81f44 100644 (file)
@@ -305,27 +305,31 @@ def scoreboard_sim(dut, alusim):
 
         yield from alusim.check(dut)
 
-    for i in range(10):
-        src1 = randint(1, dut.n_regs-1)
-        src2 = randint(1, dut.n_regs-1)
-        while True:
-            dest = randint(1, dut.n_regs-1)
-            break
-            if dest not in [src1, src2]:
+    for j in range(10):
+        for i in range(2):
+            src1 = randint(1, dut.n_regs-1)
+            src2 = randint(1, dut.n_regs-1)
+            while True:
+                dest = randint(1, dut.n_regs-1)
                 break
-        #src1 = 7
-        #src2 = 7
-        dest = src2
+                if dest not in [src1, src2]:
+                    break
+            #src1 = 7
+            #src2 = 7
+            dest = src2
+
+            op = randint(0, 1)
+            op = i
+            print ("random %d: %d %d %d %d\n" % (i, op, src1, src2, dest))
+            yield from int_instr(dut, alusim, op, src1, src2, dest)
+            yield from print_reg(dut, [3,4,5])
+            yield
+            yield from print_reg(dut, [3,4,5])
+            for i in range(len(dut.int_insn_i)):
+                yield dut.int_insn_i[i].eq(0)
+            yield
+            yield
 
-        op = randint(0, 1)
-        print ("random %d: %d %d %d %d\n" % (i, op, src1, src2, dest))
-        yield from int_instr(dut, alusim, op, src1, src2, dest)
-        yield from print_reg(dut, [3,4,5])
-        yield
-        yield from print_reg(dut, [3,4,5])
-        for i in range(len(dut.int_insn_i)):
-            yield dut.int_insn_i[i].eq(0)
-        yield
         yield