Skip to content

Commit 1e1490e

Browse files
committed
csr.{reg,action}: update tests to follow RFC #27.
1 parent 571079a commit 1e1490e

File tree

2 files changed

+30
-44
lines changed

2 files changed

+30
-44
lines changed

tests/test_csr_action.py

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ def test_sim(self):
2020
def process():
2121
yield dut.r_data.eq(0xa)
2222
yield dut.port.r_stb.eq(1)
23-
yield Settle()
23+
yield Delay()
2424
self.assertEqual((yield dut.port.r_data), 0xa)
2525
self.assertEqual((yield dut.r_stb), 1)
2626

2727
sim = Simulator(dut)
28-
sim.add_process(process)
28+
sim.add_testbench(process)
2929
with sim.write_vcd(vcd_file=open("test.vcd", "w")):
3030
sim.run()
3131

@@ -43,12 +43,12 @@ def test_sim(self):
4343
def process():
4444
yield dut.port.w_data.eq(0xa)
4545
yield dut.port.w_stb.eq(1)
46-
yield Settle()
46+
yield Delay()
4747
self.assertEqual((yield dut.w_data), 0xa)
4848
self.assertEqual((yield dut.w_stb), 1)
4949

5050
sim = Simulator(dut)
51-
sim.add_process(process)
51+
sim.add_testbench(process)
5252
with sim.write_vcd(vcd_file=open("test.vcd", "w")):
5353
sim.run()
5454

@@ -75,14 +75,13 @@ def process():
7575
self.assertEqual((yield dut.data), 0x5)
7676
yield dut.port.w_stb .eq(1)
7777
yield dut.port.w_data.eq(0xa)
78-
yield
79-
yield Settle()
78+
yield Tick()
8079
self.assertEqual((yield dut.port.r_data), 0xa)
8180
self.assertEqual((yield dut.data), 0xa)
8281

8382
sim = Simulator(dut)
8483
sim.add_clock(1e-6)
85-
sim.add_sync_process(process)
84+
sim.add_testbench(process)
8685
with sim.write_vcd(vcd_file=open("test.vcd", "w")):
8786
sim.run()
8887

@@ -111,21 +110,19 @@ def process():
111110
self.assertEqual((yield dut.data), 0xf)
112111
yield dut.port.w_stb .eq(1)
113112
yield dut.port.w_data.eq(0x5)
114-
yield
115-
yield Settle()
113+
yield Tick()
116114
self.assertEqual((yield dut.port.r_data), 0xa)
117115
self.assertEqual((yield dut.data), 0xa)
118116

119117
yield dut.port.w_data.eq(0x3)
120118
yield dut.set.eq(0x4)
121-
yield
122-
yield Settle()
119+
yield Tick()
123120
self.assertEqual((yield dut.port.r_data), 0xc)
124121
self.assertEqual((yield dut.data), 0xc)
125122

126123
sim = Simulator(dut)
127124
sim.add_clock(1e-6)
128-
sim.add_sync_process(process)
125+
sim.add_testbench(process)
129126
with sim.write_vcd(vcd_file=open("test.vcd", "w")):
130127
sim.run()
131128

@@ -154,21 +151,19 @@ def process():
154151
self.assertEqual((yield dut.data), 0x5)
155152
yield dut.port.w_stb .eq(1)
156153
yield dut.port.w_data.eq(0xa)
157-
yield
158-
yield Settle()
154+
yield Tick()
159155
self.assertEqual((yield dut.port.r_data), 0xf)
160156
self.assertEqual((yield dut.data), 0xf)
161157

162158
yield dut.port.w_data.eq(0x3)
163159
yield dut.clear.eq(0x7)
164-
yield
165-
yield Settle()
160+
yield Tick()
166161
self.assertEqual((yield dut.port.r_data), 0xb)
167162
self.assertEqual((yield dut.data), 0xb)
168163

169164
sim = Simulator(dut)
170165
sim.add_clock(1e-6)
171-
sim.add_sync_process(process)
166+
sim.add_testbench(process)
172167
with sim.write_vcd(vcd_file=open("test.vcd", "w")):
173168
sim.run()
174169

tests/test_csr_reg.py

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import unittest
22
import warnings
33
from amaranth import *
4-
from amaranth.hdl.ir import UnusedElaboratable
4+
from amaranth.hdl import UnusedElaboratable
55
from amaranth.lib import wiring
66
from amaranth.lib.wiring import In, Out
77
from amaranth.sim import *
@@ -539,7 +539,7 @@ def process():
539539
Const(0b00, 2), # e
540540
Const(0b110, 3), # f
541541
))
542-
yield Settle()
542+
yield Delay()
543543

544544
self.assertEqual((yield dut.f.a .port.w_stb), 0)
545545
self.assertEqual((yield dut.f.b .port.w_stb), 1)
@@ -557,9 +557,9 @@ def process():
557557
self.assertEqual((yield dut.f.e[0].w_data), 0b0)
558558
self.assertEqual((yield dut.f.e[1].w_data), 0b0)
559559

560-
yield
560+
yield Tick()
561561
yield dut.element.w_stb.eq(0)
562-
yield Settle()
562+
yield Delay()
563563

564564
self.assertEqual((yield dut.f.b .data), 0b101)
565565
self.assertEqual((yield dut.f.c.d.data), 0b00)
@@ -570,7 +570,7 @@ def process():
570570
yield dut.f.a.r_data.eq(0b1)
571571
yield dut.f.b.set .eq(0b010)
572572
yield dut.f.f.clear .eq(0b010)
573-
yield Settle()
573+
yield Delay()
574574

