SCTestSmall.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Last Edited by: Preas, September 5, 1985 10:39:21 am PDT
Frank Bowers December 20, 1985 2:38:20 pm PST
Bryan Preas April 7, 1986 9:56:18 am PST
To run the standard cell test package: SCTestSmall.cm
DIRECTORY
CD, CDIO, CDOps, Core, CoreProperties, PWCore, Rope, -- RTCoreUtil, -- SC, RTTestUtil;
SCTestSmall: CEDAR PROGRAM
IMPORTS CDIO, CDOps, CoreProperties, PWCore, -- RTCoreUtil, -- SC, RTTestUtil
SHARES SC =
BEGIN
result: SC.Result;
libName: Rope.ROPE ←"SCTestLib.dale";
hMaterial: Rope.ROPE ← "metal";
vMaterial: Rope.ROPE ← "poly";
libDesign: CD.Design ← CDIO.ReadDesign[libName, NIL, CDIO.GetWorkingDirectory[]];
cellType: Core.CellType ← RTTestUtil.CreateCore[libName];
saParms: SC.SAParms;
initialResult: SC.SAInitialResult;
cdDesign: CD.Design ← CDOps.CreateDesign[libDesign.technology];
rules: SC.DesignRules ← SC.CreateDesignRules[cdDesign.technology.key, hMaterial, vMaterial, horizontal];
handle: SC.Handle ← SC.CreateHandle[cellType: cellType, flattenCellType: NIL, libName: libName, designRules: rules, name: "SCTestSmall", decoration: PWCore.extractMode.decoration];
CoreProperties.PutCellTypeProp[cellType, SC.investmentProp, SC.veryLongValue];
-- RTCoreUtil.PutCoreRealProp[cellType, SC.t0SA, 300000.0];
-- RTCoreUtil.PutCoreRealProp[cellType, SC.maxTStepSA, 0.985];
-- RTCoreUtil.PutCoreRealProp[cellType, SC.lambdaSA, 0.1];
-- RTCoreUtil.PutCoreIntProp[cellType, SC.tableSizeSA, 500];
-- RTCoreUtil.PutCoreIntProp[cellType, SC.limitSA, 900];
SC.InitialPlace[handle, 5];
initialResult ← SC.SAInitialPlace[handle];
saParms ← SC.SAGetParms[handle, initialResult, cellType];
SC.SAPlaceImprove[handle: handle, saParms: saParms, widthFactor: 1.1];
-- SC.SAPlaceImproveM[handle: handle, saParms: saParms, widthFactor: 1.3];
-- SC.PlaceImprove[handle: handle, maxCycles: 6];
SC.PlaceImprove[handle, 1];
SC.GlobalRoute[handle];
SC.PlaceImprove[handle, 5];
-- SC.PosImproveWL[handle, 1];
-- SC.OrientImproveWL[handle, 1];
-- SC.PosImprove[handle, 1];
-- SC.OrientImprove[handle, 1];
result ← SC.DetailRoute[handle];
RTTestUtil.WriteLayout[result.object, handle.name, cdDesign];
SC.Destroy[handle];
END.