DIRECTORY CD, CDCells, CDCommandOps, CDSequencer, TerminalIO, WireIcons; WIGenerator: CEDAR PROGRAM IMPORTS CDCells, CDCommandOps, TerminalIO, WireIcons = BEGIN ExtractorGenerator: PROC [comm: CDSequencer.Command] = { index, increment, count, size: INT; deltaX: INT _ comm.pos.x-comm.sPos.x; deltaY: INT _ comm.pos.y-comm.sPos.y; index _ TerminalIO.RequestInt["Starting index of the extracted wire? "]; increment _ TerminalIO.RequestInt["Index increment? "]; count _ TerminalIO.RequestInt["Number of repititions? "]; size _ TerminalIO.RequestInt["Size of the structured wire? "]; FOR i: INT IN [0..count) DO [] _ CDCells.IncludeOb[ design: comm.design, ob: WireIcons.MakeExtractor[comm.design, index+i*increment, size].obj, trans: [off: [comm.sPos.x+i*deltaX, comm.sPos.y+i*deltaY]] ]; ENDLOOP; }; RangeExtractorGenerator: PROC [comm: CDSequencer.Command] = { index, increment, count, subSize, size: INT; deltaX: INT _ comm.pos.x-comm.sPos.x; deltaY: INT _ comm.pos.y-comm.sPos.y; index _ TerminalIO.RequestInt["Starting index of the extracted wire? "]; increment _ TerminalIO.RequestInt["Index increment? "]; subSize _ TerminalIO.RequestInt["Size of the extracted wire? "]; count _ TerminalIO.RequestInt["Number of repititions? "]; size _ TerminalIO.RequestInt["Size of the structured wire? "]; FOR i: INT IN [0..count) DO [] _ CDCells.IncludeOb[ design: comm.design, ob: WireIcons.MakeRangeExtractor[comm.design, index+i*increment, subSize, size].obj, trans: [off: [comm.sPos.x+i*deltaX, comm.sPos.y+i*deltaY]] ]; ENDLOOP; }; CDCommandOps.RegisterWithMenu[ menu: $ProgramMenu, entry: "Range Extractor Generator", doc: "", proc: RangeExtractorGenerator ]; CDCommandOps.RegisterWithMenu[ menu: $ProgramMenu, entry: "Extractor Generator", doc: "", proc: ExtractorGenerator ]; END. WIGenerator.mesa Copyright (C) 1986 by Xerox Corporation. All rights reserved. Last Edited by: Gasbarro August 22, 1986 5:30:26 pm PDT Κε˜™J™>Icode™7K™—šΟk ˜ Jšœ<˜>J˜—K˜KšΟn œœ˜Kšœ-˜4Kšœ˜K˜šžœœ ˜8Kšœœ˜#Kšœœ˜%Kšœœ˜%KšœH˜HKšœ7˜7Kšœ9˜9Kšœ>˜>šœœœ ˜šœ˜Jšœ˜JšœF˜FJšœ:˜:J˜—Kšœ˜—K˜K˜—šžœœ ˜=Kšœ(œ˜,Kšœœ˜%Kšœœ˜%KšœH˜HKšœ7˜7Kšœ@˜@Kšœ9˜9Kšœ>˜>šœœœ ˜šœ˜Jšœ˜JšœT˜TJšœ:˜:J˜—Kšœ˜—K˜K˜—šœ˜Jšœ˜Jšœ$˜$J˜Jšœ˜Jšœ˜—šœ˜Jšœ˜Jšœ˜J˜Jšœ˜Jšœ˜—Jšœ˜J™—…—ώ s