summaryrefslogtreecommitdiff
path: root/hdl/core/reg.py
diff options
context:
space:
mode:
authorjjsuperpower <jjs29356@gmail.com>2023-04-29 00:34:07 -0500
committerjjsuperpower <jjs29356@gmail.com>2023-04-29 00:34:07 -0500
commitaac788e03219309ae43a0296c773a10a94cfe9f7 (patch)
tree7ff35f3826383b7109fabe96b4927e91b0c71a06 /hdl/core/reg.py
parent6f88e8477f76c422267cdbee990e395a923d8ee9 (diff)
removed unessary delays in tbs
Diffstat (limited to 'hdl/core/reg.py')
-rw-r--r--hdl/core/reg.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/hdl/core/reg.py b/hdl/core/reg.py
index bacf3f1..8815961 100644
--- a/hdl/core/reg.py
+++ b/hdl/core/reg.py
@@ -3,7 +3,7 @@ from amaranth import *
from amaranth.sim import Settle
from hdl.lib.in_out_buff import InOutBuff
-from hdl.utils import *
+from hdl.utils import cmd, sim, step
from hdl.core.alu import ALUFlags
@@ -222,11 +222,13 @@ def test_reg_comb_output():
for i in range(16):
yield dut.rs1_addr.eq(i)
yield Settle()
- assert (yield dut.rs1) == i, f'ERROR reading {dut.reg_arr[i].name} != {i}'
+ rs1 = yield dut.rs1
+ assert rs1 == i, f'ERROR reading {dut.reg_arr[i].name}: expected {i} != {rs1}'
for i in range(16):
yield dut.rs2_addr.eq(i)
yield Settle()
- assert (yield dut.rs2) == i, f'ERROR reading {dut.reg_arr[i].name} != {i}'
+ rs2 = yield dut.rs2
+ assert rs2 == i, f'EEROR reading {dut.reg_arr[i].name}: expected {i} != {rs2}'
sim(dut, proc)
# test writeback with writeback disabled
@@ -237,7 +239,7 @@ def test_reg_writeback_dsb():
for i in range(16):
yield dut.rd_addr.eq(i)
yield dut.rd.eq(i + 1)
- yield from step()
+ yield
if (i != dut.ip.idx) and (i != dut.flg.idx): # flag gets update by the alu
assert (yield dut.reg_arr[i]) == i, f'ERROR writing to {dut.reg_arr[i].name} != {i}'
sim(dut, proc)
@@ -253,12 +255,12 @@ def test_reg_writeback_en():
yield dut.rd.eq(i - 1)
yield from step()
if (i != dut.zx.idx) and (i != dut.ip.idx):
- assert (yield dut.reg_arr[i]) == i-1, f'ERROR writing to {dut.reg_arr[i].name} != {i-1}'
+ val = yield dut.reg_arr[i]
+ assert val == i-1, f'ERROR writing to {dut.reg_arr[i].name}, expected {i-1} != {val}'
elif i == dut.zx.idx:
- assert (yield dut.zx) == 0, f'ERROR {dut.zx.name} != 0'
+ assert (yield dut.zx) == 0, f'ERROR {dut.zx.name}, expected 0 != {dut.zx}'
elif i == dut.ip.idx:
# ip should be incremented and not written to
- print((yield dut.ip))
assert (yield dut.reg_arr[i]) == dut.ip.idx+4, f'ERROR {dut.ip.name} != {dut.ip.idx+4} should not be able to be directly written to'
sim(dut, proc)