• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
      • Sv
      • Fgl
      • Vwsim
      • Vl
        • Syntax
        • Loader
        • Warnings
        • Getting-started
        • Utilities
        • Printer
        • Kit
        • Mlib
        • Transforms
          • Unparameterization
          • Elaborate
          • Addnames
          • Annotate
            • Increment-elim
            • Make-implicit-wires
            • Basic-bind-elim
            • Argresolve
            • Basicsanity
            • Portdecl-sign
            • Enum-names
            • Port-resolve
            • Udp-elim
            • Vl-annotate-design
            • Vl-annotate-module
          • Clean-warnings
          • Eliminitial
          • Custom-transform-hooks
          • Problem-modules
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Math
    • Testing-utilities
  • Transforms

Annotate

Typically the first step after loading a design. Applies several basic, preliminary transforms to normalize the design and check it for well-formedness.

The vl-designs produced by VL's loader are not yet in a very finished or error-checked form. The function vl-annotate-design transforms such a ``raw'' design into something that is much more reasonable to work with. Typically it should be invoked immediately after loading as the first step in any VL-based tool.

Subtopics

Increment-elim
Split increment, decrement, and assignment operators out of expressions and into separate statements.
Make-implicit-wires
Create explicit declarations for implicit wires. This is generally the first step after parsing a design.
Basic-bind-elim
Handling of basic SystemVerilog bind constructs.
Argresolve
Converts named argument lists into plain argument lists, and annotates each plain argument with its direction.
Basicsanity
Basic sanity checking of various constructs.
Portdecl-sign
Fix up type (signedness) information between port and variable declarations.
Enum-names
Making sense of the names defined by enum types.
Port-resolve
Tricky post-parsing code to get all the ports straightened out.
Udp-elim
Eliminate user-defined primitives (UDPs), replacing them with equivalent modules.
Vl-annotate-design
Top level annotate transform.
Vl-annotate-module