SCTestSmall.mesa
Copyright Ó 1985, 1987 by Xerox Corporation. All rights reserved.
Last Edited by: Preas, September 5, 1985 10:39:21 am PDT
Massoud Pedram March 23, 1989 10:28:13 am PST
Christian Le Cocq January 4, 1988 6:02:15 pm PST
Jean-Marc Frailong October 14, 1987 6:14:10 pm 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, Rope, RTCoreUtil, RTTestUtil, SC, SCStats, SCAreaEst -- , SCNewGlobalRoute, SCNewWidth, SCPrivate, SCUtil
;
SCTestSmall: CEDAR PROGRAM
IMPORTS CDIO, CDOps, CoreProperties, RTCoreUtil, RTTestUtil, SC, SCStats, SCAreaEst -- , SCPrivate, SCNewGlobalRoute, SCNewWidth, SCUtil
SHARES SC = BEGIN
result: SC.Result;
table: SCStats.Table;
libName: Rope.ROPE ←"SCLibCMOSB.dale";
hMaterial: Rope.ROPE ← "metal";
vMaterial: Rope.ROPE ← "metal2";
libDesign: CD.Design ← CDIO.ReadDesign[libName, NIL, CDIO.GetWorkingDirectory[]];
cellType: Core.CellType ← RTTestUtil.CreateCore[libName];
handle: SC.Handle;
saParms: SC.SAParms;
initialResult: SC.SAInitialResult;
cdDesign: CD.Design ← CDOps.CreateDesign[libDesign.technology];
rules: SC.DesignRules ← SC.CreateDesignRules[cdDesign.technology.key, hMaterial, vMaterial, horizontal];
RTCoreUtil.PutCoreBoolProp[cellType, SC.usePublicPositionsProp, TRUE];
handle ← SC.CreateHandle[cellType: cellType, flattenCellType: NIL, libName: libName, designRules: rules, name: "SCTestSmall"];
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];
[] ← SCAreaEst.EstimateArea[handle, 5, TRUE];
SC.InitialPlace[handle, 5];
-- SCUtil.WriteTWFiles[handle];
-- IF SCUtil.TWIt[handle.name]#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];
-- SCPrivate.NewPosImprove[handle, areaFom, 2];
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];
SCStats.WriteDetailStats[result];
SCStats.WriteSummaryStats[result];
table ← SCStats.CreateNetStats[result];
SCStats.WriteDetailNetStats[table];
SCStats.WriteSummaryNetStats[result, table];
RTTestUtil.WriteLayout[result.object, handle.name, cdDesign];
SC.Destroy[handle];
END.