@@ -240,57 +240,47 @@ def sim_test():
240240
241241 yield bus .addr .eq (0 )
242242 yield bus .r_stb .eq (1 )
243- yield
244- yield bus .r_stb .eq (0 )
243+ yield Tick ()
245244 self .assertEqual ((yield elem_4_r .r_stb ), 1 )
246245 self .assertEqual ((yield elem_16_rw .r_stb ), 0 )
247- yield
248246 self .assertEqual ((yield bus .r_data ), 0xa )
249247
250248 yield bus .addr .eq (2 )
251- yield bus .r_stb .eq (1 )
252- yield
253- yield bus .r_stb .eq (0 )
249+ yield Tick ()
254250 self .assertEqual ((yield elem_4_r .r_stb ), 0 )
255251 self .assertEqual ((yield elem_16_rw .r_stb ), 1 )
256- yield
257- yield bus .addr .eq (3 ) # pipeline a read
258252 self .assertEqual ((yield bus .r_data ), 0xa5 )
259253
260- yield bus .r_stb .eq (1 )
261- yield
262- yield bus .r_stb .eq (0 )
254+ yield bus .addr .eq (3 ) # pipeline a read
255+ yield Tick ()
263256 self .assertEqual ((yield elem_4_r .r_stb ), 0 )
264257 self .assertEqual ((yield elem_16_rw .r_stb ), 0 )
265- yield
266258 self .assertEqual ((yield bus .r_data ), 0x5a )
259+ yield bus .r_stb .eq (0 )
260+ yield Delay ()
267261
268262 yield bus .addr .eq (1 )
269263 yield bus .w_data .eq (0x3d )
270264 yield bus .w_stb .eq (1 )
271- yield
272- yield bus .w_stb .eq (0 )
273- yield bus .addr .eq (2 ) # change address
274- yield
265+ yield Tick ()
275266 self .assertEqual ((yield elem_8_w .w_stb ), 1 )
276267 self .assertEqual ((yield elem_8_w .w_data ), 0x3d )
277268 self .assertEqual ((yield elem_16_rw .w_stb ), 0 )
278- yield
269+
270+ yield bus .w_stb .eq (0 )
271+ yield bus .addr .eq (2 ) # change address
272+ yield Tick ()
279273 self .assertEqual ((yield elem_8_w .w_stb ), 0 )
280274
281275 yield bus .addr .eq (2 )
282276 yield bus .w_data .eq (0x55 )
283277 yield bus .w_stb .eq (1 )
284- yield
278+ yield Tick ()
285279 self .assertEqual ((yield elem_8_w .w_stb ), 0 )
286280 self .assertEqual ((yield elem_16_rw .w_stb ), 0 )
287281 yield bus .addr .eq (3 ) # pipeline a write
288282 yield bus .w_data .eq (0xaa )
289- yield
290- self .assertEqual ((yield elem_8_w .w_stb ), 0 )
291- self .assertEqual ((yield elem_16_rw .w_stb ), 0 )
292- yield bus .w_stb .eq (0 )
293- yield
283+ yield Tick ()
294284 self .assertEqual ((yield elem_8_w .w_stb ), 0 )
295285 self .assertEqual ((yield elem_16_rw .w_stb ), 1 )
296286 self .assertEqual ((yield elem_16_rw .w_data ), 0xaa55 )
@@ -299,23 +289,21 @@ def sim_test():
299289 yield bus .r_stb .eq (1 )
300290 yield bus .w_data .eq (0x66 )
301291 yield bus .w_stb .eq (1 )
302- yield
292+ yield Tick ()
303293 self .assertEqual ((yield elem_16_rw .r_stb ), 1 )
304294 self .assertEqual ((yield elem_16_rw .w_stb ), 0 )
305- yield
295+ self . assertEqual (( yield bus . r_data ), 0xa5 )
306296 yield bus .addr .eq (3 ) # pipeline a read and a write
307297 yield bus .w_data .eq (0xbb )
308- self .assertEqual ((yield bus .r_data ), 0xa5 )
309- yield
310- yield Delay ()
298+ yield Tick ()
311299 self .assertEqual ((yield bus .r_data ), 0x5a )
312300 self .assertEqual ((yield elem_16_rw .r_stb ), 0 )
313301 self .assertEqual ((yield elem_16_rw .w_stb ), 1 )
314302 self .assertEqual ((yield elem_16_rw .w_data ), 0xbb66 )
315303
316304 sim = Simulator (dut )
317305 sim .add_clock (1e-6 )
318- sim .add_sync_process (sim_test )
306+ sim .add_testbench (sim_test )
319307 with sim .write_vcd (vcd_file = open ("test.vcd" , "w" )):
320308 sim .run ()
321309
@@ -359,28 +347,25 @@ def sim_test():
359347 yield bus .w_stb .eq (1 )
360348 yield bus .addr .eq (0 )
361349 yield bus .w_data .eq (0x55 )
362- yield
350+ yield Tick ()
363351 self .assertEqual ((yield elem_20_rw .w_stb ), 0 )
364352 yield bus .addr .eq (1 )
365353 yield bus .w_data .eq (0xaa )
366- yield
354+ yield Tick ()
367355 self .assertEqual ((yield elem_20_rw .w_stb ), 0 )
368356 yield bus .addr .eq (2 )
369357 yield bus .w_data .eq (0x33 )
370- yield
358+ yield Tick ()
371359 self .assertEqual ((yield elem_20_rw .w_stb ), 0 )
372360 yield bus .addr .eq (3 )
373361 yield bus .w_data .eq (0xdd )
374- yield
375- self .assertEqual ((yield elem_20_rw .w_stb ), 0 )
376- yield bus .w_stb .eq (0 )
377- yield
362+ yield Tick ()
378363 self .assertEqual ((yield elem_20_rw .w_stb ), 1 )
379364 self .assertEqual ((yield elem_20_rw .w_data ), 0x3aa55 )
380365
381366 sim = Simulator (dut )
382367 sim .add_clock (1e-6 )
383- sim .add_sync_process (sim_test )
368+ sim .add_testbench (sim_test )
384369 with sim .write_vcd (vcd_file = open ("test.vcd" , "w" )):
385370 sim .run ()
386371
@@ -447,35 +432,35 @@ def sim_test():
447432 yield bus .addr .eq (elem_1_addr )
448433 yield bus .w_stb .eq (1 )
449434 yield bus .w_data .eq (0x55 )
450- yield
435+ yield Tick ()
451436 yield bus .w_stb .eq (0 )
452- yield
437+ yield Tick ()
453438 self .assertEqual ((yield elem_1 .w_data ), 0x55 )
454439
455440 yield bus .addr .eq (elem_2_addr )
456441 yield bus .w_stb .eq (1 )
457442 yield bus .w_data .eq (0xaa )
458- yield
443+ yield Tick ()
459444 yield bus .w_stb .eq (0 )
460- yield
445+ yield Tick ()
461446 self .assertEqual ((yield elem_2 .w_data ), 0xaa )
462447
463448 yield elem_1 .r_data .eq (0x55 )
464449 yield elem_2 .r_data .eq (0xaa )
465450
466451 yield bus .addr .eq (elem_1_addr )
467452 yield bus .r_stb .eq (1 )
468- yield
453+ yield Tick ()
469454 yield bus .addr .eq (elem_2_addr )
470- yield
455+ yield Delay ()
471456 self .assertEqual ((yield bus .r_data ), 0x55 )
472- yield
457+ yield Tick ()
473458 self .assertEqual ((yield bus .r_data ), 0xaa )
474459
475460 m = Module ()
476461 m .submodules += self .dut , mux_1 , mux_2
477462 sim = Simulator (m )
478463 sim .add_clock (1e-6 )
479- sim .add_sync_process (sim_test )
464+ sim .add_testbench (sim_test )
480465 with sim .write_vcd (vcd_file = open ("test.vcd" , "w" )):
481466 sim .run ()
0 commit comments