(vl-print-wirename x &key (ps 'ps)) prints a wire's name.
(vl-print-wirename x &key (ps 'ps)) → ps
This is much like vl-print-modname except that we use it for the names of identifiers within a module -- most commonly wire names, but we also use it for the names of blocks, module instances, and so on.
In text mode, we just print
<a class="vl_wirelink" href="javascript:showWire('foo')">foo</a>
This function is used in various warning messages, reports, and other
displays. The module browser's web pages are responsible for defining the
Function:
(defun vl-print-wirename-fn (x ps) (declare (xargs :stobjs (ps))) (declare (xargs :guard (stringp x))) (let ((__function__ 'vl-print-wirename)) (declare (ignorable __function__)) (b* ((x (string-fix x))) (vl-ps-span "vl_id" (vl-when-html (vl-print-markup "<a class=\"") (b* ((misc (vl-ps->misc)) (ports (cdr (hons-assoc-equal :portnames misc)))) (vl-print-markup (if (member-equal x (list-fix ports)) "vl_wirelink_port" "vl_wirelink"))) (vl-print-markup "\" href=\"javascript:void(0);\" onClick=\"showWire('") (vl-print-url x) (vl-print-markup "')\">")) (vl-print-str (vl-maybe-escape-identifier x)) (vl-when-html (vl-print-markup "</a>"))))))
Theorem:
(defthm vl-print-wirename-fn-of-str-fix-x (equal (vl-print-wirename-fn (str-fix x) ps) (vl-print-wirename-fn x ps)))
Theorem:
(defthm vl-print-wirename-fn-streqv-congruence-on-x (implies (streqv x x-equiv) (equal (vl-print-wirename-fn x ps) (vl-print-wirename-fn x-equiv ps))) :rule-classes :congruence)