(1) Preferably in your LOGIN.COM file,
give the command "SETUP STAG".
This makes the commands MINIMO, FUSEPLOT, PAL, and SEND available.
(2) Prepare your PIN definition file.
Example:
1 A
2 B
3 C
0
22 X
23 Y
-22 1
-23 1
0
The information is presented in two similar groups, one for input
pins, the other for output pins. Each group is terminated with
a zero, and consists of (number, signal-name) pairs.
Comments may be inserted by enclosing them in curly brackets.
In the above example, input signal B is associated with input pin
2 of a chip, while output signal X is associated with pin 22.
Certain PALs have outputs which do not appear on any pin, for example
the 20L8, where there is a tri-state buffer-enable signal associated
with the signal going to pin N, this is referred to in the pin file
as pin -N.
Applications not using the tri-state capability of these PALs should
ensure that the output buffers are permanently enabled, by putting
a line of the form above, e.g. "-22 1", where the dummy signal "1"
informs the program that all fuses associated with the enable-gate
should be blown.
Applications which use those tri-state inputs which have feedbacks
as inputs only, should insert a line of the form "-22 0" into the
output list, indicating that all fuses associated with the enable
gate are to be left intact.
Applications which DO use the tri-state capability should invent an
additional signal name, which must be associated with some negative
pin in the normal way.
(3) Prepare a MINIMO source file, which can be done in either of two ways:
(a) Logic equation format (this is the default)
Example:
MODE EQUIN this statement not necessary
IN A, B, C
X = A.B.C+\B.C
Y = A.B.C+A.\B
OUT X,Y
The outputs are specified as boolean expressions. Brackets are
allowed. '.' means and, '+' means or, '' means not.
Precedences are: '' highest, '+' lowest.
(b) Tabular format
Example:
MODE TABIN
IN A, B, C
. 0 1 1 0
1 0 . 0 1
1 1 1 1 1
OUT X, Y
Extra spaces above have been inserted for legibility and are not
needed. The MINIMO program just wants the NUMBER of inputs and
outputs to add up to the number of terms on a line.
The rules are that whenever the inputs are as shown on the
left, the outputs will be as shown on the right. Dots are
"don't-care"-inputs and may only appear on the left.
In either case PLEASE NOTE that the sense of the output signals, in
the case of LOW-ACTIVE-OUTPUT PALs is that prevailing BEFORE the
inverter, i.e. it is the OR of the ANDs, not the NOR or the ANDs.
In the case of REGISTERED PALs, the TRUE INPUT is that derived from
the Q, not the Q' output, i.e. also before the inverter stage.
(4) Run the MINIMO program, which is a separate utility written for
minimising multiple-output logic functions, primarily to aid in
the generation of VLSI PLA structures. This is why you need to
prepare TWO files describing your PAL design, one to describe the
logic, and one to relate to the pins. This is a small overhead
compared with utilities like PALASM, but is well worth while because
with MINIMO your logic equations can be of arbitrary complexity
(provided, of course, the logic is realisable in the limited
complexity of the particular PAL of your choice).
Assuming your equations are in a file called XYZ.PAL, you should
type the command "MINIMO XYZ.PAL/XYZ.MIN".
(5) Run the FUSEPLOT program, for example by typing the command
"FUSEPLOT EXAMPLE.MIN,EXAMPLE.PIN,20L8/EXAMPLE.FUS"
The first input parameter is MINIMO's output file.
The second is the pin definition file.
The third parameter is the type if PAL, which, if it does not look like
a full filename (directory:file.extension) will refer to a file called,
as in the example, STAG:20L8.DEF, which contains information telling the
FUSEPLOT program which row and column numbers correspond to each of the
input and output pins. At present, definition files exist for (20L8,
20R8, 16L8, 16R8), additional ones can be added as and when required;
Contributions and requests to RWT, please.
The output parameter is a file to receive the fuse-plot diagram.
(*) Steps (4) and (5) can be combined by giving the command PAL X Y,
where X is a filename and Y is a PAL type. This calls up a command
file which runs MINIMO on file X.PAL, producing X.MIN, then runs
FUSEPLOT with X.MIN and X.PIN, producing X.FUS.
(6) Connect the Stag ZL30 to the printer port of the VDU,
set it up for the appropriate device type,
set it up for fuse-plot diagram input format (SET 1, 3, EXIT),
clear its memory (SET 4, EXIT),
press INPUT, then type the command "SEND EXAMPLE.FUS,X",
where the X is either W (when using a WY75/VT100/ANSI terminal),
or V (when using a Visual200/VT52) terminal.
The ZL30 should beep when the machine comes back to command level.
Program the PAL by pressing PROGRAM.
Documentation by RWT, prepared 10/04/85, revised 09/01/86.
stag:pal.doc printed on 15/03/89 at 14.08