<> <> <> <> <> <> DIRECTORY CD, CDMenus, CDProperties, CDSequencer, Core, CoreFlat, CoreOps, IO, Ports, PWCore, Rosemary, SinixOps, TerminalIO; LayoutSimulation: CEDAR PROGRAM IMPORTS CDMenus, CDProperties, CoreFlat, CoreOps, IO, Ports, PWCore, Rosemary, SinixOps, TerminalIO = BEGIN ROPE: TYPE = Core.ROPE; CellType: TYPE = Core.CellType; Wire: TYPE = Core.Wire; SeeRoseValue: PROC [command: CDSequencer.Command] = { simulation: Rosemary.Simulation _ NARROW [CDProperties.GetDesignProp[command.design, $Simulation]]; instance: CD.Instance; root: CellType; flatWires: LIST OF CoreFlat.FlatWireRec; [instance: instance, root: root, flatWires: flatWires] _ SinixOps.SelectedCoreObjects[command.design, PWCore.extractMode, TRUE]; SinixOps.HighlightNets[PWCore.extractMode.decoration, command.design, instance, root, flatWires]; FOR list: LIST OF CoreFlat.FlatWireRec _ flatWires, list.rest WHILE list#NIL DO TerminalIO.WriteF[ "Value[%g] = %g\n", IO.rope[CoreFlat.WirePathRope[root, list.first]], IO.rope[Ports.LSToRope[ Rosemary.WireValue[simulation, NEW [CoreFlat.FlatWireRec _ list.first]], CoreOps.WireBits[list.first.wire] ]] ]; ENDLOOP; }; <<>> CDMenus.ImplementEntryCommand[$OtherProgramMenu, "SeeRoseValue", SeeRoseValue]; END. <<>>