diff --git a/test/unit_tests/fifo_t_5/run/prsim.out b/test/unit_tests/fifo_t_5/run/prsim.out new file mode 100644 index 0000000..7e41710 --- /dev/null +++ b/test/unit_tests/fifo_t_5/run/prsim.out @@ -0,0 +1,250 @@ +t.a.fifo_element[1]._en t.a.fifo_element[0]._out_a_B t.a.fifo_element[1]._out_a_B t.a.fifo_element[1].in.r t.in.r t.a.fifo_element[2]._en t.out.r t.a.fifo_element[0].buf_func._y t.a.fifo_element[3]._en t.a.fifo_element[3].inack_ctl._y t.a.fifo_element[1].in.a t.a.fifo_element[3].in.a t.a.fifo_element[2].in.r t.a.fifo_element[3]._out_a_B t.a.fifo_element[3].in.r t.a.fifo_element[2].in.a t.a.fifo_element[0]._en t.out.a t.a.fifo_element[4].in.r t.a.fifo_element[4]._en t.in.a t.a.fifo_element[2].inack_ctl._y t.a.fifo_element[4]._out_a_B t.a.fifo_element[4].buf_func._y t.a.fifo_element[1].inack_ctl._y t.a.fifo_element[4].in.a t.a.fifo_element[2]._out_a_B t.a.fifo_element[3].buf_func._y t.a.fifo_element[4].inack_ctl._y t.a.fifo_element[2].buf_func._y t.a.fifo_element[0].inack_ctl._y t.a.fifo_element[1].buf_func._y +[] code starts + 82968 t.in.r : 0 + 82968 t.out.a : 0 + 83383 t.a.fifo_element[4]._out_a_B : 1 [by t.out.a:=0] +[] set Reset(B) low + 83383 Reset : 0 + 83403 t.a.reset_buf._y : 1 [by Reset:=0] + 89464 t.a._reset_BX : 0 [by t.a.reset_buf._y:=1] + 89511 t.a.reset_bufarray.buf2._y : 1 [by t.a._reset_BX:=0] + 89527 t.a._reset_BXX[0] : 0 [by t.a.reset_bufarray.buf2._y:=1] + 89531 t.a.fifo_element[1].reset_buf._y : 1 [by t.a._reset_BXX[0]:=0] + 89542 t.a.fifo_element[4].reset_buf._y : 1 [by t.a._reset_BXX[0]:=0] + 98656 t.a.fifo_element[0].reset_buf._y : 1 [by t.a._reset_BXX[0]:=0] + 98711 t.a.fifo_element[0]._reset_BX : 0 [by t.a.fifo_element[0].reset_buf._y:=1] + 103251 t.a.fifo_element[2].reset_buf._y : 1 [by t.a._reset_BXX[0]:=0] + 117100 t.a.fifo_element[2]._reset_BX : 0 [by t.a.fifo_element[2].reset_buf._y:=1] + 126473 t.a.fifo_element[4]._reset_BX : 0 [by t.a.fifo_element[4].reset_buf._y:=1] + 126895 t.a.fifo_element[4].buf_func._y : 1 [by t.a.fifo_element[4]._reset_BX:=0] + 126896 t.out.r : 0 [by t.a.fifo_element[4].buf_func._y:=1] + 128491 t.a.fifo_element[0].inack_ctl._y : 1 [by t.a.fifo_element[0]._reset_BX:=0] + 128492 t.in.a : 0 [by t.a.fifo_element[0].inack_ctl._y:=1] + 131443 t.a.fifo_element[2].inack_ctl._y : 1 [by t.a.fifo_element[2]._reset_BX:=0] + 132779 t.a.fifo_element[1]._reset_BX : 0 [by t.a.fifo_element[1].reset_buf._y:=1] + 133061 t.a.fifo_element[1].buf_func._y : 1 [by t.a.fifo_element[1]._reset_BX:=0] + 133064 t.a.fifo_element[2].in.r : 0 [by t.a.fifo_element[1].buf_func._y:=1] + 133547 t.a.fifo_element[1].inack_ctl._y : 1 [by t.a.fifo_element[1]._reset_BX:=0] + 133625 t.a.fifo_element[3].reset_buf._y : 1 [by t.a._reset_BXX[0]:=0] + 134176 t.a.fifo_element[3]._reset_BX : 0 [by t.a.fifo_element[3].reset_buf._y:=1] + 135130 t.a.fifo_element[3].inack_ctl._y : 1 [by t.a.fifo_element[3]._reset_BX:=0] + 135247 t.a.fifo_element[3].buf_func._y : 1 [by t.a.fifo_element[3]._reset_BX:=0] + 136211 t.a.fifo_element[3].in.a : 0 [by t.a.fifo_element[3].inack_ctl._y:=1] + 137193 t.a.fifo_element[2]._out_a_B : 1 [by t.a.fifo_element[3].in.a:=0] + 141912 t.a.fifo_element[2].buf_func._y : 1 [by t.a.fifo_element[2]._reset_BX:=0] + 141930 t.a.fifo_element[3].in.r : 0 [by t.a.fifo_element[2].buf_func._y:=1] + 150364 t.a.fifo_element[0].buf_func._y : 1 [by t.a.fifo_element[0]._reset_BX:=0] + 151648 t.a.fifo_element[2].in.a : 0 [by t.a.fifo_element[2].inack_ctl._y:=1] + 154377 t.a.fifo_element[1].in.r : 0 [by t.a.fifo_element[0].buf_func._y:=1] + 155651 t.a.fifo_element[2]._en : 1 [by t.a.fifo_element[2].in.a:=0] + 155988 t.a.fifo_element[1].in.a : 0 [by t.a.fifo_element[1].inack_ctl._y:=1] + 156490 t.a.fifo_element[0]._out_a_B : 1 [by t.a.fifo_element[1].in.a:=0] + 160748 t.a.fifo_element[1]._en : 1 [by t.a.fifo_element[1].in.a:=0] + 175187 t.a.fifo_element[4].inack_ctl._y : 1 [by t.a.fifo_element[4]._reset_BX:=0] + 175390 t.a.fifo_element[4].in.a : 0 [by t.a.fifo_element[4].inack_ctl._y:=1] + 175529 t.a.fifo_element[3]._out_a_B : 1 [by t.a.fifo_element[4].in.a:=0] + 175961 t.a.fifo_element[0]._en : 1 [by t.a.fifo_element[1].in.r:=0] + 177244 t.a.fifo_element[4]._en : 1 [by t.a.fifo_element[4].in.a:=0] + 189717 t.a.fifo_element[4].in.r : 0 [by t.a.fifo_element[3].buf_func._y:=1] + 196549 t.a.fifo_element[1]._out_a_B : 1 [by t.a.fifo_element[2].in.a:=0] + 226063 t.a.fifo_element[3]._en : 1 [by t.a.fifo_element[4].in.r:=0] + +[] set Reset(B) high + 226063 Reset : 1 + 226132 t.a.reset_buf._y : 0 [by Reset:=1] + 226143 t.a._reset_BX : 1 [by t.a.reset_buf._y:=0] + 277929 t.a.reset_bufarray.buf2._y : 0 [by t.a._reset_BX:=1] + 278133 t.a._reset_BXX[0] : 1 [by t.a.reset_bufarray.buf2._y:=0] + 278134 t.a.fifo_element[2].reset_buf._y : 0 [by t.a._reset_BXX[0]:=1] + 278148 t.a.fifo_element[3].reset_buf._y : 0 [by t.a._reset_BXX[0]:=1] + 278170 t.a.fifo_element[1].reset_buf._y : 0 [by t.a._reset_BXX[0]:=1] + 278188 t.a.fifo_element[3]._reset_BX : 1 [by t.a.fifo_element[3].reset_buf._y:=0] + 278245 t.a.fifo_element[4].reset_buf._y : 0 [by t.a._reset_BXX[0]:=1] + 278332 t.a.fifo_element[4]._reset_BX : 1 [by t.a.fifo_element[4].reset_buf._y:=0] + 278427 t.a.fifo_element[1]._reset_BX : 1 [by t.a.fifo_element[1].reset_buf._y:=0] + 278872 t.a.fifo_element[0].reset_buf._y : 0 [by t.a._reset_BXX[0]:=1] + 279166 t.a.fifo_element[0]._reset_BX : 1 [by t.a.fifo_element[0].reset_buf._y:=0] + 325646 t.a.fifo_element[2]._reset_BX : 1 [by t.a.fifo_element[2].reset_buf._y:=0] +[0] reset done, r up + 325646 t.in.r : 1 + 325647 t.a.fifo_element[0].buf_func._y : 0 [by t.in.r:=1] + 327453 t.a.fifo_element[1].in.r : 1 [by t.a.fifo_element[0].buf_func._y:=0] + 328662 t.a.fifo_element[0].inack_ctl._y : 0 [by t.a.fifo_element[1].in.r:=1] + 329252 t.in.a : 1 [by t.a.fifo_element[0].inack_ctl._y:=0] + 329430 t.a.fifo_element[0]._en : 0 [by t.in.a:=1] + 329460 t.a.fifo_element[1].buf_func._y : 0 [by t.a.fifo_element[1].in.r:=1] + 330263 t.a.fifo_element[2].in.r : 1 [by t.a.fifo_element[1].buf_func._y:=0] + 330427 t.a.fifo_element[2].buf_func._y : 0 [by t.a.fifo_element[2].in.r:=1] + 330449 t.a.fifo_element[3].in.r : 1 [by t.a.fifo_element[2].buf_func._y:=0] + 331296 t.a.fifo_element[3].buf_func._y : 0 [by t.a.fifo_element[3].in.r:=1] + 331429 t.a.fifo_element[4].in.r : 1 [by t.a.fifo_element[3].buf_func._y:=0] + 331788 t.a.fifo_element[3].inack_ctl._y : 0 [by t.a.fifo_element[4].in.r:=1] + 332458 t.a.fifo_element[1].inack_ctl._y : 0 [by t.a.fifo_element[2].in.r:=1] + 332679 t.a.fifo_element[1].in.a : 1 [by t.a.fifo_element[1].inack_ctl._y:=0] + 332686 t.a.fifo_element[1]._en : 0 [by t.a.fifo_element[1].in.a:=1] + 332709 t.a.fifo_element[0]._out_a_B : 0 [by t.a.fifo_element[1].in.a:=1] + 339422 t.a.fifo_element[0].buf_func._y : 1 [by t.a.fifo_element[0]._out_a_B:=0] + 345904 t.a.fifo_element[3].in.a : 1 [by t.a.fifo_element[3].inack_ctl._y:=0] + 345995 t.a.fifo_element[3]._en : 0 [by t.a.fifo_element[3].in.a:=1] + 347091 t.a.fifo_element[4].buf_func._y : 0 [by t.a.fifo_element[4].in.r:=1] + 347098 t.out.r : 1 [by t.a.fifo_element[4].buf_func._y:=0] + 348093 t.a.fifo_element[2]._out_a_B : 0 [by t.a.fifo_element[3].in.a:=1] + 349885 t.a.fifo_element[4].inack_ctl._y : 0 [by t.out.r:=1] + 349991 t.a.fifo_element[4].in.a : 1 [by t.a.fifo_element[4].inack_ctl._y:=0] + 350069 t.a.fifo_element[4]._en : 0 [by t.a.fifo_element[4].in.a:=1] + 350266 t.a.fifo_element[3]._out_a_B : 0 [by t.a.fifo_element[4].in.a:=1] + 360577 t.a.fifo_element[2].inack_ctl._y : 0 [by t.a.fifo_element[3].in.r:=1] + 361032 t.a.fifo_element[2].in.a : 1 [by t.a.fifo_element[2].inack_ctl._y:=0] + 361044 t.a.fifo_element[2]._en : 0 [by t.a.fifo_element[2].in.a:=1] + 361056 t.a.fifo_element[2].buf_func._y : 1 [by t.a.fifo_element[2]._en:=0] + 361436 t.a.fifo_element[1]._out_a_B : 0 [by t.a.fifo_element[2].in.a:=1] + 365712 t.a.fifo_element[1].buf_func._y : 1 [by t.a.fifo_element[1]._out_a_B:=0] + 366972 t.a.fifo_element[3].in.r : 0 [by t.a.fifo_element[2].buf_func._y:=1] + 368611 t.a.fifo_element[2].in.r : 0 [by t.a.fifo_element[1].buf_func._y:=1] + 368613 t.a.fifo_element[2].inack_ctl._y : 1 [by t.a.fifo_element[2].in.r:=0] + 369262 t.a.fifo_element[3].buf_func._y : 1 [by t.a.fifo_element[3]._out_a_B:=0] + 370511 t.a.fifo_element[4].in.r : 0 [by t.a.fifo_element[3].buf_func._y:=1] + 371267 t.a.fifo_element[3].inack_ctl._y : 1 [by t.a.fifo_element[3].in.r:=0] + 371433 t.a.fifo_element[3].in.a : 0 [by t.a.fifo_element[3].inack_ctl._y:=1] + 371508 t.a.fifo_element[3]._en : 1 [by t.a.fifo_element[3].in.a:=0] + 371778 t.a.fifo_element[2]._out_a_B : 1 [by t.a.fifo_element[3].in.a:=0] + 373148 t.a.fifo_element[2].in.a : 0 [by t.a.fifo_element[2].inack_ctl._y:=1] + 373286 t.a.fifo_element[2]._en : 1 [by t.a.fifo_element[2].in.a:=0] + 374010 t.a.fifo_element[4].inack_ctl._y : 1 [by t.a.fifo_element[4].in.r:=0] + 374012 t.a.fifo_element[4].in.a : 0 [by t.a.fifo_element[4].inack_ctl._y:=1] + 378411 t.a.fifo_element[1]._out_a_B : 1 [by t.a.fifo_element[2].in.a:=0] + 396883 t.a.fifo_element[1].in.r : 0 [by t.a.fifo_element[0].buf_func._y:=1] + 396884 t.a.fifo_element[1].inack_ctl._y : 1 [by t.a.fifo_element[1].in.r:=0] + 397432 t.a.fifo_element[1].in.a : 0 [by t.a.fifo_element[1].inack_ctl._y:=1] + 397443 t.a.fifo_element[1]._en : 1 [by t.a.fifo_element[1].in.a:=0] + 397802 t.a.fifo_element[0]._out_a_B : 1 [by t.a.fifo_element[1].in.a:=0] + 417929 t.a.fifo_element[3]._out_a_B : 1 [by t.a.fifo_element[4].in.a:=0] +[0] r down + 417929 t.in.r : 0 + 417996 t.a.fifo_element[0].inack_ctl._y : 1 [by t.in.r:=0] + 420637 t.in.a : 0 [by t.a.fifo_element[0].inack_ctl._y:=1] + 420653 t.a.fifo_element[0]._en : 1 [by t.in.a:=0] +[1] r up + 420653 t.in.r : 1 + 425215 t.a.fifo_element[0].buf_func._y : 0 [by t.in.r:=1] + 425743 t.a.fifo_element[1].in.r : 1 [by t.a.fifo_element[0].buf_func._y:=0] + 428178 t.a.fifo_element[1].buf_func._y : 0 [by t.a.fifo_element[1].in.r:=1] + 452103 t.a.fifo_element[2].in.r : 1 [by t.a.fifo_element[1].buf_func._y:=0] + 452105 t.a.fifo_element[1].inack_ctl._y : 0 [by t.a.fifo_element[2].in.r:=1] + 452623 t.a.fifo_element[0].inack_ctl._y : 0 [by t.a.fifo_element[1].in.r:=1] + 452626 t.in.a : 1 [by t.a.fifo_element[0].inack_ctl._y:=0] + 452655 t.a.fifo_element[0]._en : 0 [by t.in.a:=1] + 465144 t.a.fifo_element[2].buf_func._y : 0 [by t.a.fifo_element[2].in.r:=1] + 465461 t.a.fifo_element[3].in.r : 1 [by t.a.fifo_element[2].buf_func._y:=0] + 465614 t.a.fifo_element[2].inack_ctl._y : 0 [by t.a.fifo_element[3].in.r:=1] + 465658 t.a.fifo_element[2].in.a : 1 [by t.a.fifo_element[2].inack_ctl._y:=0] + 467062 t.a.fifo_element[3].buf_func._y : 0 [by t.a.fifo_element[3].in.r:=1] + 467063 t.a.fifo_element[4].in.r : 1 [by t.a.fifo_element[3].buf_func._y:=0] + 467280 t.a.fifo_element[3].inack_ctl._y : 0 [by t.a.fifo_element[4].in.r:=1] + 467302 t.a.fifo_element[3].in.a : 1 [by t.a.fifo_element[3].inack_ctl._y:=0] + 467303 t.a.fifo_element[3]._en : 0 [by t.a.fifo_element[3].in.a:=1] + 468419 t.a.fifo_element[2]._en : 0 [by t.a.fifo_element[2].in.a:=1] + 468883 t.a.fifo_element[2]._out_a_B : 0 [by t.a.fifo_element[3].in.a:=1] + 478228 t.a.fifo_element[2].buf_func._y : 1 [by t.a.fifo_element[2]._out_a_B:=0] + 478387 t.a.fifo_element[3].in.r : 0 [by t.a.fifo_element[2].buf_func._y:=1] + 479341 t.a.fifo_element[1]._out_a_B : 0 [by t.a.fifo_element[2].in.a:=1] + 498063 t.a.fifo_element[3].inack_ctl._y : 1 [by t.a.fifo_element[3].in.r:=0] + 499350 t.a.fifo_element[3].in.a : 0 [by t.a.fifo_element[3].inack_ctl._y:=1] + 501582 t.a.fifo_element[2]._out_a_B : 1 [by t.a.fifo_element[3].in.a:=0] + 513063 t.a.fifo_element[1].in.a : 1 [by t.a.fifo_element[1].inack_ctl._y:=0] + 513208 t.a.fifo_element[1]._en : 0 [by t.a.fifo_element[1].in.a:=1] + 515895 t.a.fifo_element[0]._out_a_B : 0 [by t.a.fifo_element[1].in.a:=1] + 515896 t.a.fifo_element[0].buf_func._y : 1 [by t.a.fifo_element[0]._out_a_B:=0] + 519562 t.a.fifo_element[1].buf_func._y : 1 [by t.a.fifo_element[1]._en:=0] + 519724 t.a.fifo_element[2].in.r : 0 [by t.a.fifo_element[1].buf_func._y:=1] + 527093 t.a.fifo_element[2].inack_ctl._y : 1 [by t.a.fifo_element[2].in.r:=0] + 527107 t.a.fifo_element[2].in.a : 0 [by t.a.fifo_element[2].inack_ctl._y:=1] + 527114 t.a.fifo_element[2]._en : 1 [by t.a.fifo_element[2].in.a:=0] + 527267 t.a.fifo_element[1]._out_a_B : 1 [by t.a.fifo_element[2].in.a:=0] + 555180 t.a.fifo_element[1].in.r : 0 [by t.a.fifo_element[0].buf_func._y:=1] + 576737 t.a.fifo_element[1].inack_ctl._y : 1 [by t.a.fifo_element[1].in.r:=0] + 576738 t.a.fifo_element[1].in.a : 0 [by t.a.fifo_element[1].inack_ctl._y:=1] + 576739 t.a.fifo_element[1]._en : 1 [by t.a.fifo_element[1].in.a:=0] + 576739 t.a.fifo_element[0]._out_a_B : 1 [by t.a.fifo_element[1].in.a:=0] +[1] r down + 576739 t.in.r : 0 + 578982 t.a.fifo_element[0].inack_ctl._y : 1 [by t.in.r:=0] + 579169 t.in.a : 0 [by t.a.fifo_element[0].inack_ctl._y:=1] + 579170 t.a.fifo_element[0]._en : 1 [by t.in.a:=0] +[2] r up + 579170 t.in.r : 1 + 583352 t.a.fifo_element[0].buf_func._y : 0 [by t.in.r:=1] + 618134 t.a.fifo_element[1].in.r : 1 [by t.a.fifo_element[0].buf_func._y:=0] + 618135 t.a.fifo_element[1].buf_func._y : 0 [by t.a.fifo_element[1].in.r:=1] + 618140 t.a.fifo_element[2].in.r : 1 [by t.a.fifo_element[1].buf_func._y:=0] + 618141 t.a.fifo_element[1].inack_ctl._y : 0 [by t.a.fifo_element[2].in.r:=1] + 618158 t.a.fifo_element[1].in.a : 1 [by t.a.fifo_element[1].inack_ctl._y:=0] + 618987 t.a.fifo_element[0].inack_ctl._y : 0 [by t.a.fifo_element[1].in.r:=1] + 618990 t.in.a : 1 [by t.a.fifo_element[0].inack_ctl._y:=0] + 619031 t.a.fifo_element[2].buf_func._y : 0 [by t.a.fifo_element[2].in.r:=1] + 619931 t.a.fifo_element[0]._en : 0 [by t.in.a:=1] + 620731 t.a.fifo_element[1]._en : 0 [by t.a.fifo_element[1].in.a:=1] + 626519 t.a.fifo_element[0]._out_a_B : 0 [by t.a.fifo_element[1].in.a:=1] + 626520 t.a.fifo_element[0].buf_func._y : 1 [by t.a.fifo_element[0]._out_a_B:=0] + 626562 t.a.fifo_element[1].in.r : 0 [by t.a.fifo_element[0].buf_func._y:=1] + 629379 t.a.fifo_element[1].inack_ctl._y : 1 [by t.a.fifo_element[1].in.r:=0] + 643112 t.a.fifo_element[1].in.a : 0 [by t.a.fifo_element[1].inack_ctl._y:=1] + 643207 t.a.fifo_element[0]._out_a_B : 1 [by t.a.fifo_element[1].in.a:=0] + 677993 t.a.fifo_element[3].in.r : 1 [by t.a.fifo_element[2].buf_func._y:=0] + 678328 t.a.fifo_element[2].inack_ctl._y : 0 [by t.a.fifo_element[3].in.r:=1] + 678336 t.a.fifo_element[2].in.a : 1 [by t.a.fifo_element[2].inack_ctl._y:=0] + 678370 t.a.fifo_element[2]._en : 0 [by t.a.fifo_element[2].in.a:=1] + 692223 t.a.fifo_element[1]._out_a_B : 0 [by t.a.fifo_element[2].in.a:=1] + 693141 t.a.fifo_element[1].buf_func._y : 1 [by t.a.fifo_element[1]._out_a_B:=0] + 693145 t.a.fifo_element[2].in.r : 0 [by t.a.fifo_element[1].buf_func._y:=1] + 695543 t.a.fifo_element[1]._en : 1 [by t.a.fifo_element[2].in.r:=0] + 739523 t.a.fifo_element[2].inack_ctl._y : 1 [by t.a.fifo_element[2].in.r:=0] + 742738 t.a.fifo_element[2].in.a : 0 [by t.a.fifo_element[2].inack_ctl._y:=1] + 789857 t.a.fifo_element[1]._out_a_B : 1 [by t.a.fifo_element[2].in.a:=0] +[2] r down + 789857 t.in.r : 0 + 789905 t.a.fifo_element[0].inack_ctl._y : 1 [by t.in.r:=0] + 789908 t.in.a : 0 [by t.a.fifo_element[0].inack_ctl._y:=1] + 790086 t.a.fifo_element[0]._en : 1 [by t.in.a:=0] +[3] r up + 790086 t.in.r : 1 + 811063 t.a.fifo_element[0].buf_func._y : 0 [by t.in.r:=1] + 822962 t.a.fifo_element[1].in.r : 1 [by t.a.fifo_element[0].buf_func._y:=0] + 828913 t.a.fifo_element[1].buf_func._y : 0 [by t.a.fifo_element[1].in.r:=1] + 829740 t.a.fifo_element[2].in.r : 1 [by t.a.fifo_element[1].buf_func._y:=0] + 829913 t.a.fifo_element[1].inack_ctl._y : 0 [by t.a.fifo_element[2].in.r:=1] + 830097 t.a.fifo_element[1].in.a : 1 [by t.a.fifo_element[1].inack_ctl._y:=0] + 830098 t.a.fifo_element[1]._en : 0 [by t.a.fifo_element[1].in.a:=1] + 830170 t.a.fifo_element[0]._out_a_B : 0 [by t.a.fifo_element[1].in.a:=1] + 862447 t.a.fifo_element[0].inack_ctl._y : 0 [by t.a.fifo_element[1].in.r:=1] + 862451 t.in.a : 1 [by t.a.fifo_element[0].inack_ctl._y:=0] + 899739 t.a.fifo_element[0]._en : 0 [by t.in.a:=1] + 899835 t.a.fifo_element[0].buf_func._y : 1 [by t.a.fifo_element[0]._en:=0] + 899971 t.a.fifo_element[1].in.r : 0 [by t.a.fifo_element[0].buf_func._y:=1] + 899972 t.a.fifo_element[1].inack_ctl._y : 1 [by t.a.fifo_element[1].in.r:=0] + 919018 t.a.fifo_element[1].in.a : 0 [by t.a.fifo_element[1].inack_ctl._y:=1] + 919259 t.a.fifo_element[0]._out_a_B : 1 [by t.a.fifo_element[1].in.a:=0] +[3] r down + 919259 t.in.r : 0 + 923218 t.a.fifo_element[0].inack_ctl._y : 1 [by t.in.r:=0] + 923230 t.in.a : 0 [by t.a.fifo_element[0].inack_ctl._y:=1] + 927130 t.a.fifo_element[0]._en : 1 [by t.in.a:=0] +[4] r up + 927130 t.in.r : 1 + 928159 t.a.fifo_element[0].buf_func._y : 0 [by t.in.r:=1] + 928160 t.a.fifo_element[1].in.r : 1 [by t.a.fifo_element[0].buf_func._y:=0] + 928216 t.a.fifo_element[0].inack_ctl._y : 0 [by t.a.fifo_element[1].in.r:=1] + 973222 t.in.a : 1 [by t.a.fifo_element[0].inack_ctl._y:=0] + 973223 t.a.fifo_element[0]._en : 0 [by t.in.a:=1] +[4] r down + 973223 t.in.r : 0 + 973260 t.a.fifo_element[0].inack_ctl._y : 1 [by t.in.r:=0] + 996635 t.in.a : 0 [by t.a.fifo_element[0].inack_ctl._y:=1] +[5] r up + 996635 t.in.r : 1 +[5] r down + 996635 t.in.r : 0 +[6] r up + 996635 t.in.r : 1 +[6] r down + 996635 t.in.r : 0 diff --git a/test/unit_tests/fifo_t_5/run/prsim.pdf b/test/unit_tests/fifo_t_5/run/prsim.pdf new file mode 100644 index 0000000..eeacfd8 Binary files /dev/null and b/test/unit_tests/fifo_t_5/run/prsim.pdf differ diff --git a/test/unit_tests/fifo_t_5/run/test.prs b/test/unit_tests/fifo_t_5/run/test.prs new file mode 100644 index 0000000..de8fdb4 --- /dev/null +++ b/test/unit_tests/fifo_t_5/run/test.prs @@ -0,0 +1,332 @@ += "GND" "GND" += "Vdd" "Vdd" += "Reset" "Reset" +"t.a.reset_bufarray.buf2.a"->"t.a.reset_bufarray.buf2._y"- +~("t.a.reset_bufarray.buf2.a")->"t.a.reset_bufarray.buf2._y"+ +"t.a.reset_bufarray.buf2._y"->"t.a.reset_bufarray.buf2.y"- +~("t.a.reset_bufarray.buf2._y")->"t.a.reset_bufarray.buf2.y"+ += "t.a.reset_bufarray.supply.vdd" "t.a.reset_bufarray.buf2.vdd" += "t.a.reset_bufarray.supply.vss" "t.a.reset_bufarray.buf2.vss" += "t.a.reset_bufarray.out[0]" "t.a.reset_bufarray.out[4]" += "t.a.reset_bufarray.out[0]" "t.a.reset_bufarray.out[3]" += "t.a.reset_bufarray.out[0]" "t.a.reset_bufarray.out[2]" += "t.a.reset_bufarray.out[0]" "t.a.reset_bufarray.out[1]" += "t.a.reset_bufarray.out[0]" "t.a.reset_bufarray.buf2.y" += "t.a.reset_bufarray.in" "t.a.reset_bufarray.buf2.a" +"t.a.reset_buf.a"->"t.a.reset_buf._y"- +~("t.a.reset_buf.a")->"t.a.reset_buf._y"+ +"t.a.reset_buf._y"->"t.a.reset_buf.y"- +~("t.a.reset_buf._y")->"t.a.reset_buf.y"+ += "t.a.reset_B" "t.a.reset_buf.a" += "t.a.supply.vss" "t.a.fifo_element[4].supply.vss" += "t.a.supply.vdd" "t.a.fifo_element[4].supply.vdd" += "t.a.supply.vss" "t.a.fifo_element[3].supply.vss" += "t.a.supply.vdd" "t.a.fifo_element[3].supply.vdd" += "t.a.supply.vss" "t.a.fifo_element[2].supply.vss" += "t.a.supply.vdd" "t.a.fifo_element[2].supply.vdd" += "t.a.supply.vss" "t.a.fifo_element[1].supply.vss" += "t.a.supply.vdd" "t.a.fifo_element[1].supply.vdd" += "t.a.supply.vss" "t.a.fifo_element[0].supply.vss" += "t.a.supply.vdd" "t.a.fifo_element[0].supply.vdd" += "t.a.supply.vdd" "t.a.reset_buf.vdd" += "t.a.supply.vss" "t.a.reset_buf.vss" += "t.a._reset_BX" "t.a.reset_bufarray.in" += "t.a._reset_BX" "t.a.reset_buf.y" +"t.a.fifo_element[0].reset_buf.a"->"t.a.fifo_element[0].reset_buf._y"- +~("t.a.fifo_element[0].reset_buf.a")->"t.a.fifo_element[0].reset_buf._y"+ +"t.a.fifo_element[0].reset_buf._y"->"t.a.fifo_element[0].reset_buf.y"- +~("t.a.fifo_element[0].reset_buf._y")->"t.a.fifo_element[0].reset_buf.y"+ +"t.a.fifo_element[0].inv_outa.a"->"t.a.fifo_element[0].inv_outa.y"- +~("t.a.fifo_element[0].inv_outa.a")->"t.a.fifo_element[0].inv_outa.y"+ +~"t.a.fifo_element[0].inack_ctl.c1"&~"t.a.fifo_element[0].inack_ctl.c2"|~"t.a.fifo_element[0].inack_ctl.pr_B"->"t.a.fifo_element[0].inack_ctl._y"+ +"t.a.fifo_element[0].inack_ctl.c1"&"t.a.fifo_element[0].inack_ctl.c2"&"t.a.fifo_element[0].inack_ctl.n1"&"t.a.fifo_element[0].inack_ctl.sr_B"->"t.a.fifo_element[0].inack_ctl._y"- +"t.a.fifo_element[0].inack_ctl._y"->"t.a.fifo_element[0].inack_ctl.y"- +~("t.a.fifo_element[0].inack_ctl._y")->"t.a.fifo_element[0].inack_ctl.y"+ +~"t.a.fifo_element[0].buf_func.c1"&~"t.a.fifo_element[0].buf_func.c2"|~"t.a.fifo_element[0].buf_func.pr_B"->"t.a.fifo_element[0].buf_func._y"+ +"t.a.fifo_element[0].buf_func.c1"&"t.a.fifo_element[0].buf_func.c2"&"t.a.fifo_element[0].buf_func.n1"&"t.a.fifo_element[0].buf_func.sr_B"->"t.a.fifo_element[0].buf_func._y"- +"t.a.fifo_element[0].buf_func._y"->"t.a.fifo_element[0].buf_func.y"- +~("t.a.fifo_element[0].buf_func._y")->"t.a.fifo_element[0].buf_func.y"+ += "t.a.fifo_element[0].reset_B" "t.a.fifo_element[0].reset_buf.a" += "t.a.fifo_element[0].supply.vdd" "t.a.fifo_element[0].reset_buf.vdd" += "t.a.fifo_element[0].supply.vdd" "t.a.fifo_element[0].buf_func.vdd" += "t.a.fifo_element[0].supply.vdd" "t.a.fifo_element[0].inv_outa.vdd" += "t.a.fifo_element[0].supply.vdd" "t.a.fifo_element[0].en_ctl.vdd" += "t.a.fifo_element[0].supply.vdd" "t.a.fifo_element[0].inack_ctl.vdd" += "t.a.fifo_element[0].supply.vss" "t.a.fifo_element[0].reset_buf.vss" += "t.a.fifo_element[0].supply.vss" "t.a.fifo_element[0].buf_func.vss" += "t.a.fifo_element[0].supply.vss" "t.a.fifo_element[0].inv_outa.vss" += "t.a.fifo_element[0].supply.vss" "t.a.fifo_element[0].en_ctl.vss" += "t.a.fifo_element[0].supply.vss" "t.a.fifo_element[0].inack_ctl.vss" += "t.a.fifo_element[0]._reset_BX" "t.a.fifo_element[0].reset_buf.y" += "t.a.fifo_element[0]._reset_BX" "t.a.fifo_element[0].buf_func.sr_B" += "t.a.fifo_element[0]._reset_BX" "t.a.fifo_element[0].buf_func.pr_B" += "t.a.fifo_element[0]._reset_BX" "t.a.fifo_element[0].inack_ctl.sr_B" += "t.a.fifo_element[0]._reset_BX" "t.a.fifo_element[0].inack_ctl.pr_B" += "t.a.fifo_element[0]._en" "t.a.fifo_element[0].buf_func.c1" += "t.a.fifo_element[0]._en" "t.a.fifo_element[0].en_ctl.y" += "t.a.fifo_element[0]._en" "t.a.fifo_element[0].inack_ctl.c1" +~"t.a.fifo_element[0].en_ctl.p1"&~"t.a.fifo_element[0].en_ctl.c1"->"t.a.fifo_element[0].en_ctl.y"+ +"t.a.fifo_element[0].en_ctl.c1"->"t.a.fifo_element[0].en_ctl.y"- += "t.a.fifo_element[0]._out_a_B" "t.a.fifo_element[0].buf_func.c2" += "t.a.fifo_element[0]._out_a_B" "t.a.fifo_element[0].inv_outa.y" += "t.a.fifo_element[0].in.d.d[0]" "t.a.fifo_element[0].in.r" += "t.a.fifo_element[0].in.a" "t.a.fifo_element[0].en_ctl.c1" += "t.a.fifo_element[0].in.a" "t.a.fifo_element[0].inack_ctl.y" += "t.a.fifo_element[0].in.d.d[0]" "t.a.fifo_element[0].buf_func.n1" += "t.a.fifo_element[0].in.d.d[0]" "t.a.fifo_element[0].inack_ctl.c2" += "t.a.fifo_element[0].in.d.d[0]" "t.a.fifo_element[0].in.r" += "t.a.fifo_element[0].out.d.d[0]" "t.a.fifo_element[0].out.r" += "t.a.fifo_element[0].out.a" "t.a.fifo_element[0].inv_outa.a" += "t.a.fifo_element[0].out.d.d[0]" "t.a.fifo_element[0].buf_func.y" += "t.a.fifo_element[0].out.d.d[0]" "t.a.fifo_element[0].en_ctl.p1" += "t.a.fifo_element[0].out.d.d[0]" "t.a.fifo_element[0].inack_ctl.n1" += "t.a.fifo_element[0].out.d.d[0]" "t.a.fifo_element[0].out.r" +"t.a.fifo_element[1].reset_buf.a"->"t.a.fifo_element[1].reset_buf._y"- +~("t.a.fifo_element[1].reset_buf.a")->"t.a.fifo_element[1].reset_buf._y"+ +"t.a.fifo_element[1].reset_buf._y"->"t.a.fifo_element[1].reset_buf.y"- +~("t.a.fifo_element[1].reset_buf._y")->"t.a.fifo_element[1].reset_buf.y"+ +"t.a.fifo_element[1].inv_outa.a"->"t.a.fifo_element[1].inv_outa.y"- +~("t.a.fifo_element[1].inv_outa.a")->"t.a.fifo_element[1].inv_outa.y"+ +~"t.a.fifo_element[1].inack_ctl.c1"&~"t.a.fifo_element[1].inack_ctl.c2"|~"t.a.fifo_element[1].inack_ctl.pr_B"->"t.a.fifo_element[1].inack_ctl._y"+ +"t.a.fifo_element[1].inack_ctl.c1"&"t.a.fifo_element[1].inack_ctl.c2"&"t.a.fifo_element[1].inack_ctl.n1"&"t.a.fifo_element[1].inack_ctl.sr_B"->"t.a.fifo_element[1].inack_ctl._y"- +"t.a.fifo_element[1].inack_ctl._y"->"t.a.fifo_element[1].inack_ctl.y"- +~("t.a.fifo_element[1].inack_ctl._y")->"t.a.fifo_element[1].inack_ctl.y"+ +~"t.a.fifo_element[1].buf_func.c1"&~"t.a.fifo_element[1].buf_func.c2"|~"t.a.fifo_element[1].buf_func.pr_B"->"t.a.fifo_element[1].buf_func._y"+ +"t.a.fifo_element[1].buf_func.c1"&"t.a.fifo_element[1].buf_func.c2"&"t.a.fifo_element[1].buf_func.n1"&"t.a.fifo_element[1].buf_func.sr_B"->"t.a.fifo_element[1].buf_func._y"- +"t.a.fifo_element[1].buf_func._y"->"t.a.fifo_element[1].buf_func.y"- +~("t.a.fifo_element[1].buf_func._y")->"t.a.fifo_element[1].buf_func.y"+ += "t.a.fifo_element[1].reset_B" "t.a.fifo_element[1].reset_buf.a" += "t.a.fifo_element[1].supply.vdd" "t.a.fifo_element[1].reset_buf.vdd" += "t.a.fifo_element[1].supply.vdd" "t.a.fifo_element[1].buf_func.vdd" += "t.a.fifo_element[1].supply.vdd" "t.a.fifo_element[1].inv_outa.vdd" += "t.a.fifo_element[1].supply.vdd" "t.a.fifo_element[1].en_ctl.vdd" += "t.a.fifo_element[1].supply.vdd" "t.a.fifo_element[1].inack_ctl.vdd" += "t.a.fifo_element[1].supply.vss" "t.a.fifo_element[1].reset_buf.vss" += "t.a.fifo_element[1].supply.vss" "t.a.fifo_element[1].buf_func.vss" += "t.a.fifo_element[1].supply.vss" "t.a.fifo_element[1].inv_outa.vss" += "t.a.fifo_element[1].supply.vss" "t.a.fifo_element[1].en_ctl.vss" += "t.a.fifo_element[1].supply.vss" "t.a.fifo_element[1].inack_ctl.vss" += "t.a.fifo_element[1]._reset_BX" "t.a.fifo_element[1].reset_buf.y" += "t.a.fifo_element[1]._reset_BX" "t.a.fifo_element[1].buf_func.sr_B" += "t.a.fifo_element[1]._reset_BX" "t.a.fifo_element[1].buf_func.pr_B" += "t.a.fifo_element[1]._reset_BX" "t.a.fifo_element[1].inack_ctl.sr_B" += "t.a.fifo_element[1]._reset_BX" "t.a.fifo_element[1].inack_ctl.pr_B" += "t.a.fifo_element[1]._en" "t.a.fifo_element[1].buf_func.c1" += "t.a.fifo_element[1]._en" "t.a.fifo_element[1].en_ctl.y" += "t.a.fifo_element[1]._en" "t.a.fifo_element[1].inack_ctl.c1" +~"t.a.fifo_element[1].en_ctl.p1"&~"t.a.fifo_element[1].en_ctl.c1"->"t.a.fifo_element[1].en_ctl.y"+ +"t.a.fifo_element[1].en_ctl.c1"->"t.a.fifo_element[1].en_ctl.y"- += "t.a.fifo_element[1]._out_a_B" "t.a.fifo_element[1].buf_func.c2" += "t.a.fifo_element[1]._out_a_B" "t.a.fifo_element[1].inv_outa.y" += "t.a.fifo_element[1].in.d.d[0]" "t.a.fifo_element[1].in.r" += "t.a.fifo_element[1].in.a" "t.a.fifo_element[1].en_ctl.c1" += "t.a.fifo_element[1].in.a" "t.a.fifo_element[1].inack_ctl.y" += "t.a.fifo_element[1].in.d.d[0]" "t.a.fifo_element[1].buf_func.n1" += "t.a.fifo_element[1].in.d.d[0]" "t.a.fifo_element[1].inack_ctl.c2" += "t.a.fifo_element[1].in.d.d[0]" "t.a.fifo_element[1].in.r" += "t.a.fifo_element[1].out.d.d[0]" "t.a.fifo_element[1].out.r" += "t.a.fifo_element[1].out.a" "t.a.fifo_element[1].inv_outa.a" += "t.a.fifo_element[1].out.d.d[0]" "t.a.fifo_element[1].buf_func.y" += "t.a.fifo_element[1].out.d.d[0]" "t.a.fifo_element[1].en_ctl.p1" += "t.a.fifo_element[1].out.d.d[0]" "t.a.fifo_element[1].inack_ctl.n1" += "t.a.fifo_element[1].out.d.d[0]" "t.a.fifo_element[1].out.r" +"t.a.fifo_element[2].reset_buf.a"->"t.a.fifo_element[2].reset_buf._y"- +~("t.a.fifo_element[2].reset_buf.a")->"t.a.fifo_element[2].reset_buf._y"+ +"t.a.fifo_element[2].reset_buf._y"->"t.a.fifo_element[2].reset_buf.y"- +~("t.a.fifo_element[2].reset_buf._y")->"t.a.fifo_element[2].reset_buf.y"+ +"t.a.fifo_element[2].inv_outa.a"->"t.a.fifo_element[2].inv_outa.y"- +~("t.a.fifo_element[2].inv_outa.a")->"t.a.fifo_element[2].inv_outa.y"+ +~"t.a.fifo_element[2].inack_ctl.c1"&~"t.a.fifo_element[2].inack_ctl.c2"|~"t.a.fifo_element[2].inack_ctl.pr_B"->"t.a.fifo_element[2].inack_ctl._y"+ +"t.a.fifo_element[2].inack_ctl.c1"&"t.a.fifo_element[2].inack_ctl.c2"&"t.a.fifo_element[2].inack_ctl.n1"&"t.a.fifo_element[2].inack_ctl.sr_B"->"t.a.fifo_element[2].inack_ctl._y"- +"t.a.fifo_element[2].inack_ctl._y"->"t.a.fifo_element[2].inack_ctl.y"- +~("t.a.fifo_element[2].inack_ctl._y")->"t.a.fifo_element[2].inack_ctl.y"+ +~"t.a.fifo_element[2].buf_func.c1"&~"t.a.fifo_element[2].buf_func.c2"|~"t.a.fifo_element[2].buf_func.pr_B"->"t.a.fifo_element[2].buf_func._y"+ +"t.a.fifo_element[2].buf_func.c1"&"t.a.fifo_element[2].buf_func.c2"&"t.a.fifo_element[2].buf_func.n1"&"t.a.fifo_element[2].buf_func.sr_B"->"t.a.fifo_element[2].buf_func._y"- +"t.a.fifo_element[2].buf_func._y"->"t.a.fifo_element[2].buf_func.y"- +~("t.a.fifo_element[2].buf_func._y")->"t.a.fifo_element[2].buf_func.y"+ += "t.a.fifo_element[2].reset_B" "t.a.fifo_element[2].reset_buf.a" += "t.a.fifo_element[2].supply.vdd" "t.a.fifo_element[2].reset_buf.vdd" += "t.a.fifo_element[2].supply.vdd" "t.a.fifo_element[2].buf_func.vdd" += "t.a.fifo_element[2].supply.vdd" "t.a.fifo_element[2].inv_outa.vdd" += "t.a.fifo_element[2].supply.vdd" "t.a.fifo_element[2].en_ctl.vdd" += "t.a.fifo_element[2].supply.vdd" "t.a.fifo_element[2].inack_ctl.vdd" += "t.a.fifo_element[2].supply.vss" "t.a.fifo_element[2].reset_buf.vss" += "t.a.fifo_element[2].supply.vss" "t.a.fifo_element[2].buf_func.vss" += "t.a.fifo_element[2].supply.vss" "t.a.fifo_element[2].inv_outa.vss" += "t.a.fifo_element[2].supply.vss" "t.a.fifo_element[2].en_ctl.vss" += "t.a.fifo_element[2].supply.vss" "t.a.fifo_element[2].inack_ctl.vss" += "t.a.fifo_element[2]._reset_BX" "t.a.fifo_element[2].reset_buf.y" += "t.a.fifo_element[2]._reset_BX" "t.a.fifo_element[2].buf_func.sr_B" += "t.a.fifo_element[2]._reset_BX" "t.a.fifo_element[2].buf_func.pr_B" += "t.a.fifo_element[2]._reset_BX" "t.a.fifo_element[2].inack_ctl.sr_B" += "t.a.fifo_element[2]._reset_BX" "t.a.fifo_element[2].inack_ctl.pr_B" += "t.a.fifo_element[2]._en" "t.a.fifo_element[2].buf_func.c1" += "t.a.fifo_element[2]._en" "t.a.fifo_element[2].en_ctl.y" += "t.a.fifo_element[2]._en" "t.a.fifo_element[2].inack_ctl.c1" +~"t.a.fifo_element[2].en_ctl.p1"&~"t.a.fifo_element[2].en_ctl.c1"->"t.a.fifo_element[2].en_ctl.y"+ +"t.a.fifo_element[2].en_ctl.c1"->"t.a.fifo_element[2].en_ctl.y"- += "t.a.fifo_element[2]._out_a_B" "t.a.fifo_element[2].buf_func.c2" += "t.a.fifo_element[2]._out_a_B" "t.a.fifo_element[2].inv_outa.y" += "t.a.fifo_element[2].in.d.d[0]" "t.a.fifo_element[2].in.r" += "t.a.fifo_element[2].in.a" "t.a.fifo_element[2].en_ctl.c1" += "t.a.fifo_element[2].in.a" "t.a.fifo_element[2].inack_ctl.y" += "t.a.fifo_element[2].in.d.d[0]" "t.a.fifo_element[2].buf_func.n1" += "t.a.fifo_element[2].in.d.d[0]" "t.a.fifo_element[2].inack_ctl.c2" += "t.a.fifo_element[2].in.d.d[0]" "t.a.fifo_element[2].in.r" += "t.a.fifo_element[2].out.d.d[0]" "t.a.fifo_element[2].out.r" += "t.a.fifo_element[2].out.a" "t.a.fifo_element[2].inv_outa.a" += "t.a.fifo_element[2].out.d.d[0]" "t.a.fifo_element[2].buf_func.y" += "t.a.fifo_element[2].out.d.d[0]" "t.a.fifo_element[2].en_ctl.p1" += "t.a.fifo_element[2].out.d.d[0]" "t.a.fifo_element[2].inack_ctl.n1" += "t.a.fifo_element[2].out.d.d[0]" "t.a.fifo_element[2].out.r" +"t.a.fifo_element[3].reset_buf.a"->"t.a.fifo_element[3].reset_buf._y"- +~("t.a.fifo_element[3].reset_buf.a")->"t.a.fifo_element[3].reset_buf._y"+ +"t.a.fifo_element[3].reset_buf._y"->"t.a.fifo_element[3].reset_buf.y"- +~("t.a.fifo_element[3].reset_buf._y")->"t.a.fifo_element[3].reset_buf.y"+ +"t.a.fifo_element[3].inv_outa.a"->"t.a.fifo_element[3].inv_outa.y"- +~("t.a.fifo_element[3].inv_outa.a")->"t.a.fifo_element[3].inv_outa.y"+ +~"t.a.fifo_element[3].inack_ctl.c1"&~"t.a.fifo_element[3].inack_ctl.c2"|~"t.a.fifo_element[3].inack_ctl.pr_B"->"t.a.fifo_element[3].inack_ctl._y"+ +"t.a.fifo_element[3].inack_ctl.c1"&"t.a.fifo_element[3].inack_ctl.c2"&"t.a.fifo_element[3].inack_ctl.n1"&"t.a.fifo_element[3].inack_ctl.sr_B"->"t.a.fifo_element[3].inack_ctl._y"- +"t.a.fifo_element[3].inack_ctl._y"->"t.a.fifo_element[3].inack_ctl.y"- +~("t.a.fifo_element[3].inack_ctl._y")->"t.a.fifo_element[3].inack_ctl.y"+ +~"t.a.fifo_element[3].buf_func.c1"&~"t.a.fifo_element[3].buf_func.c2"|~"t.a.fifo_element[3].buf_func.pr_B"->"t.a.fifo_element[3].buf_func._y"+ +"t.a.fifo_element[3].buf_func.c1"&"t.a.fifo_element[3].buf_func.c2"&"t.a.fifo_element[3].buf_func.n1"&"t.a.fifo_element[3].buf_func.sr_B"->"t.a.fifo_element[3].buf_func._y"- +"t.a.fifo_element[3].buf_func._y"->"t.a.fifo_element[3].buf_func.y"- +~("t.a.fifo_element[3].buf_func._y")->"t.a.fifo_element[3].buf_func.y"+ += "t.a.fifo_element[3].reset_B" "t.a.fifo_element[3].reset_buf.a" += "t.a.fifo_element[3].supply.vdd" "t.a.fifo_element[3].reset_buf.vdd" += "t.a.fifo_element[3].supply.vdd" "t.a.fifo_element[3].buf_func.vdd" += "t.a.fifo_element[3].supply.vdd" "t.a.fifo_element[3].inv_outa.vdd" += "t.a.fifo_element[3].supply.vdd" "t.a.fifo_element[3].en_ctl.vdd" += "t.a.fifo_element[3].supply.vdd" "t.a.fifo_element[3].inack_ctl.vdd" += "t.a.fifo_element[3].supply.vss" "t.a.fifo_element[3].reset_buf.vss" += "t.a.fifo_element[3].supply.vss" "t.a.fifo_element[3].buf_func.vss" += "t.a.fifo_element[3].supply.vss" "t.a.fifo_element[3].inv_outa.vss" += "t.a.fifo_element[3].supply.vss" "t.a.fifo_element[3].en_ctl.vss" += "t.a.fifo_element[3].supply.vss" "t.a.fifo_element[3].inack_ctl.vss" += "t.a.fifo_element[3]._reset_BX" "t.a.fifo_element[3].reset_buf.y" += "t.a.fifo_element[3]._reset_BX" "t.a.fifo_element[3].buf_func.sr_B" += "t.a.fifo_element[3]._reset_BX" "t.a.fifo_element[3].buf_func.pr_B" += "t.a.fifo_element[3]._reset_BX" "t.a.fifo_element[3].inack_ctl.sr_B" += "t.a.fifo_element[3]._reset_BX" "t.a.fifo_element[3].inack_ctl.pr_B" += "t.a.fifo_element[3]._en" "t.a.fifo_element[3].buf_func.c1" += "t.a.fifo_element[3]._en" "t.a.fifo_element[3].en_ctl.y" += "t.a.fifo_element[3]._en" "t.a.fifo_element[3].inack_ctl.c1" +~"t.a.fifo_element[3].en_ctl.p1"&~"t.a.fifo_element[3].en_ctl.c1"->"t.a.fifo_element[3].en_ctl.y"+ +"t.a.fifo_element[3].en_ctl.c1"->"t.a.fifo_element[3].en_ctl.y"- += "t.a.fifo_element[3]._out_a_B" "t.a.fifo_element[3].buf_func.c2" += "t.a.fifo_element[3]._out_a_B" "t.a.fifo_element[3].inv_outa.y" += "t.a.fifo_element[3].in.d.d[0]" "t.a.fifo_element[3].in.r" += "t.a.fifo_element[3].in.a" "t.a.fifo_element[3].en_ctl.c1" += "t.a.fifo_element[3].in.a" "t.a.fifo_element[3].inack_ctl.y" += "t.a.fifo_element[3].in.d.d[0]" "t.a.fifo_element[3].buf_func.n1" += "t.a.fifo_element[3].in.d.d[0]" "t.a.fifo_element[3].inack_ctl.c2" += "t.a.fifo_element[3].in.d.d[0]" "t.a.fifo_element[3].in.r" += "t.a.fifo_element[3].out.d.d[0]" "t.a.fifo_element[3].out.r" += "t.a.fifo_element[3].out.a" "t.a.fifo_element[3].inv_outa.a" += "t.a.fifo_element[3].out.d.d[0]" "t.a.fifo_element[3].buf_func.y" += "t.a.fifo_element[3].out.d.d[0]" "t.a.fifo_element[3].en_ctl.p1" += "t.a.fifo_element[3].out.d.d[0]" "t.a.fifo_element[3].inack_ctl.n1" += "t.a.fifo_element[3].out.d.d[0]" "t.a.fifo_element[3].out.r" +"t.a.fifo_element[4].reset_buf.a"->"t.a.fifo_element[4].reset_buf._y"- +~("t.a.fifo_element[4].reset_buf.a")->"t.a.fifo_element[4].reset_buf._y"+ +"t.a.fifo_element[4].reset_buf._y"->"t.a.fifo_element[4].reset_buf.y"- +~("t.a.fifo_element[4].reset_buf._y")->"t.a.fifo_element[4].reset_buf.y"+ +"t.a.fifo_element[4].inv_outa.a"->"t.a.fifo_element[4].inv_outa.y"- +~("t.a.fifo_element[4].inv_outa.a")->"t.a.fifo_element[4].inv_outa.y"+ +~"t.a.fifo_element[4].inack_ctl.c1"&~"t.a.fifo_element[4].inack_ctl.c2"|~"t.a.fifo_element[4].inack_ctl.pr_B"->"t.a.fifo_element[4].inack_ctl._y"+ +"t.a.fifo_element[4].inack_ctl.c1"&"t.a.fifo_element[4].inack_ctl.c2"&"t.a.fifo_element[4].inack_ctl.n1"&"t.a.fifo_element[4].inack_ctl.sr_B"->"t.a.fifo_element[4].inack_ctl._y"- +"t.a.fifo_element[4].inack_ctl._y"->"t.a.fifo_element[4].inack_ctl.y"- +~("t.a.fifo_element[4].inack_ctl._y")->"t.a.fifo_element[4].inack_ctl.y"+ +~"t.a.fifo_element[4].buf_func.c1"&~"t.a.fifo_element[4].buf_func.c2"|~"t.a.fifo_element[4].buf_func.pr_B"->"t.a.fifo_element[4].buf_func._y"+ +"t.a.fifo_element[4].buf_func.c1"&"t.a.fifo_element[4].buf_func.c2"&"t.a.fifo_element[4].buf_func.n1"&"t.a.fifo_element[4].buf_func.sr_B"->"t.a.fifo_element[4].buf_func._y"- +"t.a.fifo_element[4].buf_func._y"->"t.a.fifo_element[4].buf_func.y"- +~("t.a.fifo_element[4].buf_func._y")->"t.a.fifo_element[4].buf_func.y"+ += "t.a.fifo_element[4].reset_B" "t.a.fifo_element[4].reset_buf.a" += "t.a.fifo_element[4].supply.vdd" "t.a.fifo_element[4].reset_buf.vdd" += "t.a.fifo_element[4].supply.vdd" "t.a.fifo_element[4].buf_func.vdd" += "t.a.fifo_element[4].supply.vdd" "t.a.fifo_element[4].inv_outa.vdd" += "t.a.fifo_element[4].supply.vdd" "t.a.fifo_element[4].en_ctl.vdd" += "t.a.fifo_element[4].supply.vdd" "t.a.fifo_element[4].inack_ctl.vdd" += "t.a.fifo_element[4].supply.vss" "t.a.fifo_element[4].reset_buf.vss" += "t.a.fifo_element[4].supply.vss" "t.a.fifo_element[4].buf_func.vss" += "t.a.fifo_element[4].supply.vss" "t.a.fifo_element[4].inv_outa.vss" += "t.a.fifo_element[4].supply.vss" "t.a.fifo_element[4].en_ctl.vss" += "t.a.fifo_element[4].supply.vss" "t.a.fifo_element[4].inack_ctl.vss" += "t.a.fifo_element[4]._reset_BX" "t.a.fifo_element[4].reset_buf.y" += "t.a.fifo_element[4]._reset_BX" "t.a.fifo_element[4].buf_func.sr_B" += "t.a.fifo_element[4]._reset_BX" "t.a.fifo_element[4].buf_func.pr_B" += "t.a.fifo_element[4]._reset_BX" "t.a.fifo_element[4].inack_ctl.sr_B" += "t.a.fifo_element[4]._reset_BX" "t.a.fifo_element[4].inack_ctl.pr_B" += "t.a.fifo_element[4]._en" "t.a.fifo_element[4].buf_func.c1" += "t.a.fifo_element[4]._en" "t.a.fifo_element[4].en_ctl.y" += "t.a.fifo_element[4]._en" "t.a.fifo_element[4].inack_ctl.c1" +~"t.a.fifo_element[4].en_ctl.p1"&~"t.a.fifo_element[4].en_ctl.c1"->"t.a.fifo_element[4].en_ctl.y"+ +"t.a.fifo_element[4].en_ctl.c1"->"t.a.fifo_element[4].en_ctl.y"- += "t.a.fifo_element[4]._out_a_B" "t.a.fifo_element[4].buf_func.c2" += "t.a.fifo_element[4]._out_a_B" "t.a.fifo_element[4].inv_outa.y" += "t.a.fifo_element[4].in.d.d[0]" "t.a.fifo_element[4].in.r" += "t.a.fifo_element[4].in.a" "t.a.fifo_element[4].en_ctl.c1" += "t.a.fifo_element[4].in.a" "t.a.fifo_element[4].inack_ctl.y" += "t.a.fifo_element[4].in.d.d[0]" "t.a.fifo_element[4].buf_func.n1" += "t.a.fifo_element[4].in.d.d[0]" "t.a.fifo_element[4].inack_ctl.c2" += "t.a.fifo_element[4].in.d.d[0]" "t.a.fifo_element[4].in.r" += "t.a.fifo_element[4].out.d.d[0]" "t.a.fifo_element[4].out.r" += "t.a.fifo_element[4].out.a" "t.a.fifo_element[4].inv_outa.a" += "t.a.fifo_element[4].out.d.d[0]" "t.a.fifo_element[4].buf_func.y" += "t.a.fifo_element[4].out.d.d[0]" "t.a.fifo_element[4].en_ctl.p1" += "t.a.fifo_element[4].out.d.d[0]" "t.a.fifo_element[4].inack_ctl.n1" += "t.a.fifo_element[4].out.d.d[0]" "t.a.fifo_element[4].out.r" += "t.a.fifo_element[4].in.a" "t.a.fifo_element[3].out.a" += "t.a.fifo_element[4].in.d.d[0]" "t.a.fifo_element[3].out.r" += "t.a.fifo_element[4].in.d.d[0]" "t.a.fifo_element[3].out.d.d[0]" += "t.a.fifo_element[4].in.d.d[0]" "t.a.fifo_element[4].in.r" += "t.a.fifo_element[3].in.a" "t.a.fifo_element[2].out.a" += "t.a.fifo_element[3].in.d.d[0]" "t.a.fifo_element[2].out.r" += "t.a.fifo_element[3].in.d.d[0]" "t.a.fifo_element[2].out.d.d[0]" += "t.a.fifo_element[3].in.d.d[0]" "t.a.fifo_element[3].in.r" += "t.a.fifo_element[2].in.a" "t.a.fifo_element[1].out.a" += "t.a.fifo_element[2].in.d.d[0]" "t.a.fifo_element[1].out.r" += "t.a.fifo_element[2].in.d.d[0]" "t.a.fifo_element[1].out.d.d[0]" += "t.a.fifo_element[2].in.d.d[0]" "t.a.fifo_element[2].in.r" += "t.a.fifo_element[1].in.a" "t.a.fifo_element[0].out.a" += "t.a.fifo_element[1].in.d.d[0]" "t.a.fifo_element[0].out.r" += "t.a.fifo_element[1].in.d.d[0]" "t.a.fifo_element[0].out.d.d[0]" += "t.a.fifo_element[1].in.d.d[0]" "t.a.fifo_element[1].in.r" += "t.a._reset_BXX[0]" "t.a.reset_bufarray.out[0]" += "t.a._reset_BXX[1]" "t.a.reset_bufarray.out[1]" += "t.a._reset_BXX[2]" "t.a.reset_bufarray.out[2]" += "t.a._reset_BXX[3]" "t.a.reset_bufarray.out[3]" += "t.a._reset_BXX[4]" "t.a.reset_bufarray.out[4]" += "t.a._reset_BXX[4]" "t.a.fifo_element[3].reset_B" += "t.a._reset_BXX[4]" "t.a._reset_BXX[3]" += "t.a._reset_BXX[4]" "t.a.fifo_element[2].reset_B" += "t.a._reset_BXX[4]" "t.a._reset_BXX[2]" += "t.a._reset_BXX[4]" "t.a.fifo_element[1].reset_B" += "t.a._reset_BXX[4]" "t.a._reset_BXX[1]" += "t.a._reset_BXX[4]" "t.a.fifo_element[0].reset_B" += "t.a._reset_BXX[4]" "t.a._reset_BXX[0]" += "t.a._reset_BXX[4]" "t.a.fifo_element[4].reset_B" += "t.a.in.d.d[0]" "t.a.in.r" += "t.a.in.a" "t.a.fifo_element[0].in.a" += "t.a.in.d.d[0]" "t.a.fifo_element[0].in.r" += "t.a.in.d.d[0]" "t.a.fifo_element[0].in.d.d[0]" += "t.a.in.d.d[0]" "t.a.in.r" += "t.a.out.d.d[0]" "t.a.out.r" += "t.a.out.a" "t.a.fifo_element[4].out.a" += "t.a.out.d.d[0]" "t.a.fifo_element[4].out.r" += "t.a.out.d.d[0]" "t.a.fifo_element[4].out.d.d[0]" += "t.a.out.d.d[0]" "t.a.out.r" += "Reset" "t.a.reset_B" += "Vdd" "t.a.supply.vdd" += "GND" "t.a.supply.vss" += "t.out.d.d[0]" "t.out.r" += "t.out.r" "t.a.out.r" += "t.out.a" "t.a.out.a" += "t.out.d.d[0]" "t.a.out.d.d[0]" += "t.out.d.d[0]" "t.out.r" += "t.in.d.d[0]" "t.in.r" += "t.in.r" "t.a.in.r" += "t.in.a" "t.a.in.a" += "t.in.d.d[0]" "t.a.in.d.d[0]" += "t.in.d.d[0]" "t.in.r" diff --git a/test/unit_tests/fifo_t_5/test.act b/test/unit_tests/fifo_t_5/test.act new file mode 100644 index 0000000..e9da91a --- /dev/null +++ b/test/unit_tests/fifo_t_5/test.act @@ -0,0 +1,43 @@ +/************************************************************************* + * + * This file is part of ACT dataflow neuro library. + * It's the testing facility for cell_lib_std.act + * + * Copyright (c) 2022 University of Groningen - Ole Richter + * Copyright (c) 2022 University of Groningen - Hugh Greatorex + * Copyright (c) 2022 University of Groningen - Michele Mastella + * Copyright (c) 2022 University of Groningen - Madison Cotteret + * + * This source describes Open Hardware and is licensed under the CERN-OHL-W v2 or later + * + * You may redistribute and modify this documentation and make products + * using it under the terms of the CERN-OHL-W v2 (https:/cern.ch/cern-ohl). + * This documentation is distributed WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTY, INCLUDING OF MERCHANTABILITY, SATISFACTORY QUALITY + * AND FITNESS FOR A PARTICULAR PURPOSE. Please see the CERN-OHL-W v2 + * for applicable conditions. + * + * Source location: https://git.web.rug.nl/bics/actlib_dataflow_neuro + * + * As per CERN-OHL-W v2 section 4.1, should You produce hardware based on + * these sources, You must maintain the Source Location visible in its + * documentation. + * + ************************************************************************** + */ + +import "../../dataflow_neuro/primitives.act"; +import globals; + +open tmpl::dataflow_neuro; + +defproc fifo_t_5(a1of1 in; a1of1 out) + +{ + fifo_t<5> a(.in = in, .out = out); + a.supply.vdd = Vdd; + a.supply.vss = GND; + a.reset_B = Reset; +} + +fifo_t_5 t; \ No newline at end of file diff --git a/test/unit_tests/fifo_t_5/test.prsim b/test/unit_tests/fifo_t_5/test.prsim new file mode 100644 index 0000000..4cfaa5c --- /dev/null +++ b/test/unit_tests/fifo_t_5/test.prsim @@ -0,0 +1,55 @@ +watchall +system "echo '[] code starts'" +set t.in.r 0 +set t.out.a 0 +cycle +system "echo '[] set Reset(B) low'" +set Reset 0 +cycle +status X +mode run +system "echo '[] set Reset(B) high'" +set Reset 1 +cycle +system "echo '[0] reset done, r up'" +set t.in.r 1 +cycle +system "echo [0] r down" +set t.in.r 0 +cycle +system "echo '[1] r up'" +set t.in.r 1 +cycle +system "echo [1] r down" +set t.in.r 0 +cycle +system "echo '[2] r up'" +set t.in.r 1 +cycle +system "echo [2] r down" +set t.in.r 0 +cycle +system "echo '[3] r up'" +set t.in.r 1 +cycle +system "echo [3] r down" +set t.in.r 0 +cycle +system "echo '[4] r up'" +set t.in.r 1 +cycle +system "echo [4] r down" +set t.in.r 0 +cycle +system "echo '[5] r up'" +set t.in.r 1 +cycle +system "echo [5] r down" +set t.in.r 0 +cycle +system "echo '[6] r up'" +set t.in.r 1 +cycle +system "echo [6] r down" +set t.in.r 0 +cycle \ No newline at end of file