CSE370 Laboratory Assignment 4

Using Programmable Array Logic

Distributed: 2 February 2004
Due: 6 February 2004


In this laboratory assignment you will learn to use programmable array logic.  You will be using an 8-product term PAL called a 22V10 (see its functional logic diagram).   Note that it can generate 10 Boolean functions of up to 8 product terms each from 12 inputs.  In addition, it allows the functions to be fed back as input internally to the PAL (see the signal coming back out of the macro cell).  This is how this PAL gets its name: functions of up to 22 inputs, with 10 distinct outputs, hence, 22V10.  Note: for now, ignore the other logic elements in this PAL, we'll come back to them later in the quarter.  After you familiarize yourself with the component, you will write some Verilog code that will be compiled into the logic in this PAL.  This is yet another useful capability of the ActiveHDL tool.  We'll use the full-adder circuit from the previous lab assignment as the example.  You will then "program" the PAL and use it on your protoboard.


  1. Spend some time familiarizing yourself with the 22V10 functional logic diagram.  Make sure you see how logic functions will be formed in this component.
  2. Complete the entire next tutorial for how to compile a circuit to a PAL using the Aldec ActiveHDL 6.1 and then program a PAL using a PAL "programmer".  Just use the full-adder circuit from the previous lab assignment as the example. You should already have the Verilog file for this circuit and have verified it using the simulator.  The TAs will provide you with a PAL chip to add to your kit.
  3. After you've programmed your PAL, place it in your circuit board and wire its inputs and outputs to some switches and LEDs, respectively.  As in the previous laboratory assignment, verify its correct operation and show this to the TA.  In addition, you should make sure to review the reports generated by the compilation process and understand what equations were generated to be implemented by the PAL.  The TAs may ask you about this, so be sure to review it carefully.
  4. Now create a 2-bit adder out of your verilog full adder, and compile it for your PAL using Active-HDL 6.1. Place two full adders in a schematic to create a two-bit adder. After simulating to prove that it is correct, program the PAL and wire it to show correct operation, with switches for input, and LEDs for output.. Demonstrate to the TAs.

Comments to: cse370-webmaster@cs.washington.edu