Recognize a good
(esim-vl-iopattern-p x) is a basic syntax check to make ensure
that
Basically, VL writes out
input [3:0] A; input B; input [0:3] C;
Should look like this:
:i ((A[0] A[1] A[2] A[3]) ;; lsb first (B) (C[3] C[2] C[1] C[0])) ;; lsb first
See e-conversion for details.
We memoize this function to minimize the expense of these checks.
Note that esim-vl-iopattern-p is nonrecursive, so we should only need two memo
table entries per module, one for the
Function:
(defun esim-vl-iopattern-p (x) (declare (xargs :guard t)) (and (esim-vl-iopattern-entrylist-p x) (uniquep (esim-vl-iopattern-entrylist->basenames x))))