• 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
        • Lint
        • Mlib
          • Scopestack
          • Filtering-by-name
          • Vl-namefactory
          • Substitution
          • Allexprs
          • Hid-tools
          • Vl-consteval
          • Range-tools
          • Lvalexprs
          • Hierarchy
          • Finding-by-name
          • Expr-tools
          • Expr-slicing
          • Stripping-functions
          • Stmt-tools
          • Modnamespace
          • Vl-parse-expr-from-str
          • Welltyped
          • Reordering-by-name
          • Flat-warnings
          • Genblob
            • Vl-genblob
            • Vl-genblob->module
            • Vl-genblob->elems
            • Vl-module->genblob
            • Vl-sort-genelements
          • Expr-building
          • Datatype-tools
          • Syscalls
          • Relocate
          • Expr-cleaning
          • Namemangle
          • Caremask
          • Port-tools
          • Lvalues
        • Server
        • Kit
        • Printer
        • Esim-vl
        • Well-formedness
      • Sv
      • Fgl
      • Vwsim
      • Vl
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Math
    • Testing-utilities
  • Mlib

Genblob

An abstraction that is useful for processing generate constructs.

The VL syntax representation for generate blocks is a relatively complicated mutual recursion; see vl-genelement.

In some cases you may not care about the particulars of generate statements. For instance, say you just wanted to collect up the names of all the modules that are being instantiated by a module. In this case, you don't care whether the modules are instantiated inside of generate blocks or not. But because of the elaborate mutual recursion, properly supporting generate blocks is a hassle.

BOZO document def-genblob-transform and explain this stuff.

Subtopics

Vl-genblob
A collection of module elements (see vl-modelement), generates, and ports.
Vl-genblob->module
Install fields from a vl-genblob into a module.
Vl-genblob->elems
Vl-module->genblob
Convert most of a module into a vl-genblob.
Vl-sort-genelements
Sort a vl-genelementlist-p to create a vl-genblob.