DIRECTORY
CD, CDIO, CDOps, Core, LoadsOut, Rope, SC, RTTestUtil;
BEGIN
libName: Rope.ROPE ←"PLTCELLTest.dale";
hMaterial: Rope.ROPE ← "metal";
vMaterial: Rope.ROPE ← "metal2";
cellType: Core.CellType ← RTTestUtil.CreateCore[libName];
libDesign: CD.Design ← CDIO.ReadDesign[libName];
saParms: SC.SAParms;
cdDesign: CD.Design ← CDOps.CreateDesign[libDesign.technology];
result: SC.Result;
rules: SC.DesignRules ← SC.CreateDesignRules[cdDesign.technology.key, hMaterial, vMaterial, horizontal];
handle: SC.Handle ← SC.CreateHandle[cellType, NIL, libName, rules, "SCTestSmall"];
SC.InitialPlace[handle, 5];
saParms ← SC.SAGetParms[handle, SC.SAInitialPlace[handle], cellType];
-- saParms.fzTabSize ← 200; saParms.fzVarLimit ← 0.02; saParms.alpha ← 0.96;
SC.SAPlaceImprove[handle: handle, saParms: saParms];
SC.GlobalRoute[handle];
SC.PosImprove[handle, 5];
SC.OrientImprove[handle, 5];
result ← SC.DetailRoute[handle];
LoadsOut.ProcessRouting[result.handle, "SCTestFSMLoadsOut.lst"];
RTTestUtil.WriteLayout[result.object, handle.name, cdDesign];
SC.Destroy[result.handle];
END.