DIRECTORY CD, SC, SCPrivate; SCRoutePinsUtil: CEDAR DEFINITIONS = BEGIN NetDat: TYPE = REF NetDatRec; NetDatRec: TYPE = RECORD [ bounds1: SC.Number _ LAST[INT], bounds2: SC.Number _ -LAST[INT], pinCount: INT _ 0, exits: ARRAY SCPrivate.LRSide OF ExitPin _ ALL[NIL], chanPins: ARRAY SCPrivate.TBSide OF ChannelPinList _ ALL[NIL]]; ChannelPinList: TYPE = LIST OF ChannelPin; ChannelPin: TYPE = REF ChannelPinRec; ChannelPinRec: TYPE = RECORD [ rect: SC.Rect, position: CD.Position, netPin: SCPrivate.PinNet, cell: CD.Object, side: SC.Side]; ExitPin: TYPE = REF ExitPinRec; ExitPinRec: TYPE = RECORD [ cell: CD.Object, exit: SCPrivate.Exit]; InitGetChanPins: PROCEDURE [handle: SC.Handle]; TermGetChanPins: PROCEDURE [handle: SC.Handle]; EnterPin: PROCEDURE[rect: SC.Rect, position: CD.Position, netPin: SCPrivate.PinNet, side: SCPrivate.TBSide, cell: CD.Object]; EnterExit: PROCEDURE[exit: SCPrivate.Exit, side: SCPrivate.LRSide, cell: CD.Object]; EnterNetDat: PROCEDURE [handle: SC.Handle, chan: SCPrivate.ZMaxChanSr, pinProc: PinProc, exitProc: ExitProc, netProc: NetProc]; PinProc: TYPE = PROC [rect: SC.Rect, position: CD.Position, netPin: SCPrivate.PinNet, cell: CD.Object]; ExitProc: TYPE = PROC [exit: SCPrivate.Exit, cell: CD.Object, trunkWidth: SC.Number, side: SCPrivate.LRSide]; NetProc: TYPE = PROC [net: SCPrivate.Net]; END. *file ///StdCell23/SCRoutePinsUtil.mesa placement utility routines -- InitGetChanWidth - initialize for determining the width of a channel -- TermGetChanWidth - terminate determining the width of a channel -- EnterPin - enter a net on a channel into data structure -- EnterExit - enter a net on a channel into data structure -- EnterMinDat - minmium route channels need special processing to include the minimun number of wire segments of minimum length -- SortPinDat - sort the pin data initialize for determining the width of a channel initialize for determining the width of a channel enter a net on a channel into data structure enter exit data for a channel into routing data base minmium route channels need special processing to include the minimun number of wire segments of minimum length Κͺ˜Jšœ&™&J˜Jšœ™JšœΟnœ4™GJšœœ/™BJšœœ/™:Jšœ œ/™;šœ œ4™BJšœ=™=—Jšœ œ™!J™šΟk ˜ J˜Jšžœ˜Jšœ ˜ J˜—šœžœž œ˜$J˜Jšž˜J˜Jšœžœžœ ˜šœ žœžœ˜Jšœ žœ žœžœ˜Jšœ žœ žœžœ˜ Jšœ žœ˜Jš œžœžœ žœžœ˜4Jš œ žœžœžœžœ˜?J˜—Jšœžœžœžœ ˜*Jšœ žœžœ˜%šœžœžœ˜Jšœ˜Jšœ žœ ˜Jšœ˜Jšœžœ˜Jšœ˜J˜—Jšœ žœžœ ˜šœ žœžœ˜Jšœžœ˜Jšœ˜J˜—Jšœ2™2Jšœž œ žœ ˜/J˜Jšœ2™2Jšœž œ žœ ˜/J˜Jšœ-™-Jšœž œžœCžœ ˜}J˜Jšœ5™5Jš œž œ5žœ ˜TJ™Jšœp™pJš œž œ žœ]˜J˜Icodeš œ žœžœžœ+žœ ˜gJ˜Kš œ žœžœžœžœ!˜mJ˜Jšœ žœžœ˜*Jšžœ˜J˜——…—H