Basic constructor macro for vl-clkdecl structures.
(make-vl-clkdecl [:defaultp <defaultp>] [:name <name>] [:event <event>] [:iskew <iskew>] [:oskew <oskew>] [:clkassigns <clkassigns>] [:properties <properties>] [:sequences <sequences>] [:loc <loc>] [:atts <atts>])
This is the usual way to construct vl-clkdecl structures. It simply conses together a structure with the specified fields.
This macro generates a new vl-clkdecl structure from scratch. See also change-vl-clkdecl, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-vl-clkdecl (&rest args) (std::make-aggregate 'vl-clkdecl args '((:defaultp) (:name) (:event) (:iskew) (:oskew) (:clkassigns) (:properties) (:sequences) (:loc) (:atts)) 'make-vl-clkdecl nil))
Function:
(defun vl-clkdecl (defaultp name event iskew oskew clkassigns properties sequences loc atts) (declare (xargs :guard (and (booleanp defaultp) (maybe-stringp name) (vl-evatomlist-p event) (vl-maybe-clkskew-p iskew) (vl-maybe-clkskew-p oskew) (vl-clkassignlist-p clkassigns) (vl-propertylist-p properties) (vl-sequencelist-p sequences) (vl-location-p loc) (vl-atts-p atts)))) (declare (xargs :guard t)) (let ((__function__ 'vl-clkdecl)) (declare (ignorable __function__)) (b* ((defaultp (mbe :logic (acl2::bool-fix defaultp) :exec defaultp)) (name (mbe :logic (maybe-string-fix name) :exec name)) (event (mbe :logic (vl-evatomlist-fix event) :exec event)) (iskew (mbe :logic (vl-maybe-clkskew-fix iskew) :exec iskew)) (oskew (mbe :logic (vl-maybe-clkskew-fix oskew) :exec oskew)) (clkassigns (mbe :logic (vl-clkassignlist-fix clkassigns) :exec clkassigns)) (properties (mbe :logic (vl-propertylist-fix properties) :exec properties)) (sequences (mbe :logic (vl-sequencelist-fix sequences) :exec sequences)) (loc (mbe :logic (vl-location-fix loc) :exec loc)) (atts (mbe :logic (vl-atts-fix atts) :exec atts))) (cons :vl-clkdecl (std::prod-cons (std::prod-cons (std::prod-cons defaultp name) (std::prod-cons event (std::prod-cons iskew oskew))) (std::prod-cons (std::prod-cons clkassigns properties) (std::prod-cons sequences (std::prod-cons loc atts))))))))