• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Debugging
    • Projects
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
        • Warnings
        • Primitives
          • *vl-1-bit-approx-mux*
          • *vl-1-bit-mux*
          • Nedgeflop
          • Vl-primitive-mkport
          • *vl-1-bit-assign*
          • *vl-1-bit-zmux*
          • Vl-primitive-mkwire
          • *vl-1-bit-bufif1*
          • *vl-1-bit-bufif0*
          • *vl-1-bit-delay-1*
          • *vl-1-bit-ceq*
          • *vl-1-bit-buf*
          • *vl-1-bit-rcmos*
          • *vl-1-bit-latch*
          • *vl-1-bit-cmos*
          • *vl-1-bit-power*
          • *vl-1-bit-rpmos*
          • *vl-1-bit-rnmos*
          • *vl-1-bit-pmos*
          • *vl-1-bit-nmos*
          • *vl-1-bit-ground*
          • *vl-1-bit-tranif1*
          • *vl-1-bit-tranif0*
          • *vl-1-bit-rtranif1*
          • *vl-1-bit-rtranif0*
          • *vl-1-bit-rtran*
          • *vl-1-bit-tran*
          • *vl-1-bit-notif1*
          • *vl-1-bit-notif0*
          • *vl-1-bit-and*
          • *vl-1-bit-xor*
          • *vl-1-bit-xnor*
          • *vl-1-bit-pullup*
            • *vl-1-bit-pulldown*
            • *vl-1-bit-or*
            • *vl-1-bit-not*
            • *vl-1-bit-nor*
            • *vl-1-bit-nand*
            • *vl-1-bit-z*
            • *vl-1-bit-x*
            • *vl-1-bit-t*
            • *vl-1-bit-f*
          • Use-set
          • Syntax
          • Getting-started
          • Utilities
          • Loader
          • Transforms
          • Lint
          • Mlib
          • Server
          • Kit
          • Printer
          • Esim-vl
          • Well-formedness
        • Sv
        • Vwsim
        • Fgl
        • Vl
        • Svl
        • X86isa
        • Rtl
      • Software-verification
      • Math
      • Testing-utilities
    • Primitives

    *vl-1-bit-pullup*

    Primitive pullup element.

    The Verilog meaning of this module is:

    module VL_1_BIT_PULLUP (a, b, ctrl);
      output out;
      pullup gate (out);
    endmodule

    VL takes this as a primitive. The gate-elim transform converts certain pullup gates into instances of this module.

    There is no sensible way to model this in ESIM and hence there is no ESIM equivalent. However, this module may be a convenient target for other back-end tools.

    Definition: *vl-1-bit-pullup*

    (defconst *vl-1-bit-pullup*
      (b* ((name "VL_1_BIT_PULLUP")
           (atts '(("VL_PRIMITIVE") ("VL_HANDS_OFF")))
           ((mv out-expr
                out-port out-portdecl out-vardecl)
            (vl-primitive-mkport "out" :vl-output))
           (gate (make-vl-gateinst
                      :type :vl-pullup
                      :name "gate"
                      :args (list (make-vl-plainarg :expr out-expr
                                                    :dir :vl-output))
                      :loc *vl-fakeloc*)))
        (hons-copy (make-vl-module :name name
                                   :origname name
                                   :ports (list out-port)
                                   :portdecls (list out-portdecl)
                                   :vardecls (list out-vardecl)
                                   :gateinsts (list gate)
                                   :minloc *vl-fakeloc*
                                   :maxloc *vl-fakeloc*
                                   :atts atts
                                   :esim nil))))