• 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
          • Scopestack
          • Hid-tools
          • Filtering-by-name
          • Vl-interface-mocktype
          • Stripping-functions
          • Genblob
            • Vl-genblob
            • Vl-sort-genelements
            • Vl-genblob->interface
            • Vl-genblob->module
            • Vl-genblob->elems
            • Vl-interface->genblob
            • Vl-genblob->package
            • Vl-module->genblob
            • Vl-genblob->class
            • Vl-package->genblob
            • Vl-class->genblob
            • Vl-genelementlist->defaultdisables
            • Vl-genelementlist->properties
            • Vl-genelementlist->paramdecls
            • Vl-genelementlist->fwdtypedefs
            • Vl-genelementlist->dpiimports
            • Vl-genelementlist->dpiexports
            • Vl-genelementlist->covergroups
            • Vl-genelementlist->cassertions
            • Vl-genelementlist->assertions
            • Vl-genelementlist->vardecls
            • Vl-genelementlist->typedefs
            • Vl-genelementlist->taskdecls
            • Vl-genelementlist->sequences
            • Vl-genelementlist->portdecls
            • Vl-genelementlist->modports
            • Vl-genelementlist->modinsts
            • Vl-genelementlist->letdecls
            • Vl-genelementlist->initials
            • Vl-genelementlist->imports
            • Vl-genelementlist->genvars
            • Vl-genelementlist->generates
            • Vl-genelementlist->gclkdecls
            • Vl-genelementlist->gateinsts
            • Vl-genelementlist->fundecls
            • Vl-genelementlist->elabtasks
            • Vl-genelementlist->clkdecls
            • Vl-genelementlist->assigns
            • Vl-genelementlist->alwayses
            • Vl-genelementlist->finals
            • Vl-genelementlist->classes
            • Vl-genelementlist->binds
            • Vl-genelementlist->aliases
            • Vl-genblock->genblob
            • Vl-scopetype-p
          • Expr-tools
          • Extract-vl-types
          • Hierarchy
          • Range-tools
          • Finding-by-name
          • Stmt-tools
          • Modnamespace
          • Flat-warnings
          • Reordering-by-name
          • Datatype-tools
          • Syscalls
          • Allexprs
          • Lvalues
          • Port-tools
        • Transforms
      • 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-sort-genelements
Sort a vl-genelementlist-p to create a vl-genblob.
Vl-genblob->interface
Install fields from a vl-genblob into a interface.
Vl-genblob->module
Install fields from a vl-genblob into a module.
Vl-genblob->elems
Vl-interface->genblob
Convert most of a interface into a vl-genblob.
Vl-genblob->package
Install fields from a vl-genblob into a package.
Vl-module->genblob
Convert most of a module into a vl-genblob.
Vl-genblob->class
Install fields from a vl-genblob into a class.
Vl-package->genblob
Convert most of a package into a vl-genblob.
Vl-class->genblob
Convert most of a class into a vl-genblob.
Vl-genelementlist->defaultdisables
Vl-genelementlist->properties
Vl-genelementlist->paramdecls
Vl-genelementlist->fwdtypedefs
Vl-genelementlist->dpiimports
Vl-genelementlist->dpiexports
Vl-genelementlist->covergroups
Vl-genelementlist->cassertions
Vl-genelementlist->assertions
Vl-genelementlist->vardecls
Vl-genelementlist->typedefs
Vl-genelementlist->taskdecls
Vl-genelementlist->sequences
Vl-genelementlist->portdecls
Vl-genelementlist->modports
Vl-genelementlist->modinsts
Vl-genelementlist->letdecls
Vl-genelementlist->initials
Vl-genelementlist->imports
Vl-genelementlist->genvars
Vl-genelementlist->generates
Vl-genelementlist->gclkdecls
Vl-genelementlist->gateinsts
Vl-genelementlist->fundecls
Vl-genelementlist->elabtasks
Vl-genelementlist->clkdecls
Vl-genelementlist->assigns
Vl-genelementlist->alwayses
Vl-genelementlist->finals
Vl-genelementlist->classes
Vl-genelementlist->binds
Vl-genelementlist->aliases
Vl-genblock->genblob
Convert a vl-genblock into a vl-genblob.
Vl-scopetype-p