Skip to content

retiming: add some more docs#3417

Closed
oharboe wants to merge 1 commit into
The-OpenROAD-Project:masterfrom
Pinata-Consulting:synth-retiming-docs
Closed

retiming: add some more docs#3417
oharboe wants to merge 1 commit into
The-OpenROAD-Project:masterfrom
Pinata-Consulting:synth-retiming-docs

Conversation

@oharboe

@oharboe oharboe commented Aug 21, 2025

Copy link
Copy Markdown
Collaborator

No description provided.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
@oharboe oharboe requested a review from maliberty August 21, 2025 05:54
@maliberty maliberty requested a review from povik August 21, 2025 06:59

Architectural or manual retiming, as opposed to automatic retiming, is
usually preferred, because LEC(Logic Equivalence Check) will not work
together with automatic retiming.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no reason LEC cannot be done with automatic retiming, it's just more challenging.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I think these docs should stick strictly to what to expect from the current retiming implementation and not try to give any context about what retiming is.


The main use-case for automatic retiming is to quickly identify if
performance is left on the table and can be gained with architectural
retiming. Architectural retiming also has the advantage that it can change

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Architectural retiming also has the advantage that it can change the semantics of the RTL code limited only by not breaking the application, hence retiming can't estimate this performance potential.

It took me a second to understand this sentence. I think it's better left out.

Architectural retiming can also consider placement and routing, whereas automatic retiming only considers information available at synthesis time.

Fwiw one could implement retiming more aware of physical effects.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes: delete any drivel that I may have added :-)

At first I thought I had an example of physical effects being important for retiming, but when I removed the synchronous reset from the pipelining registers in the multiplier, the correlation between synthesis and global route was much stronger, so I don't have an example use-case where taking physical effects into account would be important.

@oharboe

oharboe commented Aug 22, 2025

Copy link
Copy Markdown
Collaborator Author

@maliberty @povik Closing for now.

@povik Can you add some well chosen words after investigations and conclusions?

@oharboe oharboe closed this Aug 22, 2025
@povik povik self-assigned this Aug 22, 2025
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.

2 participants