DIRECTORY BoolOps, CD, Rope USING [ROPE], PW, PWLow; PWPLA: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; ProgTile: TYPE = REF ProgTileRec; ProgTileRec: TYPE = ARRAY BOOL --and plane-- OF ARRAY BOOL --upper row-- OF ARRAY BOOL -- left col-- OF ARRAY BoolOps.TruthBit --bit-- OF PW.ObjName; AllTiles: TYPE = REF AllTilesRec; AllTilesRec: TYPE = RECORD[ rowTab: ProgTile, -- set of core tiles arranged in an array Aul, AUleft, ADleft, All, ALtop, ARtop, ALbot, ARbot, AHleft, ALH, ARH, AHV, AVtop, AUV, ADV, AVbot, Btop, BU, BD, BH, Bbot, OLtop, ORtop, Our, OUright, ODright, Olr, ORbot, OLbot, OVtop, OUV, ODV, OHV, OVbot, OLH, ORH, OHright, AUL1, AUL0, AULx, AUR1, AUR0, AURx, ADL1, ADL0, ADLx, ADR1, ADR0, ADRx, OUL1, OUL0, OUR1, OUR0, ODL1, ODL0, ODR1, ODR0: PW.ObjName _ NIL]; PLADescription: TYPE = REF PLADescriptionRec; PLADescriptionRec: TYPE = RECORD [ truthTableFile: ROPE _ NIL, truthTable: BoolOps.TruthTable _ NIL, tileSet: ROPE _ NIL, optimize: BOOL _ FALSE, haveHorizontalExtras, haveVerticalAndExtras, haveVerticalOrExtras: BOOL _ FALSE, extraRows, extraAndColumns, extraOrColumns: INT _ INT.LAST-100, -- SPACING (in number of minterms) between extra ground rows and columns; large => no extra printRows: INT _ 5, -- If PLA has more than this many rows, list them on the screen. dumpFile: ROPE _ NIL, -- if non-NIL then truth table (after optimization) -> dumpFile. inputNames, outputNames: LIST OF ROPE _ NIL -- every input and output MUST be named ]; LoadTiles: PUBLIC PROC[design: CD.Design, desc: PLADescription] RETURNS [allTiles: AllTiles]; AssembleRows: PUBLIC PROC[design: CD.Design, desc: PLADescription, allTiles: AllTiles] RETURNS[pla: PW.ObjName]; CreatePLAFromFile: PUBLIC PROC [design: CD.Design, fileName: ROPE] RETURNS [pla: PW.ObjName]; CreatePLA: PROC [design: CD.Design, desc: PLADescription, allTiles: AllTiles] RETURNS [pla: PW.ObjName]; END. ˜PWPLA.mesa Copyright c 1984 by Xerox Corporation. All rights reserved. Last Edited by: Monier, February 28, 1985 12:13:16 pm PST -- Make a PLA module. Borrows more than heavily from Bob Mayo's MakePLA. -- tiles outside of the core of the PLA, and extra tiles in the core -- major tiles in the core of the PLA -- The good old PLA -- create a PLA from a file description -- create a PLA from a record Êݘšœ ™ Jšœ Ïmœ1™žœžœžœ žœžœžœžœžœGžœžœžœ žœžœ ˜äJšœ%™%Jšœxžœ žœ˜ŠJ˜—J˜J™JšÏbœžœžœ˜-š¢œžœžœ˜"Jšœžœžœ˜Jšœ!ž˜%Jšœ žœžœ˜Jšœ žœžœ˜JšœCžœžœ˜PJš œ,žœžœžœžœ¡[˜œJšœ žœ¡@˜TJšœ žœžœ¡ ž¡3˜WJš œžœžœžœžœ¡'˜UJ˜—J˜JšŸ œž œ žœžœ˜]J˜Jš Ÿ œž œ žœ3žœžœ ˜pJ˜J˜J™'Jš Ÿœž œ žœžœžœ˜]J˜J™JšŸ œžœ žœ3žœ˜hJ˜J˜Jšžœ˜—J˜J˜J˜—…—z ï