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

Add Optimization Barriers #4763

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from

Commits on Nov 20, 2024

  1. kernel: define $barrier cell

    * This acts as an optimization barrier, limiting the rewriting allowed
    * For now this forbids all optimization, but attributes can be added to
      opt in to specific optimizations as required
    georgerennie committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    bdc9783 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    70646da View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    88816cc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6b3901e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ab293d6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    cbe86af View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    73ba5da View commit details
    Browse the repository at this point in the history
  8. flatten: add -barriers flag

    * This uses $barrier optimization barriers to connect wires into the
      flattened module instead of connections
    georgerennie committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    c352f71 View commit details
    Browse the repository at this point in the history
  9. optbarriers: add command to add/remove optimization barriers

    * This can optionally ignore rewriting the outputs of cells or processes
    * This by default rewrites drivers of wires with public names but can
      also optionally rewrite drivers of wires with private names
    * A -remove flag allows cleaning up the design by replacing barriers
      with connections
    georgerennie committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    c6e8fb2 View commit details
    Browse the repository at this point in the history
  10. prep: add -barriers flag

    * This uses optbarriers and flatten -barriers to insert barriers on
      public wires in the design, limiting the optimization that can affect
      them
    georgerennie committed Nov 20, 2024
    Configuration menu
    Copy the full SHA
    33d5138 View commit details
    Browse the repository at this point in the history