• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Community
    • Proof-automation
    • ACL2
    • Macro-libraries
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
      • Sv
        • Svex-stvs
          • Svtv-data
            • Defsvtv$
            • Defcycle
            • Def-pipeline-thm
            • Def-svtv-data-export
              • Svtv-data-obj
            • Def-svtv-data-import
            • Svtv-name-lhs-map
            • Def-cycle-thm
            • Def-svtv-data-export/import
            • Defsvtv$-phasewise
          • Defsvtv$
          • Svtv-run
          • Defsvtv-phasewise
          • Svtv
          • Svtv-spec
          • Defsvtv
          • Process.lisp
          • Svtv-doc
          • Svtv-chase$
          • Svtv-versus-stv
          • Svtv-debug-fsm
          • Structure.lisp
          • Svtv-debug
          • Def-pipeline-thm
          • Expand.lisp
          • Def-cycle-thm
          • Svtv-utilities
          • Svtv-debug$
          • Defsvtv$-phasewise
        • 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
      • Fgl
      • Vwsim
      • Vl
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Math
    • Testing-utilities
  • Svtv-data

Def-svtv-data-export

Copy the contents of a svtv-data stobj into a constant.

Usage:

(def-svtv-data-export export-name
                      :stobj stobj-name)  ;; default: sv::svtv-data

This copies the contents of svtv-data (or another stobj congruent to it, if specified) into a constant and 0-ary function satisfying svtv-data-obj-p, and proves that the 0-ary function satisfies (svtv-data$ap (svtv-data-obj-to-stobj-logic (export))), i.e. if converted back to stobj form it still satisfies the svtv-data$ap invariant. This has important implications, e.g. see theorems such as cycle-fsm-validp-of-svtv-data-obj: if the data object has its cycle-fsm-validp and flatten-validp fields set, then the cycle-fsm field has a certain relationship to the phase-fsm field.

See also def-svtv-data-import which defines a function to put the exported object back into a stobj, and def-svtv-data-export/import which simply combines the two events.

Subtopics

Svtv-data-obj
A non-stobj representation of a svtv-data stobj, as produced by def-svtv-data-export.