Install Extract CDCMosA Run -a SinixCMosA CDRead TestSinixA CDRead TestSinixB _ CoreProperties.StoreProperties[$CMosBObject, CoreProperties.PutProp[CoreProperties.FetchProperties[$CMosBObject], CoreProperties.propPrint, NIL]] _ CoreProperties.StoreProperties[$CMosBPins, CoreProperties.PutProp[CoreProperties.FetchProperties[$CMosBPins], CoreProperties.propPrint, NIL]] _ CoreProperties.StoreProperties[$CMosBGeometry, CoreProperties.PutProp[CoreProperties.FetchProperties[$CMosBGeometry], CoreProperties.propPrint, NIL]] _ CoreProperties.StoreProperties[$CMosBTrans, CoreProperties.PutProp[CoreProperties.FetchProperties[$CMosBTrans], CoreProperties.propPrint, NIL]] _ &design _ PW.OpenDesign["TestSinixB"] _ &obj _ PW.Get[&design, "Test"] _ &abut _ PW.AbutX[PW.CreateRotation[&obj, mirrorX], &obj] _ &ct _ Sinix.Extract[&abut, SinixCMosB.mode].result _ CoreOps.Print[&ct] _ IF CoreOps.FindWire[&ct.public, "Gate"]=NIL THEN ERROR ELSE NIL Run TestPW _ &design _ PW.OpenDesign["TestPW"] _ &obj _ TestPW.TestRoutingCellP[&design, NIL, NIL, NIL] _ &ct _ Sinix.Extract[&obj, SinixCMosB.mode].result _ IF &ct.public.size=3 THEN NIL ELSE ERROR _ &obj _ TestPW.TestRoutingCellN[&design, NIL, NIL, NIL] _ &ct _ Sinix.Extract[&obj, SinixCMosB.mode].result _ IF &ct.public.size=2 THEN NIL ELSE ERROR _ PW.Draw[&obj] _ &design _ PW.OpenDesign["TestSinixB"] _ &obj _ PW.Get[&design, "TestPinCheckpoint"] _ &ct _ Sinix.Extract[&obj, SinixCMosB.mode].result _ IF CoreGeometry.GetPins[SinixCMosB.mode.decoration, &ct.public[0]].first.obj=CoreGeometry.GetPins[SinixCMosB.mode.decoration, &ct.public[1]].first.obj THEN ERROR ELSE NIL _ &shell _ CoreGeometry.CreateShell[SinixCMosB.mode.decoration, &ct, TRUE] _ &shellCT _ Sinix.Extract[&shell, SinixCMosB.mode].result _ IF &shellCT.public.size=2 THEN NIL ELSE ERROR _ IF CoreGeometry.GetPins[SinixCMosB.mode.decoration, &shellCT.public[0]].first.obj=CoreGeometry.GetPins[SinixCMosB.mode.decoration, &shellCT.public[1]].first.obj THEN ERROR ELSE NIL _ &shellDesign _ CDOps.CreateDesign[CD.FetchTechnology[$cmosB]] _ CDOps.IncludeObjectI[&shellDesign, &shell, [0, 0], original] _ CDIO.WriteDesign[&shellDesign, "TestPinCheckpoint"] _ &shellDesign _ PW.OpenDesign["TestPinCheckpoint.dale"] _ &shell _ &shellDesign.actual.first.dummyCell.ob.specific.contents.first.ob _ &shellCT _ Sinix.Extract[&shell, SinixCMosB.mode].result _ IF &shellCT.public.size=2 THEN NIL ELSE ERROR _ IF CoreGeometry.GetPins[SinixCMosB.mode.decoration, &shellCT.public[0]].first.obj=CoreGeometry.GetPins[SinixCMosB.mode.decoration, &shellCT.public[1]].first.obj THEN ERROR ELSE NIL _ &design _ PW.OpenDesign["TestSinixB"] _ &obj _ PW.Get[&design, "TestIO"] _ &ct _ Sinix.Extract[&obj, SinixCMosB.mode].result _ CoreIO.ReportSaveCellType[&ct] _ &rct _ CoreIO.RestoreCellType["TestIO"] _ &rrct _ CoreOps.Recast[&rct] _ &robj _ CoreGeometry.GetObject[SinixCMosB.mode.decoration, &rrct] _ PW.Draw[&robj] _ &design _ PW.OpenDesign["TestSinixB"] _ &obj _ PW.Get[&design, "TestPinCheckpoint"] _ &ct _ Sinix.Extract[&obj, SinixCMosB.mode].result _ CoreIO.ReportSaveCellType[&ct] _ &rct _ CoreIO.RestoreCellType["TestPinCheckpoint"] _ &rrct _ CoreOps.Recast[&rct] _ &robj _ CoreGeometry.GetObject[SinixCMosB.mode.decoration, &rrct] _ PW.Draw[&robj] LTestSinix.cm Copyright Σ 1985, 1987 by Xerox Corporation. All rights reversed. Created by Bertrand Serlet August 30, 1985 11:55:01 am PDT Bertrand Serlet April 6, 1987 11:15:40 pm PDT We now check the extraction of abuts We check the routing class extraction We check Shells for pins And the writing of decorations on file Κ˜šœ ™ JšœB™BIcodešœ7Οk™:Kšœ-™-—J™Jšœ˜J˜Jšœ˜Jšœ˜J˜JšœŽœ˜“JšœŠœ˜Jšœ’œ˜—JšœŒœ˜‘J˜Jšœ$™$Jšœ œ˜'Jšœ œ˜ Jšœ œœ%˜:Jšœ4˜4Jšœ˜Jš œœ&œœœœ˜AJ˜Jšœ%™%J˜ Jšœ œ˜#Jšœ*œœœ˜8Jšœ3˜3Jš œœœœœ˜*Jšœ*œœœ˜8Jšœ3˜3Jš œœœœœ˜*Jšœœ ˜J˜Jšœ™Jšœ œ˜'Jšœ œ"˜-Jšœ3˜3Jš œœ•œœœ˜¬JšœEœ˜JJšœ:˜:Jš œœœœœ˜/Jš œœŸœœœ˜ΆJšœ$œ˜?Kšœ>˜>Kšœœ/˜5Kšœœ%˜8JšœL˜LJšœ:˜:Jš œœœœœ˜/Jš œœŸœœœ˜ΆJ˜Jšœ&™&Jšœ œ˜'Jšœ œ˜"Jšœ3˜3Jšœ ˜ Jšœ)˜)Jšœ˜JšœC˜CJšœœ ˜J˜Jšœ œ˜'Jšœ œ"˜-Jšœ3˜3Jšœ ˜ Jšœ4˜4Jšœ˜JšœC˜CJšœœ ˜J˜J˜—…— Έ