Primitive not-gate module.
The Verilog definition of this module is:
module VL_1_BIT_NOT (out, in) ; output out; input in; assign out = ~in; endmodule
VL takes this as a primitive. We use this in place of
The corresponding esim primitive is ACL2::*esim-not*.
Definition:
(defconst *vl-1-bit-not* (b* ((name "VL_1_BIT_NOT") (atts '(("VL_PRIMITIVE") ("VL_HANDS_OFF"))) ((mv out-expr out-port out-portdecl out-vardecl) (vl-primitive-mkport "out" :vl-output)) ((mv in-expr in-port in-portdecl in-vardecl) (vl-primitive-mkport "in" :vl-input)) (assign (make-vl-assign :lvalue out-expr :expr (make-vl-nonatom :op :vl-unary-bitnot :args (list in-expr) :finalwidth 1 :finaltype :vl-unsigned) :loc *vl-fakeloc*))) (hons-copy (make-vl-module :name name :origname name :ports (list out-port in-port) :portdecls (list out-portdecl in-portdecl) :vardecls (list out-vardecl in-vardecl) :assigns (list assign) :minloc *vl-fakeloc* :maxloc *vl-fakeloc* :atts atts :esim acl2::*esim-not*))))