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.
  1. 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.
  2. 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.
  3. 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.
  4. 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).
  5. Next, wire up power and ground to all the ICs, stick with the same convention chosen above to keep things organized.
  6. 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).
  7. 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...
  8. 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

  1. 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.
  2. Start by checking part numbers on the ICs to verify that they the desired component.
  3. Next, check the power and ground pins of all ICs. Focus especially on those in the area where the problem seems to be ocurring.
  4. Check that enable and/or clear type signals are properly set.
  5. 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).
  6. 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!).
  7. 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.
  8. Continue moving towards the output and try to isolate problems.
  9. 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