• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
      • Sv
      • Fgl
      • Vwsim
      • Vl
        • Syntax
        • Loader
        • Warnings
        • Getting-started
        • Utilities
        • Printer
          • Ps
          • Verilog-printing
          • Basic-printing
          • Printing-locally
          • Formatted-printing
          • Accessing-printed-output
          • Json-printing
            • Json-encoders
              • Vl-jp-expr
              • Vl-jp-module
              • Vl-jp-interface
                • Vl-jp-design
                • Vl-jp-warning
                • Vl-jp-package
                • Vl-jp-vardecl
                • Vl-jp-class
                • Vl-jp-ansi-portdecl
                • Vl-jp-constint
                • Jp-sym-main
                • Vl-jp-udp
                • Vl-jp-taskdecl
                • Vl-jp-fundecl
                • Vl-jp-clkdecl
                • Vl-jp-modinst
                • Vl-jp-gateinst
                • Vl-jp-dpiimport
                • Vl-jp-typedef
                • Vl-jp-propport
                • Vl-jp-program
                • Vl-jp-portdecl
                • Vl-jp-paramdecl
                • Vl-jp-modport-port
                • Vl-jp-interfaceport
                • Vl-jp-dpiexport
                • Vl-jp-config
                • Vl-jp-assign
                • Jp-str
                • Vl-jp-warninglist
                • Vl-jp-vardecllist
                • Vl-jp-udpentrylist
                • Vl-jp-typedeflist
                • Vl-jp-taskdecllist
                • Vl-jp-sequencelist
                • Vl-jp-sequence
                • Vl-jp-propportlist
                • Vl-jp-propertylist
                • Vl-jp-property
                • Vl-jp-programlist
                • Vl-jp-portdecllist
                • Vl-jp-plainarglist
                • Vl-jp-parse-temps
                • Vl-jp-paramvaluelist
                • Vl-jp-paramdecllist
                • Vl-jp-packagelist
                • Vl-jp-namedparamvaluelist
                • Vl-jp-namedarglist
                • Vl-jp-modportlist
                • Vl-jp-modport-portlist
                • Vl-jp-modinstlist
                • Vl-jp-locationlist
                • Vl-jp-interfacelist
                • Vl-jp-initiallist
                • Vl-jp-gclkdecllist
                • Vl-jp-gateinstlist
                • Vl-jp-fwdtypedeflist
                • Vl-jp-fwdtypedef
                • Vl-jp-fundecllist
                • Vl-jp-exprdistlist
                • Vl-jp-elabtasklist
                • Vl-jp-dpiimportlist
                • Vl-jp-dpiexportlist
                • Vl-jp-defaultdisablelist
                • Vl-jp-covergrouplist
                • Vl-jp-clkdecllist
                • Vl-jp-clkassignlist
                • Vl-jp-clkassign
                • Vl-jp-cassertionlist
                • Vl-jp-blockitemlist
                • Vl-jp-bind
                • Vl-jp-assertionlist
                • Vl-jp-ansi-portdecllist
                • Jp-nat
                • Vl-jp-udplist
                • Vl-jp-udplinelist
                • Vl-jp-udpline
                • Vl-jp-timeunitdecl
                • Vl-jp-timeprecisiondecl
                • Vl-jp-repetition
                • Vl-jp-repeateventcontrol
                • Vl-jp-regularport
                • Vl-jp-propspec
                • Vl-jp-portlist
                • Vl-jp-plainarg
                • Vl-jp-namedparamvalue
                • Vl-jp-namedarg
                • Vl-jp-modulelist
                • Vl-jp-modport
                • Vl-jp-initial
                • Vl-jp-importlist
                • Vl-jp-import
                • Vl-jp-genvarlist
                • Vl-jp-gclkdecl
                • Vl-jp-gatestrength
                • Vl-jp-gatedelay
                • Vl-jp-finallist
                • Vl-jp-eventcontrol
                • Vl-jp-distitemlist
                • Vl-jp-distitem
                • Vl-jp-defaultdisable
                • Vl-jp-covergroup
                • Vl-jp-configlist
                • Vl-jp-classlist
                • Vl-jp-bindlist
                • Vl-jp-assignlist
                • Vl-jp-alwayslist
                • Vl-jp-always
                • Vl-jp-aliaslist
                • Vl-jp-alias
                • Jp-object
                • Vl-jp-udpedge
                • Vl-jp-timeliteral
                • Vl-jp-maybe-timeunitdecl
                • Vl-jp-maybe-timeprecisiondecl
                • Vl-jp-maybe-gatestrength
                • Vl-jp-maybe-delayoreventcontrol
                • Vl-jp-genvar
                • Vl-jp-final
                • Vl-jp-exprdist
                • Vl-jp-delaycontrol
                • Vl-jp-clkskew
                • Vl-jp-maybe-udpsymbol
                • Vl-jp-maybe-timeliteral
                • Vl-jp-maybe-scopeid
                • Vl-jp-maybe-rhs
                • Vl-jp-maybe-parse-temps
                • Vl-jp-maybe-paramvalue
                • Vl-jp-maybe-nettypename
                • Vl-jp-maybe-module
                • Vl-jp-maybe-gatedelay
                • Vl-jp-maybe-exprdist
                • Vl-jp-maybe-clkskew
                • Vl-jp-elabtask
                • Vl-jp-weirdint
                • Vl-jp-value
                • Vl-jp-time
                • Vl-jp-string
                • Vl-jp-maybe-direction
                • Vl-jp-maybe-cstrength
                • Vl-jp-extint
                • Jp-timeunit
                • Jp-bool
                • Jp-bitlist
                • Jp-bit
                • Jp-bignat
                • Vl-jp-real
                • Vl-jp-maybe-exprsign
                • Vl-jp-gatetype
                • Vl-jp-exprsign
                • Vl-jp-evatomtype
                • Vl-jp-dstrength
                • Vl-jp-direction
                • Vl-jp-deassign-type
                • Vl-jp-cstrength
                • Vl-jp-casetype
                • Vl-jp-casekey
                • Vl-jp-casecheck
                • Vl-jp-assign-type
                • Vl-jp-alwaystype
                • Jp-maybe-string
                • Jp-maybe-nat
                • Jp-sym
            • Vl-printedlist
          • Kit
          • Mlib
          • Transforms
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Math
      • Testing-utilities
    • Json-encoders

    Vl-jp-interface

    Print the JSON encoding of a vl-interface-p to ps.

    Signature
    (vl-jp-interface x &key (ps 'ps)) → ps
    Arguments
    x — Guard (vl-interface-p x).

    Definitions and Theorems

    Function: vl-jp-interface-fn

    (defun vl-jp-interface-fn (x ps)
     (declare (xargs :stobjs (ps)))
     (declare (xargs :guard (vl-interface-p x)))
     (let ((__function__ 'vl-jp-interface))
       (declare (ignorable __function__))
       (vl-ps-seq
            (vl-print "{\"tag\": ")
            (jp-sym ':vl-interface)
            (vl-print ", ")
            (vl-print-str "\"name\": ")
            (jp-str (vl-interface->name x))
            (vl-println? ", ")
            (vl-print-str "\"imports\": ")
            (vl-jp-importlist (vl-interface->imports x))
            (vl-println? ", ")
            (vl-print-str "\"ports\": ")
            (vl-jp-portlist (vl-interface->ports x))
            (vl-println? ", ")
            (vl-print-str "\"portdecls\": ")
            (vl-jp-portdecllist (vl-interface->portdecls x))
            (vl-println? ", ")
            (vl-print-str "\"modports\": ")
            (vl-jp-modportlist (vl-interface->modports x))
            (vl-println? ", ")
            (vl-print-str "\"vardecls\": ")
            (vl-jp-vardecllist (vl-interface->vardecls x))
            (vl-println? ", ")
            (vl-print-str "\"paramdecls\": ")
            (vl-jp-paramdecllist (vl-interface->paramdecls x))
            (vl-println? ", ")
            (vl-print-str "\"fundecls\": ")
            (vl-jp-fundecllist (vl-interface->fundecls x))
            (vl-println? ", ")
            (vl-print-str "\"taskdecls\": ")
            (vl-jp-taskdecllist (vl-interface->taskdecls x))
            (vl-println? ", ")
            (vl-print-str "\"typedefs\": ")
            (vl-jp-typedeflist (vl-interface->typedefs x))
            (vl-println? ", ")
            (vl-print-str "\"dpiimports\": ")
            (vl-jp-dpiimportlist (vl-interface->dpiimports x))
            (vl-println? ", ")
            (vl-print-str "\"dpiexports\": ")
            (vl-jp-dpiexportlist (vl-interface->dpiexports x))
            (vl-println? ", ")
            (vl-print-str "\"properties\": ")
            (vl-jp-propertylist (vl-interface->properties x))
            (vl-println? ", ")
            (vl-print-str "\"sequences\": ")
            (vl-jp-sequencelist (vl-interface->sequences x))
            (vl-println? ", ")
            (vl-print-str "\"clkdecls\": ")
            (vl-jp-clkdecllist (vl-interface->clkdecls x))
            (vl-println? ", ")
            (vl-print-str "\"gclkdecls\": ")
            (vl-jp-gclkdecllist (vl-interface->gclkdecls x))
            (vl-println? ", ")
            (vl-print-str "\"defaultdisables\": ")
            (vl-jp-defaultdisablelist (vl-interface->defaultdisables x))
            (vl-println? ", ")
            (vl-print-str "\"binds\": ")
            (vl-jp-bindlist (vl-interface->binds x))
            (vl-println? ", ")
            (vl-print-str "\"classes\": ")
            (vl-jp-classlist (vl-interface->classes x))
            (vl-println? ", ")
            (vl-print-str "\"elabtasks\": ")
            (vl-jp-elabtasklist (vl-interface->elabtasks x))
            (vl-println? ", ")
            (vl-print-str "\"modinsts\": ")
            (vl-jp-modinstlist (vl-interface->modinsts x))
            (vl-println? ", ")
            (vl-print-str "\"assigns\": ")
            (vl-jp-assignlist (vl-interface->assigns x))
            (vl-println? ", ")
            (vl-print-str "\"aliases\": ")
            (vl-jp-aliaslist (vl-interface->aliases x))
            (vl-println? ", ")
            (vl-print-str "\"assertions\": ")
            (vl-jp-assertionlist (vl-interface->assertions x))
            (vl-println? ", ")
            (vl-print-str "\"cassertions\": ")
            (vl-jp-cassertionlist (vl-interface->cassertions x))
            (vl-println? ", ")
            (vl-print-str "\"alwayses\": ")
            (vl-jp-alwayslist (vl-interface->alwayses x))
            (vl-println? ", ")
            (vl-print-str "\"initials\": ")
            (vl-jp-initiallist (vl-interface->initials x))
            (vl-println? ", ")
            (vl-print-str "\"finals\": ")
            (vl-jp-finallist (vl-interface->finals x))
            (vl-println? ", ")
            (vl-print-str "\"generates\": ")
            (vl-jp-genelementlist (vl-interface->generates x))
            (vl-println? ", ")
            (vl-print-str "\"genvars\": ")
            (vl-jp-genvarlist (vl-interface->genvars x))
            (vl-println? ", ")
            (vl-print-str "\"warnings\": ")
            (vl-jp-warninglist (vl-interface->warnings x))
            (vl-println? ", ")
            (vl-print-str "\"minloc\": ")
            (vl-jp-location (vl-interface->minloc x))
            (vl-println? ", ")
            (vl-print-str "\"maxloc\": ")
            (vl-jp-location (vl-interface->maxloc x))
            (vl-println? ", ")
            (vl-print-str "\"atts\": ")
            (vl-jp-atts (vl-interface->atts x))
            (vl-println? ", ")
            (vl-print-str "\"origname\": ")
            (jp-str (vl-interface->origname x))
            (vl-println? ", ")
            (vl-print-str "\"comments\": ")
            (vl-jp-commentmap (vl-interface->comments x))
            (vl-println? ", ")
            (vl-print-str "\"parse-temps\": ")
            (vl-jp-maybe-parse-temps (vl-interface->parse-temps x))
            (vl-println? "}"))))