<> <> <<-- 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 <> 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]; <> ExchPosRow: PROCEDURE[handle: SC.Handle, index1, index2: SCPrivate.MaxPosSr, row: SCPrivate.MaxRowSr]; <> RemvLgComp: PROCEDURE [handle: SC.Handle, instance: SCPrivate.Instance]; <> 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]; <> ExchPosSide: PROCEDURE [handle: SC.Handle, index1,index2: SCPrivate.MaxPosSr, side: SC.Side]; <> RemvBpComp: PROCEDURE[handle: SC.Handle, instance: SCPrivate.Instance]; <> WriteCurPlace: PUBLIC PROCEDURE [handle: SC.Handle]; <> ClrCurPlac: PROCEDURE[handle: SC.Handle, initPrePlace: BOOLEAN]; <> CheckPlace: PUBLIC PROCEDURE[handle: SC.Handle]; END.