Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
118
test/unit_tests/andtree_15/run/prsim.out
Normal file
118
test/unit_tests/andtree_15/run/prsim.out
Normal file
@ -0,0 +1,118 @@
|
||||
t.in[0] t.at.tmp[22] t.in[5] t.in[2] t.at.tmp[15] t.in[3] t.at.tmp[23] t.at.C2Els[0]._y t.in[7] t.in[6] t.at.C2Els[3]._y t.in[4] t.at.C3Els[0]._y t.in[12] t.out t.at.tmp[21] t.at.C2Els[6]._y t.in[11] t.at.tmp[17] t.in[14] t.in[1] t.in[10] t.in[9] t.at.C2Els[5]._y t.at.tmp[19] t.at.tmp[20] t.at.tmp[24] t.in[13] t.at.tmp[16] t.at.C2Els[4]._y t.in[8] t.at.tmp[18] t.at.C2Els[2]._y t.at.C3Els[2]._y t.at.C2Els[1]._y t.at.C2Els[7]._y t.at.C3Els[1]._y
|
||||
0
|
||||
1
|
||||
0 t.in[0] : 0
|
||||
0 t.in[14] : 0
|
||||
0 t.in[2] : 0
|
||||
0 t.in[6] : 0
|
||||
0 t.in[13] : 0
|
||||
0 t.in[5] : 0
|
||||
0 t.in[12] : 0
|
||||
0 t.in[11] : 0
|
||||
0 t.in[1] : 0
|
||||
0 t.in[4] : 0
|
||||
0 t.in[10] : 0
|
||||
0 t.in[9] : 0
|
||||
0 t.in[3] : 0
|
||||
0 t.in[8] : 0
|
||||
0 t.in[7] : 0
|
||||
1 t.at.C2Els[0]._y : 1 [by t.in[0]:=0]
|
||||
2 t.at.C2Els[3]._y : 1 [by t.in[6]:=0]
|
||||
114 t.at.C2Els[4]._y : 1 [by t.in[9]:=0]
|
||||
153 t.at.tmp[19] : 0 [by t.at.C2Els[4]._y:=1]
|
||||
168 t.at.C3Els[1]._y : 1 [by t.at.tmp[19]:=0]
|
||||
659 t.at.tmp[24] : 0 [by t.at.C3Els[1]._y:=1]
|
||||
672 t.at.C3Els[2]._y : 1 [by t.at.tmp[24]:=0]
|
||||
712 t.out : 0 [by t.at.C3Els[2]._y:=1]
|
||||
1137 t.at.C2Els[5]._y : 1 [by t.in[11]:=0]
|
||||
1552 t.at.tmp[20] : 0 [by t.at.C2Els[5]._y:=1]
|
||||
1728 t.at.tmp[18] : 0 [by t.at.C2Els[3]._y:=1]
|
||||
1748 t.at.C2Els[7]._y : 1 [by t.at.tmp[18]:=0]
|
||||
4753 t.at.C2Els[2]._y : 1 [by t.in[5]:=0]
|
||||
4800 t.at.tmp[17] : 0 [by t.at.C2Els[2]._y:=1]
|
||||
7092 t.at.C3Els[0]._y : 1 [by t.in[14]:=0]
|
||||
7108 t.at.tmp[21] : 0 [by t.at.C3Els[0]._y:=1]
|
||||
7809 t.at.tmp[23] : 0 [by t.at.C2Els[7]._y:=1]
|
||||
10467 t.at.C2Els[1]._y : 1 [by t.in[2]:=0]
|
||||
54565 t.at.tmp[16] : 0 [by t.at.C2Els[1]._y:=1]
|
||||
65367 t.at.tmp[15] : 0 [by t.at.C2Els[0]._y:=1]
|
||||
68289 t.at.C2Els[6]._y : 1 [by t.at.tmp[16]:=0]
|
||||
68293 t.at.tmp[22] : 0 [by t.at.C2Els[6]._y:=1]
|
||||
[] setting some bits high
|
||||
68293 t.in[0] : 1
|
||||
68293 t.in[11] : 1
|
||||
68293 t.in[10] : 1
|
||||
68293 t.in[9] : 1
|
||||
68293 t.in[2] : 1
|
||||
68293 t.in[8] : 1
|
||||
68293 t.in[7] : 1
|
||||
68293 t.in[6] : 1
|
||||
68293 t.in[5] : 1
|
||||
68293 t.in[1] : 1
|
||||
68293 t.in[4] : 1
|
||||
68293 t.in[3] : 1
|
||||
68308 t.at.C2Els[4]._y : 0 [by t.in[8]:=1]
|
||||
68348 t.at.C2Els[2]._y : 0 [by t.in[4]:=1]
|
||||
77422 t.at.C2Els[5]._y : 0 [by t.in[10]:=1]
|
||||
82197 t.at.tmp[17] : 1 [by t.at.C2Els[2]._y:=0]
|
||||
98088 t.at.tmp[19] : 1 [by t.at.C2Els[4]._y:=0]
|
||||
102234 t.at.tmp[20] : 1 [by t.at.C2Els[5]._y:=0]
|
||||
105224 t.at.C2Els[0]._y : 0 [by t.in[1]:=1]
|
||||
111541 t.at.C2Els[3]._y : 0 [by t.in[6]:=1]
|
||||
111963 t.at.tmp[18] : 1 [by t.at.C2Els[3]._y:=0]
|
||||
119567 t.at.tmp[15] : 1 [by t.at.C2Els[0]._y:=0]
|
||||
119946 t.at.C2Els[1]._y : 0 [by t.in[3]:=1]
|
||||
119947 t.at.tmp[16] : 1 [by t.at.C2Els[1]._y:=0]
|
||||
119948 t.at.C2Els[6]._y : 0 [by t.at.tmp[16]:=1]
|
||||
140153 t.at.tmp[22] : 1 [by t.at.C2Els[6]._y:=0]
|
||||
160677 t.at.C2Els[7]._y : 0 [by t.at.tmp[18]:=1]
|
||||
160959 t.at.tmp[23] : 1 [by t.at.C2Els[7]._y:=0]
|
||||
[] setting all bits high
|
||||
160959 t.in[12] : 1
|
||||
160959 t.in[14] : 1
|
||||
160959 t.in[13] : 1
|
||||
161727 t.at.C3Els[0]._y : 0 [by t.in[13]:=1]
|
||||
161730 t.at.tmp[21] : 1 [by t.at.C3Els[0]._y:=0]
|
||||
184171 t.at.C3Els[1]._y : 0 [by t.at.tmp[21]:=1]
|
||||
184722 t.at.tmp[24] : 1 [by t.at.C3Els[1]._y:=0]
|
||||
185793 t.at.C3Els[2]._y : 0 [by t.at.tmp[24]:=1]
|
||||
186747 t.out : 1 [by t.at.C3Els[2]._y:=0]
|
||||
[] setting some low
|
||||
186747 t.in[10] : 0
|
||||
187828 t.at.C2Els[5]._y : 1 [by t.in[10]:=0]
|
||||
242298 t.at.tmp[20] : 0 [by t.at.C2Els[5]._y:=1]
|
||||
243280 t.at.C3Els[1]._y : 1 [by t.at.tmp[20]:=0]
|
||||
243298 t.at.tmp[24] : 0 [by t.at.C3Els[1]._y:=1]
|
||||
247311 t.at.C3Els[2]._y : 1 [by t.at.tmp[24]:=0]
|
||||
251314 t.out : 0 [by t.at.C3Els[2]._y:=1]
|
||||
[] setting all low
|
||||
251314 t.in[0] : 0
|
||||
251314 t.in[14] : 0
|
||||
251314 t.in[2] : 0
|
||||
251314 t.in[6] : 0
|
||||
251314 t.in[5] : 0
|
||||
251314 t.in[13] : 0
|
||||
251314 t.in[12] : 0
|
||||
251314 t.in[1] : 0
|
||||
251314 t.in[4] : 0
|
||||
251314 t.in[11] : 0
|
||||
251314 t.in[9] : 0
|
||||
251314 t.in[3] : 0
|
||||
251314 t.in[8] : 0
|
||||
251314 t.in[7] : 0
|
||||
251517 t.at.C2Els[2]._y : 1 [by t.in[5]:=0]
|
||||
251656 t.at.tmp[17] : 0 [by t.at.C2Els[2]._y:=1]
|
||||
251816 t.at.C2Els[3]._y : 1 [by t.in[6]:=0]
|
||||
251885 t.at.tmp[18] : 0 [by t.at.C2Els[3]._y:=1]
|
||||
253168 t.at.C2Els[4]._y : 1 [by t.in[9]:=0]
|
||||
253179 t.at.tmp[19] : 0 [by t.at.C2Els[4]._y:=1]
|
||||
256074 t.at.C2Els[1]._y : 1 [by t.in[2]:=0]
|
||||
272898 t.at.C3Els[0]._y : 1 [by t.in[14]:=0]
|
||||
273102 t.at.tmp[21] : 0 [by t.at.C3Els[0]._y:=1]
|
||||
288002 t.at.C2Els[7]._y : 1 [by t.at.tmp[17]:=0]
|
||||
288017 t.at.tmp[23] : 0 [by t.at.C2Els[7]._y:=1]
|
||||
296215 t.at.C2Els[0]._y : 1 [by t.in[0]:=0]
|
||||
296216 t.at.tmp[15] : 0 [by t.at.C2Els[0]._y:=1]
|
||||
296253 t.at.C2Els[6]._y : 1 [by t.at.tmp[15]:=0]
|
||||
296992 t.at.tmp[22] : 0 [by t.at.C2Els[6]._y:=1]
|
||||
307860 t.at.tmp[16] : 0 [by t.at.C2Els[1]._y:=1]
|
BIN
test/unit_tests/andtree_15/run/prsim.pdf
Normal file
BIN
test/unit_tests/andtree_15/run/prsim.pdf
Normal file
Binary file not shown.
139
test/unit_tests/andtree_15/run/test.prs
Normal file
139
test/unit_tests/andtree_15/run/test.prs
Normal file
@ -0,0 +1,139 @@
|
||||
= "GND" "GND"
|
||||
= "Vdd" "Vdd"
|
||||
= "Reset" "Reset"
|
||||
"t.at.C2Els[0].a"&"t.at.C2Els[0].b"->"t.at.C2Els[0]._y"-
|
||||
~("t.at.C2Els[0].a"&"t.at.C2Els[0].b")->"t.at.C2Els[0]._y"+
|
||||
"t.at.C2Els[0]._y"->"t.at.C2Els[0].y"-
|
||||
~("t.at.C2Els[0]._y")->"t.at.C2Els[0].y"+
|
||||
"t.at.C2Els[1].a"&"t.at.C2Els[1].b"->"t.at.C2Els[1]._y"-
|
||||
~("t.at.C2Els[1].a"&"t.at.C2Els[1].b")->"t.at.C2Els[1]._y"+
|
||||
"t.at.C2Els[1]._y"->"t.at.C2Els[1].y"-
|
||||
~("t.at.C2Els[1]._y")->"t.at.C2Els[1].y"+
|
||||
"t.at.C2Els[2].a"&"t.at.C2Els[2].b"->"t.at.C2Els[2]._y"-
|
||||
~("t.at.C2Els[2].a"&"t.at.C2Els[2].b")->"t.at.C2Els[2]._y"+
|
||||
"t.at.C2Els[2]._y"->"t.at.C2Els[2].y"-
|
||||
~("t.at.C2Els[2]._y")->"t.at.C2Els[2].y"+
|
||||
"t.at.C2Els[3].a"&"t.at.C2Els[3].b"->"t.at.C2Els[3]._y"-
|
||||
~("t.at.C2Els[3].a"&"t.at.C2Els[3].b")->"t.at.C2Els[3]._y"+
|
||||
"t.at.C2Els[3]._y"->"t.at.C2Els[3].y"-
|
||||
~("t.at.C2Els[3]._y")->"t.at.C2Els[3].y"+
|
||||
"t.at.C2Els[4].a"&"t.at.C2Els[4].b"->"t.at.C2Els[4]._y"-
|
||||
~("t.at.C2Els[4].a"&"t.at.C2Els[4].b")->"t.at.C2Els[4]._y"+
|
||||
"t.at.C2Els[4]._y"->"t.at.C2Els[4].y"-
|
||||
~("t.at.C2Els[4]._y")->"t.at.C2Els[4].y"+
|
||||
"t.at.C2Els[5].a"&"t.at.C2Els[5].b"->"t.at.C2Els[5]._y"-
|
||||
~("t.at.C2Els[5].a"&"t.at.C2Els[5].b")->"t.at.C2Els[5]._y"+
|
||||
"t.at.C2Els[5]._y"->"t.at.C2Els[5].y"-
|
||||
~("t.at.C2Els[5]._y")->"t.at.C2Els[5].y"+
|
||||
"t.at.C2Els[6].a"&"t.at.C2Els[6].b"->"t.at.C2Els[6]._y"-
|
||||
~("t.at.C2Els[6].a"&"t.at.C2Els[6].b")->"t.at.C2Els[6]._y"+
|
||||
"t.at.C2Els[6]._y"->"t.at.C2Els[6].y"-
|
||||
~("t.at.C2Els[6]._y")->"t.at.C2Els[6].y"+
|
||||
"t.at.C2Els[7].a"&"t.at.C2Els[7].b"->"t.at.C2Els[7]._y"-
|
||||
~("t.at.C2Els[7].a"&"t.at.C2Els[7].b")->"t.at.C2Els[7]._y"+
|
||||
"t.at.C2Els[7]._y"->"t.at.C2Els[7].y"-
|
||||
~("t.at.C2Els[7]._y")->"t.at.C2Els[7].y"+
|
||||
"t.at.C3Els[0].a"&"t.at.C3Els[0].b"&"t.at.C3Els[0].c"->"t.at.C3Els[0]._y"-
|
||||
~("t.at.C3Els[0].a"&"t.at.C3Els[0].b"&"t.at.C3Els[0].c")->"t.at.C3Els[0]._y"+
|
||||
"t.at.C3Els[0]._y"->"t.at.C3Els[0].y"-
|
||||
~("t.at.C3Els[0]._y")->"t.at.C3Els[0].y"+
|
||||
"t.at.C3Els[1].a"&"t.at.C3Els[1].b"&"t.at.C3Els[1].c"->"t.at.C3Els[1]._y"-
|
||||
~("t.at.C3Els[1].a"&"t.at.C3Els[1].b"&"t.at.C3Els[1].c")->"t.at.C3Els[1]._y"+
|
||||
"t.at.C3Els[1]._y"->"t.at.C3Els[1].y"-
|
||||
~("t.at.C3Els[1]._y")->"t.at.C3Els[1].y"+
|
||||
"t.at.C3Els[2].a"&"t.at.C3Els[2].b"&"t.at.C3Els[2].c"->"t.at.C3Els[2]._y"-
|
||||
~("t.at.C3Els[2].a"&"t.at.C3Els[2].b"&"t.at.C3Els[2].c")->"t.at.C3Els[2]._y"+
|
||||
"t.at.C3Els[2]._y"->"t.at.C3Els[2].y"-
|
||||
~("t.at.C3Els[2]._y")->"t.at.C3Els[2].y"+
|
||||
= "t.at.tmp[15]" "t.at.C2Els[6].a"
|
||||
= "t.at.tmp[15]" "t.at.C2Els[0].y"
|
||||
= "t.at.tmp[16]" "t.at.C2Els[6].b"
|
||||
= "t.at.tmp[16]" "t.at.C2Els[1].y"
|
||||
= "t.at.tmp[17]" "t.at.C2Els[7].a"
|
||||
= "t.at.tmp[17]" "t.at.C2Els[2].y"
|
||||
= "t.at.tmp[18]" "t.at.C2Els[7].b"
|
||||
= "t.at.tmp[18]" "t.at.C2Els[3].y"
|
||||
= "t.at.tmp[19]" "t.at.C3Els[1].a"
|
||||
= "t.at.tmp[19]" "t.at.C2Els[4].y"
|
||||
= "t.at.tmp[20]" "t.at.C3Els[1].b"
|
||||
= "t.at.tmp[20]" "t.at.C2Els[5].y"
|
||||
= "t.at.tmp[21]" "t.at.C3Els[1].c"
|
||||
= "t.at.tmp[21]" "t.at.C3Els[0].y"
|
||||
= "t.at.tmp[22]" "t.at.C3Els[2].a"
|
||||
= "t.at.tmp[22]" "t.at.C2Els[6].y"
|
||||
= "t.at.tmp[23]" "t.at.C3Els[2].b"
|
||||
= "t.at.tmp[23]" "t.at.C2Els[7].y"
|
||||
= "t.at.tmp[24]" "t.at.C3Els[2].c"
|
||||
= "t.at.tmp[24]" "t.at.C3Els[1].y"
|
||||
= "t.at.supply.vdd" "t.at.C3Els[2].vdd"
|
||||
= "t.at.supply.vdd" "t.at.C3Els[1].vdd"
|
||||
= "t.at.supply.vdd" "t.at.C3Els[0].vdd"
|
||||
= "t.at.supply.vdd" "t.at.C2Els[7].vdd"
|
||||
= "t.at.supply.vdd" "t.at.C2Els[6].vdd"
|
||||
= "t.at.supply.vdd" "t.at.C2Els[5].vdd"
|
||||
= "t.at.supply.vdd" "t.at.C2Els[4].vdd"
|
||||
= "t.at.supply.vdd" "t.at.C2Els[3].vdd"
|
||||
= "t.at.supply.vdd" "t.at.C2Els[2].vdd"
|
||||
= "t.at.supply.vdd" "t.at.C2Els[1].vdd"
|
||||
= "t.at.supply.vdd" "t.at.C2Els[0].vdd"
|
||||
= "t.at.supply.vss" "t.at.C3Els[2].vss"
|
||||
= "t.at.supply.vss" "t.at.C3Els[1].vss"
|
||||
= "t.at.supply.vss" "t.at.C3Els[0].vss"
|
||||
= "t.at.supply.vss" "t.at.C2Els[7].vss"
|
||||
= "t.at.supply.vss" "t.at.C2Els[6].vss"
|
||||
= "t.at.supply.vss" "t.at.C2Els[5].vss"
|
||||
= "t.at.supply.vss" "t.at.C2Els[4].vss"
|
||||
= "t.at.supply.vss" "t.at.C2Els[3].vss"
|
||||
= "t.at.supply.vss" "t.at.C2Els[2].vss"
|
||||
= "t.at.supply.vss" "t.at.C2Els[1].vss"
|
||||
= "t.at.supply.vss" "t.at.C2Els[0].vss"
|
||||
= "t.at.in[0]" "t.at.C2Els[0].a"
|
||||
= "t.at.in[0]" "t.at.tmp[0]"
|
||||
= "t.at.in[1]" "t.at.C2Els[0].b"
|
||||
= "t.at.in[1]" "t.at.tmp[1]"
|
||||
= "t.at.in[2]" "t.at.C2Els[1].a"
|
||||
= "t.at.in[2]" "t.at.tmp[2]"
|
||||
= "t.at.in[3]" "t.at.C2Els[1].b"
|
||||
= "t.at.in[3]" "t.at.tmp[3]"
|
||||
= "t.at.in[4]" "t.at.C2Els[2].a"
|
||||
= "t.at.in[4]" "t.at.tmp[4]"
|
||||
= "t.at.in[5]" "t.at.C2Els[2].b"
|
||||
= "t.at.in[5]" "t.at.tmp[5]"
|
||||
= "t.at.in[6]" "t.at.C2Els[3].a"
|
||||
= "t.at.in[6]" "t.at.tmp[6]"
|
||||
= "t.at.in[7]" "t.at.C2Els[3].b"
|
||||
= "t.at.in[7]" "t.at.tmp[7]"
|
||||
= "t.at.in[8]" "t.at.C2Els[4].a"
|
||||
= "t.at.in[8]" "t.at.tmp[8]"
|
||||
= "t.at.in[9]" "t.at.C2Els[4].b"
|
||||
= "t.at.in[9]" "t.at.tmp[9]"
|
||||
= "t.at.in[10]" "t.at.C2Els[5].a"
|
||||
= "t.at.in[10]" "t.at.tmp[10]"
|
||||
= "t.at.in[11]" "t.at.C2Els[5].b"
|
||||
= "t.at.in[11]" "t.at.tmp[11]"
|
||||
= "t.at.in[12]" "t.at.C3Els[0].a"
|
||||
= "t.at.in[12]" "t.at.tmp[12]"
|
||||
= "t.at.in[13]" "t.at.C3Els[0].b"
|
||||
= "t.at.in[13]" "t.at.tmp[13]"
|
||||
= "t.at.in[14]" "t.at.C3Els[0].c"
|
||||
= "t.at.in[14]" "t.at.tmp[14]"
|
||||
= "t.at.out" "t.at.C3Els[2].y"
|
||||
= "t.at.out" "t.at.tmp[25]"
|
||||
= "Vdd" "t.at.supply.vdd"
|
||||
= "GND" "t.at.supply.vss"
|
||||
= "t.out" "t.at.out"
|
||||
= "t.in[0]" "t.at.in[0]"
|
||||
= "t.in[1]" "t.at.in[1]"
|
||||
= "t.in[2]" "t.at.in[2]"
|
||||
= "t.in[3]" "t.at.in[3]"
|
||||
= "t.in[4]" "t.at.in[4]"
|
||||
= "t.in[5]" "t.at.in[5]"
|
||||
= "t.in[6]" "t.at.in[6]"
|
||||
= "t.in[7]" "t.at.in[7]"
|
||||
= "t.in[8]" "t.at.in[8]"
|
||||
= "t.in[9]" "t.at.in[9]"
|
||||
= "t.in[10]" "t.at.in[10]"
|
||||
= "t.in[11]" "t.at.in[11]"
|
||||
= "t.in[12]" "t.at.in[12]"
|
||||
= "t.in[13]" "t.at.in[13]"
|
||||
= "t.in[14]" "t.at.in[14]"
|
41
test/unit_tests/andtree_15/test.act
Normal file
41
test/unit_tests/andtree_15/test.act
Normal file
@ -0,0 +1,41 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* 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/treegates.act";
|
||||
import globals;
|
||||
|
||||
open tmpl::dataflow_neuro;
|
||||
|
||||
defproc andtree_15 (bool? in[15]; bool! out){
|
||||
andtree<15> at(.in=in, .out=out);
|
||||
at.supply.vss = GND;
|
||||
at.supply.vdd = Vdd;
|
||||
|
||||
}
|
||||
|
||||
andtree_15 t;
|
110
test/unit_tests/andtree_15/test.prsim
Normal file
110
test/unit_tests/andtree_15/test.prsim
Normal file
@ -0,0 +1,110 @@
|
||||
watchall
|
||||
|
||||
system "echo '0'"
|
||||
|
||||
set t.in[0] 0
|
||||
set t.in[1] 0
|
||||
set t.in[2] 0
|
||||
set t.in[3] 0
|
||||
set t.in[4] 0
|
||||
set t.in[5] 0
|
||||
set t.in[6] 0
|
||||
set t.in[7] 0
|
||||
set t.in[8] 0
|
||||
set t.in[9] 0
|
||||
set t.in[10] 0
|
||||
set t.in[11] 0
|
||||
set t.in[12] 0
|
||||
set t.in[13] 0
|
||||
set t.in[14] 0
|
||||
|
||||
system "echo '1'"
|
||||
|
||||
cycle
|
||||
mode run
|
||||
|
||||
assert t.out 0
|
||||
|
||||
system "echo '[] setting some bits high'"
|
||||
set t.in[0] 1
|
||||
set t.in[1] 1
|
||||
set t.in[2] 1
|
||||
set t.in[3] 1
|
||||
set t.in[4] 1
|
||||
set t.in[5] 1
|
||||
set t.in[6] 1
|
||||
set t.in[7] 1
|
||||
set t.in[8] 1
|
||||
set t.in[9] 1
|
||||
set t.in[10] 1
|
||||
set t.in[11] 1
|
||||
set t.in[12] 0
|
||||
set t.in[13] 0
|
||||
set t.in[14] 0
|
||||
|
||||
cycle
|
||||
|
||||
assert t.out 0
|
||||
|
||||
system "echo '[] setting all bits high'"
|
||||
set t.in[0] 1
|
||||
set t.in[1] 1
|
||||
set t.in[2] 1
|
||||
set t.in[3] 1
|
||||
set t.in[4] 1
|
||||
set t.in[5] 1
|
||||
set t.in[6] 1
|
||||
set t.in[7] 1
|
||||
set t.in[8] 1
|
||||
set t.in[9] 1
|
||||
set t.in[10] 1
|
||||
set t.in[11] 1
|
||||
set t.in[12] 1
|
||||
set t.in[13] 1
|
||||
set t.in[14] 1
|
||||
|
||||
cycle
|
||||
assert t.out 1
|
||||
|
||||
|
||||
system "echo '[] setting some low'"
|
||||
set t.in[0] 1
|
||||
set t.in[1] 1
|
||||
set t.in[2] 1
|
||||
set t.in[3] 1
|
||||
set t.in[4] 1
|
||||
set t.in[5] 1
|
||||
set t.in[6] 1
|
||||
set t.in[7] 1
|
||||
set t.in[8] 1
|
||||
set t.in[9] 1
|
||||
set t.in[10] 0
|
||||
set t.in[11] 1
|
||||
set t.in[12] 1
|
||||
set t.in[13] 1
|
||||
set t.in[14] 1
|
||||
|
||||
cycle
|
||||
assert t.out 0
|
||||
|
||||
|
||||
system "echo '[] setting all low'"
|
||||
set t.in[0] 0
|
||||
set t.in[1] 0
|
||||
set t.in[2] 0
|
||||
set t.in[3] 0
|
||||
set t.in[4] 0
|
||||
set t.in[5] 0
|
||||
set t.in[6] 0
|
||||
set t.in[7] 0
|
||||
set t.in[8] 0
|
||||
set t.in[9] 0
|
||||
set t.in[10] 0
|
||||
set t.in[11] 0
|
||||
set t.in[12] 0
|
||||
set t.in[13] 0
|
||||
set t.in[14] 0
|
||||
|
||||
cycle
|
||||
assert t.out 0
|
||||
|
40
test/unit_tests/andtree_5/run/prsim.out
Normal file
40
test/unit_tests/andtree_5/run/prsim.out
Normal file
@ -0,0 +1,40 @@
|
||||
t.in[0] t.in[2] t.at.tmp[5] t.in[3] t.at.C2Els[0]._y t.in[4] t.at.C3Els[0]._y t.at.tmp[6] t.in[1] t.out t.at.C2Els[1]._y
|
||||
0
|
||||
1
|
||||
0 t.in[0] : 0
|
||||
0 t.in[4] : 0
|
||||
0 t.in[2] : 0
|
||||
0 t.in[1] : 0
|
||||
0 t.in[3] : 0
|
||||
1 t.at.C2Els[0]._y : 1 [by t.in[0]:=0]
|
||||
7092 t.at.C3Els[0]._y : 1 [by t.in[4]:=0]
|
||||
7094 t.at.tmp[6] : 0 [by t.at.C3Els[0]._y:=1]
|
||||
10468 t.at.tmp[5] : 0 [by t.at.C2Els[0]._y:=1]
|
||||
11847 t.at.C2Els[1]._y : 1 [by t.at.tmp[6]:=0]
|
||||
12984 t.out : 0 [by t.at.C2Els[1]._y:=1]
|
||||
[] setting some bits high
|
||||
12984 t.in[0] : 1
|
||||
12984 t.in[2] : 1
|
||||
12984 t.in[1] : 1
|
||||
13098 t.at.C2Els[0]._y : 0 [by t.in[1]:=1]
|
||||
78464 t.at.tmp[5] : 1 [by t.at.C2Els[0]._y:=0]
|
||||
[] setting all bits high
|
||||
78464 t.in[3] : 1
|
||||
78464 t.in[4] : 1
|
||||
80190 t.at.C3Els[0]._y : 0 [by t.in[4]:=1]
|
||||
80229 t.at.tmp[6] : 1 [by t.at.C3Els[0]._y:=0]
|
||||
80244 t.at.C2Els[1]._y : 0 [by t.at.tmp[6]:=1]
|
||||
80735 t.out : 1 [by t.at.C2Els[1]._y:=0]
|
||||
[] setting some low
|
||||
80735 t.in[0] : 0
|
||||
80735 t.in[1] : 0
|
||||
80748 t.at.C2Els[0]._y : 1 [by t.in[0]:=0]
|
||||
80788 t.at.tmp[5] : 0 [by t.at.C2Els[0]._y:=1]
|
||||
81203 t.at.C2Els[1]._y : 1 [by t.at.tmp[5]:=0]
|
||||
81223 t.out : 0 [by t.at.C2Els[1]._y:=1]
|
||||
[] setting all low
|
||||
81223 t.in[2] : 0
|
||||
81223 t.in[4] : 0
|
||||
81223 t.in[3] : 0
|
||||
87284 t.at.C3Els[0]._y : 1 [by t.in[2]:=0]
|
||||
87331 t.at.tmp[6] : 0 [by t.at.C3Els[0]._y:=1]
|
BIN
test/unit_tests/andtree_5/run/prsim.pdf
Normal file
BIN
test/unit_tests/andtree_5/run/prsim.pdf
Normal file
Binary file not shown.
45
test/unit_tests/andtree_5/run/test.prs
Normal file
45
test/unit_tests/andtree_5/run/test.prs
Normal file
@ -0,0 +1,45 @@
|
||||
= "GND" "GND"
|
||||
= "Vdd" "Vdd"
|
||||
= "Reset" "Reset"
|
||||
"t.at.C2Els[0].a"&"t.at.C2Els[0].b"->"t.at.C2Els[0]._y"-
|
||||
~("t.at.C2Els[0].a"&"t.at.C2Els[0].b")->"t.at.C2Els[0]._y"+
|
||||
"t.at.C2Els[0]._y"->"t.at.C2Els[0].y"-
|
||||
~("t.at.C2Els[0]._y")->"t.at.C2Els[0].y"+
|
||||
"t.at.C2Els[1].a"&"t.at.C2Els[1].b"->"t.at.C2Els[1]._y"-
|
||||
~("t.at.C2Els[1].a"&"t.at.C2Els[1].b")->"t.at.C2Els[1]._y"+
|
||||
"t.at.C2Els[1]._y"->"t.at.C2Els[1].y"-
|
||||
~("t.at.C2Els[1]._y")->"t.at.C2Els[1].y"+
|
||||
"t.at.C3Els[0].a"&"t.at.C3Els[0].b"&"t.at.C3Els[0].c"->"t.at.C3Els[0]._y"-
|
||||
~("t.at.C3Els[0].a"&"t.at.C3Els[0].b"&"t.at.C3Els[0].c")->"t.at.C3Els[0]._y"+
|
||||
"t.at.C3Els[0]._y"->"t.at.C3Els[0].y"-
|
||||
~("t.at.C3Els[0]._y")->"t.at.C3Els[0].y"+
|
||||
= "t.at.tmp[5]" "t.at.C2Els[1].a"
|
||||
= "t.at.tmp[5]" "t.at.C2Els[0].y"
|
||||
= "t.at.tmp[6]" "t.at.C2Els[1].b"
|
||||
= "t.at.tmp[6]" "t.at.C3Els[0].y"
|
||||
= "t.at.supply.vdd" "t.at.C3Els[0].vdd"
|
||||
= "t.at.supply.vdd" "t.at.C2Els[1].vdd"
|
||||
= "t.at.supply.vdd" "t.at.C2Els[0].vdd"
|
||||
= "t.at.supply.vss" "t.at.C3Els[0].vss"
|
||||
= "t.at.supply.vss" "t.at.C2Els[1].vss"
|
||||
= "t.at.supply.vss" "t.at.C2Els[0].vss"
|
||||
= "t.at.in[0]" "t.at.C2Els[0].a"
|
||||
= "t.at.in[0]" "t.at.tmp[0]"
|
||||
= "t.at.in[1]" "t.at.C2Els[0].b"
|
||||
= "t.at.in[1]" "t.at.tmp[1]"
|
||||
= "t.at.in[2]" "t.at.C3Els[0].a"
|
||||
= "t.at.in[2]" "t.at.tmp[2]"
|
||||
= "t.at.in[3]" "t.at.C3Els[0].b"
|
||||
= "t.at.in[3]" "t.at.tmp[3]"
|
||||
= "t.at.in[4]" "t.at.C3Els[0].c"
|
||||
= "t.at.in[4]" "t.at.tmp[4]"
|
||||
= "t.at.out" "t.at.C2Els[1].y"
|
||||
= "t.at.out" "t.at.tmp[7]"
|
||||
= "Vdd" "t.at.supply.vdd"
|
||||
= "GND" "t.at.supply.vss"
|
||||
= "t.out" "t.at.out"
|
||||
= "t.in[0]" "t.at.in[0]"
|
||||
= "t.in[1]" "t.at.in[1]"
|
||||
= "t.in[2]" "t.at.in[2]"
|
||||
= "t.in[3]" "t.at.in[3]"
|
||||
= "t.in[4]" "t.at.in[4]"
|
41
test/unit_tests/andtree_5/test.act
Normal file
41
test/unit_tests/andtree_5/test.act
Normal file
@ -0,0 +1,41 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* 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/treegates.act";
|
||||
import globals;
|
||||
|
||||
open tmpl::dataflow_neuro;
|
||||
|
||||
defproc andtree_5 (bool? in[5]; bool! out){
|
||||
andtree<5> at(.in=in, .out=out);
|
||||
at.supply.vss = GND;
|
||||
at.supply.vdd = Vdd;
|
||||
|
||||
}
|
||||
|
||||
andtree_5 t;
|
50
test/unit_tests/andtree_5/test.prsim
Normal file
50
test/unit_tests/andtree_5/test.prsim
Normal file
@ -0,0 +1,50 @@
|
||||
watchall
|
||||
|
||||
system "echo '0'"
|
||||
|
||||
set t.in[0] 0
|
||||
set t.in[1] 0
|
||||
set t.in[2] 0
|
||||
set t.in[3] 0
|
||||
set t.in[4] 0
|
||||
|
||||
system "echo '1'"
|
||||
|
||||
cycle
|
||||
mode run
|
||||
|
||||
assert t.out 0
|
||||
|
||||
system "echo '[] setting some bits high'"
|
||||
set t.in[0] 1
|
||||
set t.in[1] 1
|
||||
set t.in[2] 1
|
||||
|
||||
cycle
|
||||
|
||||
assert t.out 0
|
||||
|
||||
system "echo '[] setting all bits high'"
|
||||
set t.in[3] 1
|
||||
set t.in[4] 1
|
||||
|
||||
cycle
|
||||
assert t.out 1
|
||||
|
||||
|
||||
system "echo '[] setting some low'"
|
||||
set t.in[0] 0
|
||||
set t.in[1] 0
|
||||
|
||||
cycle
|
||||
assert t.out 0
|
||||
|
||||
|
||||
system "echo '[] setting all low'"
|
||||
set t.in[2] 0
|
||||
set t.in[3] 0
|
||||
set t.in[4] 0
|
||||
|
||||
cycle
|
||||
assert t.out 0
|
||||
|
173
test/unit_tests/buf_s_5/run/prsim.out
Normal file
173
test/unit_tests/buf_s_5/run/prsim.out
Normal file
@ -0,0 +1,173 @@
|
||||
b.b.vc.tmp[1] b.b.f_buf_func[3].n1 b.b.vc.C2Els[1]._y b.b._out_a_BX_f[0] b.b.t_buf_func[1].n1 b.b.vc.OR2_tf[1]._y b.b.vc.tmp[0] b.in.v b.b.f_buf_func[1].n1 b.b.t_buf_func[3].n1 b.b._en_X_f[0] b.b._en_X_t[0] b.b._out_a_BX_t[0] b.b._in_vX[0] b.out.v b.b.f_buf_func[0].n1 b.b.f_buf_func[2].n1 b.b.t_buf_func[4].n1 b.b._out_a_B b.b.t_buf_func[2].n1 b.b.vc.OR2_tf[0]._y b.b.t_buf_func[0].n1 b.b.vc.tmp[2] b.b.in_v_bufN.buf2._y b.b.f_buf_func[4].n1 b.b.vc.OR2_tf[2]._y b.b.en_buf_f.buf2._y b.b.vc.tmp[5] b.b.en_buf_t.buf2._y b.b._en b.b.vc.tmp[4] b.b.vc.C3Els[0]._y b.b.vc.OR2_tf[4]._y b.out.a b.b._in_v b.b.vc.tmp[6] b.b.vc.tmp[3] b.b.out_a_B_buf_t.buf2._y b.b.in_v_buf4._y b.b.vc.C2Els[0]._y b.b.out_a_B_buf_f.buf2._y b.b.vc.OR2_tf[3]._y
|
||||
84120 b.b.f_buf_func[0].n1 : 0
|
||||
84120 b.b.f_buf_func[4].y : 1
|
||||
84120 b.b.t_buf_func[4].y : 1
|
||||
84120 b.b.f_buf_func[1].n1 : 0
|
||||
84120 b.b.f_buf_func[3].n1 : 0
|
||||
84120 b.b.f_buf_func[3].y : 1
|
||||
84120 b.b.t_buf_func[3].y : 1
|
||||
84120 b.b.f_buf_func[0].y : 1
|
||||
84120 b.b.t_buf_func[0].y : 1
|
||||
84120 b.b.t_buf_func[2].n1 : 0
|
||||
84120 Reset : 0
|
||||
84120 b.b.f_buf_func[2].y : 1
|
||||
84120 b.out.v : 0
|
||||
84120 b.b.t_buf_func[0].n1 : 0
|
||||
84120 b.b.f_buf_func[2].n1 : 0
|
||||
84120 b.out.a : 0
|
||||
84120 b.b.t_buf_func[4].n1 : 0
|
||||
84120 b.b.t_buf_func[1].n1 : 0
|
||||
84120 b.b.f_buf_func[4].n1 : 0
|
||||
84120 b.b.t_buf_func[2].y : 1
|
||||
84120 b.b.t_buf_func[3].n1 : 0
|
||||
84120 b.b.f_buf_func[1].y : 1
|
||||
84120 b.b.t_buf_func[1].y : 1
|
||||
84121 b.b.f_buf_func[2].y : 0
|
||||
84121 b.b._en : 1 [by b.out.v:=0]
|
||||
84123 b.b.vc.OR2_tf[1]._y : 1 [by b.b.t_buf_func[1].n1:=0]
|
||||
84141 b.b.vc.tmp[1] : 0 [by b.b.vc.OR2_tf[1]._y:=1]
|
||||
84402 b.b.vc.OR2_tf[2]._y : 1 [by b.b.f_buf_func[2].n1:=0]
|
||||
84542 b.b.t_buf_func[0].y : 0
|
||||
84671 b.b.t_buf_func[2].y : 0
|
||||
84888 b.b._out_a_B : 1 [by b.out.a:=0]
|
||||
85074 b.b.f_buf_func[1].y : 0
|
||||
85103 b.b.en_buf_t.buf2._y : 0 [by b.b._en:=1]
|
||||
85191 b.b.vc.OR2_tf[3]._y : 1 [by b.b.t_buf_func[3].n1:=0]
|
||||
85201 b.b.t_buf_func[1].y : 0
|
||||
88415 b.b.vc.tmp[2] : 0 [by b.b.vc.OR2_tf[2]._y:=1]
|
||||
88891 b.b.out_a_B_buf_t.buf2._y : 0 [by b.b._out_a_B:=1]
|
||||
89393 b.b._out_a_BX_f[0] : 1 [by b.b.out_a_B_buf_t.buf2._y:=0]
|
||||
89951 b.b.vc.tmp[3] : 0 [by b.b.vc.OR2_tf[3]._y:=1]
|
||||
97969 b.b.f_buf_func[3].y : 0
|
||||
98463 b.b.f_buf_func[0].y : 0
|
||||
104325 b.b.vc.OR2_tf[0]._y : 1 [by b.b.t_buf_func[0].n1:=0]
|
||||
104528 b.b.vc.tmp[0] : 0 [by b.b.vc.OR2_tf[0]._y:=1]
|
||||
106382 b.b.vc.C2Els[0]._y : 1 [by b.b.vc.tmp[0]:=0]
|
||||
106521 b.b.vc.tmp[5] : 0 [by b.b.vc.C2Els[0]._y:=1]
|
||||
106561 b.b.vc.OR2_tf[4]._y : 1 [by b.b.f_buf_func[4].n1:=0]
|
||||
106687 b.b._en_X_t[0] : 1 [by b.b.en_buf_t.buf2._y:=0]
|
||||
108932 b.b.t_buf_func[3].y : 0
|
||||
113900 b.b.t_buf_func[4].y : 0
|
||||
129789 b.b.out_a_B_buf_f.buf2._y : 0 [by b.b._out_a_B:=1]
|
||||
129858 b.b._out_a_BX_t[0] : 1 [by b.b.out_a_B_buf_f.buf2._y:=0]
|
||||
132834 b._reset_B : 1 [by Reset:=0]
|
||||
132845 b.b.reset_buf._y : 0 [by b._reset_B:=1]
|
||||
135773 b.b.f_buf_func[4].y : 0
|
||||
138591 b.b.en_buf_f.buf2._y : 0 [by b.b._en:=1]
|
||||
138795 b.b._en_X_f[0] : 1 [by b.b.en_buf_f.buf2._y:=0]
|
||||
142907 b.b.vc.tmp[4] : 0 [by b.b.vc.OR2_tf[4]._y:=1]
|
||||
142922 b.b.vc.C3Els[0]._y : 1 [by b.b.vc.tmp[4]:=0]
|
||||
142923 b.b.vc.tmp[6] : 0 [by b.b.vc.C3Els[0]._y:=1]
|
||||
142960 b.b.vc.C2Els[1]._y : 1 [by b.b.vc.tmp[6]:=0]
|
||||
143699 b.b._in_v : 0 [by b.b.vc.C2Els[1]._y:=1]
|
||||
143811 b.b.in_v_buf4._y : 1 [by b.b._in_v:=0]
|
||||
184631 b.b._reset_BX : 1 [by b.b.reset_buf._y:=0]
|
||||
184671 b.b.reset_bufarray.buf2._y : 0 [by b.b._reset_BX:=1]
|
||||
184928 b.b._reset_BXX[0] : 1 [by b.b.reset_bufarray.buf2._y:=0]
|
||||
191323 b.in.v : 0 [by b.b.in_v_buf4._y:=1]
|
||||
191410 b.b.in_v_bufN.buf2._y : 1 [by b.in.v:=0]
|
||||
191704 b.b._in_vX[0] : 0 [by b.b.in_v_bufN.buf2._y:=1]
|
||||
[] set Reset 1
|
||||
191704 Reset : 1
|
||||
191705 b._reset_B : 0 [by Reset:=1]
|
||||
193511 b.b.reset_buf._y : 1 [by b._reset_B:=0]
|
||||
195518 b.b._reset_BX : 0 [by b.b.reset_buf._y:=1]
|
||||
196727 b.b.reset_bufarray.buf2._y : 1 [by b.b._reset_BX:=0]
|
||||
197317 b.b._reset_BXX[0] : 0 [by b.b.reset_bufarray.buf2._y:=1]
|
||||
[] set Reset 0
|
||||
197317 Reset : 0
|
||||
197495 b._reset_B : 1 [by Reset:=0]
|
||||
198298 b.b.reset_buf._y : 0 [by b._reset_B:=1]
|
||||
198462 b.b._reset_BX : 1 [by b.b.reset_buf._y:=0]
|
||||
200657 b.b.reset_bufarray.buf2._y : 0 [by b.b._reset_BX:=1]
|
||||
200679 b.b._reset_BXX[0] : 1 [by b.b.reset_bufarray.buf2._y:=0]
|
||||
[] Reset finished, setting some inputs.
|
||||
|
||||
200679 b.b.t_buf_func[0].n1 : 1
|
||||
200679 b.b.f_buf_func[3].n1 : 1
|
||||
200679 b.b.f_buf_func[2].n1 : 1
|
||||
200679 b.b.t_buf_func[1].n1 : 1
|
||||
200812 b.b.vc.OR2_tf[2]._y : 0 [by b.b.f_buf_func[2].n1:=1]
|
||||
201171 b.b.vc.tmp[2] : 1 [by b.b.vc.OR2_tf[2]._y:=0]
|
||||
201526 b.b.vc.OR2_tf[0]._y : 0 [by b.b.t_buf_func[0].n1:=1]
|
||||
215642 b.b.vc.tmp[0] : 1 [by b.b.vc.OR2_tf[0]._y:=0]
|
||||
216341 b.b.vc.OR2_tf[1]._y : 0 [by b.b.t_buf_func[1].n1:=1]
|
||||
216562 b.b.vc.tmp[1] : 1 [by b.b.vc.OR2_tf[1]._y:=0]
|
||||
216569 b.b.vc.C2Els[0]._y : 0 [by b.b.vc.tmp[1]:=1]
|
||||
216599 b.b.vc.tmp[5] : 1 [by b.b.vc.C2Els[0]._y:=0]
|
||||
230807 b.b.vc.OR2_tf[3]._y : 0 [by b.b.f_buf_func[3].n1:=1]
|
||||
237520 b.b.vc.tmp[3] : 1 [by b.b.vc.OR2_tf[3]._y:=0]
|
||||
[] Setting final input
|
||||
237520 b.b.t_buf_func[4].n1 : 1
|
||||
294981 b.b.vc.OR2_tf[4]._y : 0 [by b.b.t_buf_func[4].n1:=1]
|
||||
295072 b.b.vc.tmp[4] : 1 [by b.b.vc.OR2_tf[4]._y:=0]
|
||||
297261 b.b.vc.C3Els[0]._y : 0 [by b.b.vc.tmp[4]:=1]
|
||||
297268 b.b.vc.tmp[6] : 1 [by b.b.vc.C3Els[0]._y:=0]
|
||||
300055 b.b.vc.C2Els[1]._y : 0 [by b.b.vc.tmp[6]:=1]
|
||||
300161 b.b._in_v : 1 [by b.b.vc.C2Els[1]._y:=0]
|
||||
300239 b.b.in_v_buf4._y : 0 [by b.b._in_v:=1]
|
||||
300514 b.in.v : 1 [by b.b.in_v_buf4._y:=0]
|
||||
319510 b.b.in_v_bufN.buf2._y : 0 [by b.in.v:=1]
|
||||
319965 b.b._in_vX[0] : 1 [by b.b.in_v_bufN.buf2._y:=0]
|
||||
319977 b.b.t_buf_func[0]._y : 0 [by b.b._in_vX[0]:=1]
|
||||
319977 b.b.t_buf_func[4]._y : 0 [by b.b._in_vX[0]:=1]
|
||||
320369 b.b.t_buf_func[1]._y : 0 [by b.b._in_vX[0]:=1]
|
||||
320371 b.b.t_buf_func[1].y : 1 [by b.b.t_buf_func[1]._y:=0]
|
||||
322876 b.b.t_buf_func[0].y : 1 [by b.b.t_buf_func[0]._y:=0]
|
||||
324241 b.b.f_buf_func[3]._y : 0 [by b.b._in_vX[0]:=1]
|
||||
324272 b.b.t_buf_func[4].y : 1 [by b.b.t_buf_func[4]._y:=0]
|
||||
325881 b.b.f_buf_func[2]._y : 0 [by b.b._in_vX[0]:=1]
|
||||
327130 b.b.f_buf_func[2].y : 1 [by b.b.f_buf_func[2]._y:=0]
|
||||
328776 b.b.f_buf_func[3].y : 1 [by b.b.f_buf_func[3]._y:=0]
|
||||
[] Receiving out val
|
||||
328776 b.out.v : 1
|
||||
332275 b.b.inack_ctl._y : 0 [by b.out.v:=1]
|
||||
332441 b.in.a : 1 [by b.b.inack_ctl._y:=0]
|
||||
332516 b.b._en : 0 [by b.in.a:=1]
|
||||
332654 b.b.en_buf_t.buf2._y : 1 [by b.b._en:=0]
|
||||
332861 b.b.en_buf_f.buf2._y : 1 [by b.b._en:=0]
|
||||
332863 b.b._en_X_f[0] : 0 [by b.b.en_buf_f.buf2._y:=1]
|
||||
337917 b.b._en_X_t[0] : 0 [by b.b.en_buf_t.buf2._y:=1]
|
||||
[] Removing input
|
||||
337917 b.b.t_buf_func[0].n1 : 0
|
||||
337917 b.b.t_buf_func[4].n1 : 0
|
||||
337917 b.b.f_buf_func[2].n1 : 0
|
||||
337917 b.b.t_buf_func[1].n1 : 0
|
||||
337917 b.b.f_buf_func[3].n1 : 0
|
||||
337918 b.b.vc.OR2_tf[4]._y : 1 [by b.b.t_buf_func[4].n1:=0]
|
||||
337928 b.b.vc.OR2_tf[1]._y : 1 [by b.b.t_buf_func[1].n1:=0]
|
||||
337985 b.b.vc.tmp[4] : 0 [by b.b.vc.OR2_tf[4]._y:=1]
|
||||
338287 b.b.vc.OR2_tf[3]._y : 1 [by b.b.f_buf_func[3].n1:=0]
|
||||
338303 b.b.vc.tmp[3] : 0 [by b.b.vc.OR2_tf[3]._y:=1]
|
||||
338465 b.b.vc.OR2_tf[2]._y : 1 [by b.b.f_buf_func[2].n1:=0]
|
||||
340569 b.b.vc.tmp[1] : 0 [by b.b.vc.OR2_tf[1]._y:=1]
|
||||
343027 b.b.vc.tmp[2] : 0 [by b.b.vc.OR2_tf[2]._y:=1]
|
||||
343555 b.b.vc.C3Els[0]._y : 1 [by b.b.vc.tmp[2]:=0]
|
||||
345990 b.b.vc.tmp[6] : 0 [by b.b.vc.C3Els[0]._y:=1]
|
||||
381834 b.b.vc.OR2_tf[0]._y : 1 [by b.b.t_buf_func[0].n1:=0]
|
||||
408714 b.b.vc.tmp[0] : 0 [by b.b.vc.OR2_tf[0]._y:=1]
|
||||
432639 b.b.vc.C2Els[0]._y : 1 [by b.b.vc.tmp[0]:=0]
|
||||
445680 b.b.vc.tmp[5] : 0 [by b.b.vc.C2Els[0]._y:=1]
|
||||
445682 b.b.vc.C2Els[1]._y : 1 [by b.b.vc.tmp[5]:=0]
|
||||
506640 b.b._in_v : 0 [by b.b.vc.C2Els[1]._y:=1]
|
||||
506643 b.b.in_v_buf4._y : 1 [by b.b._in_v:=0]
|
||||
506672 b.in.v : 0 [by b.b.in_v_buf4._y:=1]
|
||||
506989 b.b.in_v_bufN.buf2._y : 1 [by b.in.v:=0]
|
||||
508590 b.b._in_vX[0] : 0 [by b.b.in_v_bufN.buf2._y:=1]
|
||||
[] Receiving out ack
|
||||
508590 b.out.a : 1
|
||||
508743 b.b._out_a_B : 0 [by b.out.a:=1]
|
||||
508787 b.b.out_a_B_buf_t.buf2._y : 1 [by b.b._out_a_B:=0]
|
||||
511504 b.b.out_a_B_buf_f.buf2._y : 1 [by b.b._out_a_B:=0]
|
||||
511505 b.b._out_a_BX_t[0] : 0 [by b.b.out_a_B_buf_f.buf2._y:=1]
|
||||
511506 b.b.t_buf_func[4]._y : 1 [by b.b._out_a_BX_t[0]:=0]
|
||||
511527 b.b.t_buf_func[1]._y : 1 [by b.b._out_a_BX_t[0]:=0]
|
||||
511722 b.b.t_buf_func[0]._y : 1 [by b.b._out_a_BX_t[0]:=0]
|
||||
511881 b.b.t_buf_func[0].y : 0 [by b.b.t_buf_func[0]._y:=1]
|
||||
513087 b.b.t_buf_func[4].y : 0 [by b.b.t_buf_func[4]._y:=1]
|
||||
520872 b.b.t_buf_func[1].y : 0 [by b.b.t_buf_func[1]._y:=1]
|
||||
522470 b.b._out_a_BX_f[0] : 0 [by b.b.out_a_B_buf_t.buf2._y:=1]
|
||||
523757 b.b.f_buf_func[3]._y : 1 [by b.b._out_a_BX_f[0]:=0]
|
||||
525989 b.b.f_buf_func[3].y : 0 [by b.b.f_buf_func[3]._y:=1]
|
||||
542146 b.b.f_buf_func[2]._y : 1 [by b.b._out_a_BX_f[0]:=0]
|
||||
542291 b.b.f_buf_func[2].y : 0 [by b.b.f_buf_func[2]._y:=1]
|
BIN
test/unit_tests/buf_s_5/run/prsim.pdf
Normal file
BIN
test/unit_tests/buf_s_5/run/prsim.pdf
Normal file
Binary file not shown.
646
test/unit_tests/buf_s_5/run/test.prs
Normal file
646
test/unit_tests/buf_s_5/run/test.prs
Normal file
@ -0,0 +1,646 @@
|
||||
= "GND" "GND"
|
||||
= "Vdd" "Vdd"
|
||||
= "Reset" "Reset"
|
||||
"Reset"->"b._reset_B"-
|
||||
~("Reset")->"b._reset_B"+
|
||||
"b.b.out_a_B_buf_t.buf2.a"->"b.b.out_a_B_buf_t.buf2._y"-
|
||||
~("b.b.out_a_B_buf_t.buf2.a")->"b.b.out_a_B_buf_t.buf2._y"+
|
||||
"b.b.out_a_B_buf_t.buf2._y"->"b.b.out_a_B_buf_t.buf2.y"-
|
||||
~("b.b.out_a_B_buf_t.buf2._y")->"b.b.out_a_B_buf_t.buf2.y"+
|
||||
= "b.b.out_a_B_buf_t.supply.vdd" "b.b.out_a_B_buf_t.buf2.vdd"
|
||||
= "b.b.out_a_B_buf_t.supply.vss" "b.b.out_a_B_buf_t.buf2.vss"
|
||||
= "b.b.out_a_B_buf_t.out[0]" "b.b.out_a_B_buf_t.out[4]"
|
||||
= "b.b.out_a_B_buf_t.out[0]" "b.b.out_a_B_buf_t.out[3]"
|
||||
= "b.b.out_a_B_buf_t.out[0]" "b.b.out_a_B_buf_t.out[2]"
|
||||
= "b.b.out_a_B_buf_t.out[0]" "b.b.out_a_B_buf_t.out[1]"
|
||||
= "b.b.out_a_B_buf_t.out[0]" "b.b.out_a_B_buf_t.buf2.y"
|
||||
= "b.b.out_a_B_buf_t.in" "b.b.out_a_B_buf_t.buf2.a"
|
||||
= "b.b._en_X_f[0]" "b.b.en_buf_f.out[0]"
|
||||
= "b.b._en_X_f[1]" "b.b.en_buf_f.out[1]"
|
||||
= "b.b._en_X_f[2]" "b.b.en_buf_f.out[2]"
|
||||
= "b.b._en_X_f[3]" "b.b.en_buf_f.out[3]"
|
||||
= "b.b._en_X_f[4]" "b.b.en_buf_f.out[4]"
|
||||
= "b.b._en_X_f[0]" "b.b.f_buf_func[4].c1"
|
||||
= "b.b._en_X_f[0]" "b.b.f_buf_func[3].c1"
|
||||
= "b.b._en_X_f[0]" "b.b.f_buf_func[2].c1"
|
||||
= "b.b._en_X_f[0]" "b.b.f_buf_func[1].c1"
|
||||
= "b.b._en_X_f[0]" "b.b.f_buf_func[0].c1"
|
||||
= "b.b._en_X_f[0]" "b.b._en_X_f[4]"
|
||||
= "b.b._en_X_f[0]" "b.b._en_X_f[3]"
|
||||
= "b.b._en_X_f[0]" "b.b._en_X_f[2]"
|
||||
= "b.b._en_X_f[0]" "b.b._en_X_f[1]"
|
||||
~"b.b.inack_ctl.c1"&~"b.b.inack_ctl.c2"&~"b.b.inack_ctl.c3"|~"b.b.inack_ctl.pr_B"->"b.b.inack_ctl._y"+
|
||||
"b.b.inack_ctl.c1"&"b.b.inack_ctl.c2"&"b.b.inack_ctl.c3"&"b.b.inack_ctl.sr_B"->"b.b.inack_ctl._y"-
|
||||
"b.b.inack_ctl._y"->"b.b.inack_ctl.y"-
|
||||
~("b.b.inack_ctl._y")->"b.b.inack_ctl.y"+
|
||||
"b.b.reset_bufarray.buf2.a"->"b.b.reset_bufarray.buf2._y"-
|
||||
~("b.b.reset_bufarray.buf2.a")->"b.b.reset_bufarray.buf2._y"+
|
||||
"b.b.reset_bufarray.buf2._y"->"b.b.reset_bufarray.buf2.y"-
|
||||
~("b.b.reset_bufarray.buf2._y")->"b.b.reset_bufarray.buf2.y"+
|
||||
= "b.b.reset_bufarray.supply.vdd" "b.b.reset_bufarray.buf2.vdd"
|
||||
= "b.b.reset_bufarray.supply.vss" "b.b.reset_bufarray.buf2.vss"
|
||||
= "b.b.reset_bufarray.out[0]" "b.b.reset_bufarray.out[4]"
|
||||
= "b.b.reset_bufarray.out[0]" "b.b.reset_bufarray.out[3]"
|
||||
= "b.b.reset_bufarray.out[0]" "b.b.reset_bufarray.out[2]"
|
||||
= "b.b.reset_bufarray.out[0]" "b.b.reset_bufarray.out[1]"
|
||||
= "b.b.reset_bufarray.out[0]" "b.b.reset_bufarray.buf2.y"
|
||||
= "b.b.reset_bufarray.in" "b.b.reset_bufarray.buf2.a"
|
||||
"b.b.in_v_buf4.a"->"b.b.in_v_buf4._y"-
|
||||
~("b.b.in_v_buf4.a")->"b.b.in_v_buf4._y"+
|
||||
"b.b.in_v_buf4._y"->"b.b.in_v_buf4.y"-
|
||||
~("b.b.in_v_buf4._y")->"b.b.in_v_buf4.y"+
|
||||
"b.b.out_a_inv.a"->"b.b.out_a_inv.y"-
|
||||
~("b.b.out_a_inv.a")->"b.b.out_a_inv.y"+
|
||||
= "b.b._out_a_BX_f[0]" "b.b.out_a_B_buf_t.out[0]"
|
||||
= "b.b._out_a_BX_f[1]" "b.b.out_a_B_buf_t.out[1]"
|
||||
= "b.b._out_a_BX_f[2]" "b.b.out_a_B_buf_t.out[2]"
|
||||
= "b.b._out_a_BX_f[3]" "b.b.out_a_B_buf_t.out[3]"
|
||||
= "b.b._out_a_BX_f[4]" "b.b.out_a_B_buf_t.out[4]"
|
||||
= "b.b._out_a_BX_f[0]" "b.b.f_buf_func[4].c2"
|
||||
= "b.b._out_a_BX_f[0]" "b.b.f_buf_func[3].c2"
|
||||
= "b.b._out_a_BX_f[0]" "b.b.f_buf_func[2].c2"
|
||||
= "b.b._out_a_BX_f[0]" "b.b.f_buf_func[1].c2"
|
||||
= "b.b._out_a_BX_f[0]" "b.b.f_buf_func[0].c2"
|
||||
= "b.b._out_a_BX_f[0]" "b.b._out_a_BX_f[4]"
|
||||
= "b.b._out_a_BX_f[0]" "b.b._out_a_BX_f[3]"
|
||||
= "b.b._out_a_BX_f[0]" "b.b._out_a_BX_f[2]"
|
||||
= "b.b._out_a_BX_f[0]" "b.b._out_a_BX_f[1]"
|
||||
= "b.b.supply.vss" "b.b.en_buf_f.supply.vss"
|
||||
= "b.b.supply.vdd" "b.b.en_buf_f.supply.vdd"
|
||||
= "b.b.supply.vss" "b.b.en_buf_t.supply.vss"
|
||||
= "b.b.supply.vdd" "b.b.en_buf_t.supply.vdd"
|
||||
= "b.b.supply.vss" "b.b.in_v_bufN.supply.vss"
|
||||
= "b.b.supply.vdd" "b.b.in_v_bufN.supply.vdd"
|
||||
= "b.b.supply.vss" "b.b.vc.supply.vss"
|
||||
= "b.b.supply.vdd" "b.b.vc.supply.vdd"
|
||||
= "b.b.supply.vdd" "b.b.t_buf_func[4].vdd"
|
||||
= "b.b.supply.vdd" "b.b.f_buf_func[4].vdd"
|
||||
= "b.b.supply.vdd" "b.b.t_buf_func[3].vdd"
|
||||
= "b.b.supply.vdd" "b.b.f_buf_func[3].vdd"
|
||||
= "b.b.supply.vdd" "b.b.t_buf_func[2].vdd"
|
||||
= "b.b.supply.vdd" "b.b.f_buf_func[2].vdd"
|
||||
= "b.b.supply.vdd" "b.b.t_buf_func[1].vdd"
|
||||
= "b.b.supply.vdd" "b.b.f_buf_func[1].vdd"
|
||||
= "b.b.supply.vdd" "b.b.t_buf_func[0].vdd"
|
||||
= "b.b.supply.vdd" "b.b.f_buf_func[0].vdd"
|
||||
= "b.b.supply.vdd" "b.b.in_v_buf4.vdd"
|
||||
= "b.b.supply.vdd" "b.b.reset_buf.vdd"
|
||||
= "b.b.supply.vdd" "b.b.en_ctl.vdd"
|
||||
= "b.b.supply.vdd" "b.b.inack_ctl.vdd"
|
||||
= "b.b.supply.vss" "b.b.t_buf_func[4].vss"
|
||||
= "b.b.supply.vss" "b.b.f_buf_func[4].vss"
|
||||
= "b.b.supply.vss" "b.b.t_buf_func[3].vss"
|
||||
= "b.b.supply.vss" "b.b.f_buf_func[3].vss"
|
||||
= "b.b.supply.vss" "b.b.t_buf_func[2].vss"
|
||||
= "b.b.supply.vss" "b.b.f_buf_func[2].vss"
|
||||
= "b.b.supply.vss" "b.b.t_buf_func[1].vss"
|
||||
= "b.b.supply.vss" "b.b.f_buf_func[1].vss"
|
||||
= "b.b.supply.vss" "b.b.t_buf_func[0].vss"
|
||||
= "b.b.supply.vss" "b.b.f_buf_func[0].vss"
|
||||
= "b.b.supply.vss" "b.b.in_v_buf4.vss"
|
||||
= "b.b.supply.vss" "b.b.reset_buf.vss"
|
||||
= "b.b.supply.vss" "b.b.en_ctl.vss"
|
||||
= "b.b.supply.vss" "b.b.inack_ctl.vss"
|
||||
~"b.b.vc.C2Els[0].c1"&~"b.b.vc.C2Els[0].c2"->"b.b.vc.C2Els[0]._y"+
|
||||
"b.b.vc.C2Els[0].c1"&"b.b.vc.C2Els[0].c2"->"b.b.vc.C2Els[0]._y"-
|
||||
"b.b.vc.C2Els[0]._y"->"b.b.vc.C2Els[0].y"-
|
||||
~("b.b.vc.C2Els[0]._y")->"b.b.vc.C2Els[0].y"+
|
||||
~"b.b.vc.C2Els[1].c1"&~"b.b.vc.C2Els[1].c2"->"b.b.vc.C2Els[1]._y"+
|
||||
"b.b.vc.C2Els[1].c1"&"b.b.vc.C2Els[1].c2"->"b.b.vc.C2Els[1]._y"-
|
||||
"b.b.vc.C2Els[1]._y"->"b.b.vc.C2Els[1].y"-
|
||||
~("b.b.vc.C2Els[1]._y")->"b.b.vc.C2Els[1].y"+
|
||||
~"b.b.vc.C3Els[0].c1"&~"b.b.vc.C3Els[0].c2"&~"b.b.vc.C3Els[0].c3"->"b.b.vc.C3Els[0]._y"+
|
||||
"b.b.vc.C3Els[0].c1"&"b.b.vc.C3Els[0].c2"&"b.b.vc.C3Els[0].c3"->"b.b.vc.C3Els[0]._y"-
|
||||
"b.b.vc.C3Els[0]._y"->"b.b.vc.C3Els[0].y"-
|
||||
~("b.b.vc.C3Els[0]._y")->"b.b.vc.C3Els[0].y"+
|
||||
"b.b.vc.OR2_tf[0].a"|"b.b.vc.OR2_tf[0].b"->"b.b.vc.OR2_tf[0]._y"-
|
||||
~("b.b.vc.OR2_tf[0].a"|"b.b.vc.OR2_tf[0].b")->"b.b.vc.OR2_tf[0]._y"+
|
||||
"b.b.vc.OR2_tf[0]._y"->"b.b.vc.OR2_tf[0].y"-
|
||||
~("b.b.vc.OR2_tf[0]._y")->"b.b.vc.OR2_tf[0].y"+
|
||||
"b.b.vc.OR2_tf[1].a"|"b.b.vc.OR2_tf[1].b"->"b.b.vc.OR2_tf[1]._y"-
|
||||
~("b.b.vc.OR2_tf[1].a"|"b.b.vc.OR2_tf[1].b")->"b.b.vc.OR2_tf[1]._y"+
|
||||
"b.b.vc.OR2_tf[1]._y"->"b.b.vc.OR2_tf[1].y"-
|
||||
~("b.b.vc.OR2_tf[1]._y")->"b.b.vc.OR2_tf[1].y"+
|
||||
"b.b.vc.OR2_tf[2].a"|"b.b.vc.OR2_tf[2].b"->"b.b.vc.OR2_tf[2]._y"-
|
||||
~("b.b.vc.OR2_tf[2].a"|"b.b.vc.OR2_tf[2].b")->"b.b.vc.OR2_tf[2]._y"+
|
||||
"b.b.vc.OR2_tf[2]._y"->"b.b.vc.OR2_tf[2].y"-
|
||||
~("b.b.vc.OR2_tf[2]._y")->"b.b.vc.OR2_tf[2].y"+
|
||||
"b.b.vc.OR2_tf[3].a"|"b.b.vc.OR2_tf[3].b"->"b.b.vc.OR2_tf[3]._y"-
|
||||
~("b.b.vc.OR2_tf[3].a"|"b.b.vc.OR2_tf[3].b")->"b.b.vc.OR2_tf[3]._y"+
|
||||
"b.b.vc.OR2_tf[3]._y"->"b.b.vc.OR2_tf[3].y"-
|
||||
~("b.b.vc.OR2_tf[3]._y")->"b.b.vc.OR2_tf[3].y"+
|
||||
"b.b.vc.OR2_tf[4].a"|"b.b.vc.OR2_tf[4].b"->"b.b.vc.OR2_tf[4]._y"-
|
||||
~("b.b.vc.OR2_tf[4].a"|"b.b.vc.OR2_tf[4].b")->"b.b.vc.OR2_tf[4]._y"+
|
||||
"b.b.vc.OR2_tf[4]._y"->"b.b.vc.OR2_tf[4].y"-
|
||||
~("b.b.vc.OR2_tf[4]._y")->"b.b.vc.OR2_tf[4].y"+
|
||||
= "b.b.vc.tmp[0]" "b.b.vc.C2Els[0].c1"
|
||||
= "b.b.vc.tmp[0]" "b.b.vc.OR2_tf[0].y"
|
||||
= "b.b.vc.tmp[1]" "b.b.vc.C2Els[0].c2"
|
||||
= "b.b.vc.tmp[1]" "b.b.vc.OR2_tf[1].y"
|
||||
= "b.b.vc.tmp[2]" "b.b.vc.C3Els[0].c1"
|
||||
= "b.b.vc.tmp[2]" "b.b.vc.OR2_tf[2].y"
|
||||
= "b.b.vc.tmp[3]" "b.b.vc.C3Els[0].c2"
|
||||
= "b.b.vc.tmp[3]" "b.b.vc.OR2_tf[3].y"
|
||||
= "b.b.vc.tmp[4]" "b.b.vc.C3Els[0].c3"
|
||||
= "b.b.vc.tmp[4]" "b.b.vc.OR2_tf[4].y"
|
||||
= "b.b.vc.tmp[5]" "b.b.vc.C2Els[1].c1"
|
||||
= "b.b.vc.tmp[5]" "b.b.vc.C2Els[0].y"
|
||||
= "b.b.vc.tmp[6]" "b.b.vc.C2Els[1].c2"
|
||||
= "b.b.vc.tmp[6]" "b.b.vc.C3Els[0].y"
|
||||
= "b.b.vc.supply.vdd" "b.b.vc.C3Els[0].vdd"
|
||||
= "b.b.vc.supply.vdd" "b.b.vc.C2Els[1].vdd"
|
||||
= "b.b.vc.supply.vdd" "b.b.vc.C2Els[0].vdd"
|
||||
= "b.b.vc.supply.vdd" "b.b.vc.OR2_tf[4].vdd"
|
||||
= "b.b.vc.supply.vdd" "b.b.vc.OR2_tf[3].vdd"
|
||||
= "b.b.vc.supply.vdd" "b.b.vc.OR2_tf[2].vdd"
|
||||
= "b.b.vc.supply.vdd" "b.b.vc.OR2_tf[1].vdd"
|
||||
= "b.b.vc.supply.vdd" "b.b.vc.OR2_tf[0].vdd"
|
||||
= "b.b.vc.supply.vss" "b.b.vc.C3Els[0].vss"
|
||||
= "b.b.vc.supply.vss" "b.b.vc.C2Els[1].vss"
|
||||
= "b.b.vc.supply.vss" "b.b.vc.C2Els[0].vss"
|
||||
= "b.b.vc.supply.vss" "b.b.vc.OR2_tf[4].vss"
|
||||
= "b.b.vc.supply.vss" "b.b.vc.OR2_tf[3].vss"
|
||||
= "b.b.vc.supply.vss" "b.b.vc.OR2_tf[2].vss"
|
||||
= "b.b.vc.supply.vss" "b.b.vc.OR2_tf[1].vss"
|
||||
= "b.b.vc.supply.vss" "b.b.vc.OR2_tf[0].vss"
|
||||
= "b.b.vc.in.d[0].d[0]" "b.b.vc.in.d[0].f"
|
||||
= "b.b.vc.in.d[0].d[1]" "b.b.vc.in.d[0].t"
|
||||
= "b.b.vc.in.d[1].d[0]" "b.b.vc.in.d[1].f"
|
||||
= "b.b.vc.in.d[1].d[1]" "b.b.vc.in.d[1].t"
|
||||
= "b.b.vc.in.d[2].d[0]" "b.b.vc.in.d[2].f"
|
||||
= "b.b.vc.in.d[2].d[1]" "b.b.vc.in.d[2].t"
|
||||
= "b.b.vc.in.d[3].d[0]" "b.b.vc.in.d[3].f"
|
||||
= "b.b.vc.in.d[3].d[1]" "b.b.vc.in.d[3].t"
|
||||
= "b.b.vc.in.d[4].d[0]" "b.b.vc.in.d[4].f"
|
||||
= "b.b.vc.in.d[4].d[1]" "b.b.vc.in.d[4].t"
|
||||
= "b.b.vc.in.d[4].d[0]" "b.b.vc.in.d[4].f"
|
||||
= "b.b.vc.in.d[4].d[1]" "b.b.vc.in.d[4].t"
|
||||
= "b.b.vc.in.d[3].d[0]" "b.b.vc.in.d[3].f"
|
||||
= "b.b.vc.in.d[3].d[1]" "b.b.vc.in.d[3].t"
|
||||
= "b.b.vc.in.d[2].d[0]" "b.b.vc.in.d[2].f"
|
||||
= "b.b.vc.in.d[2].d[1]" "b.b.vc.in.d[2].t"
|
||||
= "b.b.vc.in.d[1].d[0]" "b.b.vc.in.d[1].f"
|
||||
= "b.b.vc.in.d[1].d[1]" "b.b.vc.in.d[1].t"
|
||||
= "b.b.vc.in.d[0].d[0]" "b.b.vc.in.d[0].f"
|
||||
= "b.b.vc.in.d[0].d[1]" "b.b.vc.in.d[0].t"
|
||||
= "b.b.vc.in.d[4].d[0]" "b.b.vc.OR2_tf[4].b"
|
||||
= "b.b.vc.in.d[4].d[0]" "b.b.vc.in.d[4].f"
|
||||
= "b.b.vc.in.d[4].d[1]" "b.b.vc.OR2_tf[4].a"
|
||||
= "b.b.vc.in.d[4].d[1]" "b.b.vc.in.d[4].t"
|
||||
= "b.b.vc.in.d[3].d[0]" "b.b.vc.OR2_tf[3].b"
|
||||
= "b.b.vc.in.d[3].d[0]" "b.b.vc.in.d[3].f"
|
||||
= "b.b.vc.in.d[3].d[1]" "b.b.vc.OR2_tf[3].a"
|
||||
= "b.b.vc.in.d[3].d[1]" "b.b.vc.in.d[3].t"
|
||||
= "b.b.vc.in.d[2].d[0]" "b.b.vc.OR2_tf[2].b"
|
||||
= "b.b.vc.in.d[2].d[0]" "b.b.vc.in.d[2].f"
|
||||
= "b.b.vc.in.d[2].d[1]" "b.b.vc.OR2_tf[2].a"
|
||||
= "b.b.vc.in.d[2].d[1]" "b.b.vc.in.d[2].t"
|
||||
= "b.b.vc.in.d[1].d[0]" "b.b.vc.OR2_tf[1].b"
|
||||
= "b.b.vc.in.d[1].d[0]" "b.b.vc.in.d[1].f"
|
||||
= "b.b.vc.in.d[1].d[1]" "b.b.vc.OR2_tf[1].a"
|
||||
= "b.b.vc.in.d[1].d[1]" "b.b.vc.in.d[1].t"
|
||||
= "b.b.vc.in.d[0].d[0]" "b.b.vc.OR2_tf[0].b"
|
||||
= "b.b.vc.in.d[0].d[0]" "b.b.vc.in.d[0].f"
|
||||
= "b.b.vc.in.d[0].d[1]" "b.b.vc.OR2_tf[0].a"
|
||||
= "b.b.vc.in.d[0].d[1]" "b.b.vc.in.d[0].t"
|
||||
= "b.b.vc.out" "b.b.vc.C2Els[1].y"
|
||||
= "b.b.vc.out" "b.b.vc.tmp[7]"
|
||||
"b.b.out_a_B_buf_f.buf2.a"->"b.b.out_a_B_buf_f.buf2._y"-
|
||||
~("b.b.out_a_B_buf_f.buf2.a")->"b.b.out_a_B_buf_f.buf2._y"+
|
||||
"b.b.out_a_B_buf_f.buf2._y"->"b.b.out_a_B_buf_f.buf2.y"-
|
||||
~("b.b.out_a_B_buf_f.buf2._y")->"b.b.out_a_B_buf_f.buf2.y"+
|
||||
= "b.b.out_a_B_buf_f.supply.vdd" "b.b.out_a_B_buf_f.buf2.vdd"
|
||||
= "b.b.out_a_B_buf_f.supply.vss" "b.b.out_a_B_buf_f.buf2.vss"
|
||||
= "b.b.out_a_B_buf_f.out[0]" "b.b.out_a_B_buf_f.out[4]"
|
||||
= "b.b.out_a_B_buf_f.out[0]" "b.b.out_a_B_buf_f.out[3]"
|
||||
= "b.b.out_a_B_buf_f.out[0]" "b.b.out_a_B_buf_f.out[2]"
|
||||
= "b.b.out_a_B_buf_f.out[0]" "b.b.out_a_B_buf_f.out[1]"
|
||||
= "b.b.out_a_B_buf_f.out[0]" "b.b.out_a_B_buf_f.buf2.y"
|
||||
= "b.b.out_a_B_buf_f.in" "b.b.out_a_B_buf_f.buf2.a"
|
||||
= "b.b._en" "b.b.en_buf_f.in"
|
||||
= "b.b._en" "b.b.en_buf_t.in"
|
||||
= "b.b._en" "b.b.en_ctl.y"
|
||||
= "b.b._en" "b.b.inack_ctl.c1"
|
||||
~"b.b.en_ctl.p1"&~"b.b.en_ctl.c1"->"b.b.en_ctl.y"+
|
||||
"b.b.en_ctl.c1"->"b.b.en_ctl.y"-
|
||||
= "b.b.out.d.d[0].d[0]" "b.b.out.d.d[0].f"
|
||||
= "b.b.out.d.d[0].d[1]" "b.b.out.d.d[0].t"
|
||||
= "b.b.out.d.d[1].d[0]" "b.b.out.d.d[1].f"
|
||||
= "b.b.out.d.d[1].d[1]" "b.b.out.d.d[1].t"
|
||||
= "b.b.out.d.d[2].d[0]" "b.b.out.d.d[2].f"
|
||||
= "b.b.out.d.d[2].d[1]" "b.b.out.d.d[2].t"
|
||||
= "b.b.out.d.d[3].d[0]" "b.b.out.d.d[3].f"
|
||||
= "b.b.out.d.d[3].d[1]" "b.b.out.d.d[3].t"
|
||||
= "b.b.out.d.d[4].d[0]" "b.b.out.d.d[4].f"
|
||||
= "b.b.out.d.d[4].d[1]" "b.b.out.d.d[4].t"
|
||||
= "b.b.out.d.d[4].d[0]" "b.b.out.d.d[4].f"
|
||||
= "b.b.out.d.d[4].d[1]" "b.b.out.d.d[4].t"
|
||||
= "b.b.out.d.d[3].d[0]" "b.b.out.d.d[3].f"
|
||||
= "b.b.out.d.d[3].d[1]" "b.b.out.d.d[3].t"
|
||||
= "b.b.out.d.d[2].d[0]" "b.b.out.d.d[2].f"
|
||||
= "b.b.out.d.d[2].d[1]" "b.b.out.d.d[2].t"
|
||||
= "b.b.out.d.d[1].d[0]" "b.b.out.d.d[1].f"
|
||||
= "b.b.out.d.d[1].d[1]" "b.b.out.d.d[1].t"
|
||||
= "b.b.out.d.d[0].d[0]" "b.b.out.d.d[0].f"
|
||||
= "b.b.out.d.d[0].d[1]" "b.b.out.d.d[0].t"
|
||||
= "b.b.out.d.d[4].d[0]" "b.b.out.d.d[4].f"
|
||||
= "b.b.out.d.d[4].d[1]" "b.b.out.d.d[4].t"
|
||||
= "b.b.out.d.d[3].d[0]" "b.b.out.d.d[3].f"
|
||||
= "b.b.out.d.d[3].d[1]" "b.b.out.d.d[3].t"
|
||||
= "b.b.out.d.d[2].d[0]" "b.b.out.d.d[2].f"
|
||||
= "b.b.out.d.d[2].d[1]" "b.b.out.d.d[2].t"
|
||||
= "b.b.out.d.d[1].d[0]" "b.b.out.d.d[1].f"
|
||||
= "b.b.out.d.d[1].d[1]" "b.b.out.d.d[1].t"
|
||||
= "b.b.out.d.d[0].d[0]" "b.b.out.d.d[0].f"
|
||||
= "b.b.out.d.d[0].d[1]" "b.b.out.d.d[0].t"
|
||||
= "b.b.out.a" "b.b.out_a_inv.a"
|
||||
= "b.b.out.v" "b.b.en_ctl.p1"
|
||||
= "b.b.out.v" "b.b.inack_ctl.c3"
|
||||
= "b.b.out.d.d[4].d[0]" "b.b.f_buf_func[4].y"
|
||||
= "b.b.out.d.d[4].d[0]" "b.b.out.d.d[4].f"
|
||||
= "b.b.out.d.d[4].d[1]" "b.b.t_buf_func[4].y"
|
||||
= "b.b.out.d.d[4].d[1]" "b.b.out.d.d[4].t"
|
||||
= "b.b.out.d.d[3].d[0]" "b.b.f_buf_func[3].y"
|
||||
= "b.b.out.d.d[3].d[0]" "b.b.out.d.d[3].f"
|
||||
= "b.b.out.d.d[3].d[1]" "b.b.t_buf_func[3].y"
|
||||
= "b.b.out.d.d[3].d[1]" "b.b.out.d.d[3].t"
|
||||
= "b.b.out.d.d[2].d[0]" "b.b.f_buf_func[2].y"
|
||||
= "b.b.out.d.d[2].d[0]" "b.b.out.d.d[2].f"
|
||||
= "b.b.out.d.d[2].d[1]" "b.b.t_buf_func[2].y"
|
||||
= "b.b.out.d.d[2].d[1]" "b.b.out.d.d[2].t"
|
||||
= "b.b.out.d.d[1].d[0]" "b.b.f_buf_func[1].y"
|
||||
= "b.b.out.d.d[1].d[0]" "b.b.out.d.d[1].f"
|
||||
= "b.b.out.d.d[1].d[1]" "b.b.t_buf_func[1].y"
|
||||
= "b.b.out.d.d[1].d[1]" "b.b.out.d.d[1].t"
|
||||
= "b.b.out.d.d[0].d[0]" "b.b.f_buf_func[0].y"
|
||||
= "b.b.out.d.d[0].d[0]" "b.b.out.d.d[0].f"
|
||||
= "b.b.out.d.d[0].d[1]" "b.b.t_buf_func[0].y"
|
||||
= "b.b.out.d.d[0].d[1]" "b.b.out.d.d[0].t"
|
||||
= "b.b.in.d.d[0].d[0]" "b.b.in.d.d[0].f"
|
||||
= "b.b.in.d.d[0].d[1]" "b.b.in.d.d[0].t"
|
||||
= "b.b.in.d.d[1].d[0]" "b.b.in.d.d[1].f"
|
||||
= "b.b.in.d.d[1].d[1]" "b.b.in.d.d[1].t"
|
||||
= "b.b.in.d.d[2].d[0]" "b.b.in.d.d[2].f"
|
||||
= "b.b.in.d.d[2].d[1]" "b.b.in.d.d[2].t"
|
||||
= "b.b.in.d.d[3].d[0]" "b.b.in.d.d[3].f"
|
||||
= "b.b.in.d.d[3].d[1]" "b.b.in.d.d[3].t"
|
||||
= "b.b.in.d.d[4].d[0]" "b.b.in.d.d[4].f"
|
||||
= "b.b.in.d.d[4].d[1]" "b.b.in.d.d[4].t"
|
||||
= "b.b.in.d.d[4].d[0]" "b.b.in.d.d[4].f"
|
||||
= "b.b.in.d.d[4].d[1]" "b.b.in.d.d[4].t"
|
||||
= "b.b.in.d.d[3].d[0]" "b.b.in.d.d[3].f"
|
||||
= "b.b.in.d.d[3].d[1]" "b.b.in.d.d[3].t"
|
||||
= "b.b.in.d.d[2].d[0]" "b.b.in.d.d[2].f"
|
||||
= "b.b.in.d.d[2].d[1]" "b.b.in.d.d[2].t"
|
||||
= "b.b.in.d.d[1].d[0]" "b.b.in.d.d[1].f"
|
||||
= "b.b.in.d.d[1].d[1]" "b.b.in.d.d[1].t"
|
||||
= "b.b.in.d.d[0].d[0]" "b.b.in.d.d[0].f"
|
||||
= "b.b.in.d.d[0].d[1]" "b.b.in.d.d[0].t"
|
||||
= "b.b.in.d.d[4].d[0]" "b.b.in.d.d[4].f"
|
||||
= "b.b.in.d.d[4].d[1]" "b.b.in.d.d[4].t"
|
||||
= "b.b.in.d.d[3].d[0]" "b.b.in.d.d[3].f"
|
||||
= "b.b.in.d.d[3].d[1]" "b.b.in.d.d[3].t"
|
||||
= "b.b.in.d.d[2].d[0]" "b.b.in.d.d[2].f"
|
||||
= "b.b.in.d.d[2].d[1]" "b.b.in.d.d[2].t"
|
||||
= "b.b.in.d.d[1].d[0]" "b.b.in.d.d[1].f"
|
||||
= "b.b.in.d.d[1].d[1]" "b.b.in.d.d[1].t"
|
||||
= "b.b.in.d.d[0].d[0]" "b.b.in.d.d[0].f"
|
||||
= "b.b.in.d.d[0].d[1]" "b.b.in.d.d[0].t"
|
||||
= "b.b.in.d.d[0].f" "b.b.vc.in.d[0].f"
|
||||
= "b.b.in.d.d[0].t" "b.b.vc.in.d[0].t"
|
||||
= "b.b.in.d.d[0].d[0]" "b.b.vc.in.d[0].d[0]"
|
||||
= "b.b.in.d.d[0].d[1]" "b.b.vc.in.d[0].d[1]"
|
||||
= "b.b.in.d.d[1].f" "b.b.vc.in.d[1].f"
|
||||
= "b.b.in.d.d[1].t" "b.b.vc.in.d[1].t"
|
||||
= "b.b.in.d.d[1].d[0]" "b.b.vc.in.d[1].d[0]"
|
||||
= "b.b.in.d.d[1].d[1]" "b.b.vc.in.d[1].d[1]"
|
||||
= "b.b.in.d.d[2].f" "b.b.vc.in.d[2].f"
|
||||
= "b.b.in.d.d[2].t" "b.b.vc.in.d[2].t"
|
||||
= "b.b.in.d.d[2].d[0]" "b.b.vc.in.d[2].d[0]"
|
||||
= "b.b.in.d.d[2].d[1]" "b.b.vc.in.d[2].d[1]"
|
||||
= "b.b.in.d.d[3].f" "b.b.vc.in.d[3].f"
|
||||
= "b.b.in.d.d[3].t" "b.b.vc.in.d[3].t"
|
||||
= "b.b.in.d.d[3].d[0]" "b.b.vc.in.d[3].d[0]"
|
||||
= "b.b.in.d.d[3].d[1]" "b.b.vc.in.d[3].d[1]"
|
||||
= "b.b.in.d.d[4].f" "b.b.vc.in.d[4].f"
|
||||
= "b.b.in.d.d[4].t" "b.b.vc.in.d[4].t"
|
||||
= "b.b.in.d.d[4].d[0]" "b.b.vc.in.d[4].d[0]"
|
||||
= "b.b.in.d.d[4].d[1]" "b.b.vc.in.d[4].d[1]"
|
||||
= "b.b.in.a" "b.b.en_ctl.c1"
|
||||
= "b.b.in.a" "b.b.inack_ctl.y"
|
||||
= "b.b.in.v" "b.b.in_v_bufN.in"
|
||||
= "b.b.in.v" "b.b.in_v_buf4.y"
|
||||
= "b.b.in.v" "b.b.inack_ctl.c2"
|
||||
= "b.b.in.d.d[4].d[0]" "b.b.f_buf_func[4].n1"
|
||||
= "b.b.in.d.d[4].d[0]" "b.b.in.d.d[4].f"
|
||||
= "b.b.in.d.d[4].d[1]" "b.b.t_buf_func[4].n1"
|
||||
= "b.b.in.d.d[4].d[1]" "b.b.in.d.d[4].t"
|
||||
= "b.b.in.d.d[3].d[0]" "b.b.f_buf_func[3].n1"
|
||||
= "b.b.in.d.d[3].d[0]" "b.b.in.d.d[3].f"
|
||||
= "b.b.in.d.d[3].d[1]" "b.b.t_buf_func[3].n1"
|
||||
= "b.b.in.d.d[3].d[1]" "b.b.in.d.d[3].t"
|
||||
= "b.b.in.d.d[2].d[0]" "b.b.f_buf_func[2].n1"
|
||||
= "b.b.in.d.d[2].d[0]" "b.b.in.d.d[2].f"
|
||||
= "b.b.in.d.d[2].d[1]" "b.b.t_buf_func[2].n1"
|
||||
= "b.b.in.d.d[2].d[1]" "b.b.in.d.d[2].t"
|
||||
= "b.b.in.d.d[1].d[0]" "b.b.f_buf_func[1].n1"
|
||||
= "b.b.in.d.d[1].d[0]" "b.b.in.d.d[1].f"
|
||||
= "b.b.in.d.d[1].d[1]" "b.b.t_buf_func[1].n1"
|
||||
= "b.b.in.d.d[1].d[1]" "b.b.in.d.d[1].t"
|
||||
= "b.b.in.d.d[0].d[0]" "b.b.f_buf_func[0].n1"
|
||||
= "b.b.in.d.d[0].d[0]" "b.b.in.d.d[0].f"
|
||||
= "b.b.in.d.d[0].d[1]" "b.b.t_buf_func[0].n1"
|
||||
= "b.b.in.d.d[0].d[1]" "b.b.in.d.d[0].t"
|
||||
"b.b.reset_buf.a"->"b.b.reset_buf._y"-
|
||||
~("b.b.reset_buf.a")->"b.b.reset_buf._y"+
|
||||
"b.b.reset_buf._y"->"b.b.reset_buf.y"-
|
||||
~("b.b.reset_buf._y")->"b.b.reset_buf.y"+
|
||||
= "b.b._in_v" "b.b.in_v_buf4.a"
|
||||
= "b.b._in_v" "b.b.vc.out"
|
||||
= "b.b._out_a_BX_t[0]" "b.b.out_a_B_buf_f.out[0]"
|
||||
= "b.b._out_a_BX_t[1]" "b.b.out_a_B_buf_f.out[1]"
|
||||
= "b.b._out_a_BX_t[2]" "b.b.out_a_B_buf_f.out[2]"
|
||||
= "b.b._out_a_BX_t[3]" "b.b.out_a_B_buf_f.out[3]"
|
||||
= "b.b._out_a_BX_t[4]" "b.b.out_a_B_buf_f.out[4]"
|
||||
= "b.b._out_a_BX_t[0]" "b.b.t_buf_func[4].c2"
|
||||
= "b.b._out_a_BX_t[0]" "b.b.t_buf_func[3].c2"
|
||||
= "b.b._out_a_BX_t[0]" "b.b.t_buf_func[2].c2"
|
||||
= "b.b._out_a_BX_t[0]" "b.b.t_buf_func[1].c2"
|
||||
= "b.b._out_a_BX_t[0]" "b.b.t_buf_func[0].c2"
|
||||
= "b.b._out_a_BX_t[0]" "b.b._out_a_BX_t[4]"
|
||||
= "b.b._out_a_BX_t[0]" "b.b._out_a_BX_t[3]"
|
||||
= "b.b._out_a_BX_t[0]" "b.b._out_a_BX_t[2]"
|
||||
= "b.b._out_a_BX_t[0]" "b.b._out_a_BX_t[1]"
|
||||
= "b.b._reset_BX" "b.b.reset_bufarray.in"
|
||||
= "b.b._reset_BX" "b.b.reset_buf.y"
|
||||
= "b.b._reset_BX" "b.b.inack_ctl.sr_B"
|
||||
= "b.b._reset_BX" "b.b.inack_ctl.pr_B"
|
||||
= "b.b.reset_B" "b.b.reset_buf.a"
|
||||
"b.b.en_buf_f.buf2.a"->"b.b.en_buf_f.buf2._y"-
|
||||
~("b.b.en_buf_f.buf2.a")->"b.b.en_buf_f.buf2._y"+
|
||||
"b.b.en_buf_f.buf2._y"->"b.b.en_buf_f.buf2.y"-
|
||||
~("b.b.en_buf_f.buf2._y")->"b.b.en_buf_f.buf2.y"+
|
||||
= "b.b.en_buf_f.supply.vdd" "b.b.en_buf_f.buf2.vdd"
|
||||
= "b.b.en_buf_f.supply.vss" "b.b.en_buf_f.buf2.vss"
|
||||
= "b.b.en_buf_f.out[0]" "b.b.en_buf_f.out[4]"
|
||||
= "b.b.en_buf_f.out[0]" "b.b.en_buf_f.out[3]"
|
||||
= "b.b.en_buf_f.out[0]" "b.b.en_buf_f.out[2]"
|
||||
= "b.b.en_buf_f.out[0]" "b.b.en_buf_f.out[1]"
|
||||
= "b.b.en_buf_f.out[0]" "b.b.en_buf_f.buf2.y"
|
||||
= "b.b.en_buf_f.in" "b.b.en_buf_f.buf2.a"
|
||||
"b.b.en_buf_t.buf2.a"->"b.b.en_buf_t.buf2._y"-
|
||||
~("b.b.en_buf_t.buf2.a")->"b.b.en_buf_t.buf2._y"+
|
||||
"b.b.en_buf_t.buf2._y"->"b.b.en_buf_t.buf2.y"-
|
||||
~("b.b.en_buf_t.buf2._y")->"b.b.en_buf_t.buf2.y"+
|
||||
= "b.b.en_buf_t.supply.vdd" "b.b.en_buf_t.buf2.vdd"
|
||||
= "b.b.en_buf_t.supply.vss" "b.b.en_buf_t.buf2.vss"
|
||||
= "b.b.en_buf_t.out[0]" "b.b.en_buf_t.out[4]"
|
||||
= "b.b.en_buf_t.out[0]" "b.b.en_buf_t.out[3]"
|
||||
= "b.b.en_buf_t.out[0]" "b.b.en_buf_t.out[2]"
|
||||
= "b.b.en_buf_t.out[0]" "b.b.en_buf_t.out[1]"
|
||||
= "b.b.en_buf_t.out[0]" "b.b.en_buf_t.buf2.y"
|
||||
= "b.b.en_buf_t.in" "b.b.en_buf_t.buf2.a"
|
||||
= "b.b._out_a_B" "b.b.out_a_B_buf_t.in"
|
||||
= "b.b._out_a_B" "b.b.out_a_B_buf_f.in"
|
||||
= "b.b._out_a_B" "b.b.out_a_inv.y"
|
||||
= "b.b._reset_BXX[0]" "b.b.reset_bufarray.out[0]"
|
||||
= "b.b._reset_BXX[1]" "b.b.reset_bufarray.out[1]"
|
||||
= "b.b._reset_BXX[2]" "b.b.reset_bufarray.out[2]"
|
||||
= "b.b._reset_BXX[3]" "b.b.reset_bufarray.out[3]"
|
||||
= "b.b._reset_BXX[4]" "b.b.reset_bufarray.out[4]"
|
||||
= "b.b._reset_BXX[0]" "b.b.f_buf_func[4].sr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.f_buf_func[4].pr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.t_buf_func[4].sr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.t_buf_func[4].pr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.f_buf_func[3].sr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.f_buf_func[3].pr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.t_buf_func[3].sr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.t_buf_func[3].pr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.f_buf_func[2].sr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.f_buf_func[2].pr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.t_buf_func[2].sr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.t_buf_func[2].pr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.f_buf_func[1].sr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.f_buf_func[1].pr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.t_buf_func[1].sr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.t_buf_func[1].pr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.f_buf_func[0].sr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.f_buf_func[0].pr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.t_buf_func[0].sr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b.t_buf_func[0].pr_B"
|
||||
= "b.b._reset_BXX[0]" "b.b._reset_BXX[4]"
|
||||
= "b.b._reset_BXX[0]" "b.b._reset_BXX[3]"
|
||||
= "b.b._reset_BXX[0]" "b.b._reset_BXX[2]"
|
||||
= "b.b._reset_BXX[0]" "b.b._reset_BXX[1]"
|
||||
= "b.b._in_vX[0]" "b.b.in_v_bufN.out[0]"
|
||||
= "b.b._in_vX[1]" "b.b.in_v_bufN.out[1]"
|
||||
= "b.b._in_vX[2]" "b.b.in_v_bufN.out[2]"
|
||||
= "b.b._in_vX[3]" "b.b.in_v_bufN.out[3]"
|
||||
= "b.b._in_vX[4]" "b.b.in_v_bufN.out[4]"
|
||||
= "b.b._in_vX[0]" "b.b.t_buf_func[4].n2"
|
||||
= "b.b._in_vX[0]" "b.b.f_buf_func[4].n2"
|
||||
= "b.b._in_vX[0]" "b.b.t_buf_func[3].n2"
|
||||
= "b.b._in_vX[0]" "b.b.f_buf_func[3].n2"
|
||||
= "b.b._in_vX[0]" "b.b.t_buf_func[2].n2"
|
||||
= "b.b._in_vX[0]" "b.b.f_buf_func[2].n2"
|
||||
= "b.b._in_vX[0]" "b.b.t_buf_func[1].n2"
|
||||
= "b.b._in_vX[0]" "b.b.f_buf_func[1].n2"
|
||||
= "b.b._in_vX[0]" "b.b.t_buf_func[0].n2"
|
||||
= "b.b._in_vX[0]" "b.b.f_buf_func[0].n2"
|
||||
= "b.b._in_vX[0]" "b.b._in_vX[4]"
|
||||
= "b.b._in_vX[0]" "b.b._in_vX[3]"
|
||||
= "b.b._in_vX[0]" "b.b._in_vX[2]"
|
||||
= "b.b._in_vX[0]" "b.b._in_vX[1]"
|
||||
"b.b.in_v_bufN.buf2.a"->"b.b.in_v_bufN.buf2._y"-
|
||||
~("b.b.in_v_bufN.buf2.a")->"b.b.in_v_bufN.buf2._y"+
|
||||
"b.b.in_v_bufN.buf2._y"->"b.b.in_v_bufN.buf2.y"-
|
||||
~("b.b.in_v_bufN.buf2._y")->"b.b.in_v_bufN.buf2.y"+
|
||||
= "b.b.in_v_bufN.supply.vdd" "b.b.in_v_bufN.buf2.vdd"
|
||||
= "b.b.in_v_bufN.supply.vss" "b.b.in_v_bufN.buf2.vss"
|
||||
= "b.b.in_v_bufN.out[0]" "b.b.in_v_bufN.out[4]"
|
||||
= "b.b.in_v_bufN.out[0]" "b.b.in_v_bufN.out[3]"
|
||||
= "b.b.in_v_bufN.out[0]" "b.b.in_v_bufN.out[2]"
|
||||
= "b.b.in_v_bufN.out[0]" "b.b.in_v_bufN.out[1]"
|
||||
= "b.b.in_v_bufN.out[0]" "b.b.in_v_bufN.buf2.y"
|
||||
= "b.b.in_v_bufN.in" "b.b.in_v_bufN.buf2.a"
|
||||
~"b.b.t_buf_func[0].c1"&~"b.b.t_buf_func[0].c2"|~"b.b.t_buf_func[0].pr_B"->"b.b.t_buf_func[0]._y"+
|
||||
"b.b.t_buf_func[0].c1"&"b.b.t_buf_func[0].c2"&"b.b.t_buf_func[0].n1"&"b.b.t_buf_func[0].n2"&"b.b.t_buf_func[0].sr_B"->"b.b.t_buf_func[0]._y"-
|
||||
"b.b.t_buf_func[0]._y"->"b.b.t_buf_func[0].y"-
|
||||
~("b.b.t_buf_func[0]._y")->"b.b.t_buf_func[0].y"+
|
||||
~"b.b.t_buf_func[1].c1"&~"b.b.t_buf_func[1].c2"|~"b.b.t_buf_func[1].pr_B"->"b.b.t_buf_func[1]._y"+
|
||||
"b.b.t_buf_func[1].c1"&"b.b.t_buf_func[1].c2"&"b.b.t_buf_func[1].n1"&"b.b.t_buf_func[1].n2"&"b.b.t_buf_func[1].sr_B"->"b.b.t_buf_func[1]._y"-
|
||||
"b.b.t_buf_func[1]._y"->"b.b.t_buf_func[1].y"-
|
||||
~("b.b.t_buf_func[1]._y")->"b.b.t_buf_func[1].y"+
|
||||
~"b.b.t_buf_func[2].c1"&~"b.b.t_buf_func[2].c2"|~"b.b.t_buf_func[2].pr_B"->"b.b.t_buf_func[2]._y"+
|
||||
"b.b.t_buf_func[2].c1"&"b.b.t_buf_func[2].c2"&"b.b.t_buf_func[2].n1"&"b.b.t_buf_func[2].n2"&"b.b.t_buf_func[2].sr_B"->"b.b.t_buf_func[2]._y"-
|
||||
"b.b.t_buf_func[2]._y"->"b.b.t_buf_func[2].y"-
|
||||
~("b.b.t_buf_func[2]._y")->"b.b.t_buf_func[2].y"+
|
||||
~"b.b.t_buf_func[3].c1"&~"b.b.t_buf_func[3].c2"|~"b.b.t_buf_func[3].pr_B"->"b.b.t_buf_func[3]._y"+
|
||||
"b.b.t_buf_func[3].c1"&"b.b.t_buf_func[3].c2"&"b.b.t_buf_func[3].n1"&"b.b.t_buf_func[3].n2"&"b.b.t_buf_func[3].sr_B"->"b.b.t_buf_func[3]._y"-
|
||||
"b.b.t_buf_func[3]._y"->"b.b.t_buf_func[3].y"-
|
||||
~("b.b.t_buf_func[3]._y")->"b.b.t_buf_func[3].y"+
|
||||
~"b.b.t_buf_func[4].c1"&~"b.b.t_buf_func[4].c2"|~"b.b.t_buf_func[4].pr_B"->"b.b.t_buf_func[4]._y"+
|
||||
"b.b.t_buf_func[4].c1"&"b.b.t_buf_func[4].c2"&"b.b.t_buf_func[4].n1"&"b.b.t_buf_func[4].n2"&"b.b.t_buf_func[4].sr_B"->"b.b.t_buf_func[4]._y"-
|
||||
"b.b.t_buf_func[4]._y"->"b.b.t_buf_func[4].y"-
|
||||
~("b.b.t_buf_func[4]._y")->"b.b.t_buf_func[4].y"+
|
||||
~"b.b.f_buf_func[0].c1"&~"b.b.f_buf_func[0].c2"|~"b.b.f_buf_func[0].pr_B"->"b.b.f_buf_func[0]._y"+
|
||||
"b.b.f_buf_func[0].c1"&"b.b.f_buf_func[0].c2"&"b.b.f_buf_func[0].n1"&"b.b.f_buf_func[0].n2"&"b.b.f_buf_func[0].sr_B"->"b.b.f_buf_func[0]._y"-
|
||||
"b.b.f_buf_func[0]._y"->"b.b.f_buf_func[0].y"-
|
||||
~("b.b.f_buf_func[0]._y")->"b.b.f_buf_func[0].y"+
|
||||
~"b.b.f_buf_func[1].c1"&~"b.b.f_buf_func[1].c2"|~"b.b.f_buf_func[1].pr_B"->"b.b.f_buf_func[1]._y"+
|
||||
"b.b.f_buf_func[1].c1"&"b.b.f_buf_func[1].c2"&"b.b.f_buf_func[1].n1"&"b.b.f_buf_func[1].n2"&"b.b.f_buf_func[1].sr_B"->"b.b.f_buf_func[1]._y"-
|
||||
"b.b.f_buf_func[1]._y"->"b.b.f_buf_func[1].y"-
|
||||
~("b.b.f_buf_func[1]._y")->"b.b.f_buf_func[1].y"+
|
||||
~"b.b.f_buf_func[2].c1"&~"b.b.f_buf_func[2].c2"|~"b.b.f_buf_func[2].pr_B"->"b.b.f_buf_func[2]._y"+
|
||||
"b.b.f_buf_func[2].c1"&"b.b.f_buf_func[2].c2"&"b.b.f_buf_func[2].n1"&"b.b.f_buf_func[2].n2"&"b.b.f_buf_func[2].sr_B"->"b.b.f_buf_func[2]._y"-
|
||||
"b.b.f_buf_func[2]._y"->"b.b.f_buf_func[2].y"-
|
||||
~("b.b.f_buf_func[2]._y")->"b.b.f_buf_func[2].y"+
|
||||
~"b.b.f_buf_func[3].c1"&~"b.b.f_buf_func[3].c2"|~"b.b.f_buf_func[3].pr_B"->"b.b.f_buf_func[3]._y"+
|
||||
"b.b.f_buf_func[3].c1"&"b.b.f_buf_func[3].c2"&"b.b.f_buf_func[3].n1"&"b.b.f_buf_func[3].n2"&"b.b.f_buf_func[3].sr_B"->"b.b.f_buf_func[3]._y"-
|
||||
"b.b.f_buf_func[3]._y"->"b.b.f_buf_func[3].y"-
|
||||
~("b.b.f_buf_func[3]._y")->"b.b.f_buf_func[3].y"+
|
||||
~"b.b.f_buf_func[4].c1"&~"b.b.f_buf_func[4].c2"|~"b.b.f_buf_func[4].pr_B"->"b.b.f_buf_func[4]._y"+
|
||||
"b.b.f_buf_func[4].c1"&"b.b.f_buf_func[4].c2"&"b.b.f_buf_func[4].n1"&"b.b.f_buf_func[4].n2"&"b.b.f_buf_func[4].sr_B"->"b.b.f_buf_func[4]._y"-
|
||||
"b.b.f_buf_func[4]._y"->"b.b.f_buf_func[4].y"-
|
||||
~("b.b.f_buf_func[4]._y")->"b.b.f_buf_func[4].y"+
|
||||
= "b.b._en_X_t[0]" "b.b.en_buf_t.out[0]"
|
||||
= "b.b._en_X_t[1]" "b.b.en_buf_t.out[1]"
|
||||
= "b.b._en_X_t[2]" "b.b.en_buf_t.out[2]"
|
||||
= "b.b._en_X_t[3]" "b.b.en_buf_t.out[3]"
|
||||
= "b.b._en_X_t[4]" "b.b.en_buf_t.out[4]"
|
||||
= "b.b._en_X_t[0]" "b.b.t_buf_func[4].c1"
|
||||
= "b.b._en_X_t[0]" "b.b.t_buf_func[3].c1"
|
||||
= "b.b._en_X_t[0]" "b.b.t_buf_func[2].c1"
|
||||
= "b.b._en_X_t[0]" "b.b.t_buf_func[1].c1"
|
||||
= "b.b._en_X_t[0]" "b.b.t_buf_func[0].c1"
|
||||
= "b.b._en_X_t[0]" "b.b._en_X_t[4]"
|
||||
= "b.b._en_X_t[0]" "b.b._en_X_t[3]"
|
||||
= "b.b._en_X_t[0]" "b.b._en_X_t[2]"
|
||||
= "b.b._en_X_t[0]" "b.b._en_X_t[1]"
|
||||
= "Vdd" "b.b.supply.vdd"
|
||||
= "GND" "b.b.supply.vss"
|
||||
= "b._reset_B" "b.b.reset_B"
|
||||
= "b.out.d.d[0].d[0]" "b.out.d.d[0].f"
|
||||
= "b.out.d.d[0].d[1]" "b.out.d.d[0].t"
|
||||
= "b.out.d.d[1].d[0]" "b.out.d.d[1].f"
|
||||
= "b.out.d.d[1].d[1]" "b.out.d.d[1].t"
|
||||
= "b.out.d.d[2].d[0]" "b.out.d.d[2].f"
|
||||
= "b.out.d.d[2].d[1]" "b.out.d.d[2].t"
|
||||
= "b.out.d.d[3].d[0]" "b.out.d.d[3].f"
|
||||
= "b.out.d.d[3].d[1]" "b.out.d.d[3].t"
|
||||
= "b.out.d.d[4].d[0]" "b.out.d.d[4].f"
|
||||
= "b.out.d.d[4].d[1]" "b.out.d.d[4].t"
|
||||
= "b.out.d.d[4].d[0]" "b.out.d.d[4].f"
|
||||
= "b.out.d.d[4].d[1]" "b.out.d.d[4].t"
|
||||
= "b.out.d.d[3].d[0]" "b.out.d.d[3].f"
|
||||
= "b.out.d.d[3].d[1]" "b.out.d.d[3].t"
|
||||
= "b.out.d.d[2].d[0]" "b.out.d.d[2].f"
|
||||
= "b.out.d.d[2].d[1]" "b.out.d.d[2].t"
|
||||
= "b.out.d.d[1].d[0]" "b.out.d.d[1].f"
|
||||
= "b.out.d.d[1].d[1]" "b.out.d.d[1].t"
|
||||
= "b.out.d.d[0].d[0]" "b.out.d.d[0].f"
|
||||
= "b.out.d.d[0].d[1]" "b.out.d.d[0].t"
|
||||
= "b.out.d.d[4].d[0]" "b.out.d.d[4].f"
|
||||
= "b.out.d.d[4].d[1]" "b.out.d.d[4].t"
|
||||
= "b.out.d.d[3].d[0]" "b.out.d.d[3].f"
|
||||
= "b.out.d.d[3].d[1]" "b.out.d.d[3].t"
|
||||
= "b.out.d.d[2].d[0]" "b.out.d.d[2].f"
|
||||
= "b.out.d.d[2].d[1]" "b.out.d.d[2].t"
|
||||
= "b.out.d.d[1].d[0]" "b.out.d.d[1].f"
|
||||
= "b.out.d.d[1].d[1]" "b.out.d.d[1].t"
|
||||
= "b.out.d.d[0].d[0]" "b.out.d.d[0].f"
|
||||
= "b.out.d.d[0].d[1]" "b.out.d.d[0].t"
|
||||
= "b.out.v" "b.b.out.v"
|
||||
= "b.out.a" "b.b.out.a"
|
||||
= "b.out.d.d[0].f" "b.b.out.d.d[0].f"
|
||||
= "b.out.d.d[0].t" "b.b.out.d.d[0].t"
|
||||
= "b.out.d.d[0].d[0]" "b.b.out.d.d[0].d[0]"
|
||||
= "b.out.d.d[0].d[1]" "b.b.out.d.d[0].d[1]"
|
||||
= "b.out.d.d[1].f" "b.b.out.d.d[1].f"
|
||||
= "b.out.d.d[1].t" "b.b.out.d.d[1].t"
|
||||
= "b.out.d.d[1].d[0]" "b.b.out.d.d[1].d[0]"
|
||||
= "b.out.d.d[1].d[1]" "b.b.out.d.d[1].d[1]"
|
||||
= "b.out.d.d[2].f" "b.b.out.d.d[2].f"
|
||||
= "b.out.d.d[2].t" "b.b.out.d.d[2].t"
|
||||
= "b.out.d.d[2].d[0]" "b.b.out.d.d[2].d[0]"
|
||||
= "b.out.d.d[2].d[1]" "b.b.out.d.d[2].d[1]"
|
||||
= "b.out.d.d[3].f" "b.b.out.d.d[3].f"
|
||||
= "b.out.d.d[3].t" "b.b.out.d.d[3].t"
|
||||
= "b.out.d.d[3].d[0]" "b.b.out.d.d[3].d[0]"
|
||||
= "b.out.d.d[3].d[1]" "b.b.out.d.d[3].d[1]"
|
||||
= "b.out.d.d[4].f" "b.b.out.d.d[4].f"
|
||||
= "b.out.d.d[4].t" "b.b.out.d.d[4].t"
|
||||
= "b.out.d.d[4].d[0]" "b.b.out.d.d[4].d[0]"
|
||||
= "b.out.d.d[4].d[1]" "b.b.out.d.d[4].d[1]"
|
||||
= "b.out.d.d[4].d[0]" "b.out.d.d[4].f"
|
||||
= "b.out.d.d[4].d[1]" "b.out.d.d[4].t"
|
||||
= "b.out.d.d[3].d[0]" "b.out.d.d[3].f"
|
||||
= "b.out.d.d[3].d[1]" "b.out.d.d[3].t"
|
||||
= "b.out.d.d[2].d[0]" "b.out.d.d[2].f"
|
||||
= "b.out.d.d[2].d[1]" "b.out.d.d[2].t"
|
||||
= "b.out.d.d[1].d[0]" "b.out.d.d[1].f"
|
||||
= "b.out.d.d[1].d[1]" "b.out.d.d[1].t"
|
||||
= "b.out.d.d[0].d[0]" "b.out.d.d[0].f"
|
||||
= "b.out.d.d[0].d[1]" "b.out.d.d[0].t"
|
||||
= "b.in.d.d[0].d[0]" "b.in.d.d[0].f"
|
||||
= "b.in.d.d[0].d[1]" "b.in.d.d[0].t"
|
||||
= "b.in.d.d[1].d[0]" "b.in.d.d[1].f"
|
||||
= "b.in.d.d[1].d[1]" "b.in.d.d[1].t"
|
||||
= "b.in.d.d[2].d[0]" "b.in.d.d[2].f"
|
||||
= "b.in.d.d[2].d[1]" "b.in.d.d[2].t"
|
||||
= "b.in.d.d[3].d[0]" "b.in.d.d[3].f"
|
||||
= "b.in.d.d[3].d[1]" "b.in.d.d[3].t"
|
||||
= "b.in.d.d[4].d[0]" "b.in.d.d[4].f"
|
||||
= "b.in.d.d[4].d[1]" "b.in.d.d[4].t"
|
||||
= "b.in.d.d[4].d[0]" "b.in.d.d[4].f"
|
||||
= "b.in.d.d[4].d[1]" "b.in.d.d[4].t"
|
||||
= "b.in.d.d[3].d[0]" "b.in.d.d[3].f"
|
||||
= "b.in.d.d[3].d[1]" "b.in.d.d[3].t"
|
||||
= "b.in.d.d[2].d[0]" "b.in.d.d[2].f"
|
||||
= "b.in.d.d[2].d[1]" "b.in.d.d[2].t"
|
||||
= "b.in.d.d[1].d[0]" "b.in.d.d[1].f"
|
||||
= "b.in.d.d[1].d[1]" "b.in.d.d[1].t"
|
||||
= "b.in.d.d[0].d[0]" "b.in.d.d[0].f"
|
||||
= "b.in.d.d[0].d[1]" "b.in.d.d[0].t"
|
||||
= "b.in.d.d[4].d[0]" "b.in.d.d[4].f"
|
||||
= "b.in.d.d[4].d[1]" "b.in.d.d[4].t"
|
||||
= "b.in.d.d[3].d[0]" "b.in.d.d[3].f"
|
||||
= "b.in.d.d[3].d[1]" "b.in.d.d[3].t"
|
||||
= "b.in.d.d[2].d[0]" "b.in.d.d[2].f"
|
||||
= "b.in.d.d[2].d[1]" "b.in.d.d[2].t"
|
||||
= "b.in.d.d[1].d[0]" "b.in.d.d[1].f"
|
||||
= "b.in.d.d[1].d[1]" "b.in.d.d[1].t"
|
||||
= "b.in.d.d[0].d[0]" "b.in.d.d[0].f"
|
||||
= "b.in.d.d[0].d[1]" "b.in.d.d[0].t"
|
||||
= "b.in.v" "b.b.in.v"
|
||||
= "b.in.a" "b.b.in.a"
|
||||
= "b.in.d.d[0].f" "b.b.in.d.d[0].f"
|
||||
= "b.in.d.d[0].t" "b.b.in.d.d[0].t"
|
||||
= "b.in.d.d[0].d[0]" "b.b.in.d.d[0].d[0]"
|
||||
= "b.in.d.d[0].d[1]" "b.b.in.d.d[0].d[1]"
|
||||
= "b.in.d.d[1].f" "b.b.in.d.d[1].f"
|
||||
= "b.in.d.d[1].t" "b.b.in.d.d[1].t"
|
||||
= "b.in.d.d[1].d[0]" "b.b.in.d.d[1].d[0]"
|
||||
= "b.in.d.d[1].d[1]" "b.b.in.d.d[1].d[1]"
|
||||
= "b.in.d.d[2].f" "b.b.in.d.d[2].f"
|
||||
= "b.in.d.d[2].t" "b.b.in.d.d[2].t"
|
||||
= "b.in.d.d[2].d[0]" "b.b.in.d.d[2].d[0]"
|
||||
= "b.in.d.d[2].d[1]" "b.b.in.d.d[2].d[1]"
|
||||
= "b.in.d.d[3].f" "b.b.in.d.d[3].f"
|
||||
= "b.in.d.d[3].t" "b.b.in.d.d[3].t"
|
||||
= "b.in.d.d[3].d[0]" "b.b.in.d.d[3].d[0]"
|
||||
= "b.in.d.d[3].d[1]" "b.b.in.d.d[3].d[1]"
|
||||
= "b.in.d.d[4].f" "b.b.in.d.d[4].f"
|
||||
= "b.in.d.d[4].t" "b.b.in.d.d[4].t"
|
||||
= "b.in.d.d[4].d[0]" "b.b.in.d.d[4].d[0]"
|
||||
= "b.in.d.d[4].d[1]" "b.b.in.d.d[4].d[1]"
|
||||
= "b.in.d.d[4].d[0]" "b.in.d.d[4].f"
|
||||
= "b.in.d.d[4].d[1]" "b.in.d.d[4].t"
|
||||
= "b.in.d.d[3].d[0]" "b.in.d.d[3].f"
|
||||
= "b.in.d.d[3].d[1]" "b.in.d.d[3].t"
|
||||
= "b.in.d.d[2].d[0]" "b.in.d.d[2].f"
|
||||
= "b.in.d.d[2].d[1]" "b.in.d.d[2].t"
|
||||
= "b.in.d.d[1].d[0]" "b.in.d.d[1].f"
|
||||
= "b.in.d.d[1].d[1]" "b.in.d.d[1].t"
|
||||
= "b.in.d.d[0].d[0]" "b.in.d.d[0].f"
|
||||
= "b.in.d.d[0].d[1]" "b.in.d.d[0].t"
|
47
test/unit_tests/buf_s_5/test.act
Normal file
47
test/unit_tests/buf_s_5/test.act
Normal file
@ -0,0 +1,47 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* 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 buffer_s_5(avMx1of2<5> in; avMx1of2<5> out)
|
||||
|
||||
{
|
||||
bool _reset_B;
|
||||
prs {
|
||||
Reset => _reset_B-
|
||||
}
|
||||
buffer_s<5> b(.in = in, .out = out);
|
||||
b.supply.vdd = Vdd;
|
||||
b.supply.vss = GND;
|
||||
b.reset_B = _reset_B;
|
||||
}
|
||||
|
||||
buffer_s_5 b;
|
66
test/unit_tests/buf_s_5/test.prsim
Normal file
66
test/unit_tests/buf_s_5/test.prsim
Normal file
@ -0,0 +1,66 @@
|
||||
watchall
|
||||
|
||||
set-qdi-channel-neutral "b.in" 5
|
||||
set b.out.a 0
|
||||
set b.out.v 0
|
||||
# set b.in.a 1
|
||||
# set b.in.v 1
|
||||
set Reset 0
|
||||
|
||||
# Set output channel variables to all active (incorrect)
|
||||
set b.out.d.d[0].t 1
|
||||
set b.out.d.d[0].f 1
|
||||
set b.out.d.d[1].t 1
|
||||
set b.out.d.d[1].f 1
|
||||
set b.out.d.d[2].t 1
|
||||
set b.out.d.d[2].f 1
|
||||
set b.out.d.d[3].t 1
|
||||
set b.out.d.d[3].f 1
|
||||
set b.out.d.d[4].t 1
|
||||
set b.out.d.d[4].f 1
|
||||
|
||||
cycle
|
||||
|
||||
system "echo '[] set Reset 1'"
|
||||
set Reset 1
|
||||
cycle
|
||||
|
||||
system "echo '[] set Reset 0'"
|
||||
set Reset 0
|
||||
mode run
|
||||
cycle
|
||||
|
||||
assert-qdi-channel-neutral "b.out" 5
|
||||
|
||||
system "echo '[] Reset finished, setting some inputs.'"
|
||||
status X
|
||||
|
||||
|
||||
set b.in.d.d[0].t 1
|
||||
set b.in.d.d[1].t 1
|
||||
set b.in.d.d[2].f 1
|
||||
set b.in.d.d[3].f 1
|
||||
|
||||
cycle
|
||||
|
||||
system "echo '[] Setting final input'"
|
||||
|
||||
set b.in.d.d[4].t 1
|
||||
cycle
|
||||
|
||||
system "echo '[] Receiving out val'"
|
||||
|
||||
set b.out.v 1
|
||||
cycle
|
||||
|
||||
assert b.in.a 1
|
||||
|
||||
system "echo '[] Removing input'"
|
||||
set-qdi-channel-neutral "b.in" 5
|
||||
cycle
|
||||
|
||||
system "echo '[] Receiving out ack'"
|
||||
set b.out.a 1
|
||||
cycle
|
||||
|
||||
assert-qdi-channel-neutral "b.out" 5
|
Reference in New Issue
Block a user