• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
        • Warnings
        • Primitives
        • Use-set
        • Syntax
        • Getting-started
        • Utilities
        • Loader
        • Transforms
          • Expression-sizing
          • Occform
          • Oprewrite
          • Expand-functions
          • Delayredux
          • Unparameterization
          • Caseelim
          • Split
          • Selresolve
          • Weirdint-elim
          • Vl-delta
          • Replicate-insts
          • Rangeresolve
          • Propagate
          • Clean-selects
          • Clean-params
          • Blankargs
          • Inline-mods
          • Expr-simp
          • Trunc
          • Always-top
          • Gatesplit
          • Gate-elim
          • Expression-optimization
          • Elim-supplies
          • Wildelim
          • Drop-blankports
          • Clean-warnings
          • Addinstnames
          • Custom-transform-hooks
          • Annotate
            • Make-implicit-wires
            • Resolve-indexing
            • Origexprs
            • Argresolve
            • Portdecl-sign
            • Designwires
              • Vl-vardecllist-designwires
              • Vl-modulelist-designwires
              • Vl-module-designwires
              • Vl-vardecl-designwires
              • Vl-design-designwires
            • Udp-elim
            • Vl-annotate-design
          • Latchcode
          • Elim-unused-vars
          • Problem-modules
        • Lint
        • Mlib
        • Server
        • Kit
        • Printer
        • Esim-vl
        • Well-formedness
      • Sv
      • Fgl
      • Vwsim
      • Vl
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Math
    • Testing-utilities
  • Annotate

Designwires

Introduce VL_DESIGN_WIRE annotations that say which wires/regs were in the original Verilog modules.

This transform is ordinarily run very early in the transformation sequence by annotate. We simply extend every variable declaration with a VL_DESIGN_WIRE attribute. This attribute can later be used to distinguish between:

  • wires that are really present and visible in the design, and
  • wires that VL added in transforms like split and occform.

That is, when temporary wires are added to the module by subsequent VL transforms, they will not have this attribute. Hence, you can check for this attribute to tell whether a variable was in the original design.

Subtopics

Vl-vardecllist-designwires
(vl-vardecllist-designwires x) maps vl-vardecl-designwires across a list.
Vl-modulelist-designwires
(vl-modulelist-designwires x) maps vl-module-designwires across a list.
Vl-module-designwires
Add a VL_DESIGN_WIRE attribute to every net and reg declaration in a module.
Vl-vardecl-designwires
Add a VL_DESIGN_WIRE attribute to a vl-vardecl-p.
Vl-design-designwires