\documentstyle[a4,12pt]{article} \begin{document} \author{Rainer Thonnes} \title{Blowing PALs on the Stag ZL30} \maketitle \parskip .1 in \setcounter{secnumdepth}{10} \parindent 0in \section{Preparing PAL files for blowing on the STAG ZL30} \small\tt \begin{verbatim}(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. \end{verbatim}\rm \normalsize Documentation by RWT, prepared 10/04/85, revised 09/01/86. \vspace{.75in} stag:pal.doc printed on 15/03/89 at 14.08 \newpage \tableofcontents \end{document}