Skip to content

feat(pathgraph): add traverse_registers option to TimingGraph#5

Merged
KelvinChung2000 merged 3 commits into
masterfrom
feat/register-traversal
Jun 9, 2026
Merged

feat(pathgraph): add traverse_registers option to TimingGraph#5
KelvinChung2000 merged 3 commits into
masterfrom
feat/register-traversal

Conversation

@KelvinChung2000

Copy link
Copy Markdown
Collaborator

SDF models a register's clock-to-output arc as an IOPATH only, so a pure delay graph dead-ends at every flop data pin. With traverse_registers=True, each SETUP/SETUPHOLD timing check adds a data-to-clock edge carrying the check's setup time, modelling the forward cost of crossing the register boundary (data stable setup-before-clock, then propagation continues through the clock-to-output IOPATH). HOLD checks add no edge: hold is a minimum-arrival constraint with typically negative values that must not enter path delay sums.

SDF models a register's clock-to-output arc as an IOPATH only, so a pure
delay graph dead-ends at every flop data pin. With traverse_registers=True,
each SETUP/SETUPHOLD timing check adds a data-to-clock edge carrying the
check's setup time, modelling the forward cost of crossing the register
boundary (data stable setup-before-clock, then propagation continues
through the clock-to-output IOPATH). HOLD checks add no edge: hold is a
minimum-arrival constraint with typically negative values that must not
enter path delay sums.
@KelvinChung2000 KelvinChung2000 merged commit 6b2802a into master Jun 9, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant