<> <> <> <> DIRECTORY PW, PWDescr, CD, Rope; 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.