Modifying constructor for vl-module structures.
(change-vl-module x [:name <name>] [:params <params>] [:imports <imports>] [:ports <ports>] [:portdecls <portdecls>] [:vardecls <vardecls>] [:paramdecls <paramdecls>] [:fundecls <fundecls>] [:taskdecls <taskdecls>] [:assigns <assigns>] [:aliases <aliases>] [:modinsts <modinsts>] [:gateinsts <gateinsts>] [:alwayses <alwayses>] [:initials <initials>] [:genvars <genvars>] [:generates <generates>] [:atts <atts>] [:minloc <minloc>] [:maxloc <maxloc>] [:origname <origname>] [:warnings <warnings>] [:comments <comments>] [:loaditems <loaditems>] [:esim <esim>])
This is an often useful alternative to make-vl-module.
We construct a new vl-module structure that is a copy of
This is an ordinary
Macro:
(defmacro change-vl-module (x &rest args) (std::change-aggregate 'vl-module x args '((:name . vl-module->name) (:params . vl-module->params) (:imports . vl-module->imports) (:ports . vl-module->ports) (:portdecls . vl-module->portdecls) (:vardecls . vl-module->vardecls) (:paramdecls . vl-module->paramdecls) (:fundecls . vl-module->fundecls) (:taskdecls . vl-module->taskdecls) (:assigns . vl-module->assigns) (:aliases . vl-module->aliases) (:modinsts . vl-module->modinsts) (:gateinsts . vl-module->gateinsts) (:alwayses . vl-module->alwayses) (:initials . vl-module->initials) (:genvars . vl-module->genvars) (:generates . vl-module->generates) (:atts . vl-module->atts) (:minloc . vl-module->minloc) (:maxloc . vl-module->maxloc) (:origname . vl-module->origname) (:warnings . vl-module->warnings) (:comments . vl-module->comments) (:loaditems . vl-module->loaditems) (:esim . vl-module->esim)) 'change-vl-module 'remake-vl-module))