• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
        • Symbolic-test-vectors
        • Esim-primitives
        • E-conversion
          • Vl-ealist-p
          • Modinsts-to-eoccs
          • Vl-module-make-esim
          • Exploding-vectors
          • Resolving-multiple-drivers
          • Vl-modulelist-make-esims
          • Vl-module-check-e-ok
          • Vl-collect-design-wires
          • Adding-z-drivers
          • Vl-design-to-e
          • Vl-design-to-e-check-ports
          • Vl-design-to-e-main
            • Port-bit-checking
          • Esim-steps
          • Patterns
          • Mod-internal-paths
          • Defmodules
          • Esim-simplify-update-fns
          • Esim-tutorial
          • Esim-vl
        • Vl2014
        • Sv
        • Vwsim
        • Fgl
        • Vl
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Testing-utilities
      • Math
    • E-conversion

    Vl-design-to-e-main

    Signature
    (vl-design-to-e-main x) → new-x
    Arguments
    x — Guard (vl-design-p x).
    Returns
    new-x — Type (vl-design-p new-x).

    Definitions and Theorems

    Function: vl-design-to-e-main

    (defun
         vl-design-to-e-main (x)
         (declare (xargs :guard (vl-design-p x)))
         (let ((__function__ 'vl-design-to-e-main))
              (declare (ignorable __function__))
              (b* (((vl-design x) (vl-design-fix x))
                   (mods x.mods)
                   (modalist (vl-modalist mods))
                   ((mv mods eal)
                    (vl-modulelist-make-esims mods mods modalist nil)))
                  (fast-alist-free eal)
                  (fast-alist-free modalist)
                  (clear-memoize-table 'vl-make-n-bit-res-module)
                  (clear-memoize-table 'vl-portdecls-to-i/o)
                  (clear-memoize-table 'vl-portlist-msb-bit-pattern)
                  (clear-memoize-table 'vl-module-wirealist)
                  (change-vl-design x :mods mods))))

    Theorem: vl-design-p-of-vl-design-to-e-main

    (defthm vl-design-p-of-vl-design-to-e-main
            (b* ((new-x (vl-design-to-e-main x)))
                (vl-design-p new-x))
            :rule-classes :rewrite)