SCTestSmall.mesa
Copyright Ó 1985, 1987 by Xerox Corporation. All rights reserved.
Last Edited by: Preas, September 5, 1985 10:39:21 am PDT
Cong, August 23, 1987 5:44:32 pm PDT
Frank Bowers December 20, 1985 2:38:20 pm PST
Bryan Preas April 19, 1987 2:38:42 pm PDT
To test the standard cell test package: SCTestSmall.cm
DIRECTORY
CD, CDIO, CDOps, Core, CoreProperties, PWCore, Rope, RTCoreUtil, RTTestUtil, SC, SCPrivate, -- SCNewGlobalRoute,-- SCNewWidth, SCUtil;
SCTestSmall: CEDAR PROGRAM
IMPORTS CDIO, CDOps, CoreProperties, PWCore, -- RTCoreUtil, -- RTTestUtil, SC, SCPrivate, -- SCGlobalRoute, -- SCNewWidth, SCUtil
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];
SCUtil.WriteTWFiles[handle];
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];
-- SCNewGlobalRoute.GlobalRouteAllNets[handle];
SC.PlaceImprove[handle, 5];
SC.PosImproveWL[handle, 1];
SC.OrientImproveWL[handle, 1];
SC.PosImprove[handle, 1];
SC.OrientImprove[handle, 1];
SC.FTImprove[handle, 10];
SCPrivate.NewPosImprove[handle, areaFom, 10];
SCNewWidth.AllChanWidths[handle, areaFom];
result ← SC.DetailRoute[handle];
RTTestUtil.WriteLayout[result.object, handle.name, cdDesign];
SC.Destroy[handle];
END.