<> <> <> <> <<>> Install PipalExtract <> Run -a TestPipalSinix CDRead TestSinixB _ CoreProperties.StoreProperties[$LayoutObject, CoreProperties.PutProp[CoreProperties.FetchProperties[$LayoutObject], CoreProperties.propPrint, NIL]] _ CoreProperties.StoreProperties[$LayoutPort, CoreProperties.PutProp[CoreProperties.FetchProperties[$LayoutPort], CoreProperties.propPrint, NIL]] _ CoreProperties.StoreProperties[$LayoutGeometry, CoreProperties.PutProp[CoreProperties.FetchProperties[$LayoutGeometry], CoreProperties.propPrint, NIL]] _ CoreProperties.StoreProperties[$LayoutTrans, CoreProperties.PutProp[CoreProperties.FetchProperties[$LayoutTrans], CoreProperties.propPrint, NIL]] _ &box1 _ PipalMos.CreateBox[[20, 32], $Pol] _ PipalSinix.Extract[&box1, PipalSinix.layoutMode] _ &box2 _ PipalInt.TransformObject[[[40, 48]], PipalMos.CreateBox[[48, 20], $Met]] _ PipalSinix.Extract[&box2, PipalSinix.layoutMode] _ &ov _ Pipal.CreateOverlay[LIST[&box1, &box2]] _ PipalSinix.Extract[&ov, PipalSinix.layoutMode] _ &cdcontact _ CDSimpleRules.Contact[CMosB.cmosB, CMosB.pol, CMosB.met] _ &contact _ PipalCD.CDToPObject[&cdcontact] _ PipalSinix.Extract[&contact, PipalSinix.layoutMode] _ &cdtrans _ CMosBObjects.CreateTransistor[[56, 52], CMosB.ndif] _ &trans _ PipalCD.CDToPObject[&cdtrans] _ &ct _ PipalSinix.Extract[&trans, PipalSinix.layoutMode].result _ &cdtrans _ CMosBObjects.CreateAngleTransistor[[40, 32], CMosB.wpdif] _ &trans _ PipalCD.CDToPObject[&cdtrans] _ &ct _ PipalSinix.Extract[&trans, PipalSinix.layoutMode].result _ &font _ Imager.FindFontScaled["Xerox/XC1-2-2/Modern", 20.0] _ &star _ PipalMos.CreateStar[&contact, LIST [PipalMos.CreateText["Name", &font]]] _ PipalSinix.Extract[&star, PipalSinix.layoutMode] _ &overlay _ Pipal.CreateOverlay[LIST [&star]] _ &ct _ PipalSinix.Extract[&overlay, PipalSinix.layoutMode].result _ IF CoreOps.FindWire[&ct.public, "Name"]=NIL THEN ERROR ELSE NIL _ &marker _ PipalInt.TransformObject[[[40, 48]], PipalMos.CreateBox[[48, 20], $Met]] _ PipalSinix.Extract[&marker, PipalSinix.layoutMode] _ &design _ PW.OpenDesign["TestSinixB"] _ &cdobj _ PW.Get[&design, "Test"] _ &obj _ PipalCD.CDToPObject[&cdobj] _ &ct _ PipalSinix.Extract[&obj, PipalSinix.layoutMode].result _ &cdrot _ PW.CreateRotation[&cdobj, mirrorX] _ &rot _ PipalCD.CDToPObject[&cdrot] _ &ct _ PipalSinix.Extract[&rot, PipalSinix.layoutMode].result <> _ &cdabut _ PW.AbutX[&cdrot, &cdobj] _ &abut _ PipalCD.CDToPObject[&cdabut] _ &ct _ PipalSinix.Extract[&abut, PipalSinix.layoutMode].result _ CoreOps.Print[&ct] _ IF CoreOps.FindWire[&ct.public, "Gate"]=NIL THEN ERROR ELSE NIL <> Run TestPW _ &design _ PW.OpenDesign["TestPW"] _ &cdrout _ TestPW.TestRoutingCellN[&design, NIL, NIL, NIL] _ &rout _ PipalCD.CDToPObject[&cdrout] _ &ct _ PipalSinix.Extract[&rout, PipalSinix.layoutMode].result _ IF &ct.public.size=2 THEN NIL ELSE ERROR _ &cdrout _ TestPW.TestRoutingCellP[&design, NIL, NIL, NIL] _ &rout _ PipalCD.CDToPObject[&cdrout] _ &ct _ PipalSinix.Extract[&rout, PipalSinix.layoutMode].result _ IF &ct.public.size=3 THEN NIL ELSE ERROR <> _ &design _ PW.OpenDesign["DynabusPads"] _ &cdobj _ PW.Get[&design, "PadAll.mask"] _ PW.Draw[&cdobj] _ &obj _ PipalCD.CDToPObject[&cdobj] date _ &ct _ PipalSinix.Extract[&obj, PipalSinix.layoutMode].result date _ TestPipalSinix.DrawShell[&ct] <<>> <> <<_ PipalConnectImpl.debugCache _ TRUE>> <<_ PipalSinixImpl.debugCache _ TRUE>> <<_ PipalConnectImpl.SetComposite[PipalInt.abutClass, PipalConnectImpl.EnumerationComposer]>> <<_ TestPipalSinix.Draw[&abut] >> <<_ TestPipalSinix.DrawShell[&ct] >>