<> <> <<-- ExchInsts - exchange two like instances>> <<-- ReverseOrientation - reverse orientation of an instance>> <<-- PutLgRow - put component in row and position>> <<-- ExchPosRow - exchange components in positions index1 and index2>> <<-- RemvLgComp - remove a logic instance from current placement>> <<-- PutBpSide - add a bp instance to a side>> <<-- PutBpPos - >> <<-- ExchPosSide - exchange components in positions index1 and index2>> <<-- RemvBpComp - remove a bp instance from current placement>> <<-- WriteCurPlace - write the current placement>> <<-- ClrCurPlac - clear the current placement>> <<-- CheckPlace -- check the placement consistancy>> <<>> DIRECTORY SC, SCPrivate; SCPlaceUtil: CEDAR DEFINITIONS = BEGIN <> ExchInsts: PROCEDURE[handle: SC.Handle, instance1, instance2: SCPrivate.Instance]; <> ReverseOrientation: PROCEDURE[instance: SCPrivate.Instance]; <> PutLgRow: PROCEDURE[handle: SC.Handle, instance: SCPrivate.Instance, row: SCPrivate.MaxRowSr, orien: SCPrivate.OrientationOrNone _ 0]; PutLgPos: PROCEDURE[handle: SC.Handle, instance: SCPrivate.Instance, row: SCPrivate.MaxRowSr, pos: SCPrivate.MaxPosSr, orien: SCPrivate.OrientationOrNone _ 0, updateOffsets: BOOLEAN _ TRUE]; <> ExchPosRow: PROCEDURE[handle: SC.Handle, index1, index2: SCPrivate.MaxPosSr, row: SCPrivate.MaxRowSr]; <> RemvLgComp: PROCEDURE [handle: SC.Handle, instance: SCPrivate.Instance, updateOffsets: BOOLEAN _ TRUE]; <> PutBpSide: PROCEDURE[handle: SC.Handle, instance: SCPrivate.Instance, side: SC.SideOrNone, orien: SCPrivate.OrientationOrNone _ 0]; PutBpPos: PROCEDURE[handle: SC.Handle, instance: SCPrivate.Instance, side: SC.Side, pos: SCPrivate.MaxPosSr, orien: SCPrivate.OrientationOrNone _ 0, updateOffsets: BOOLEAN _ TRUE]; <> ExchPosSide: PROCEDURE [handle: SC.Handle, index1,index2: SCPrivate.MaxPosSr, side: SC.Side]; <> RemvBpComp: PROCEDURE[handle: SC.Handle, instance: SCPrivate.Instance, updateOffsets: BOOLEAN _ TRUE]; <> WriteCurPlace: PUBLIC PROCEDURE [handle: SC.Handle]; <> ClrCurPlac: PROCEDURE[handle: SC.Handle, initPrePlace: BOOLEAN]; <> CheckPlace: PUBLIC PROCEDURE[handle: SC.Handle]; END.