<> <> <> <> <> <> <<>> <> <<>> 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]; <> <> <> <> <> 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.GlobalRoute[handle]; SCNewGlobalRoute.GlobalRouteAllNets[handle]; <> <> <> <> <> <> -- SCPrivate.NewPosImprove[handle, areaFom, 10]; SCNewWidth.ComputeAllChanDW[handle, areaFom]; result _ SC.DetailRoute[handle]; RTTestUtil.WriteLayout[result.object, handle.name, cdDesign]; SC.Destroy[handle]; END.