# Spring 2002 ENGR 212 / CSCI 311 Homework 6

This is a *double* assignment, with twice the usual homework weight
and twice the number of weeks for work. This assignment is due Friday,
22 March.

## Problem 1

In this problem, you will "program" the 6x8 PLA
shown below, which can be downloaded as a JPEG image in a couple of
different ways:

### Subproblem 1A

Program the PLA to perform concurrently perform the following three
equations:

- F(a, b, c, d, e) = Σ(0, 5, 17, 19, 21, 25, 31) + d(2, 4, 7) ;
- G(a, b, c, d, e) = Σ(13, 15, 25) + d(0, 1, 2, 3, 4, 5, 6, 7)
;
- H(a, b, c, d, e) = Σ(12, 13, 14, 15, 20, 21, 22, 23, 31) + d(7,
30) ;

You really *must* use `espresso` to solve this problem.
It's your only chance of accomplishing this task with eight terms.

### Subproblem 1B

This time design a PLA that takes four inputs, in two pairs of two bits
each, `A`_{0}, `A`_{1},
`B`_{0}, and `B`_{1}. The PLA has two
outputs, `GT` and `LT`. `GT` is 1 if the number of
`A`_{i} that are 1 is greater than the number of
`B`_{i} that are one. `LT` is 1 if the
number of `A`_{i} that are 1 is less than the
number of `B`_{i} that are one.

Again you better plan on using `espresso`.

## Problem 2

Write "programs" to solve Subproblem 1B in both ABEL and VHDL. Be sure to
test out your programs using Xilinx Foundation.