• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Debugging
    • Projects
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
        • Warnings
        • Primitives
        • Use-set
          • Typo-detection
          • Vl-wireinfo-alistp
          • Vl-annotate-vardecllist-with-wireinfo
          • Vl-useset-report-entry-p
          • Vl-print-useset-report-entry
          • Vl-mark-wires-for-module
          • Vl-split-useset-report
          • Vl-annotate-vardecl-with-wireinfo
          • Vl-mark-wires-for-modinstlist
          • Vl-mark-wires-for-modinst
          • Vl-mark-wires-for-gateinstlist
          • Vl-mark-wires-for-gateinst
          • Vl-mark-wires-for-plainarg
          • Vl-wireinfo-p
          • Vl-mark-wires-for-modulelist
          • Vl-vardecllist-impexp-names
          • Vl-report-totals
          • Vl-mark-wires-for-plainarglist
          • Vl-collect-unused-or-unset-wires
          • Vl-clean-up-warning-wires
          • Vl-print-useset-report-top
            • Vl-mark-wires-for-arguments
            • Vl-useset-report-p
            • Vl-star-names-of-warning-wires
            • Vl-design-use-set-report
            • Vl-module-impexp-names
            • Vl-make-initial-wireinfo-alist
            • Vl-mark-wire-used
            • Vl-mark-wire-set
            • Vl-mark-wires-used
            • Vl-mark-wires-for-assignment
            • Vl-mark-wires-for-assignlist
            • Vl-mark-wires-set
            • Vl-print-useset-report-full-aux
            • Vl-print-typo-alist
            • Vl-print-typo-possibilities
          • Syntax
          • Getting-started
          • Utilities
          • Loader
          • Transforms
          • Lint
          • Mlib
          • Server
          • Kit
          • Printer
          • Esim-vl
          • Well-formedness
        • Sv
        • Vwsim
        • Fgl
        • Vl
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Testing-utilities
      • Math
    • Use-set

    Vl-print-useset-report-top

    Signature
    (vl-print-useset-report-top x mpv-warnings suppress-spuriousp 
                                suppress-unusedp suppress-unsetp 
                                suppress-typosp suppress-linputsp 
                                suppress-warningsp &key (ps 'ps)) 
     
      → 
    ps
    Arguments
    x — Guard (vl-useset-report-p x).
    mpv-warnings — Guard (vl-warninglist-p mpv-warnings).

    Definitions and Theorems

    Function: vl-print-useset-report-top-fn

    (defun vl-print-useset-report-top-fn
           (x mpv-warnings
              suppress-spuriousp suppress-unusedp
              suppress-unsetp suppress-typosp
              suppress-linputsp suppress-warningsp ps)
     (declare (xargs :stobjs (ps)))
     (declare (xargs :guard (and (vl-useset-report-p x)
                                 (vl-warninglist-p mpv-warnings))))
     (let ((__function__ 'vl-print-useset-report-top))
      (declare (ignorable __function__))
      (b* ((htmlp (vl-ps->htmlp))
           ((mv fine probs)
            (vl-split-useset-report x nil nil))
           (fine (mergesort fine))
           (probs (mergesort probs))
           ((mv spurious unused unset linputs)
            (vl-report-totals probs)))
       (if
        (not htmlp)
        (vl-ps-seq
         (vl-cw "--- REPORT BEGINS HERE -------------------------~%")
         (vl-cw "~%~x0 warning(s) for mp_verror:~%~%"
                (len mpv-warnings))
         (if (atom mpv-warnings)
             ps
           (vl-ps-seq (vl-print-warnings mpv-warnings)
                      (vl-println "")
                      (vl-println "")))
         (vl-cw
          "~%~%~x0 modules have a total of: ~% ~
                             - ~x1 spurious wires, ~% ~
                             - ~x2 unused wires, ~% ~
                             - ~x3 unset wires, and ~% ~
                             - ~x4 inputs used like inouts, ~%~%"
          (length probs)
          spurious unused unset linputs)
         (vl-print-useset-report-full-aux
              probs
              suppress-spuriousp suppress-unusedp
              suppress-unsetp suppress-typosp
              suppress-linputsp suppress-warningsp)
         (vl-cw "~x0 modules look fine (no wires to report):~%~%"
                (length fine))
         (vl-print-strings-with-commas fine 3)
         (vl-println "")
         (vl-cw "--- REPORT ENDS HERE ---------------------------~%~%"))
        (vl-ps-seq
             (vl-println-markup "<div class=\"vl_use_set_full_report\">")
             (vl-print-markup "<h4 class=\"vl_use_set_prob_head\">")
             (vl-print (len probs))
             (vl-print-markup " modules have a total of <b>")
             (vl-print spurious)
             (vl-print-markup "</b> spurious, <b>")
             (vl-print unused)
             (vl-print-markup "</b> unused, and <b>")
             (vl-print unset)
             (vl-println-markup "</b> unset wires</h4>")
             (vl-println-markup "<div class=\"vl_use_set_prob_list\">")
             (vl-print-useset-report-full-aux
                  probs
                  suppress-spuriousp suppress-unusedp
                  suppress-unsetp suppress-typosp
                  suppress-linputsp suppress-warningsp)
             (vl-println-markup "</div></div>")
             (vl-println-markup "</div>"))))))