Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
File diff suppressed because one or more lines are too long
BIN
test/unit_tests/register_wrw/run/prsim.pdf
Normal file
BIN
test/unit_tests/register_wrw/run/prsim.pdf
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -1,18 +1,31 @@
|
||||
#watchall
|
||||
watchall
|
||||
system "echo '[0] start test'"
|
||||
system "echo '----------------------------------------------------------'"
|
||||
|
||||
set-qdi-channel-neutral "t.in" 5
|
||||
set-qdi-channel-neutral "t.out" 4
|
||||
set t.data[0].d[0] 0
|
||||
set t.data[0].d[1] 0
|
||||
set t.data[1].d[0] 0
|
||||
set t.data[1].d[1] 0
|
||||
set t.dly_cfg[0] 1
|
||||
set t.dly_cfg[1] 1
|
||||
set t.out.a 0
|
||||
set Reset 0
|
||||
set t.out.v 0
|
||||
cycle
|
||||
#set t.registers._in_write.a 0
|
||||
set Reset 0
|
||||
set t.dly_cfg[0] 1
|
||||
set t.dly_cfg[1] 1
|
||||
cycle
|
||||
status X
|
||||
mode run
|
||||
assert-qdi-channel-neutral "t.in" 5
|
||||
assert-qdi-channel-neutral "t.out" 4
|
||||
# There shouldnt be any status X
|
||||
status X
|
||||
#mode run
|
||||
cycle
|
||||
|
||||
assert-qdi-channel-neutral "t.out" 4
|
||||
assert t.data[0].d[0] 0
|
||||
assert t.data[0].d[1] 0
|
||||
assert t.data[1].d[0] 0
|
||||
@ -22,28 +35,52 @@ system "echo '[1] reset completed'"
|
||||
system "echo '----------------------------------------------------------'"
|
||||
|
||||
# Set delay config lines
|
||||
set t.dly_cfg[0] 1
|
||||
set t.dly_cfg[1] 1
|
||||
|
||||
cycle
|
||||
system "echo '[2] delay line set'"
|
||||
system "echo '----------------------------------------------------------'"
|
||||
|
||||
|
||||
set-qdi-channel-valid "t.in" 5 3
|
||||
# 3 -> 00011 -> writing mode, address 00, word 11
|
||||
cycle
|
||||
assert-qdi-channel-valid "t.registers._in_write" 4 3
|
||||
assert t.registers._clock 0
|
||||
assert t.registers._out_encoder[0] 1
|
||||
assert t.registers._out_encoder[1] 0
|
||||
assert t.registers._out_encoder[2] 0
|
||||
assert t.registers._out_encoder[3] 0
|
||||
cycle
|
||||
assert t.in.a 1
|
||||
assert-qdi-channel-neutral "t.out" 4
|
||||
set-qdi-channel-neutral "t.in" 5
|
||||
cycle
|
||||
assert t.registers._clock 1
|
||||
assert t.registers.ff_t[0].q 1
|
||||
assert t.registers.ff_t[1].q 1
|
||||
assert t.registers.ff[0].q 1
|
||||
assert t.registers.ff[1].q 1
|
||||
assert t.registers.ff[2].q 0
|
||||
assert t.registers.ff[3].q 0
|
||||
assert t.registers.ff[4].q 0
|
||||
assert t.registers.ff[5].q 0
|
||||
assert t.registers.ff[6].q 0
|
||||
assert t.registers.ff[7].q 0
|
||||
|
||||
system "echo '[3] first writing done'"
|
||||
system "echo '----------------------------------------------------------'"
|
||||
|
||||
set-qdi-channel-valid "t.in" 5 16
|
||||
# 16 -> 10000 -> reading mode, address 00, word 00 (word doesnt needed here)
|
||||
cycle
|
||||
assert t.registers._clock_temp_inv 1
|
||||
assert-qdi-channel-valid "t.out" 4 3
|
||||
set t.out.v 1
|
||||
cycle
|
||||
set t.out.a 1
|
||||
assert t.registers._clock_temp_inv 1
|
||||
cycle
|
||||
assert t.in.a 1
|
||||
set-qdi-channel-neutral "t.in" 5
|
||||
assert t.registers._clock_temp_inv 1
|
||||
cycle
|
||||
assert t.registers._clock_temp_inv 1
|
||||
assert t.registers.ff[0].q 1
|
||||
assert t.registers.ff[1].q 1
|
||||
assert t.registers.ff[2].q 0
|
||||
assert t.registers.ff[3].q 0
|
||||
assert-qdi-channel-neutral "t.out" 4
|
||||
system "echo '[4] reading done'"
|
||||
system "echo '----------------------------------------------------------'"
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user