[sci.electronics] Help! Expresso PLA file format

geoff@hls0.hls.oz (Geoff Bull) (08/09/90)

Anybody know where I can get the Berkeley Expresso PLA file format?

-- 
Geoff Bull (Senior Engineer)	Phone  : (+61 48) 68 3490
Highland Logic Pty. Ltd.	Fax    : (+61 48) 68 3474
348-354 Argyle St		ACSnet : geoff@highland.oz.au
Moss Vale, 2577, AUSTRALIA

ricks@shambhala.Berkeley.EDU (Rick L Spickelmier) (08/09/90)

In article <843@hls0.hls.oz>, geoff@hls0.hls.oz (Geoff Bull) writes:
|> Anybody know where I can get the Berkeley Expresso PLA file format?
|> 
|> -- 
|> Geoff Bull (Senior Engineer)	Phone  : (+61 48) 68 3490
|> Highland Logic Pty. Ltd.	Fax    : (+61 48) 68 3474
|> 348-354 Argyle St		ACSnet : geoff@highland.oz.au
|> Moss Vale, 2577, AUSTRALIA

Here it is (in 'man' macro format):

.TH PLA 5CAD 8/23/81
.SH NAME
pla \- Format for physical description of Programmable Logic Arrays.
.SH SYNOPSIS
.B pla
.SH DESCRIPTION
This format is used by programs which manipulate
plas to describe the physical implementation.
Lines beginning with a `\fB#\fR' are comments and are ignored.
Lines beginning with a `\fB.\fR' contain control
information about the pla.
Currently, the control information is given in the following order:
.nf
	\fB.i\fP  <number of inputs>
	\fB.o\fP  <number of outputs>
	\fB.p\fP  <number of product terms (pterms)>
	and optionally,
	\fB.na\fP<name> (the name to be used for the pla)
.fi
.PP
What follows then is a description of the AND and OR planes
of the pla with one line per product term.
Connections in the AND plane are represented with a `\fB1\fR' for
connection to the non-inverted input line and a \fB`0\fR' for
connection to the inverted input line.
No connection to an input line is indicated 
with '\fBx\fR', '\fBX\fR', or '\fB-\fR' with '\fB-\fR' being preferred.
Connections in the OR plane are indicated by a '\fB1\fR' with no
connection being indicated 
with '\fBx\fR', '\fBX\fR', '\fB0\fR', or '\fB-\fR' with '\fB-\fR' being 
preferred.  Spaces or tabs may be used freely and are ignored.
.PP
The end of the pla description is indicated with:
.br
	\fB.e\fP
.PP
Programs capable of handling split and folded arrays
employ the following format:
.RS
.nf
.nj


.B "AND PLANE"
.RS

Column (1) Contact to input  (2) No contact to input

(1)     (2)
 1       \-	Normal contacts, no splits or folds 
 !       _		Split below
 ;       ,		Fold to right
 :       .		Split below and fold to right

.RE
.B "OR PLANE"
.RS

Column (1) Contact to output  (2) No contact to output

(1)     (2)
 I       ~		Normal contacts, no splits or folds
 i       =	Split below
 |       '		Fold to right
 j       "		Split below and fold to right

.RE
.B "ADDITIONAL ELEMENTS"
.RS

 *		Input buffer
 +		Output buffer
 D		Depletion load associated with product term
 N		No depletion load associated with product term

.RE
.ju
.fi
.RE
.PP
Note that
the decoding function of the AND plane is separated
from the specification of its connectivity.
This makes the AND and OR plane specifications identical.
.PP
These programs handle the following more general set of\ \.\c
parameters:
.nf

	\fB.il\fP  <number of left-AND plane inputs>
	\fB.ir\fP  <number of right-AND plane inputs>
	\fB.ol\fP  <number of left-OR plane inputs>
	\fB.or\fP  <number of right-OR plane inputs>
	\fB.p\fP  <number of product terms>

	\fB.ilt\fP  <labels left-top-AND plane>
	\fB.ilb\fP  <labels left-bottom-AND plane>
	\fB.irt\fP  <labels right-top-AND plane>
	\fB.irb\fP  <labels right-bottom-AND plane>
	\fB.olb\fP  <labels left-bottom-OR plane>
	\fB.olt\fP  <labels left-top-OR plane>
	\fB.orb\fP  <labels right-bottom-Or plane>
	\fB.ort\fP  <labels right-top-Or plane>
	\fB.pl\fP  <labels left product terms>
	\fB.pr\fP  <labels right product terms>

.fi
The first group of parameters must precede the second group.
If there is only one AND or OR plane it is assumed
to be the left one and the companion\ \.\c
parameters may be shortened by dropping their (left,right)
designation character.
.PP
In order to better deal with folded and split PLAs, the
following\ \.\c
parameters are proposed:
.nf

	\fB.ig\fP  <input group>
	\fB.og\fP  <output group>
	\fB.ins\fP  <inputs excluded from splitting>
	\fB.inf\fP  <inputs excluded from folding>
	\fB.ons\fP  <outputs excluded from splitting>
	\fB.onf\fP  <outputs excluded from folding>

.fi
.PP
In order to build finite state machines, the following\ \.\c
parameters are proposed:
.nf

	\fB.iltf\fP  <left-top-AND feedback terms>
	\fB.ilbf\fP  <left-bottom-AND feedback terms>
	\fB.irtf\fP  <right-top-AND feedback terms>
	\fB.irbf\fP  <right-bottom-AND feedback terms>
	\fB.oltf\fP  <left-top-OR feedback terms>
	\fB.olbf\fP  <left-bottom-OR feedback terms>
	\fB.ortf\fP  <right-top-OR feedback terms>
	\fB.orbf\fP  <right-bottom-OR feedback terms>

	\fB.ilr\fP  <left re-ordered inputs>
	\fB.irr\fP  <right re-ordered inputs>
	\fB.olrf\fP  <left re-ordered outputs>
	\fB.orrf\fP  <right re-ordered outputs>

.fi
The\ \.\c
XXXf parameters must occur in pairs, with
the\ \.\c
oXXf line first.
Input and output terms must occur on the same side (top, bottom)
of the PLA.
Feedback terms must be given in ascending order.
The re-order\ \.\c
parameters simplify feedback routing.

.SH "SEE ALSO"
espresso(1OCTTOOLS), espresso(5OCTTOOLS), misII(1OCTTOOLS)

--
	    Rick L. Spickelmier
	    Electronics Research Laborartory
	    University of California at Berkeley

	    ricks@berkeley.edu, ...!ucbvax!ricks