TestSCTiny:
PW.UserProc =
BEGIN
cellType: Core.CellType;
result: SC.Result;
cdDesign: CD.Design;
rules: SC.DesignRules;
handle: SC.Handle;
libName: Rope.ROPE ←"SCTestLib.dale";
hMaterial: Rope.ROPE ← "metal";
vMaterial: Rope.ROPE ← "poly";
libDesign: CD.Design ← CDIO.ReadDesign[libName];
cellType ← SCTestUtil.CreateCore[];
IF libDesign =
NIL
THEN
SC.Signal[callingError, Rope.Cat["Unable to load library: ", libName]];
cdDesign ← CDOps.CreateDesign[libDesign.technology];
result ← SCTestUtil.DoLayout[cellType, cdDesign, libDesign, hMaterial, vMaterial];
rules ← SC.CreateDesignRules[cdDesign.technology.key, hMaterial, vMaterial, horizontal];
handle ← SC.CreateHandle[cellType, NIL, libDesign, rules, "SCTestPW"];
SC.InitialPlace[handle, 5];
SC.SAPlaceImprove[handle: handle, t0: SC.SAPlaceInit[handle], eqVarLimit: 0.04, fzVarLimit: 0.04, alpha: 0.97];
SC.GlobalRoute[handle];
SC.PosImprove[handle, 5];
SC.OrientImprove[handle, 5];
result ← SC.DetailRoute[handle];
SC.Destroy[handle];
RETURN[result.object];
END;