file ///StdCell/SCNetUtil.mesa
net utility routines
DIRECTORY
Rope,
SC,
SCPrivate;
SCNetUtil: CEDAR DEFINITIONS =
BEGIN
find nets attached to component
NetsOnInst: PROCEDURE[insts: SCPrivate.InstanceList] RETURNS [nets: SCPrivate.NetList];
determine Instances on net
InstsOnNets: PROCEDURE[nets: SCPrivate.NetList] RETURNS [insts: SCPrivate.InstanceList];
EnumerateInstsOnNets: PROC [nets: SCPrivate.NetList, eachInst: EachInstProc] RETURNS [quit: BOOL];
EachInstProc: TYPE = PROC [instance: SCPrivate.Instance] RETURNS [quit: BOOLFALSE];
EnumerateNets: PROC [handle: SC.Handle, eachNet: EachNetProc] RETURNS [quit: BOOL];
EachNetProc: TYPE = PROC [netIndex: NAT, net: SCPrivate.Net] RETURNS [quit: BOOLFALSE];
EnumeratePinsOnNet: PROC [net: SCPrivate.Net, eachPin: EachPinProc] RETURNS [quit: BOOL];
EachPinProc: TYPE = PROC [netPin: SCPrivate.NetPin] RETURNS [quit: BOOLFALSE];
AddConnection: PROCEDURE [handle: SC.Handle, net: SCPrivate.Net, instance: SCPrivate.Instance, pin: SCPrivate.ObjectPin, pinIndex: NAT];
RemoveConnection: PROCEDURE [handle: SC.Handle, net: SCPrivate.Net, instance: SCPrivate.Instance, pin: SCPrivate.ObjectPin, pinIndex: NAT];
DefineNet: PROCEDURE [handle: SC.Handle, netName: Rope.ROPE] RETURNS [net: SCPrivate.Net ← NIL];
RemoveFtsOnNet: PROCEDURE[handle: SC.Handle, net: SCPrivate.Net];
remove the fts on a net list
END.