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 Clash.Annotations.SynthesisAttributes.markDebug (plus an unfortunate amount of baggage) #2547

Merged
merged 9 commits into from
Jul 19, 2023

Commits on Jul 19, 2023

  1. Prettify VHDL block rendering

    Before:
    
        block
          ...
          attribute str_attr of my_signal : signal is "foo";begin
          ...
        end block;
    
    After:
    
        block
          ...
          attribute str_attr of my_signal : signal is "foo";
        begin
          ...
        end block;
    martijnbastiaan committed Jul 19, 2023
    Configuration menu
    Copy the full SHA
    52167f0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f92a2dc View commit details
    Browse the repository at this point in the history
  3. Render bool as boolean

    The former is not a VHDL attribute type
    martijnbastiaan committed Jul 19, 2023
    Configuration menu
    Copy the full SHA
    e53f6bf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    91ea608 View commit details
    Browse the repository at this point in the history
  5. Simplify coreToAttrs / coreToAttr

     * Use TemplateHaskellQuotes where possible
     * Use more sensible argument names + add comment
     * Use string interpolation
    martijnbastiaan committed Jul 19, 2023
    Configuration menu
    Copy the full SHA
    2b87324 View commit details
    Browse the repository at this point in the history
  6. Generalize string type in Attr

    Allows `clash-prelude` and `clash-lib` to share the type, as well as
    allow `Attr` to be used in combination with `TermLiteral`.
    martijnbastiaan committed Jul 19, 2023
    Configuration menu
    Copy the full SHA
    9c71b0e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    b2c906e View commit details
    Browse the repository at this point in the history
  8. Add Clash.Annotations.SynthesisAttributes.annotate

    Add a term-level way of adding annotations to signals. This is more
    reliable than type level annotations, as it is guaranteed to survive
    optimizations and type alias erasure.
    martijnbastiaan committed Jul 19, 2023
    Configuration menu
    Copy the full SHA
    d332ee0 View commit details
    Browse the repository at this point in the history
  9. Add Clash.Annotations.SynthesisAttributes.markDebug

    Add a term level way of marking a signal as "debug". This instructs
    synthesizers to leave a signal alone, even after optimizations.
    martijnbastiaan committed Jul 19, 2023
    Configuration menu
    Copy the full SHA
    9257f74 View commit details
    Browse the repository at this point in the history