• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
      • Sv
      • Vwsim
      • Fgl
      • Vl
        • Syntax
        • Loader
        • Warnings
        • Getting-started
        • Utilities
        • Printer
        • Kit
        • Mlib
        • Transforms
          • Unparameterization
          • Elaborate
          • Addnames
          • Annotate
          • Clean-warnings
          • Eliminitial
            • Vl-modulelist-eliminitial
            • Vl-module-eliminitial
            • Vl-design-eliminitial
          • Custom-transform-hooks
          • Problem-modules
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Testing-utilities
    • Math
  • Transforms

Eliminitial

Throw away any initial statements and add non-fatal warnings to the affected modules.

Initial statements can be important for simulation, but are meaningless if we want to consider the post synthesis/build behavior of the actual part. Throwing them away, then, is basically reasonable for any back-end tool that wants to analyze the behavior of the synthesized modules.

This transform can be run at any time. Back in VL2014 it was important to run it somewhere before the old vl2014::always-top transform, since some always-block code was reluctant to process modules with initial statements. That probably doesn't matter anymore.

Subtopics

Vl-modulelist-eliminitial
(vl-modulelist-eliminitial x) maps vl-module-eliminitial across a list.
Vl-module-eliminitial
Vl-design-eliminitial
Top-level eliminitial transform.