• 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-count
              • Vl-genblob-p
              • Vl-genblob-fix
              • Make-vl-genblob
              • Change-vl-genblob
                • Vl-genblob-equiv
                • Vl-genblob->fwdtypedefs
                • Vl-genblob->vardecls
                • Vl-genblob->typedefs
                • Vl-genblob->taskdecls
                • Vl-genblob->portdecls
                • Vl-genblob->paramdecls
                • Vl-genblob->modports
                • Vl-genblob->modinsts
                • Vl-genblob->initials
                • Vl-genblob->generates
                • Vl-genblob->gateinsts
                • Vl-genblob->fundecls
                • Vl-genblob->ports
                • Vl-genblob->name
                • Vl-genblob->imports
                • Vl-genblob->ifports
                • Vl-genblob->genvars
                • Vl-genblob->assigns
                • Vl-genblob->alwayses
                • Vl-genblob->aliases
              • 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
    • Vl-genblob

    Change-vl-genblob

    Modifying constructor for vl-genblob structures.

    Syntax
    (change-vl-genblob x 
                       [:portdecls <portdecls>] 
                       [:assigns <assigns>] 
                       [:aliases <aliases>] 
                       [:vardecls <vardecls>] 
                       [:paramdecls <paramdecls>] 
                       [:fundecls <fundecls>] 
                       [:taskdecls <taskdecls>] 
                       [:modinsts <modinsts>] 
                       [:gateinsts <gateinsts>] 
                       [:alwayses <alwayses>] 
                       [:initials <initials>] 
                       [:typedefs <typedefs>] 
                       [:imports <imports>] 
                       [:fwdtypedefs <fwdtypedefs>] 
                       [:modports <modports>] 
                       [:genvars <genvars>] 
                       [:generates <generates>] 
                       [:ports <ports>] 
                       [:name <name>]) 
    

    This is an often useful alternative to make-vl-genblob.

    We construct a new vl-genblob structure that is a copy of x, except that you can explicitly change some particular fields. Any fields you don't mention just keep their values from x.

    Definition

    This is an ordinary change- macro introduced by defprod.

    Macro: change-vl-genblob

    (defmacro change-vl-genblob (x &rest args)
      (std::change-aggregate 'vl-genblob
                             x args
                             '((:portdecls . vl-genblob->portdecls)
                               (:assigns . vl-genblob->assigns)
                               (:aliases . vl-genblob->aliases)
                               (:vardecls . vl-genblob->vardecls)
                               (:paramdecls . vl-genblob->paramdecls)
                               (:fundecls . vl-genblob->fundecls)
                               (:taskdecls . vl-genblob->taskdecls)
                               (:modinsts . vl-genblob->modinsts)
                               (:gateinsts . vl-genblob->gateinsts)
                               (:alwayses . vl-genblob->alwayses)
                               (:initials . vl-genblob->initials)
                               (:typedefs . vl-genblob->typedefs)
                               (:imports . vl-genblob->imports)
                               (:fwdtypedefs . vl-genblob->fwdtypedefs)
                               (:modports . vl-genblob->modports)
                               (:genvars . vl-genblob->genvars)
                               (:generates . vl-genblob->generates)
                               (:ports . vl-genblob->ports)
                               (:name . vl-genblob->name))
                             'change-vl-genblob
                             'remake-vl-genblob))