add op is immediate to instruction q
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 2 Jun 2019 13:24:10 +0000 (14:24 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 2 Jun 2019 13:24:10 +0000 (14:24 +0100)
src/scoreboard/instruction_q.py
src/scoreboard/test_iq.py

index a2bdf8db2db14629ceba4b14a987a149fbadfbda..1f582b74ebf5defa02fed51ba7c623696a85348d 100644 (file)
@@ -11,6 +11,7 @@ class Instruction(RecordObject):
     def __init__(self, name, wid, opwid):
         RecordObject.__init__(self, name=name)
         self.oper_i = Signal(opwid, reset_less=True)
+        self.opim_i = Signal(1, reset_less=True) # src2 is an immediate
         self.dest_i = Signal(wid, reset_less=True)
         self.src1_i = Signal(wid, reset_less=True)
         self.src2_i = Signal(wid, reset_less=True)
index 06e1511ea4719b5c005593b75fb4d57d86db3558..5a0598315159b9f12fe7c17d4b145d23adcd2e1c 100644 (file)
@@ -92,10 +92,12 @@ def mk_insns(n_insns, wid, opwid):
     res = []
     for i in range(n_insns):
         op1 = randint(0, (1<<wid)-1)
+        opi = randint(0, 1)
         op2 = randint(0, (1<<wid)-1)
         dst = randint(0, (1<<wid)-1)
         oper = randint(0, (1<<opwid)-1)
-        res.append({'oper_i': oper, 'dest_i': dst, 'src1_i': op1, 'src2_i': op2})
+        res.append({'oper_i': oper, 'opim_i': opi, 'dest_i': dst,
+                    'src1_i': op1, 'src2_i': op2})
     return res