EuControl:
CEDAR
DEFINITIONS =
BEGIN
ROPE: TYPE = Rope.ROPE;
-- Load the cells and assemble common shapes
InitEUControl: PUBLIC PROC [design: CD.Design] ;
-- Assemble pieces into a NAND decoder
Nand: PUBLIC PROC [design: CD.Design, descrPD, descrPU: PWDescr.Descriptor, flipY: BOOL ← FALSE] RETURNS [nandDec: PW.ObPtr];
-- A set of NAND decoders, grouped as pull-downs of a precharged NOR
NorOfNands: PUBLIC PROC [design: CD.Design, listDescrPD: LIST OF PWDescr.Descriptor, descrPU: PWDescr.Descriptor, flipY: BOOL ← FALSE] RETURNS [norDec: PW.ObPtr];
-- A wire or set of wires routing a particular item to the datapath (on the right side)
RouteTo: PUBLIC PROC [design: CD.Design, descrPD, descrPU: PWDescr.Descriptor] RETURNS [wire: PW.ObPtr];
-- Bias voltage generator
BiasVoltage: PUBLIC PROC [design: CD.Design, descrPD, descrPU: PWDescr.Descriptor] RETURNS [bias: PW.ObPtr];
-- A set of inverters computing the complementary of signals specified by the descriptor
Inverters: PUBLIC PROC [design: CD.Design, descrPD, descrPU: PWDescr.Descriptor, flipY: BOOL ← FALSE] RETURNS [inverters: PW.ObPtr];
-- A separations between two control parts having different descriptors of the same size; the semantic is the same as the routing, but specifies whether a wire is interrupted or not; if metal2 is used to double poly, this is the place to contact both layers
Gap: PUBLIC PROC [design: CD.Design, descrPD, descrPU: PWDescr.Descriptor, flipY: BOOL ← FALSE] RETURNS [gap: PW.ObPtr];
END.