A Really Solderless
by Al Williams
Before solderless breadboards, it was tough to
experiment with ICs. If you made a change to a
circuit, you had to unsolder or unwrap and risk
damaging something, but, even with a breadboard, you
need to have the parts you require on hand.
What if you could build any digital logic circuit you
wanted, including the software? I don't mean simulating
hardware — I mean actually configuring a real piece of
hardware to act like any combination of logic gates you
need. Making changes would be as simple as a few
This idyllic scenario is actually a reality, thanks to
programmable logic devices (PLDs). These powerful ICs
have blocks of logic gates and a programmable way to
interconnect the gates. You use special software to
describe the circuit you want by either drawing a
schematic or using a special language. The software
figures what connections are necessary to implement
your design and programs them into the IC’s flash
For the purposes of this article, I'll use the term
PLD to refer to any type of reconfigurable logic device. In
practice, PLDs usually refer to devices with a small
number of gates. Larger devices are often called Field
Programmable Gate Arrays (FPGAs). However, the way
you configure the devices is identical, so, for now, just
think of them as PLDs.
Just Another Microcontroller?
You might wonder if this is just a microcontroller
in disguise. PLDs are actually quite different from
microcontrollers. A microprocessor can only do one thing
at a time. As a simple example, consider an alarm system
that monitors several door sensors, multiple window
sensors, and a few smoke sensors. Each class of sensor
triggers a different annunciator. A microprocessor can
only process these inputs sequentially — while it examines the smoke sensors, it can't read the door sensors.
On the other hand, a PLD doesn't execute a sequential
program — if you program an AND gate to monitor five
sensors, it reads the sensors continuously. True, this
might not be critical for an alarm; however, a circuit
monitoring a volatile chemical process, for example,
might benefit from a nearly instantaneous response.
Besides this, you can often process data at a much
higher speed through PLD logic, making PLDs useful for
very high-speed projects.
A PLD Project
Figure 1. The PBX- 84 circuit board.
Figure 2. The PBX- 84 circuit board
connected to a solderless breadboard.
NUTS & VOLTS
If you are learning a new computer language, you
probably start out with a Hello World program. For PLDs,
you need some Hello World hardware. To get you started,
I'll show you a simple adder circuit that you can build with
a common Xilinx PLD. This PLD
is in an 84-pin PLCC package.
Although this isn’t the easiest
package to use in a prototype, it
is easier than many other PLDs,
which are in high-density surface
mount packaging. You can use a
PLCC to DIP adapter, if you like, or
you can purchase a circuit board
(PBX- 84) that will allow you to easily mount the chip to a solderless
breadboard (Figures 1 and 2).
Of course, you'll want to see
something more substantial than
an adder, so next month, I'll show
you how to use a PLD to convert