Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DO NOT MERGE: wrapped operators synthesis flow #2629

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

povik
Copy link
Contributor

@povik povik commented Dec 18, 2024

This is a synthesis flow which

  • preserves arithmetic operator boundaries (boundaries of what Yosys considers an $alu and $macc cell)
  • generates alternative architectures for those preserved operators, and exports those as uninstantiated modules in the final netlist

It's gated on the NEW_OPERATOR_SYNTHESIS option which I left undocumented. This option will only work once Yosys is bumped to 0.48 (pending in #2620)

Load whiteboxes with functional and timing description of cells where
available.

Signed-off-by: Martin Povišer <[email protected]>
Copy link
Collaborator

@oharboe oharboe left a comment

Choose a reason for hiding this comment

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

can we avoid copy and paste by having a single synthesize_check proc that covers this new use-case too?

if {![env_var_exists_and_non_empty NEW_OPERATOR_SYNTHESIS]} {
synthesize_check $::env(SYNTH_FULL_ARGS)
} else {
source $::env(SCRIPTS_DIR)/synth_wrap_operators.tcl
Copy link
Collaborator

Choose a reason for hiding this comment

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

why not move into synthesize_check?

@povik povik marked this pull request as draft December 19, 2024 12:03
@povik
Copy link
Contributor Author

povik commented Dec 19, 2024

can we avoid copy and paste by having a single synthesize_check proc that covers this new use-case too?

I guess we can. I was in a hurry to put together a working prototype. After finishing #2552 I will return to this and see about cleaning it up.

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