Primitive bidirectional connection.
The Verilog meaning of this module is:
module VL_1_BIT_TRAN (a, b); inout a ; inout b ; tran gate (a, b) ; endmodule
VL takes this as a primitive. The gate-elim transform converts
certain
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:
(defconst *vl-1-bit-tran* (b* ((name "VL_1_BIT_TRAN") (atts '(("VL_PRIMITIVE") ("VL_HANDS_OFF"))) ((mv a-expr a-port a-portdecl a-vardecl) (vl-primitive-mkport "a" :vl-inout)) ((mv b-expr b-port b-portdecl b-vardecl) (vl-primitive-mkport "b" :vl-inout)) (gate (make-vl-gateinst :type :vl-tran :name "gate" :args (list (make-vl-plainarg :expr a-expr :dir :vl-inout) (make-vl-plainarg :expr b-expr :dir :vl-inout)) :loc *vl-fakeloc*))) (hons-copy (make-vl-module :name name :origname name :ports (list a-port b-port) :portdecls (list a-portdecl b-portdecl) :vardecls (list a-vardecl b-vardecl) :gateinsts (list gate) :minloc *vl-fakeloc* :maxloc *vl-fakeloc* :atts atts :esim nil))))