• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
      • Sv
        • Svex-stvs
        • Svex-decomposition-methodology
        • Sv-versus-esim
        • Svex-decomp
        • Svex-compose-dfs
        • Svex-compilation
        • Moddb
        • Svmods
        • Svstmt
        • Sv-tutorial
        • Expressions
        • Symbolic-test-vector
        • Vl-to-svex
          • Vl-to-sv
          • Vl-design->sv-design
            • Vl-simpconfig
              • Vl-simpconfig-p
              • Make-vl-simpconfig
                • Vl-simpconfig-fix
                • Change-vl-simpconfig
                • Vl-simpconfig-equiv
                • Vl-simpconfig->suppress-fatal-warning-types
                • Vl-simpconfig->user-paramsettings-mode
                • Vl-simpconfig->unparam-bad-instance-fatalp
                • Vl-simpconfig->name-without-default-params
                • Vl-simpconfig->user-paramsettings
                • Vl-simpconfig->uniquecase-constraints
                • Vl-simpconfig->uniquecase-conservative
                • Vl-simpconfig->sv-simplify-verbosep
                • Vl-simpconfig->post-elab-topmods
                • Vl-simpconfig->nb-latch-delay-hack
                • Vl-simpconfig->sv-include-atts
                • Vl-simpconfig->pre-elab-topmods
                • Vl-simpconfig->pre-elab-filter
                • Vl-simpconfig->post-elab-filter
                • Vl-simpconfig->defer-argresolve
                • Vl-simpconfig->already-annotated
                • Vl-simpconfig->allow-bad-topmods
                • Vl-simpconfig->unroll-limit
                • Vl-simpconfig->sv-simplify
                • Vl-simpconfig->problem-mods
                • Vl-simpconfig->compress-p
                • Vl-simpconfig->sc-limit
                • Vl-simpconfig->elab-limit
                • Vl-simpconfig->enum-constraints
                • Vl-simpconfig->enum-fixups
              • Vl-hierarchy-sv-translation
              • Vl-expr-svex-translation
              • Vl-design->svex-modalist
              • Vl-svstmt
            • Vl-to-sv-main
            • Vl-simplify-sv
            • Vl-user-paramsettings->unparam-names
            • Vl-user-paramsettings->modnames
        • Fgl
        • Vwsim
        • Vl
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Math
      • Testing-utilities
    • Vl-simpconfig

    Make-vl-simpconfig

    Basic constructor macro for vl-simpconfig structures.

    Syntax
    (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.

    Definition

    This is an ordinary make- macro introduced by defprod.

    Macro: make-vl-simpconfig

    (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: vl-simpconfig

    (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)))))