Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions tests/fpga-debugging/axi-stream-s2/expects/s2_buggy.bi.expect
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,5 @@ error: [recv@411?] executing step 1 of the transaction: 1 != 0
50 │ assert_eq(DUT.M_AXIS_TLAST, is_last);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [recv@411?] executing step 1 of the transaction: 1 != 0


error: [recv_aborted_by_reset@411?] executing step 1 of the transaction: 1 != 0
┌─ tests/fpga-debugging/axi-stream-s2/s2.prot:83:7
83 │ assert_eq(DUT.M_AXIS_TLAST, is_last);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [recv_aborted_by_reset@411?] executing step 1 of the transaction: 1 != 0

---CODE---
1
2 changes: 0 additions & 2 deletions tests/fpga-debugging/axi-stream-s2/expects/s2_fixed.bi.expect
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,4 @@ trace {
recv(4, 15, 0, 0); // [time: 937.5ns -> 962.5ns]
recv(5, 15, 0, 0); // [time: 962.5ns -> 987.5ns]
recv(6, 15, 0, 0); // [time: 987.5ns -> 1012.5ns]
recv_aborted_by_reset(7, 15, 0, 2); // [time: 1012.5ns -> 1087.5ns]
reset(); // [time: 1087.5ns -> 1087.5ns]
}
35 changes: 0 additions & 35 deletions tests/fpga-debugging/axi-stream-s2/s2.prot
Original file line number Diff line number Diff line change
Expand Up @@ -55,38 +55,3 @@ prot recv<DUT: AXISManager>(data: u32, strb: u4, is_last: u1, backpressure: uint
step();
}

// Models a receive that never makes it to the end.
// This is a special version of the normal receive in order to represent what it happening
// at the end of the "fixed" trace. It is unclear what the AXIS spec has to say on this, but it seems
// a bit like an unintentional behavior on the test bench's side.
prot recv_aborted_by_reset<DUT: AXISManager>(data: u32, strb: u4, is_last: u1, backpressure: uint) {
// no reset during transaction
DUT.M_AXIS_ARESETN := 1'b1;

// wait until sender sets data to valid, before that applying backpressure is OK but meaningless
while (!(DUT.M_AXIS_TVALID == 1'b1)) {
step();
}

// now check data that is being sent
assert_eq(DUT.M_AXIS_TDATA, data);
assert_eq(DUT.M_AXIS_TSTRB, strb);
assert_eq(DUT.M_AXIS_TLAST, is_last);

// we apply n cycles of backpressure, during these, the valid signal and the data may not change
DUT.M_AXIS_TREADY := 1'b0;
repeat backpressure iterations {
step();
assert_eq(DUT.M_AXIS_TVALID, 1'b1);
assert_eq(DUT.M_AXIS_TDATA, data);
assert_eq(DUT.M_AXIS_TSTRB, strb);
assert_eq(DUT.M_AXIS_TLAST, is_last);
}

// instead of being accepted, the transaction is canceled by reset
DUT.M_AXIS_ARESETN := 1'b0;
step();
}



Binary file modified tests/fpga-debugging/axi-stream-s2/s2_buggy.fst
Binary file not shown.
Binary file modified tests/fpga-debugging/axi-stream-s2/s2_fixed.fst
Binary file not shown.
Loading
Loading