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: BOOL ← FALSE];
EnumerateNets:
PROC [handle:
SC.Handle, eachNet: EachNetProc]
RETURNS [quit:
BOOL];
EachNetProc: TYPE = PROC [netIndex: NAT, net: SCPrivate.Net] RETURNS [quit: BOOL ← FALSE];
EnumeratePinsOnNet:
PROC [net: SCPrivate.Net, eachPin: EachPinProc]
RETURNS [quit:
BOOL];
EachPinProc: TYPE = PROC [netPin: SCPrivate.NetPin] RETURNS [quit: BOOL ← FALSE];
AddConnection: PROCEDURE [handle: SC.Handle, net: SCPrivate.Net, instance: SCPrivate.Instance, pin: SCPrivate.ObjectPin, pinIndex: NAT, pinClass: SCPrivate.PinType];
RemoveConnections: PROCEDURE [handle: SC.Handle, instance: SCPrivate.Instance];
DefineNet: PROCEDURE [handle: SC.Handle, wire: Core.Wire, name: Rope.ROPE] RETURNS [net: SCPrivate.Net ← NIL];
RemoveFtsOnNet: PROCEDURE[handle: SC.Handle, net: SCPrivate.Net];
remove the fts on a net list
ExitOnSide: PROC [handle: SC.Handle, net: SCPrivate.Net, side: SC.Side] RETURNS [onThisSide: BOOLEAN];
return TRUE if net has an exit on the indicated side
END.