DIRECTORY CD, CDDebug, CDSequencer, CDSimpleOps, Core, CoreFlat, CoreOps, CoreProperties, IO, PWCore, Rope, SinixOps, Sisyph, Static, TerminalIO; DAUserCmdsImpl: CEDAR PROGRAM IMPORTS CDDebug, CDSequencer, CDSimpleOps, CoreFlat, CoreOps, CoreProperties, IO, PWCore, Rope, SinixOps, Sisyph, Static, TerminalIO = BEGIN ExtractAndLayout: PROC [comm: CDSequencer.Command] = { ob: CD.Object; badDesign: CD.Design; root, cellType: Core.CellType; [root: root, cell: cellType] _ SinixOps.SelectedCellType[comm.design, Sisyph.mode]; IF root=NIL THEN RETURN; -- Extraction ended in error, message already printed TerminalIO.PutF["\nGenerating layout for %g.\n", IO.rope[CoreOps.GetCellTypeName[cellType]]]; ob _ PWCore.Layout[cellType]; badDesign _ CDDebug.Draw[ob].dummyDesign; [] _ CDSimpleOps.RenameDesign[badDesign, Rope.Cat["view only """, badDesign.name, """"]] }; ExtractAndStatic: PROC [comm: CDSequencer.Command] = { root, cellType: Core.CellType; [root: root, cell: cellType] _ SinixOps.SelectedCellType[comm.design, Sisyph.mode]; IF root=NIL THEN RETURN; -- Extraction ended in error, message already printed TerminalIO.PutF["\nStatic checking %g.\n", IO.rope[CoreOps.GetCellTypeName[cellType]]]; Static.CountDirectConnections[cellType, Static.CheckCount, IF CoreProperties.GetCellTypeProp[cellType, Static.staticCutSetProp]=NIL THEN CoreFlat.CreateCutSet[labels: LIST["Logic", "LogicMacro"]] ELSE NIL]; TerminalIO.PutF["Finished static checking %g.\n", IO.rope[CoreOps.GetCellTypeName[cellType]]]; }; CDSequencer.ImplementCommand[key: $DAUserXNLayout, proc: ExtractAndLayout, queue: doQueue]; CDSequencer.ImplementCommand[key: $DAUserXNStatic, proc: ExtractAndStatic, queue: doQueue]; END. 6DAUserCmdsImpl.mesa Copyright Σ 1986, 1987 by Xerox Corporation. All rights reserved. Last Edited by: Louis Monier January 7, 1987 8:15:20 pm PST Last Edited by: Christian Jacobi, January 7, 1987 11:41:28 am PST Bertrand Serlet January 27, 1987 2:07:32 pm PST -- We use the cutsets specified by Logic Κ¦– "cedar" style˜codešœ™KšœB™BK™;Kšœ>Οk™AK™/K™—š œœNœ5˜‘K˜—•StartOfExpansion[]šΟnœœ˜KšœGœ4˜„Kšœœ˜K˜—šžœœ ˜6Jšœœ˜$Jšœ˜JšœS˜SJš œœœœΟc5˜NJ˜Jšœ1œ*˜]Jšœ˜J˜Jšœ)˜)JšœX˜XJ˜J˜—J™(šžœœ ˜6Jšœ˜JšœS˜SJš œœœœŸ5˜NJ˜Jšœ+œ*˜WJš œ;œCœœœœœ˜ΞJšœ2œ*˜^J˜J˜—Jšœ[˜[šœ[˜[K˜—Kšœ˜K˜—…—¨ „