rtio-nmigen/traces/0/NOTES.md

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