93 lines
1.6 KiB
Markdown
93 lines
1.6 KiB
Markdown
# Dissecting the failing trace
|
|
|
|
N.B. The value of a node `n` is given by `Cat(n.payload.channel, ~n.valid)`
|
|
|
|
## Cycle \#0 (MATCH)
|
|
|
|
Events: N/A
|
|
|
|
Values:
|
|
|
|
- node0 value: `0010`
|
|
- node0 valid: `1`
|
|
- node0 channel: `010`
|
|
- node0 sequence: `00`
|
|
- node1 value: `0000`
|
|
- node1 valid: `1`
|
|
- node1 channel: `000`
|
|
- node1 sequence: `00`
|
|
- node2 value: `0001`
|
|
- node2 valid: `1`
|
|
- node2 channel: `001`
|
|
- node2 sequence: `11`
|
|
- node3 value: `0000`
|
|
- node3 valid: `1`
|
|
- node3 channel: `000`
|
|
- node3 sequence: `01`
|
|
|
|
To compare:
|
|
|
|
- node0 and node1
|
|
- node2 and node3
|
|
|
|
## Cycle \#1 (MATCH)
|
|
|
|
Events: N/A
|
|
|
|
Values:
|
|
|
|
- node0 value: `0000`
|
|
- node0 valid: `1`
|
|
- node0 channel: `000`
|
|
- node0 sequence: `00`
|
|
- node1 value: `0010`
|
|
- node1 valid: `1`
|
|
- node1 channel: `010`
|
|
- node1 sequence: `00`
|
|
- node2 value: `0000`
|
|
- node2 valid: `1`
|
|
- node2 channel: `000`
|
|
- node2 sequence: `01`
|
|
- node3 value: `0001`
|
|
- node3 valid: `1`
|
|
- node3 channel: `001`
|
|
- node3 sequence: `11`
|
|
|
|
To compare:
|
|
|
|
- node0 and node2
|
|
- node1 and node3
|
|
|
|
## Cycle \#2 (NOMATCH - see trace for diff)
|
|
|
|
Events:
|
|
|
|
- A replacement occurred when comparing node0 and node2
|
|
|
|
Values:
|
|
|
|
- node0 value: `0000`
|
|
- node0 valid: `1`
|
|
- node0 channel: `000`
|
|
- node0 sequence: `01`
|
|
- node1 value: `0001`
|
|
- node1 valid: `1`
|
|
- node1 channel: `001`
|
|
- node1 sequence: `11`
|
|
- node2 value: `1000`
|
|
- node2 valid: `0`
|
|
- node2 channel: `000`
|
|
- node2 sequence: `00`
|
|
- node3 value: `0010`
|
|
- node3 valid: `1`
|
|
- node3 channel: `010`
|
|
- node3 sequence: `00`
|
|
|
|
To compare:
|
|
|
|
- node1 and node2
|
|
|
|
# Cycle \#3
|
|
|
|
TODO: fill this in after figuring out why my prediction for Cycle \#2 fails to match generated trace
|