synapse handshake unit tests working
This commit is contained in:
153
test/unit_tests/decoder_2d_hs/test.prsim
Normal file
153
test/unit_tests/decoder_2d_hs/test.prsim
Normal file
@@ -0,0 +1,153 @@
|
||||
watchall
|
||||
|
||||
set e.out[0].a 0
|
||||
set e.out[1].a 0
|
||||
set e.out[2].a 0
|
||||
set e.out[3].a 0
|
||||
set e.out[4].a 0
|
||||
set e.out[5].a 0
|
||||
set e.out[6].a 0
|
||||
set e.out[7].a 0
|
||||
|
||||
set-qdi-channel-neutral "e.in" 3
|
||||
set Reset 1
|
||||
|
||||
cycle
|
||||
|
||||
mode run
|
||||
system "echo '[] Set reset 0'"
|
||||
status X
|
||||
set Reset 0
|
||||
cycle
|
||||
|
||||
system "echo '[] Sending in a 7 packet'"
|
||||
set-qdi-channel-valid "e.in" 3 7
|
||||
cycle
|
||||
assert e.out[0].r 0
|
||||
assert e.out[1].r 0
|
||||
assert e.out[2].r 0
|
||||
assert e.out[3].r 0
|
||||
assert e.out[4].r 0
|
||||
assert e.out[5].r 0
|
||||
assert e.out[6].r 0
|
||||
assert e.out[7].r 1
|
||||
assert e.in.a 1
|
||||
assert e.in.v 1
|
||||
|
||||
system "echo '[] Removing input'"
|
||||
set-qdi-channel-neutral "e.in" 3
|
||||
|
||||
|
||||
system "echo '[] Synapse [7] gives ack'"
|
||||
set e.out[7].a 1
|
||||
cycle
|
||||
assert e.out[0].r 0
|
||||
assert e.out[1].r 0
|
||||
assert e.out[2].r 0
|
||||
assert e.out[3].r 0
|
||||
assert e.out[4].r 0
|
||||
assert e.out[5].r 0
|
||||
assert e.out[6].r 0
|
||||
assert e.out[7].r 0
|
||||
assert e.in.a 0
|
||||
assert e.in.v 0
|
||||
assert e.out[0].a 0
|
||||
assert e.out[1].a 0
|
||||
assert e.out[2].a 0
|
||||
assert e.out[3].a 0
|
||||
assert e.out[4].a 0
|
||||
assert e.out[5].a 0
|
||||
assert e.out[6].a 0
|
||||
assert e.out[7].a 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
system "echo '[] Sending in a 5 packet'"
|
||||
set-qdi-channel-valid "e.in" 3 5
|
||||
cycle
|
||||
assert e.out[0].r 0
|
||||
assert e.out[1].r 0
|
||||
assert e.out[2].r 0
|
||||
assert e.out[3].r 0
|
||||
assert e.out[4].r 0
|
||||
assert e.out[5].r 1
|
||||
assert e.out[6].r 0
|
||||
assert e.out[7].r 0
|
||||
assert e.in.a 1
|
||||
assert e.in.v 1
|
||||
|
||||
system "echo '[] Removing input'"
|
||||
set-qdi-channel-neutral "e.in" 3
|
||||
|
||||
|
||||
system "echo '[] Synapse [5] gives ack'"
|
||||
set e.out[5].a 1
|
||||
cycle
|
||||
assert e.out[0].r 0
|
||||
assert e.out[1].r 0
|
||||
assert e.out[2].r 0
|
||||
assert e.out[3].r 0
|
||||
assert e.out[4].r 0
|
||||
assert e.out[5].r 0
|
||||
assert e.out[6].r 0
|
||||
assert e.out[7].r 0
|
||||
assert e.in.a 0
|
||||
assert e.in.v 0
|
||||
assert e.out[0].a 0
|
||||
assert e.out[1].a 0
|
||||
assert e.out[2].a 0
|
||||
assert e.out[3].a 0
|
||||
assert e.out[4].a 0
|
||||
assert e.out[5].a 0
|
||||
assert e.out[6].a 0
|
||||
assert e.out[7].a 0
|
||||
|
||||
|
||||
|
||||
system "echo '[] Sending in a 1 packet'"
|
||||
set-qdi-channel-valid "e.in" 3 1
|
||||
cycle
|
||||
assert e.out[0].r 0
|
||||
assert e.out[1].r 1
|
||||
assert e.out[2].r 0
|
||||
assert e.out[3].r 0
|
||||
assert e.out[4].r 0
|
||||
assert e.out[5].r 0
|
||||
assert e.out[6].r 0
|
||||
assert e.out[7].r 0
|
||||
assert e.in.a 1
|
||||
assert e.in.v 1
|
||||
|
||||
|
||||
system "echo '[] Synapse [5] gives ack'"
|
||||
set e.out[1].a 1
|
||||
cycle
|
||||
assert e.out[0].r 0
|
||||
assert e.out[1].r 0
|
||||
assert e.out[2].r 0
|
||||
assert e.out[3].r 0
|
||||
assert e.out[4].r 0
|
||||
assert e.out[5].r 0
|
||||
assert e.out[6].r 0
|
||||
assert e.out[7].r 0
|
||||
|
||||
assert e.out[0].a 0
|
||||
assert e.out[1].a 0
|
||||
assert e.out[2].a 0
|
||||
assert e.out[3].a 0
|
||||
assert e.out[4].a 0
|
||||
assert e.out[5].a 0
|
||||
assert e.out[6].a 0
|
||||
assert e.out[7].a 0
|
||||
|
||||
assert e.in.a 1
|
||||
assert e.in.v 1
|
||||
|
||||
system "echo '[] Removing input'"
|
||||
set-qdi-channel-neutral "e.in" 3
|
||||
cycle
|
||||
assert e.in.a 0
|
||||
assert e.in.v 0
|
||||
|
Reference in New Issue
Block a user