diff --git a/test/unit_tests/vtree_5/run/prsim.out b/test/unit_tests/vtree_5/run/prsim.out new file mode 100644 index 0000000..4b1cd29 --- /dev/null +++ b/test/unit_tests/vtree_5/run/prsim.out @@ -0,0 +1,50 @@ +t._in.d[1].t t.vtree_test.ct.in[2] t._in.d[2].f t._in.d[3].t t._in.d[3].f t.vtree_test.ct.C3Els[0]._y t.vtree_test.ct.in[0] t._in.d[4].f t._in.d[0].f t._in.d[4].t t._in.d[0].t t.out t._in.d[1].f t._in.d[2].t t.vtree_test.ct.in[3] t.vtree_test.ct.tmp[6] t.vtree_test.OR2_tf[3]._y t.vtree_test.ct.in[1] t.vtree_test.ct.in[4] t.vtree_test.OR2_tf[4]._y t.vtree_test.OR2_tf[0]._y t.vtree_test.ct.C2Els[1]._y t.vtree_test.ct.C2Els[0]._y t.vtree_test.ct.tmp[5] t.vtree_test.OR2_tf[2]._y t.vtree_test.OR2_tf[1]._y +[0] starting test true high + 0 t._in.d[0].f : 0 + 0 t._in.d[4].t : 0 + 0 t._in.d[4].f : 0 + 0 t._in.d[3].t : 0 + 0 t._in.d[1].f : 0 + 0 t._in.d[3].f : 0 + 0 t._in.d[2].t : 0 + 0 t._in.d[0].t : 0 + 0 t._in.d[2].f : 0 + 0 t._in.d[1].t : 0 + 1 t.vtree_test.OR2_tf[4]._y : 1 [by t._in.d[4].f:=0] + 2 t.vtree_test.OR2_tf[2]._y : 1 [by t._in.d[2].f:=0] + 116 t.vtree_test.ct.in[2] : 0 [by t.vtree_test.OR2_tf[2]._y:=1] + 1138 t.vtree_test.ct.in[4] : 0 [by t.vtree_test.OR2_tf[4]._y:=1] + 4753 t.vtree_test.OR2_tf[1]._y : 1 [by t._in.d[1].t:=0] + 7092 t.vtree_test.OR2_tf[3]._y : 1 [by t._in.d[3].f:=0] + 8818 t.vtree_test.ct.in[3] : 0 [by t.vtree_test.OR2_tf[3]._y:=1] + 8857 t.vtree_test.ct.C3Els[0]._y : 1 [by t.vtree_test.ct.in[3]:=0] + 8872 t.vtree_test.ct.tmp[6] : 0 [by t.vtree_test.ct.C3Els[0]._y:=1] + 10467 t.vtree_test.OR2_tf[0]._y : 1 [by t._in.d[0].t:=0] + 10958 t.vtree_test.ct.in[0] : 0 [by t.vtree_test.OR2_tf[0]._y:=1] + 70119 t.vtree_test.ct.in[1] : 0 [by t.vtree_test.OR2_tf[1]._y:=1] + 70132 t.vtree_test.ct.C2Els[0]._y : 1 [by t.vtree_test.ct.in[1]:=0] + 70172 t.vtree_test.ct.tmp[5] : 0 [by t.vtree_test.ct.C2Els[0]._y:=1] + 70587 t.vtree_test.ct.C2Els[1]._y : 1 [by t.vtree_test.ct.tmp[5]:=0] + 70607 t.out : 0 [by t.vtree_test.ct.C2Els[1]._y:=1] + 70607 t._in.d[0].t : 1 + 70607 t._in.d[4].f : 1 + 70607 t._in.d[2].f : 1 + 70607 t._in.d[1].t : 1 + 70607 t._in.d[3].f : 1 + 70623 t.vtree_test.OR2_tf[2]._y : 0 [by t._in.d[2].f:=1] + 70627 t.vtree_test.ct.in[2] : 1 [by t.vtree_test.OR2_tf[2]._y:=0] + 70654 t.vtree_test.OR2_tf[4]._y : 0 [by t._in.d[4].f:=1] + 76668 t.vtree_test.OR2_tf[0]._y : 0 [by t._in.d[0].t:=1] + 76683 t.vtree_test.ct.in[0] : 1 [by t.vtree_test.OR2_tf[0]._y:=0] + 79783 t.vtree_test.ct.in[4] : 1 [by t.vtree_test.OR2_tf[4]._y:=0] + 84331 t.vtree_test.OR2_tf[3]._y : 0 [by t._in.d[3].f:=1] + 114705 t.vtree_test.OR2_tf[1]._y : 0 [by t._in.d[1].t:=1] + 127579 t.vtree_test.ct.in[3] : 1 [by t.vtree_test.OR2_tf[3]._y:=0] + 127634 t.vtree_test.ct.C3Els[0]._y : 0 [by t.vtree_test.ct.in[3]:=1] + 151636 t.vtree_test.ct.in[1] : 1 [by t.vtree_test.OR2_tf[1]._y:=0] + 179287 t.vtree_test.ct.tmp[6] : 1 [by t.vtree_test.ct.C3Els[0]._y:=0] + 181416 t.vtree_test.ct.C2Els[0]._y : 0 [by t.vtree_test.ct.in[1]:=1] + 195265 t.vtree_test.ct.tmp[5] : 1 [by t.vtree_test.ct.C2Els[0]._y:=0] + 220077 t.vtree_test.ct.C2Els[1]._y : 0 [by t.vtree_test.ct.tmp[5]:=1] + 234420 t.out : 1 [by t.vtree_test.ct.C2Els[1]._y:=0] +[1] cleaning input diff --git a/test/unit_tests/vtree_5/run/test.prs b/test/unit_tests/vtree_5/run/test.prs new file mode 100644 index 0000000..9bf12a6 --- /dev/null +++ b/test/unit_tests/vtree_5/run/test.prs @@ -0,0 +1,218 @@ += "GND" "GND" += "Vdd" "Vdd" += "Reset" "Reset" +~"t.vtree_test.ct.C2Els[0].c1"&~"t.vtree_test.ct.C2Els[0].c2"->"t.vtree_test.ct.C2Els[0]._y"+ +"t.vtree_test.ct.C2Els[0].c1"&"t.vtree_test.ct.C2Els[0].c2"->"t.vtree_test.ct.C2Els[0]._y"- +"t.vtree_test.ct.C2Els[0]._y"->"t.vtree_test.ct.C2Els[0].y"- +~("t.vtree_test.ct.C2Els[0]._y")->"t.vtree_test.ct.C2Els[0].y"+ +~"t.vtree_test.ct.C2Els[1].c1"&~"t.vtree_test.ct.C2Els[1].c2"->"t.vtree_test.ct.C2Els[1]._y"+ +"t.vtree_test.ct.C2Els[1].c1"&"t.vtree_test.ct.C2Els[1].c2"->"t.vtree_test.ct.C2Els[1]._y"- +"t.vtree_test.ct.C2Els[1]._y"->"t.vtree_test.ct.C2Els[1].y"- +~("t.vtree_test.ct.C2Els[1]._y")->"t.vtree_test.ct.C2Els[1].y"+ +~"t.vtree_test.ct.C3Els[0].c1"&~"t.vtree_test.ct.C3Els[0].c2"&~"t.vtree_test.ct.C3Els[0].c3"->"t.vtree_test.ct.C3Els[0]._y"+ +"t.vtree_test.ct.C3Els[0].c1"&"t.vtree_test.ct.C3Els[0].c2"&"t.vtree_test.ct.C3Els[0].c3"->"t.vtree_test.ct.C3Els[0]._y"- +"t.vtree_test.ct.C3Els[0]._y"->"t.vtree_test.ct.C3Els[0].y"- +~("t.vtree_test.ct.C3Els[0]._y")->"t.vtree_test.ct.C3Els[0].y"+ += "t.vtree_test.ct.tmp[5]" "t.vtree_test.ct.C2Els[1].c1" += "t.vtree_test.ct.tmp[5]" "t.vtree_test.ct.C2Els[0].y" += "t.vtree_test.ct.tmp[6]" "t.vtree_test.ct.C2Els[1].c2" += "t.vtree_test.ct.tmp[6]" "t.vtree_test.ct.C3Els[0].y" += "t.vtree_test.ct.supply.vdd" "t.vtree_test.ct.C3Els[0].vdd" += "t.vtree_test.ct.supply.vdd" "t.vtree_test.ct.C2Els[1].vdd" += "t.vtree_test.ct.supply.vdd" "t.vtree_test.ct.C2Els[0].vdd" += "t.vtree_test.ct.supply.vss" "t.vtree_test.ct.C3Els[0].vss" += "t.vtree_test.ct.supply.vss" "t.vtree_test.ct.C2Els[1].vss" += "t.vtree_test.ct.supply.vss" "t.vtree_test.ct.C2Els[0].vss" += "t.vtree_test.ct.in[0]" "t.vtree_test.ct.C2Els[0].c1" += "t.vtree_test.ct.in[0]" "t.vtree_test.ct.tmp[0]" += "t.vtree_test.ct.in[1]" "t.vtree_test.ct.C2Els[0].c2" += "t.vtree_test.ct.in[1]" "t.vtree_test.ct.tmp[1]" += "t.vtree_test.ct.in[2]" "t.vtree_test.ct.C3Els[0].c1" += "t.vtree_test.ct.in[2]" "t.vtree_test.ct.tmp[2]" += "t.vtree_test.ct.in[3]" "t.vtree_test.ct.C3Els[0].c2" += "t.vtree_test.ct.in[3]" "t.vtree_test.ct.tmp[3]" += "t.vtree_test.ct.in[4]" "t.vtree_test.ct.C3Els[0].c3" += "t.vtree_test.ct.in[4]" "t.vtree_test.ct.tmp[4]" += "t.vtree_test.ct.out" "t.vtree_test.ct.C2Els[1].y" += "t.vtree_test.ct.out" "t.vtree_test.ct.tmp[7]" += "t.vtree_test.ct.in[0]" "t.vtree_test.OR2_tf[0].y" += "t.vtree_test.ct.in[1]" "t.vtree_test.OR2_tf[1].y" += "t.vtree_test.ct.in[2]" "t.vtree_test.OR2_tf[2].y" += "t.vtree_test.ct.in[3]" "t.vtree_test.OR2_tf[3].y" += "t.vtree_test.ct.in[4]" "t.vtree_test.OR2_tf[4].y" +"t.vtree_test.OR2_tf[0].a"|"t.vtree_test.OR2_tf[0].b"->"t.vtree_test.OR2_tf[0]._y"- +~("t.vtree_test.OR2_tf[0].a"|"t.vtree_test.OR2_tf[0].b")->"t.vtree_test.OR2_tf[0]._y"+ +"t.vtree_test.OR2_tf[0]._y"->"t.vtree_test.OR2_tf[0].y"- +~("t.vtree_test.OR2_tf[0]._y")->"t.vtree_test.OR2_tf[0].y"+ +"t.vtree_test.OR2_tf[1].a"|"t.vtree_test.OR2_tf[1].b"->"t.vtree_test.OR2_tf[1]._y"- +~("t.vtree_test.OR2_tf[1].a"|"t.vtree_test.OR2_tf[1].b")->"t.vtree_test.OR2_tf[1]._y"+ +"t.vtree_test.OR2_tf[1]._y"->"t.vtree_test.OR2_tf[1].y"- +~("t.vtree_test.OR2_tf[1]._y")->"t.vtree_test.OR2_tf[1].y"+ +"t.vtree_test.OR2_tf[2].a"|"t.vtree_test.OR2_tf[2].b"->"t.vtree_test.OR2_tf[2]._y"- +~("t.vtree_test.OR2_tf[2].a"|"t.vtree_test.OR2_tf[2].b")->"t.vtree_test.OR2_tf[2]._y"+ +"t.vtree_test.OR2_tf[2]._y"->"t.vtree_test.OR2_tf[2].y"- +~("t.vtree_test.OR2_tf[2]._y")->"t.vtree_test.OR2_tf[2].y"+ +"t.vtree_test.OR2_tf[3].a"|"t.vtree_test.OR2_tf[3].b"->"t.vtree_test.OR2_tf[3]._y"- +~("t.vtree_test.OR2_tf[3].a"|"t.vtree_test.OR2_tf[3].b")->"t.vtree_test.OR2_tf[3]._y"+ +"t.vtree_test.OR2_tf[3]._y"->"t.vtree_test.OR2_tf[3].y"- +~("t.vtree_test.OR2_tf[3]._y")->"t.vtree_test.OR2_tf[3].y"+ +"t.vtree_test.OR2_tf[4].a"|"t.vtree_test.OR2_tf[4].b"->"t.vtree_test.OR2_tf[4]._y"- +~("t.vtree_test.OR2_tf[4].a"|"t.vtree_test.OR2_tf[4].b")->"t.vtree_test.OR2_tf[4]._y"+ +"t.vtree_test.OR2_tf[4]._y"->"t.vtree_test.OR2_tf[4].y"- +~("t.vtree_test.OR2_tf[4]._y")->"t.vtree_test.OR2_tf[4].y"+ += "t.vtree_test.supply.vss" "t.vtree_test.ct.supply.vss" += "t.vtree_test.supply.vdd" "t.vtree_test.ct.supply.vdd" += "t.vtree_test.supply.vdd" "t.vtree_test.OR2_tf[4].vdd" += "t.vtree_test.supply.vdd" "t.vtree_test.OR2_tf[3].vdd" += "t.vtree_test.supply.vdd" "t.vtree_test.OR2_tf[2].vdd" += "t.vtree_test.supply.vdd" "t.vtree_test.OR2_tf[1].vdd" += "t.vtree_test.supply.vdd" "t.vtree_test.OR2_tf[0].vdd" += "t.vtree_test.supply.vss" "t.vtree_test.OR2_tf[4].vss" += "t.vtree_test.supply.vss" "t.vtree_test.OR2_tf[3].vss" += "t.vtree_test.supply.vss" "t.vtree_test.OR2_tf[2].vss" += "t.vtree_test.supply.vss" "t.vtree_test.OR2_tf[1].vss" += "t.vtree_test.supply.vss" "t.vtree_test.OR2_tf[0].vss" += "t.vtree_test.out" "t.vtree_test.ct.out" += "t.vtree_test.in.d[0].d[0]" "t.vtree_test.in.d[0].f" += "t.vtree_test.in.d[0].d[1]" "t.vtree_test.in.d[0].t" += "t.vtree_test.in.d[1].d[0]" "t.vtree_test.in.d[1].f" += "t.vtree_test.in.d[1].d[1]" "t.vtree_test.in.d[1].t" += "t.vtree_test.in.d[2].d[0]" "t.vtree_test.in.d[2].f" += "t.vtree_test.in.d[2].d[1]" "t.vtree_test.in.d[2].t" += "t.vtree_test.in.d[3].d[0]" "t.vtree_test.in.d[3].f" += "t.vtree_test.in.d[3].d[1]" "t.vtree_test.in.d[3].t" += "t.vtree_test.in.d[4].d[0]" "t.vtree_test.in.d[4].f" += "t.vtree_test.in.d[4].d[1]" "t.vtree_test.in.d[4].t" += "t.vtree_test.in.d[4].d[0]" "t.vtree_test.in.d[4].f" += "t.vtree_test.in.d[4].d[1]" "t.vtree_test.in.d[4].t" += "t.vtree_test.in.d[3].d[0]" "t.vtree_test.in.d[3].f" += "t.vtree_test.in.d[3].d[1]" "t.vtree_test.in.d[3].t" += "t.vtree_test.in.d[2].d[0]" "t.vtree_test.in.d[2].f" += "t.vtree_test.in.d[2].d[1]" "t.vtree_test.in.d[2].t" += "t.vtree_test.in.d[1].d[0]" "t.vtree_test.in.d[1].f" += "t.vtree_test.in.d[1].d[1]" "t.vtree_test.in.d[1].t" += "t.vtree_test.in.d[0].d[0]" "t.vtree_test.in.d[0].f" += "t.vtree_test.in.d[0].d[1]" "t.vtree_test.in.d[0].t" += "t.vtree_test.in.d[4].d[0]" "t.vtree_test.OR2_tf[4].b" += "t.vtree_test.in.d[4].d[0]" "t.vtree_test.in.d[4].f" += "t.vtree_test.in.d[4].d[1]" "t.vtree_test.OR2_tf[4].a" += "t.vtree_test.in.d[4].d[1]" "t.vtree_test.in.d[4].t" += "t.vtree_test.in.d[3].d[0]" "t.vtree_test.OR2_tf[3].b" += "t.vtree_test.in.d[3].d[0]" "t.vtree_test.in.d[3].f" += "t.vtree_test.in.d[3].d[1]" "t.vtree_test.OR2_tf[3].a" += "t.vtree_test.in.d[3].d[1]" "t.vtree_test.in.d[3].t" += "t.vtree_test.in.d[2].d[0]" "t.vtree_test.OR2_tf[2].b" += "t.vtree_test.in.d[2].d[0]" "t.vtree_test.in.d[2].f" += "t.vtree_test.in.d[2].d[1]" "t.vtree_test.OR2_tf[2].a" += "t.vtree_test.in.d[2].d[1]" "t.vtree_test.in.d[2].t" += "t.vtree_test.in.d[1].d[0]" "t.vtree_test.OR2_tf[1].b" += "t.vtree_test.in.d[1].d[0]" "t.vtree_test.in.d[1].f" += "t.vtree_test.in.d[1].d[1]" "t.vtree_test.OR2_tf[1].a" += "t.vtree_test.in.d[1].d[1]" "t.vtree_test.in.d[1].t" += "t.vtree_test.in.d[0].d[0]" "t.vtree_test.OR2_tf[0].b" += "t.vtree_test.in.d[0].d[0]" "t.vtree_test.in.d[0].f" += "t.vtree_test.in.d[0].d[1]" "t.vtree_test.OR2_tf[0].a" += "t.vtree_test.in.d[0].d[1]" "t.vtree_test.in.d[0].t" += "Vdd" "t.vtree_test.supply.vdd" += "GND" "t.vtree_test.supply.vss" += "t._in.d[0].d[0]" "t._in.d[0].f" += "t._in.d[0].d[1]" "t._in.d[0].t" += "t._in.d[1].d[0]" "t._in.d[1].f" += "t._in.d[1].d[1]" "t._in.d[1].t" += "t._in.d[2].d[0]" "t._in.d[2].f" += "t._in.d[2].d[1]" "t._in.d[2].t" += "t._in.d[3].d[0]" "t._in.d[3].f" += "t._in.d[3].d[1]" "t._in.d[3].t" += "t._in.d[4].d[0]" "t._in.d[4].f" += "t._in.d[4].d[1]" "t._in.d[4].t" += "t._in.d[4].d[0]" "t._in.d[4].f" += "t._in.d[4].d[1]" "t._in.d[4].t" += "t._in.d[3].d[0]" "t._in.d[3].f" += "t._in.d[3].d[1]" "t._in.d[3].t" += "t._in.d[2].d[0]" "t._in.d[2].f" += "t._in.d[2].d[1]" "t._in.d[2].t" += "t._in.d[1].d[0]" "t._in.d[1].f" += "t._in.d[1].d[1]" "t._in.d[1].t" += "t._in.d[0].d[0]" "t._in.d[0].f" += "t._in.d[0].d[1]" "t._in.d[0].t" += "t._in.d[0].f" "t.vtree_test.in.d[0].f" += "t._in.d[0].t" "t.vtree_test.in.d[0].t" += "t._in.d[0].d[0]" "t.vtree_test.in.d[0].d[0]" += "t._in.d[0].d[1]" "t.vtree_test.in.d[0].d[1]" += "t._in.d[1].f" "t.vtree_test.in.d[1].f" += "t._in.d[1].t" "t.vtree_test.in.d[1].t" += "t._in.d[1].d[0]" "t.vtree_test.in.d[1].d[0]" += "t._in.d[1].d[1]" "t.vtree_test.in.d[1].d[1]" += "t._in.d[2].f" "t.vtree_test.in.d[2].f" += "t._in.d[2].t" "t.vtree_test.in.d[2].t" += "t._in.d[2].d[0]" "t.vtree_test.in.d[2].d[0]" += "t._in.d[2].d[1]" "t.vtree_test.in.d[2].d[1]" += "t._in.d[3].f" "t.vtree_test.in.d[3].f" += "t._in.d[3].t" "t.vtree_test.in.d[3].t" += "t._in.d[3].d[0]" "t.vtree_test.in.d[3].d[0]" += "t._in.d[3].d[1]" "t.vtree_test.in.d[3].d[1]" += "t._in.d[4].f" "t.vtree_test.in.d[4].f" += "t._in.d[4].t" "t.vtree_test.in.d[4].t" += "t._in.d[4].d[0]" "t.vtree_test.in.d[4].d[0]" += "t._in.d[4].d[1]" "t.vtree_test.in.d[4].d[1]" += "t.out" "t.vtree_test.out" += "t.in.d.d[0].d[0]" "t.in.d.d[0].f" += "t.in.d.d[0].d[1]" "t.in.d.d[0].t" += "t.in.d.d[1].d[0]" "t.in.d.d[1].f" += "t.in.d.d[1].d[1]" "t.in.d.d[1].t" += "t.in.d.d[2].d[0]" "t.in.d.d[2].f" += "t.in.d.d[2].d[1]" "t.in.d.d[2].t" += "t.in.d.d[3].d[0]" "t.in.d.d[3].f" += "t.in.d.d[3].d[1]" "t.in.d.d[3].t" += "t.in.d.d[4].d[0]" "t.in.d.d[4].f" += "t.in.d.d[4].d[1]" "t.in.d.d[4].t" += "t.in.d.d[4].d[0]" "t.in.d.d[4].f" += "t.in.d.d[4].d[1]" "t.in.d.d[4].t" += "t.in.d.d[3].d[0]" "t.in.d.d[3].f" += "t.in.d.d[3].d[1]" "t.in.d.d[3].t" += "t.in.d.d[2].d[0]" "t.in.d.d[2].f" += "t.in.d.d[2].d[1]" "t.in.d.d[2].t" += "t.in.d.d[1].d[0]" "t.in.d.d[1].f" += "t.in.d.d[1].d[1]" "t.in.d.d[1].t" += "t.in.d.d[0].d[0]" "t.in.d.d[0].f" += "t.in.d.d[0].d[1]" "t.in.d.d[0].t" += "t.in.d.d[4].d[0]" "t.in.d.d[4].f" += "t.in.d.d[4].d[1]" "t.in.d.d[4].t" += "t.in.d.d[3].d[0]" "t.in.d.d[3].f" += "t.in.d.d[3].d[1]" "t.in.d.d[3].t" += "t.in.d.d[2].d[0]" "t.in.d.d[2].f" += "t.in.d.d[2].d[1]" "t.in.d.d[2].t" += "t.in.d.d[1].d[0]" "t.in.d.d[1].f" += "t.in.d.d[1].d[1]" "t.in.d.d[1].t" += "t.in.d.d[0].d[0]" "t.in.d.d[0].f" += "t.in.d.d[0].d[1]" "t.in.d.d[0].t" += "t.in.d.d[0].f" "t._in.d[0].f" += "t.in.d.d[0].t" "t._in.d[0].t" += "t.in.d.d[0].d[0]" "t._in.d[0].d[0]" += "t.in.d.d[0].d[1]" "t._in.d[0].d[1]" += "t.in.d.d[1].f" "t._in.d[1].f" += "t.in.d.d[1].t" "t._in.d[1].t" += "t.in.d.d[1].d[0]" "t._in.d[1].d[0]" += "t.in.d.d[1].d[1]" "t._in.d[1].d[1]" += "t.in.d.d[2].f" "t._in.d[2].f" += "t.in.d.d[2].t" "t._in.d[2].t" += "t.in.d.d[2].d[0]" "t._in.d[2].d[0]" += "t.in.d.d[2].d[1]" "t._in.d[2].d[1]" += "t.in.d.d[3].f" "t._in.d[3].f" += "t.in.d.d[3].t" "t._in.d[3].t" += "t.in.d.d[3].d[0]" "t._in.d[3].d[0]" += "t.in.d.d[3].d[1]" "t._in.d[3].d[1]" += "t.in.d.d[4].f" "t._in.d[4].f" += "t.in.d.d[4].t" "t._in.d[4].t" += "t.in.d.d[4].d[0]" "t._in.d[4].d[0]" += "t.in.d.d[4].d[1]" "t._in.d[4].d[1]" += "t.in.d.d[4].d[0]" "t.in.d.d[4].f" += "t.in.d.d[4].d[1]" "t.in.d.d[4].t" += "t.in.d.d[3].d[0]" "t.in.d.d[3].f" += "t.in.d.d[3].d[1]" "t.in.d.d[3].t" += "t.in.d.d[2].d[0]" "t.in.d.d[2].f" += "t.in.d.d[2].d[1]" "t.in.d.d[2].t" += "t.in.d.d[1].d[0]" "t.in.d.d[1].f" += "t.in.d.d[1].d[1]" "t.in.d.d[1].t" += "t.in.d.d[0].d[0]" "t.in.d.d[0].f" += "t.in.d.d[0].d[1]" "t.in.d.d[0].t" diff --git a/test/unit_tests/vtree_5/test.act b/test/unit_tests/vtree_5/test.act new file mode 100644 index 0000000..b956b3e --- /dev/null +++ b/test/unit_tests/vtree_5/test.act @@ -0,0 +1,49 @@ +/************************************************************************* + * + * 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/cell_lib_async.act"; +import "../../dataflow_neuro/cell_lib_std.act"; +import "../../dataflow_neuro/treegates.act"; +import "../../dataflow_neuro/primitives.act"; +import "../../dataflow_neuro/coders.act"; +import globals; +import std::channel; +open std::channel; +open tmpl::dataflow_neuro; + +defproc vtree_5 (avMx1of2?<5> in; bool! out){ + + Mx1of2?<5> _in; + (i:5:_in.d[i] = in.d.d[i];) + vtree<5> vtree_test(.in=_in, .out=out); + vtree_test.supply.vss = GND; + vtree_test.supply.vdd = Vdd; + +} + +vtree_5 t; diff --git a/test/unit_tests/vtree_5/test.prsim b/test/unit_tests/vtree_5/test.prsim new file mode 100644 index 0000000..525b57b --- /dev/null +++ b/test/unit_tests/vtree_5/test.prsim @@ -0,0 +1,11 @@ +watchall +system "echo '[0] starting test true high'" +set-qdi-channel-neutral "t.in" 5 +cycle +mode run +assert t.out 0 +set-qdi-channel-valid "t.in" 5 3 +cycle +mode run +assert t.out 1 +system "echo '[1] cleaning input'"