calyx
calyx copied to clipboard
[Profiling] Use TDCC group's `go` to infer first state's start time
This PR contains small revisions to profiling:
- We now show a summary for each group before showing the complete information.
- We now use the corresponding TDCC group's
go
signal in order to infer when the FSM is technically "starting".
To describe a bit more about (2) - I previously had a bug where read
from language-tutorial-iterate.futil
was "active" for ~60 cycles (when it should only be active for 16). This was because read
corresponds to the 0th state of the FSM of the par arm containing read
, write
, and upd
, and the 0th state corresponds to both the first group and a reset state. To fix this, I used the go
signal for the TDCC group that manages the FSM to figure out when the first group is active.