(defines (PPstyle (assoc "PP" style-options)) (PPstyle (if PPstyle (cdr PPstyle) "ovlp")) (FVstyle (if (= PPstyle "conv") ("FV" . "conv") (assoc "FV" style-options))) (FVstyle (if FVstyle (cdr FVstyle) "ovlp")) ) (nodes ("data" (param "width") 0 1) ) (gates (case FVstyle (("ovlp") (cell "t-element" (req "write") (ack "write") (req "signal") (ack "signal")) ) (else (s-element (req "write") (ack "write") (req "signal") (ack "signal")) ) ) (macro single-rail-connect-read-ports (param "width") (param "readPortCount") (param "specification") "data") (if (and suggest-buffers (> (param "readPortCount") 2)) (cell "suggested-buffer" (node "data") (data "write")) (connect (data "write") (node "data")) ) ) (connections (connect (combine (req (each "read"))) (combine (ack (each "read")))) )