Basic constructor macro for vl-simpconfig structures.
(make-vl-simpconfig [:compress-p <compress-p>]
[:problem-mods <problem-mods>]
[:already-annotated <already-annotated>]
[:unroll-limit <unroll-limit>]
[:sc-limit <sc-limit>]
[:elab-limit <elab-limit>]
[:uniquecase-conservative <uniquecase-conservative>]
[:uniquecase-constraints <uniquecase-constraints>]
[:enum-constraints <enum-constraints>]
[:enum-fixups <enum-fixups>]
[:sv-simplify <sv-simplify>]
[:sv-simplify-verbosep <sv-simplify-verbosep>]
[:sv-include-atts <sv-include-atts>]
[:nb-latch-delay-hack <nb-latch-delay-hack>]
[:name-without-default-params <name-without-default-params>]
[:unparam-bad-instance-fatalp <unparam-bad-instance-fatalp>]
[:defer-argresolve <defer-argresolve>]
[:suppress-fatal-warning-types <suppress-fatal-warning-types>]
[:user-paramsettings <user-paramsettings>]
[:user-paramsettings-mode <user-paramsettings-mode>]
[:pre-elab-topmods <pre-elab-topmods>]
[:pre-elab-filter <pre-elab-filter>]
[:post-elab-topmods <post-elab-topmods>]
[:post-elab-filter <post-elab-filter>]
[:allow-bad-topmods <allow-bad-topmods>])
This is the usual way to construct vl-simpconfig structures. It simply conses together a structure with the specified fields.
This macro generates a new vl-simpconfig structure from scratch. See also change-vl-simpconfig, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-vl-simpconfig (&rest args) (std::make-aggregate 'vl-simpconfig args '((:compress-p) (:problem-mods) (:already-annotated) (:unroll-limit . 1000) (:sc-limit . 1000) (:elab-limit . 10000) (:uniquecase-conservative . 0) (:uniquecase-constraints) (:enum-constraints) (:enum-fixups) (:sv-simplify . t) (:sv-simplify-verbosep) (:sv-include-atts) (:nb-latch-delay-hack) (:name-without-default-params) (:unparam-bad-instance-fatalp . t) (:defer-argresolve) (:suppress-fatal-warning-types) (:user-paramsettings) (:user-paramsettings-mode quote :default) (:pre-elab-topmods) (:pre-elab-filter . t) (:post-elab-topmods) (:post-elab-filter . t) (:allow-bad-topmods)) 'make-vl-simpconfig nil))
Function:
(defun vl-simpconfig (compress-p problem-mods already-annotated unroll-limit sc-limit elab-limit uniquecase-conservative uniquecase-constraints enum-constraints enum-fixups sv-simplify sv-simplify-verbosep sv-include-atts nb-latch-delay-hack name-without-default-params unparam-bad-instance-fatalp defer-argresolve suppress-fatal-warning-types user-paramsettings user-paramsettings-mode pre-elab-topmods pre-elab-filter post-elab-topmods post-elab-filter allow-bad-topmods) (declare (xargs :guard (and (booleanp compress-p) (string-listp problem-mods) (booleanp already-annotated) (natp unroll-limit) (natp sc-limit) (natp elab-limit) (natp uniquecase-conservative) (booleanp uniquecase-constraints) (booleanp sv-simplify) (booleanp sv-simplify-verbosep) (string-listp sv-include-atts) (booleanp nb-latch-delay-hack) (booleanp name-without-default-params) (booleanp unparam-bad-instance-fatalp) (booleanp defer-argresolve) (symbol-listp suppress-fatal-warning-types) (vl-user-paramsettings-p user-paramsettings) (vl-user-paramsettings-mode-p user-paramsettings-mode) (string-listp pre-elab-topmods) (booleanp pre-elab-filter) (string-listp post-elab-topmods) (booleanp post-elab-filter) (booleanp allow-bad-topmods)))) (declare (xargs :guard t)) (let ((__function__ 'vl-simpconfig)) (declare (ignorable __function__)) (b* ((compress-p (mbe :logic (acl2::bool-fix compress-p) :exec compress-p)) (problem-mods (mbe :logic (string-list-fix problem-mods) :exec problem-mods)) (already-annotated (mbe :logic (acl2::bool-fix already-annotated) :exec already-annotated)) (unroll-limit (mbe :logic (nfix unroll-limit) :exec unroll-limit)) (sc-limit (mbe :logic (nfix sc-limit) :exec sc-limit)) (elab-limit (mbe :logic (nfix elab-limit) :exec elab-limit)) (uniquecase-conservative (mbe :logic (nfix uniquecase-conservative) :exec uniquecase-conservative)) (uniquecase-constraints (mbe :logic (acl2::bool-fix uniquecase-constraints) :exec uniquecase-constraints)) (sv-simplify (mbe :logic (acl2::bool-fix sv-simplify) :exec sv-simplify)) (sv-simplify-verbosep (mbe :logic (acl2::bool-fix sv-simplify-verbosep) :exec sv-simplify-verbosep)) (sv-include-atts (mbe :logic (string-list-fix sv-include-atts) :exec sv-include-atts)) (nb-latch-delay-hack (mbe :logic (acl2::bool-fix nb-latch-delay-hack) :exec nb-latch-delay-hack)) (name-without-default-params (mbe :logic (acl2::bool-fix name-without-default-params) :exec name-without-default-params)) (unparam-bad-instance-fatalp (mbe :logic (acl2::bool-fix unparam-bad-instance-fatalp) :exec unparam-bad-instance-fatalp)) (defer-argresolve (mbe :logic (acl2::bool-fix defer-argresolve) :exec defer-argresolve)) (suppress-fatal-warning-types (mbe :logic (acl2::symbol-list-fix suppress-fatal-warning-types) :exec suppress-fatal-warning-types)) (user-paramsettings (mbe :logic (vl-user-paramsettings-fix user-paramsettings) :exec user-paramsettings)) (user-paramsettings-mode (mbe :logic (vl-user-paramsettings-mode-fix user-paramsettings-mode) :exec user-paramsettings-mode)) (pre-elab-topmods (mbe :logic (string-list-fix pre-elab-topmods) :exec pre-elab-topmods)) (pre-elab-filter (mbe :logic (acl2::bool-fix pre-elab-filter) :exec pre-elab-filter)) (post-elab-topmods (mbe :logic (string-list-fix post-elab-topmods) :exec post-elab-topmods)) (post-elab-filter (mbe :logic (acl2::bool-fix post-elab-filter) :exec post-elab-filter)) (allow-bad-topmods (mbe :logic (acl2::bool-fix allow-bad-topmods) :exec allow-bad-topmods))) (cons :vl-simpconfig (list compress-p problem-mods already-annotated unroll-limit sc-limit elab-limit uniquecase-conservative uniquecase-constraints enum-constraints enum-fixups sv-simplify sv-simplify-verbosep sv-include-atts nb-latch-delay-hack name-without-default-params unparam-bad-instance-fatalp defer-argresolve suppress-fatal-warning-types user-paramsettings user-paramsettings-mode pre-elab-topmods pre-elab-filter post-elab-topmods post-elab-filter allow-bad-topmods)))))