PLA Format


BOOM accepts as an input and also produces in the output a two-level description of a Boolean function. This is described as a character matrix (truth table) with keywords embedded in the input to specify the size of the matrix and the logical format of the input function.

Keywords

The following keywords are recognized by BOOM. The list shows the probable order of the keywords in a PLA description. The symbol d denotes a decimal number and s denotes a text string. The minimum required set of keywords is .i, .o and .e. Both keywords .i and .o must precede the truth table.

.i d Specifies the number of input variables (necessary)
.o d Specifies the number of output functions (necessary)
.ilb s1 s2 . . . sn Gives the names of the binary valued variables. This must come after .i. There must be as many tokens following the keyword as there are input variables
.ob s1 s2 . . . sn Gives the names of the output functions. This must come after .o. There must be as many tokens following the keyword as there are output variables
.type s Sets the logical interpretation of the character matrix. This keyword (if present) must come before any product terms. s is either fr or fd (which is default)
.p d Specifies the number of product terms
.e (.end) Marks the end of the PLA description

Logical Description of a PLA

When we speak of the ON-set of a Boolean function, we mean those minterms which imply the function value is a 1. Likewise, the OFF-set are those terms which imply the function is a 0, and the DC-set (don't care set) are those terms for which the function is unspecified. A function is completely described by providing its ON-set, OFF-set and DC-set. Note that all minterms lie in the union of the ON-set, OFF-set and DC-set, and that the ON-set, OFF-set and DC-set share no minterms.

A Boolean function can be described in one of the following ways:

  1. By providing the ON-set. In this case the OFF-set can be computed as the complement of the ON-set and the DC-set is empty.
  2. By providing the ON-set and DC-set. The OFF-set can be computed as the complement of the union of the ON-set and the DC-set. This is indicated with the keyword .type fd in the PLA file. This Boolean function specification uses BOOM as the output of the minimization algorithm.
  3. By providing the ON-set and OFF-set. In this case the DC-set can be computed as the complement of the union of the ON-set and the OFF-set. It is an error for any minterm to belong to both the ON-set and OFF-set. This error may not be detected during the minimization, but it can be checked by the "consistency check" option. This type is indicated by the keyword .type fr in the input file.
    This is the only possible Boolean function specification allowed as an input of BOOM.

 

Symbols in the PLA Matrix and Their Interpretation

Each position in the input plane corresponds to an input variable where a 0 implies that the corresponding input literal appears complemented in the product term, a 1 implies that the input literal appears uncomplemented in the product term, and - implies the input literal does not appear in the product term.

With .type fd (the default), for each output, a 1 means this product term belongs to the ON-set, a 0 means this product term has no meaning for the value of this function.

With .type fr, for each output, a 1 means this product term belongs to the ON-set, a 0 means this product term belongs to the OFF-set, and a - means this product term has no meaning for the value of this function.

Regardless of the type of PLA, a ~ implies the product term has no meaning for the value of this function.

 

Example 1

A two-bit adder which takes in two 2-bit operands and produces a 3-bit result can be described completely in minterms as:

.i 4
.o 3
.p 16
.type fr
0000 000
0001 001
0010 010
0011 011
0100 001
0101 010
0110 011
0111 100
1000 010
1001 011
1010 100
1011 101
1100 011
1101 100
1110 101
1111 110
.e

Notice that there is no difference between the fd and fr types here, because there is no DC set. However, the .type fr keyword has to be present, to be accepted by BOOM.

Example 2

The combinational logic of a synchronnous resetable BCD counter can be described as:

.i 5
.o 4
.p 10
.ilb RESET q0 q1 q2 q3
.ob d0 d1 d2 d3
.type fr
00000 0001
00001 0010
00010 0011
00011 0100
00100 0101
00101 0110
00110 0111
00111 1000
01000 1001
01001 0000
1---- 0000
.e

Notice that BOOM does not accept all features of the current Berkeley PLA format. When any features of this format not described here are used, they are ignored or the error is returned.