File: MakePLADoc.tioga
Copyright © 1984 by Xerox Corporation. All rights reserved.
Created by: Bob Mayo, July 23, 1984 3:27:03 pm PDT
Last Edited by: Mayo, August 31, 1984 1:00:22 am PDT
USING MAKEPLA
USING MAKEPLA
CEDAR 5.2 — FOR INTERNAL XEROX USE ONLY
CEDAR 5.2 — FOR INTERNAL XEROX USE ONLY
Using MakePLA
Bob Mayo (June 22, 1984)
Filed on: /Indigo/ChipNDale/5.2/MakePLA/MakePLADoc.tioga (eventually)

© Copyright 1984 Xerox Corporation. All rights reserved.
Abstract: MakePLA is a program that generates simple PLAs or any other structure that has one decoder array (AND plane) connected to one storage array (OR plane). It takes as input a set of equations (or a truth table) and a set of layout tiles, and produces the PLA.
XEROX  Xerox Corporation
   Palo Alto Research Center
    3333 Coyote Hill Road
   Palo Alto, California 94304

For Internal Xerox Use Only
MakePLA Overview
MakePLA Tiles
Tiles are the basic building block out of which modules are built. They are cells of geometry with some special features. The most important special feature is the existence of alignment marks. Alignment marks (or marks for short) are named points in a cell. The document MakePLATileDoc.sil shows the tiles that MakePLA requires and how they are assembled.
MakePLA Options & Examples
Options are specified by assigning to pseudo-variables. This list gives an example of the use of each variable known to MakePLA. The defaults vary depending upon which tile set you are using.
ModuleGenerator ← "MakePLA";
Tells the tiling program Parquet what module generator to use.
TruthTableFile ← "///Users/Mayo.pa/PTiler/SamplePLA.tt";
Get the PLA description from a truth table in this file, instead of looking for boolean equations.
TruthTable ← {a BoolOps.TruthTable structure}
Use this structure as the truth table. Only used by programs that call the PLA generator, since it is hard for the user to specify this structure in a file.
TileSet ← "///Users/Mayo.pa/PTiler/SampleTiles.dale";
Says where to get the tiles for the PLA.
Optimize ← TRUE;
Run the description through a PLA optimizer.
Extras ← 12;
Tells how often to place extra ground lines (rows and columns in the AND and OR planes).
ExtraRows ← 12;
Sets the spacing of extra ground rows without affecting the number of extra columns.
ExtraColumns ← 12;
Sets the spacing of extra ground columns without affecting the number of extra rows.
ExtraAndColumns ← 12;
Sets the spacing of extra ground columns in the AND plane only.
ExtraOrColumns ← 12;
Sets the spacing of extra ground columns in the OR plane only.
TruthTableDumpFile ← "///Users/Mayo.pa/PTiler/Dump.tt";
Write a truth table file representing the PLA exactly as layed out, including optimization.
Inputs ← LIST["inA", "opOK", "in3"];
Names the input signals to the PLA. These are the names which should appear in the boolean equations if a truth table is not specified.
Outputs ← LIST["out1", "doSkip", "mungeIt"];
Names the output signals of the PLA. One should assign boolean equations to these if a truth table is not specified.
out1 = inA AND ~(opOK OR ~in3);
This is an example of an equation describing an output. Note the equals sign, this prevents the Mesa interpreter from trying to evaluate it.
PrintRows ← 10;
If the PLA contains more than this many rows then let the user know when each row is generated, so he doesn't get impatient. Set to a huge number to turn this off.