Top level annotate transform.
(vl-annotate-design design config) → new-design
Function:
(defun vl-annotate-design (design config) (declare (xargs :guard (and (vl-design-p design) (vl-simpconfig-p config)))) (let ((__function__ 'vl-annotate-design)) (declare (ignorable __function__)) (b* ((design (xf-cwtime (vl-design-resolve-ansi-portdecls design))) (design (xf-cwtime (vl-design-resolve-nonansi-interfaceports design))) (design (xf-cwtime (vl-design-add-enumname-declarations design))) (design (xf-cwtime (vl-design-make-implicit-wires design))) (design (xf-cwtime (vl-design-portdecl-sign design))) (design (xf-cwtime (vl-design-bindelim design))) (design (xf-cwtime (vl-design-udp-elim design))) (design (xf-cwtime (vl-design-basicsanity design))) (design (xf-cwtime (vl-design-increment-elim design))) (design (if (vl-simpconfig->defer-argresolve config) design (xf-cwtime (vl-design-argresolve design)))) (design (xf-cwtime (vl-design-type-disambiguate design)))) design)))
Theorem:
(defthm vl-design-p-of-vl-annotate-design (b* ((new-design (vl-annotate-design design config))) (vl-design-p new-design)) :rule-classes :rewrite)