@@ -17,15 +17,14 @@ def test_simple(self):
1717 def test_sim (self ):
1818 dut = action .R (unsigned (4 ))
1919
20- def process ():
21- yield dut .r_data .eq (0xa )
22- yield dut .port .r_stb .eq (1 )
23- yield Delay ()
24- self .assertEqual ((yield dut .port .r_data ), 0xa )
25- self .assertEqual ((yield dut .r_stb ), 1 )
20+ async def testbench (ctx ):
21+ ctx .set (dut .r_data , 0xa )
22+ ctx .set (dut .port .r_stb , 1 )
23+ self .assertEqual (ctx .get (dut .port .r_data ), 0xa )
24+ self .assertEqual (ctx .get (dut .r_stb ), 1 )
2625
2726 sim = Simulator (dut )
28- sim .add_testbench (process )
27+ sim .add_testbench (testbench )
2928 with sim .write_vcd (vcd_file = "test.vcd" ):
3029 sim .run ()
3130
@@ -40,15 +39,14 @@ def test_simple(self):
4039 def test_sim (self ):
4140 dut = action .W (unsigned (4 ))
4241
43- def process ():
44- yield dut .port .w_data .eq (0xa )
45- yield dut .port .w_stb .eq (1 )
46- yield Delay ()
47- self .assertEqual ((yield dut .w_data ), 0xa )
48- self .assertEqual ((yield dut .w_stb ), 1 )
42+ async def testbench (ctx ):
43+ ctx .set (dut .port .w_data , 0xa )
44+ ctx .set (dut .port .w_stb , 1 )
45+ self .assertEqual (ctx .get (dut .w_data ), 0xa )
46+ self .assertEqual (ctx .get (dut .w_stb ), 1 )
4947
5048 sim = Simulator (dut )
51- sim .add_testbench (process )
49+ sim .add_testbench (testbench )
5250 with sim .write_vcd (vcd_file = "test.vcd" ):
5351 sim .run ()
5452
@@ -70,18 +68,18 @@ def test_simple(self):
7068 def test_sim (self ):
7169 dut = action .RW (unsigned (4 ), init = 0x5 )
7270
73- def process ( ):
74- self .assertEqual (( yield dut .port .r_data ), 0x5 )
75- self .assertEqual (( yield dut .data ), 0x5 )
76- yield dut .port .w_stb . eq ( 1 )
77- yield dut .port .w_data . eq ( 0xa )
78- yield Tick ()
79- self .assertEqual (( yield dut .port .r_data ), 0xa )
80- self .assertEqual (( yield dut .data ), 0xa )
71+ async def testbench ( ctx ):
72+ self .assertEqual (ctx . get ( dut .port .r_data ), 0x5 )
73+ self .assertEqual (ctx . get ( dut .data ), 0x5 )
74+ ctx . set ( dut .port .w_stb , 1 )
75+ ctx . set ( dut .port .w_data , 0xa )
76+ await ctx . tick ()
77+ self .assertEqual (ctx . get ( dut .port .r_data ), 0xa )
78+ self .assertEqual (ctx . get ( dut .data ), 0xa )
8179
8280 sim = Simulator (dut )
8381 sim .add_clock (1e-6 )
84- sim .add_testbench (process )
82+ sim .add_testbench (testbench )
8583 with sim .write_vcd (vcd_file = "test.vcd" ):
8684 sim .run ()
8785
@@ -105,24 +103,24 @@ def test_simple(self):
105103 def test_sim (self ):
106104 dut = action .RW1C (unsigned (4 ), init = 0xf )
107105
108- def process ( ):
109- self .assertEqual (( yield dut .port .r_data ), 0xf )
110- self .assertEqual (( yield dut .data ), 0xf )
111- yield dut .port .w_stb . eq ( 1 )
112- yield dut .port .w_data . eq ( 0x5 )
113- yield Tick ()
114- self .assertEqual (( yield dut .port .r_data ), 0xa )
115- self .assertEqual (( yield dut .data ), 0xa )
116-
117- yield dut .port .w_data . eq ( 0x3 )
118- yield dut .set . eq ( 0x4 )
119- yield Tick ()
120- self .assertEqual (( yield dut .port .r_data ), 0xc )
121- self .assertEqual (( yield dut .data ), 0xc )
106+ async def testbench ( ctx ):
107+ self .assertEqual (ctx . get ( dut .port .r_data ), 0xf )
108+ self .assertEqual (ctx . get ( dut .data ), 0xf )
109+ ctx . set ( dut .port .w_stb , 1 )
110+ ctx . set ( dut .port .w_data , 0x5 )
111+ await ctx . tick ()
112+ self .assertEqual (ctx . get ( dut .port .r_data ), 0xa )
113+ self .assertEqual (ctx . get ( dut .data ), 0xa )
114+
115+ ctx . set ( dut .port .w_data , 0x3 )
116+ ctx .set ( dut . set , 0x4 )
117+ await ctx . tick ()
118+ self .assertEqual (ctx . get ( dut .port .r_data ), 0xc )
119+ self .assertEqual (ctx . get ( dut .data ), 0xc )
122120
123121 sim = Simulator (dut )
124122 sim .add_clock (1e-6 )
125- sim .add_testbench (process )
123+ sim .add_testbench (testbench )
126124 with sim .write_vcd (vcd_file = "test.vcd" ):
127125 sim .run ()
128126
@@ -146,24 +144,24 @@ def test_simple(self):
146144 def test_sim (self ):
147145 dut = action .RW1S (unsigned (4 ), init = 0x5 )
148146
149- def process ( ):
150- self .assertEqual (( yield dut .port .r_data ), 0x5 )
151- self .assertEqual (( yield dut .data ), 0x5 )
152- yield dut .port .w_stb . eq ( 1 )
153- yield dut .port .w_data . eq ( 0xa )
154- yield Tick ()
155- self .assertEqual (( yield dut .port .r_data ), 0xf )
156- self .assertEqual (( yield dut .data ), 0xf )
157-
158- yield dut .port .w_data . eq ( 0x3 )
159- yield dut .clear . eq ( 0x7 )
160- yield Tick ()
161- self .assertEqual (( yield dut .port .r_data ), 0xb )
162- self .assertEqual (( yield dut .data ), 0xb )
147+ async def testbench ( ctx ):
148+ self .assertEqual (ctx . get ( dut .port .r_data ), 0x5 )
149+ self .assertEqual (ctx . get ( dut .data ), 0x5 )
150+ ctx . set ( dut .port .w_stb , 1 )
151+ ctx . set ( dut .port .w_data , 0xa )
152+ await ctx . tick ()
153+ self .assertEqual (ctx . get ( dut .port .r_data ), 0xf )
154+ self .assertEqual (ctx . get ( dut .data ), 0xf )
155+
156+ ctx . set ( dut .port .w_data , 0x3 )
157+ ctx . set ( dut .clear , 0x7 )
158+ await ctx . tick ()
159+ self .assertEqual (ctx . get ( dut .port .r_data ), 0xb )
160+ self .assertEqual (ctx . get ( dut .data ), 0xb )
163161
164162 sim = Simulator (dut )
165163 sim .add_clock (1e-6 )
166- sim .add_testbench (process )
164+ sim .add_testbench (testbench )
167165 with sim .write_vcd (vcd_file = "test.vcd" ):
168166 sim .run ()
169167
0 commit comments