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 27, 1987 2:58:46 pm PDT
Frank Bowers December 20, 1985 2:38:20 pm PST
Bryan Preas August 25, 1987 10:40:01 am PDT
To test the standard cell test package: SCTestSmall.cm
DIRECTORY
CD, CDIO, CDOps, Core, CoreProperties, PWCore, Rope, RTCoreUtil, RTTestUtil, SC, SCNewGlobalRoute, SCNewWidth, SCUtil, TWOps;
SCTestSmall: CEDAR PROGRAM
IMPORTS CDIO, CDOps, CoreProperties, PWCore, -- RTCoreUtil, -- RTTestUtil, Rope, SC, SCNewGlobalRoute, SCNewWidth, SCUtil, TWOps
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];
-- IF TWOps.TWIt[handle.name, TRUE]#NIL THEN SC.Error[callingError, Rope.Cat["Problem on Unix Placement Server. Check file ", handle.name, ".out"]];
-- SCUtil.ReadTWPlace[handle: handle];
-- 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];
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.ComputeAllChanDW[handle, areaFom];
result ← SC.DetailRoute[handle];
RTTestUtil.WriteLayout[result.object, handle.name, cdDesign];
SC.Destroy[handle];
END.