Generate net declarations for one-bit implicit wires.
(vl-make-ordinary-implicit-wires loc names) → nets
Function:
(defun vl-make-ordinary-implicit-wires (loc names) (declare (xargs :guard (and (vl-location-p loc) (string-listp names)))) (let ((__function__ 'vl-make-ordinary-implicit-wires)) (declare (ignorable __function__)) (if (consp names) (cons (make-vl-vardecl :name (car names) :type *vl-plain-old-logic-type* :nettype :vl-wire :loc loc :atts (list (cons "VL_IMPLICIT" nil))) (vl-make-ordinary-implicit-wires loc (cdr names))) nil)))
Theorem:
(defthm vl-vardecllist-p-of-vl-make-ordinary-implicit-wires (b* ((nets (vl-make-ordinary-implicit-wires loc names))) (vl-vardecllist-p nets)) :rule-classes :rewrite)
Theorem:
(defthm vl-vardecllist->names-of-vl-make-ordinary-implicit-wires (equal (vl-vardecllist->names (vl-make-ordinary-implicit-wires loc names)) (string-list-fix names)))
Theorem:
(defthm vl-make-ordinary-implicit-wires-of-vl-location-fix-loc (equal (vl-make-ordinary-implicit-wires (vl-location-fix loc) names) (vl-make-ordinary-implicit-wires loc names)))
Theorem:
(defthm vl-make-ordinary-implicit-wires-vl-location-equiv-congruence-on-loc (implies (vl-location-equiv loc loc-equiv) (equal (vl-make-ordinary-implicit-wires loc names) (vl-make-ordinary-implicit-wires loc-equiv names))) :rule-classes :congruence)
Theorem:
(defthm vl-make-ordinary-implicit-wires-of-string-list-fix-names (equal (vl-make-ordinary-implicit-wires loc (string-list-fix names)) (vl-make-ordinary-implicit-wires loc names)))
Theorem:
(defthm vl-make-ordinary-implicit-wires-string-list-equiv-congruence-on-names (implies (str::string-list-equiv names names-equiv) (equal (vl-make-ordinary-implicit-wires loc names) (vl-make-ordinary-implicit-wires loc names-equiv))) :rule-classes :congruence)