575575
self.assertEqual((yield dut.element.r_data),
576576
Const.cast(Cat(
@@ -581,11 +581,11 @@ def process():
581581
Const(0b110, 3), # f
582582
)).value)
583583

584-
yield
584+
yield Tick()
585585
yield dut.f.a.r_data.eq(0b0)
586586
yield dut.f.b.set .eq(0b000)
587587
yield dut.f.f.clear .eq(0b000)
588-
yield Settle()
588+
yield Delay()
589589

590590
self.assertEqual((yield dut.element.r_data),
591591
Const.cast(Cat(
@@ -609,8 +609,7 @@ def process():
609609

610610
yield dut.f.b.set .eq(0b001)
611611
yield dut.f.f.clear.eq(0b111)
612-
yield
613-
yield Settle()
612+
yield Tick()
614613

615614
self.assertEqual((yield dut.element.r_data),
616615
Const.cast(Cat(
@@ -626,7 +625,7 @@ def process():
626625

627626
sim = Simulator(dut)
628627
sim.add_clock(1e-6)
629-
sim.add_sync_process(process)
628+
sim.add_testbench(process)
630629
with sim.write_vcd(vcd_file=open("test.vcd", "w")):
631630
sim.run()
632631

@@ -930,8 +929,7 @@ def process():
930929
yield dut.bus.r_stb.eq(1)
931930
yield dut.bus.w_stb.eq(1)
932931
yield dut.bus.w_data.eq(0xa)
933-
yield
934-
yield Settle()
932+
yield Tick()
935933
self.assertEqual((yield dut.bus.r_data), 0x0)
936934
self.assertEqual((yield reg_rw_4 .f.a.port.r_stb), 1)
937935
self.assertEqual((yield reg_rw_8 .f.a.port.r_stb), 0)
@@ -941,16 +939,14 @@ def process():
941939
self.assertEqual((yield reg_rw_16.f.a.port.w_stb), 0)
942940
yield dut.bus.r_stb.eq(0)
943941
yield dut.bus.w_stb.eq(0)
944-
yield
945-
yield Settle()
942+
yield Tick()
946943
self.assertEqual((yield reg_rw_4.f.a.data), 0xa)
947944

948945
yield dut.bus.addr.eq(1)
949946
yield dut.bus.r_stb.eq(1)
950947
yield dut.bus.w_stb.eq(1)
951948
yield dut.bus.w_data.eq(0xbb)
952-
yield
953-
yield Settle()
949+
yield Tick()
954950
self.assertEqual((yield dut.bus.r_data), 0x11)
955951
self.assertEqual((yield reg_rw_4 .f.a.port.r_stb), 0)
956952
self.assertEqual((yield reg_rw_8 .f.a.port.r_stb), 1)
@@ -960,16 +956,14 @@ def process():
960956
self.assertEqual((yield reg_rw_16.f.a.port.w_stb), 0)
961957
yield dut.bus.r_stb.eq(0)
962958
yield dut.bus.w_stb.eq(0)
963-
yield
964-
yield Settle()
959+
yield Tick()
965960
self.assertEqual((yield reg_rw_8.f.a.data), 0xbb)
966961

967962
yield dut.bus.addr.eq(2)
968963
yield dut.bus.r_stb.eq(1)
969964
yield dut.bus.w_stb.eq(1)
970965
yield dut.bus.w_data.eq(0xcc)
971-
yield
972-
yield Settle()
966+
yield Tick()
973967
self.assertEqual((yield dut.bus.r_data), 0x22)
974968
self.assertEqual((yield reg_rw_4 .f.a.port.r_stb), 0)
975969
self.assertEqual((yield reg_rw_8 .f.a.port.r_stb), 0)
@@ -979,16 +973,14 @@ def process():
979973
self.assertEqual((yield reg_rw_16.f.a.port.w_stb), 0)
980974
yield dut.bus.r_stb.eq(0)
981975
yield dut.bus.w_stb.eq(0)
982-
yield
983-
yield Settle()
976+
yield Tick()
984977
self.assertEqual((yield reg_rw_16.f.a.data), 0x3322)
985978

986979
yield dut.bus.addr.eq(3)
987980
yield dut.bus.r_stb.eq(1)
988981
yield dut.bus.w_stb.eq(1)
989982
yield dut.bus.w_data.eq(0xdd)
990-
yield
991-
yield Settle()
983+
yield Tick()
992984
self.assertEqual((yield dut.bus.r_data), 0x33)
993985
self.assertEqual((yield reg_rw_4 .f.a.port.r_stb), 0)
994986
self.assertEqual((yield reg_rw_8 .f.a.port.r_stb), 0)
@@ -998,12 +990,11 @@ def process():
998990
self.assertEqual((yield reg_rw_16.f.a.port.w_stb), 1)
999991
yield dut.bus.r_stb.eq(0)
1000992
yield dut.bus.w_stb.eq(0)
1001-
yield
1002-
yield Settle()
993+
yield Tick()
1003994
self.assertEqual((yield reg_rw_16.f.a.data), 0xddcc)
1004995

1005996
sim = Simulator(dut)
1006997
sim.add_clock(1e-6)
1007-
sim.add_sync_process(process)
998+
sim.add_testbench(process)
1008999
with sim.write_vcd(vcd_file=open("test.vcd", "w")):
10091000
sim.run()

0 commit comments

Comments
 (0)