Build vl-modinst-p's from the sliced-up arguments.
(vl-assemble-modinsts names args idx idxincr modname str delay paramargs atts loc) → modinsts
Function:
(defun vl-assemble-modinsts (names args idx idxincr modname str delay paramargs atts loc) (declare (xargs :guard (and (string-listp names) (vl-argumentlist-p args) (integerp idx) (integerp idxincr) (stringp modname) (vl-maybe-gatestrength-p str) (vl-maybe-gatedelay-p delay) (vl-paramargs-p paramargs) (vl-atts-p atts) (vl-location-p loc)))) (declare (xargs :guard (same-lengthp names args))) (let ((__function__ 'vl-assemble-modinsts)) (declare (ignorable __function__)) (if (atom args) nil (cons (make-vl-modinst :instname (car names) :modname modname :str str :delay delay :atts (cons (cons "VL_REPLICATE_INDEX" (vl-make-index idx)) atts) :portargs (car args) :paramargs paramargs :loc loc) (vl-assemble-modinsts (cdr names) (cdr args) (+ idx idxincr) idxincr modname str delay paramargs atts loc)))))
Theorem:
(defthm vl-modinstlist-p-of-vl-assemble-modinsts (b* ((modinsts (vl-assemble-modinsts names args idx idxincr modname str delay paramargs atts loc))) (vl-modinstlist-p modinsts)) :rule-classes :rewrite)