started token buffer and token fifo. conmtinued arbiter tb
This commit is contained in:
@@ -1,36 +1,58 @@
|
||||
t.in1.r t.in2.r t.out.r t.a.arbiter._y1 t.a.arbiter._y2 t.out.a t.in1.a t.a._y1_arb t.a._y2_arb t.in2.a t.a.or_cell._y t.a.ack_cell1._y t.a.ack_cell2._y
|
||||
[0] code starts
|
||||
0 t.in1.r : 0
|
||||
0 t.out.a : 0
|
||||
0 t.in2.r : 0
|
||||
1 t.a.arbiter._y1 : 1 [by t.in1.r:=0]
|
||||
7092 t.a.arbiter._y2 : 1 [by t.in2.r:=0]
|
||||
7094 t.a._y2_arb : 0 [by t.a.arbiter._y2:=1]
|
||||
10468 t.a._y1_arb : 0 [by t.a.arbiter._y1:=1]
|
||||
15221 t.a.ack_cell1._y : 1 [by t.a._y1_arb:=0]
|
||||
16358 t.in1.a : 0 [by t.a.ack_cell1._y:=1]
|
||||
t.out.r t.a._y2_arb t.in2.a t.a.or_cell._y t.a.ack_cell2._y
|
||||
[0] reset done
|
||||
16358 t.in1.r : 1
|
||||
WARNING: weak-interference `t.a._y1_arb'
|
||||
>> cause: t.a.arbiter._y1 (val: 0)
|
||||
>> time: 16472
|
||||
16472 t.a.arbiter._y1 : 0 [by t.in1.r:=1]
|
||||
81838 t.a._y1_arb : X [by t.a.arbiter._y1:=0]
|
||||
WRONG ASSERT: "t.out.r" has value X and not 1.
|
||||
81838 t.out.a : 1
|
||||
WARNING: weak-interference `t.in1.a'
|
||||
>> cause: t.a.ack_cell1._y (val: X)
|
||||
>> time: 83564
|
||||
83564 t.a.ack_cell1._y : X [by t.out.a:=1]
|
||||
83603 t.in1.a : X [by t.a.ack_cell1._y:=X]
|
||||
WRONG ASSERT: "t.in1.a" has value X and not 1.
|
||||
[1] test in1 done
|
||||
10582 t.a.or_cell._y : 1 [by t.a._y1_arb:=0]
|
||||
11605 t.a.ack_cell1._y : 1 [by t.a._y1_arb:=0]
|
||||
11847 t.a.ack_cell2._y : 1 [by t.a._y2_arb:=0]
|
||||
11886 t.in2.a : 0 [by t.a.ack_cell2._y:=1]
|
||||
13331 t.in1.a : 0 [by t.a.ack_cell1._y:=1]
|
||||
75948 t.out.r : 0 [by t.a.or_cell._y:=1]
|
||||
|
||||
[1] reset done
|
||||
----------------------------------------------------------------------------------------------------
|
||||
75948 t.in1.r : 1
|
||||
75963 t.a.arbiter._y1 : 0 [by t.in1.r:=1]
|
||||
76454 t.a._y1_arb : 1 [by t.a.arbiter._y1:=0]
|
||||
76467 t.a.or_cell._y : 0 [by t.a._y1_arb:=1]
|
||||
76507 t.out.r : 1 [by t.a.or_cell._y:=0]
|
||||
76507 t.out.a : 1
|
||||
76922 t.a.ack_cell1._y : 0 [by t.out.a:=1]
|
||||
76942 t.in1.a : 1 [by t.a.ack_cell1._y:=0]
|
||||
[2] test in1 done
|
||||
----------------------------------------------------------------------------------------------------
|
||||
76942 t.in1.r : 0
|
||||
83003 t.a.arbiter._y1 : 1 [by t.in1.r:=0]
|
||||
83050 t.a._y1_arb : 0 [by t.a.arbiter._y1:=1]
|
||||
83066 t.a.or_cell._y : 1 [by t.a._y1_arb:=0]
|
||||
127164 t.out.r : 0 [by t.a.or_cell._y:=1]
|
||||
127164 t.out.a : 0
|
||||
140888 t.a.ack_cell1._y : 1 [by t.out.a:=0]
|
||||
140892 t.in1.a : 0 [by t.a.ack_cell1._y:=1]
|
||||
[3] reset done
|
||||
----------------------------------------------------------------------------------------------------
|
||||
140892 t.in2.r : 1
|
||||
150021 t.a.arbiter._y2 : 0 [by t.in2.r:=1]
|
||||
150036 t.a._y2_arb : 1 [by t.a.arbiter._y2:=0]
|
||||
193284 t.a.or_cell._y : 0 [by t.a._y2_arb:=1]
|
||||
230215 t.out.r : 1 [by t.a.or_cell._y:=0]
|
||||
230215 t.out.a : 1
|
||||
230270 t.a.ack_cell2._y : 0 [by t.out.a:=1]
|
||||
281923 t.in2.a : 1 [by t.a.ack_cell2._y:=0]
|
||||
[4] test in2 done
|
||||
----------------------------------------------------------------------------------------------------
|
||||
281923 t.in2.r : 0
|
||||
311703 t.a.arbiter._y2 : 1 [by t.in2.r:=0]
|
||||
325552 t.a._y2_arb : 0 [by t.a.arbiter._y2:=1]
|
||||
350364 t.a.or_cell._y : 1 [by t.a._y2_arb:=0]
|
||||
364707 t.out.r : 0 [by t.a.or_cell._y:=1]
|
||||
364707 t.out.a : 0
|
||||
365129 t.a.ack_cell2._y : 1 [by t.out.a:=0]
|
||||
413843 t.in2.a : 0 [by t.a.ack_cell2._y:=1]
|
||||
[5] reset done
|
||||
----------------------------------------------------------------------------------------------------
|
||||
83603 t.in1.r : 0
|
||||
83603 t.out.a : 0
|
||||
83618 t.a.arbiter._y1 : 1 [by t.in1.r:=0]
|
||||
84109 t.a._y1_arb : 0 [by t.a.arbiter._y1:=1]
|
||||
84122 t.a.ack_cell1._y : 1 [by t.a._y1_arb:=0]
|
||||
84162 t.in1.a : 0 [by t.a.ack_cell1._y:=1]
|
||||
WRONG ASSERT: "t.out.r" has value X and not 0.
|
||||
WRONG ASSERT: "t.in2.a" has value X and not 0.
|
||||
[2] reset done
|
||||
|
Binary file not shown.
@@ -31,7 +31,7 @@
|
||||
~("t.a.arbiter._y1"|"t.a.arbiter.c")->"t.a.arbiter.y1"+
|
||||
"t.a.arbiter._y2"|"t.a.arbiter.d"->"t.a.arbiter.y2"-
|
||||
~("t.a.arbiter._y2"|"t.a.arbiter.d")->"t.a.arbiter.y2"+
|
||||
mk_excllo("t.a.arbiter.y1","t.a.arbiter.y2")
|
||||
mk_excllo("t.a.arbiter._y1","t.a.arbiter._y2")
|
||||
= "t.a._y1_arb" "t.a.arbiter.y1"
|
||||
= "t.a._y1_arb" "t.a.or_cell.a"
|
||||
= "t.a._y1_arb" "t.a.ack_cell1.c2"
|
||||
|
@@ -1,29 +1,42 @@
|
||||
watchall
|
||||
cycle
|
||||
system "echo '[0] code starts'"
|
||||
set t.in1.r 0
|
||||
set t.in2.r 0
|
||||
set t.out.a 0
|
||||
cycle
|
||||
status X
|
||||
mode run
|
||||
system "echo '[0] reset done'"
|
||||
|
||||
system "echo '[1] reset done'"
|
||||
system "echo '----------------------------------------------------------------------------------------------------'"
|
||||
set t.in1.r 1
|
||||
cycle
|
||||
assert t.out.r 1
|
||||
set t.out.a 1
|
||||
cycle
|
||||
assert t.in1.a 1
|
||||
system "echo '[1] test in1 done'"
|
||||
system "echo '[2] test in1 done'"
|
||||
system "echo '----------------------------------------------------------------------------------------------------'"
|
||||
set t.in1.r 0
|
||||
set t.in2.r 0
|
||||
cycle
|
||||
assert t.out.r 0
|
||||
set t.out.a 0
|
||||
cycle
|
||||
assert t.out.r 0
|
||||
assert t.in1.a 0
|
||||
system "echo '[3] reset done'"
|
||||
system "echo '----------------------------------------------------------------------------------------------------'"
|
||||
set t.in2.r 1
|
||||
cycle
|
||||
assert t.out.r 1
|
||||
set t.out.a 1
|
||||
cycle
|
||||
assert t.in2.a 1
|
||||
system "echo '[4] test in2 done'"
|
||||
system "echo '----------------------------------------------------------------------------------------------------'"
|
||||
set t.in2.r 0
|
||||
cycle
|
||||
assert t.out.r 0
|
||||
set t.out.a 0
|
||||
cycle
|
||||
assert t.in2.a 0
|
||||
system "echo '[2] reset done'"
|
||||
|
||||
|
||||
|
||||
system "echo '[5] reset done'"
|
||||
system "echo '----------------------------------------------------------------------------------------------------'"
|
||||
|
Reference in New Issue
Block a user