EEC180A, Digital Systems I
Tips for building and debugging your circuits
Pointers for Building Circuits on Breadboards
** Important Note:
Before connecting anything to a circuit, always verify the power
supply voltages and input signals (i.e., function generator signals or
signals from other modules) with an oscilloscope or voltmeter. Even
if the instrument display seems to indicate levels are correct,
this is a good practice to prevent circuit or equipment damage.
- Wire power and ground neatly and carefully around the perimeter of
breadboards. Stick to a convention (for example, use red wires for
Vdd, and black wires for ground), to facilitate debug and help prevent
damaging
equipment or components. Pay attention to which sections of the breadboard
are permanently shorted together and which sections are not.
- Have the design complete prior to building the circuit. This includes a
"floorplan" showing the relative placement of chips on your breadboard
and a diagram showing how every pin is connected. This will help
with having a neat and clean design which makes debugging far easier.
You will likely spend less total time on your project if you do this first.
- Place all necessary ICs in the breadboard paying attention to
where signals will be routed around the board. Try to avoid long wires,
they can be messy and can potentially cause operational problems and
induce more interference into circuits.
- Before starting to wire, keep in mind that long looping wires make it
harder to debug and can induce unwanted interference into the circuit
(especially important for analog circuits).
- Next, wire up power and ground to all the ICs, stick with the same
convention chosen above to keep things organized.
- Then wire in all static signals (i.e., signals that will be wired
directly to power or ground, this may be an enable signal or a load signal).
- Wire the remainder of the circuit trying to be as neat as possible.
Remember, some extra time up front can save you from some serious
headaches when debugging later on...
- If possible, it is often helpful to check circuit functionality as you
build.
Build a small sub-circuit, then test its result before moving on to another
sub-circuit.
Pointers for Debugging Circuits
- As noted in the hardware construction section, it is often helpful to
test as you build, by building sub-circuits and then testing those
intermediate results before moving onto the next sub-circuit.
- Start by checking part numbers on the ICs to verify that they the desired
component.
- Next, check the power and ground pins of all ICs. Focus especially on
those in the area where the problem seems to be ocurring.
- Check that enable and/or clear type signals are properly set.
- Check that all inputs to all the gates being used in the circuit are
connected to valid logic signals (i.e., power, ground or signal). Even
if the pin is not needed for the particular implementation,
if it
is left unconnected the circuit will often not function properly and
have odd results.
For example, if
a three input AND gate is needed
for the design, but a 4-input AND gate is
all that is availabe in
the ckt, the fourth input should be tied to Vdd (also called Vcc).
- For clocked circuits or circuits with external inputs, recheck the input
signal directly from the the function generator or module (this should
have been done once already before applying the signal to the circuit!).
- Starting with the inputs, verify all inputs to a gate then the output.
If the inputs look OK, but the output is not correct, the problem may have
been isolated to that gate. Check that the chip's pin(s) was not bent
under the chip when it was plugged into the breadboard.
You can also check this by probing the actual pins on chips rather than
plugging a wire into the breadboard at a point that should connect to the
chip's pin. Be careful to not short adjacent pins if you do this.
If the output seems to be set at some
intermediate voltage (i.e., 3 V or 2 V), there may be
contention at the node. To solve this problem, remove every wire from the
output in question. Retest the output.
If it works with no load, add the wires back one by one,
rechecking the output after each additional wire. This process should
isolate which connection is causing the problem.
If you are still unable to isolate the problem, contact your TA; you
may have a faulty chip.
- Continue moving towards the output and try to isolate problems.
- Often adding intermediate results (i.e., additional LEDs or indicators),
helps to isolated problems especially in large circuits.
Last modified: October 26, 2004
Written by Ryan Apperson and Bevan Baas