Combinational logic: Breadboard adders Objectives

Combinational logic: Breadboard adders Objectives
ENEE 245: Digital Circuits & Systems Lab — Lab 1
Combinational logic: Breadboard adders
ENEE 245: Digital Circuits and Systems Laboratory
Lab 1
The objectives of this laboratory are the following:
To become familiar with the Agilent InfiniiVision 2000 X series oscilloscope and its built-in
function generation DVM, with which you will learn to acquire, save, and manipulate analog
voltage signals. You will also learn to use various cables, probes, and connectors To
implement a small combinational logic circuit on breadboard.
• To implement a small combinational logic circuit on breadboard.
In this lab you will gain familiarity with several pieces of test and measurement equipment. The key
piece of equipment that you will use is the new digital oscilloscope, with integrated function
generator and digital voltage meter.
Mixed Signal Oscilloscope
The oscilloscope that you will be using in ENEE 245 is Agilent InfiniiVision 2000 X – Series
Oscilloscope. A complete user’s guide can be found in the following URL:
Lab 1 consists primarily of following the steps described in the handout. Make certain that you read
the laboratory procedure ahead of time and answer the Pre-lab questions.
Figure 1. Agilent InfiniiVision 2000 X Oscilloscope
A picture of the oscilloscope front is shown in Fig. 1. The display occupies the left half of the
oscilloscope. The color LCD display has a grid that is used to quantify the signal. There are 8
horizontal divisions for voltage and 10 vertical divisions for time. Scales for the traces are given above
ENEE 245: Digital Circuits & Systems Lab — Lab 1
the main display. Below the grid is a text region where you can modify the display by pressing the
keys beneath the listed options and toggling between the various options. The right half of the
oscilloscope front panel contains the input jacks, several knobs, and a number of buttons to control
the oscilloscope operation. The controls are divided into the horizontal, analog, measure and run
controls, the trigger buttons, and file and waveform options. Each section is described below.
Additional buttons, to the right of the MSO screen, are used for digital data acquisition and are not
There are four BNC input “channels” for the oscilloscope and one BNC for the external trigger (on
the back of the device). Each input can handle a maximum input voltage of 300 VRMS and a
frequency of 200 MHz. (This is called the 3-dB analog bandwidth, which is determined by the
internal circuit connected to the input. Bandwidths associated with the sampling rates used during
the digital conversion process are discussed later.) All channels are identical and any one can be used
for any measurement.
The analog signal is continuously converted at certain time intervals to a digital signal and displayed
on the LCD. The resolution of the LCD screen is 1024 x 768 (horizontal x vertical) pixels. After
converting the signal to a digital representation, the oscilloscope stores it as a sequence of 8 bit
numbers, so the absolute accuracy of the measurement is only 1 part in 28 = 256! In other words,
any signal displayed on the scope can be off by at least ± 0.2% of the full scale value. To minimize
the error, we adjust the scale to be as small as possible. To accomplish this, the oscilloscope has an
internal amplifier that can be adjusted to produce scales from 1 mV/division to 5 V/div on the
vertical axis. Thus, signals ranging over three orders of magnitude can be directly measured. Note
that for an x10 probe, the range is from 10 mV/div to 50 V/div. These settings are adjusted in the
“analog” section by turning the upper (larger) knob for the appropriate channel. The location of the
trace zero is controlled by the lower (smaller) knob.
There are additional menu controls for the channel inputs that are accessed by the numbered button
between the two knobs. Pushing the channel menu button twice turns off the channel (it is not
displayed). The menu has five categories. The signal can be “DC” coupled or “AC” coupled. “AC”
coupled means that a circuit is used to “filter out” the DC level so that the average voltage displayed
is zero. Signals with high frequency noise can have a low-pass filter applied to attenuate any noise on
the input signal above 20 MHz (BW limit button). There is a course/fine adjustment for the voltage
scale (Vernier button) that allows 25-30 possible settings between the normal 1-2-5 sequence (e.g.
you could have a 5.2 V/div scale). There is a probe button which will bring up a “probe” menu.
Finally, the signal can be inverted, i.e. multiplied by minus one.
The time base is used to adjust the average time at which the samples are taken. It can be adjusted
from 5 ns/div to 50 s/div via the large knob in the horizontal control section. The small knob in that
section can be used to adjust the “zero (delay) time”, which corresponds to the time the pulse is
“triggered”. The Main/Delayed button brings up a menu that we will not use.
The maximum sample rate is actually 2 giga-samples/sec. This means that the closest samples can be
in time is about 0.5 ns! This sampling rate puts another upper limit (or “bandwidth”) on the
maximum signal frequency which can be measured. If the period of a signal were comparable to (or
smaller than) this sample rate, the signal could not be adequately measured. This fact seems to be at
odds with the fastest sweep rate, since at most 100 data points can be taken over the duration of the
sweep. However, it turns out that you don’t need too many points to define the frequency of a signal,
so the sampling rate is well-matched to the analog bandwidth.
Normal operation is in the repetitive mode. Operation can be interrupted / restarted by pushing
RUN/STOP button (which changes color to indicate status). Pushing the “SINGLE” button to the
right of the RUN/STOP button will initiate a single shot (once a trigger signal is detected).
ENEE 245: Digital Circuits & Systems Lab — Lab 1
Since the data is continuously sampled, one might wonder how the start time for the trace is
selected. This is accomplished by the trigger, which is set by the user to sense a particular voltage level
on a particular input channel. In addition to the voltage level, the trigger also determines whether
the voltage is rising or falling and only fixes the trace when the threshold is reached with the proper
slope. Reliable triggering can be a major source of headaches with some signals and there are many
triggering options that are available to minimize those headaches. We will only mention a few here.
The majority are accessed with the Mode/Coupling button.
The system will run continuously without a trigger signal if “auto” is selected; “normal” is selected to
get a trace only when proper triggering has occurred. The coupling is used to trigger out unwanted
frequencies (noise). It can block out high frequencies, low frequencies or dc signals. Setting coupling
to “DC” uses the complete signal to trigger the scope. The “hold off” time is the time that must pass
after one trigger occurs before another one can be detected. This is very useful any time the same
voltage level (and slope) occurs more than once in the time range that you are interested in
observing. One example is whenever there is “noise” (i.e. a small high frequency signal)
superimposed on your desired signal. Another example is when you have a complicated periodic
structure and a third is when you are triggering the scope in “single-shot” mode with switches.
The trigger method (edge / pulse width / pattern / etc.) can be changed by pressing the appropriate
button– we will typically use edge triggering for analog signals. The selected button is lighted. After
selecting “edge,” you can select the source (the input channel used for the trigger) and the slope. The
trigger level is normally displayed as a small arrow (together with a “T”) on the left side of the LCD
to aid in setting an adequate trigger voltage.
The oscilloscope has 10 arrays that can be used to store traces from any of the channels. The stored
traces can be displayed on the CRT simultaneously with the active “live” traces to facilitate
comparisons. The “save/recall” button is used to store and display traces. The memories are called
“intern_0” – “intern_9” ; they are located by pushing the Save menu and then the location menu
button. The Recall menu and location menu buttons are used to display stored traces.
The oscilloscope can be used to make many measurements on the acquired signals. The
measurements can be made manually or automatically. In manual mode, there are “cursors” which
are horizontal or vertical lines which can be moved around to measure voltage or time, respectively.
Two cursors can be used to measure differences and cursors can be “attached” to a signal to measure
both time and voltage (albeit not at the same time – one must switch between cursor types. Cursors
can be attached to either signals or math functions, but not stored traces. The cursor button and the
resulting menu are used to control these actions.
The automatic measurements are made by pushing the “Quick Meas” button. Four measurements
can be displayed at a time. On the resulting menu, “Source” determines the signal source and
“Select” gives a complete table of measurements. Possibilities include peak-to-peak, maximum,
minimum, RMS, standard deviation, or average voltages, period, frequency, rise time, fall time, and
positive and negative pulse widths. Measurements can be performed only on active signals (channels
which are currently being displayed on the scope) and math. The “Measure” button takes the data
and displays it.
Simple math (multiplication, subtraction, differentiation, integration and FFTs) can be performed
on active signals, but not on stored reference signals. Multiplication and subtraction are only for
channels 1 and 2. There is an “acquire” menu button that allows one to just sample an input or
average the signal (between 2 and 65536 traces can be averaged). Peak detect also can be accessed
from the acquire button and is used to look for glitches.
ENEE 245: Digital Circuits & Systems Lab — Lab 1
Function Generator
The function generator that we use in ENEE 245 is a wave generator integrated into the oscilloscope.
It can produce sine, square, and triangle wave pulses at a wide range of frequencies. The peak-to-peak
voltage range is approximately 20 V.
To access the Waveform Generator Menu and enable or disable the waveform generator output on
the front panel BNC, press the [Wave Gen] key. The waveform generator output is always disabled
when the instrument is first turned on.
Figure 2. Waveform generation from the Oscilloscope
The Waveform button selects the output waveform. In ENEE 245, the most frequently used
waveform will be the square wave, as you are designing only digital circuits. A pulse can be regarded
as a square wave except that its duty cycle is not 50%. The Frequency and Amplitude knobs select
the frequency and amplitude of the waveform. The limit of the output is software-controlled by the
oscilloscope, and is therefore free of unwanted high-frequency voltage drop, which is likely to occur
in classical function generators, where the amplitude of the output signal drops dramatically at the
3db point of the device, which is usually around 1MHz. Other settings are available for advanced
users. The Offset button can be used to add an average voltage to the periodic signals.
The output signal (in sine mode) can be modeled by the nonideal AC source
shown in Fig. 3. The two rightmost terminals in the figure are connected to
the output BNC. Both terminals are “floating” which means that neither is
connected to ground (if needed, you must make the ground connections in
your circuits). When connected to a high impedance source, the output
voltage will essentially be equal to Vg, but if the load impedance is 50ΩΩ, the
output voltage will be cut in half. If the load becomes too small, the
function generator WILL SUSTAIN DAMAGE and will become
inoperable. Be careful to make sure that the waveform output is never
accidentally shorted out!
50 Ω
Figure 3. Equivalent circuit
ENEE 245: Digital Circuits & Systems Lab — Lab 1
A breadboard is used to facilitate the construction of circuits by providing a means for making fast
temporary connections between components. A typical breadboard is shown in Fig. 1.4. There are
two lines of holes which run horizontally along the top and 8 lines (4 pairs) that run vertically along
the sides (indicated by the red and blue lines). The holes in each set are connected together
electrically by a metal strip that runs underneath the plastic. These holes are often used to make
connections to power supplies (e.g. ± 12 V, 5 V, or ground). Between each pair of vertical columns of
holes there are two horizontal rows each comprised of 5 holes that are electrically connected. The gap
between the sets of holes is the proper width to allow DIPs to be inserted (and the hole spacing
vertically corresponds to the pin spacing on a DIP).
Figure 4. A typical breadboard.
Half Adder
The half adder performs one-bit addition operation. Its inputs are two operands: A and B, and the
outputs are the sum S, and the carry-out Cout. The logic expression is:
S = A xor B
C = A and B
ENEE 245: Digital Circuits & Systems Lab — Lab 1
The Truth Table of a half adder is as follows:
S = AB’ + A’B = A xor B
C = AB
A straight-forward way to implement a half adder will be to use an XOR gate and an AND gate.
However, we can convert the above two expressions into NAND expressions:
S = AB’ + A’B = ((AB’)’ (A’B)’)’
C= ((AB)’)’
The chips you will be are using in this lab are 4069 and 4011. The datasheet of these two devices can
be found on the websites:
The pin diagrams of the two chips are shown in Figure 5 and Figure 6.
Figure 5. 4069 Inverter Pin Diagram.
Figure 6. 4011 NAND Pin Diagram.
Pre-Lab Preparation
Part I – Using the Oscilloscope
There are no calculations or simulations required for this part. However, make certain that you do
the pre-lab reading and answer the pre-lab questions before you attend lab.
Part II – Half Adder
1. Derive the two NAND expression of half adder.
2. Using PSPICE, draw the wiring diagram for a half adder based on the available chips. Note that
PSPICE knows about chips and their pinouts, so your job will be simplified tremendously.
3. Use PSPICE to simulate the circuit.
Pre-Lab Questions
1. What is the key sequence you must use to measure the frequency on channel 1?
ENEE 245: Digital Circuits & Systems Lab — Lab 1
2. How do you measure the voltage difference between two arbitrary points in time?
3. How do you store a waveform from channel 1 to the internal memory (what is the key
4. How do you store a waveform from channel 1 to a memory stick (what is the key sequence)?
5. How do you make a paper copy of an oscilloscope trace?
6. What is the difference between “AC Coupling” and “DC Coupling”?
7. What is the difference between a digital oscilloscope and an analog oscilloscope?
8. What is the purpose of the “trigger” for an oscilloscope?
9. What is the relative resolution of an oscilloscope with an 8-bit D/A converter? … with a 12-bit
D/A converter? … with a 16-bit D/A converter?
10. What is the uncertainty of the measurement of a VOLT1: ______ signal on the oscilloscope
when the vertical scale is set to 2V / division, given that it uses an 8-bit D/A converter?
11. What is the uncertainty of the measurement of a VOLT0: ______ signal on the oscilloscope
when the vertical scale is set to 5V / division, given that it uses an 8-bit D/A converter?
In-Lab Procedure
Bring flash drives to store your traces.
Ask the TA questions regarding any procedures about which you are uncertain.
Turn off all power supplies any time that you make any change to the circuit.
Do NOT apply more than 5 V to the circuit at any time.
Arrange your circuit components neatly and in a logical order.
Compare your breadboard carefully with your circuit diagram before applying power to the circuit.
Complete the following tasks:
Part I – Using the oscilloscope
1. Power up the oscilloscope. When the oscilloscope is ready, press the [WaveGen] button to turn
on the function generation. Connect the "Gen Out" to one of the BNC cables. Adjust the
function generator to 1MHz, use a rectangular wave, and from the displayed waveform, adjust
the peak-to-peak voltage to 1V.
2. Using the measurement function of the oscilloscope, measure the exact frequency and peak-topeak voltage of the square wave.
3. Acquire the waveform using the data acquisition software on the work station Desktop
4. Reference the directions in the “single pulse” section of Appendix D to acquire a zoomed-in view
of 1MHz square wave.
5. Adjust the function generator offset voltage and observe what happens to the shape and location
of the square wave. Use both “AC coupling” and “DC coupling”.
Part II – Half Adder
1. Connect the fixed 5 V DC supply to ground and connect the supply to the breadboard.
ENEE 245: Digital Circuits & Systems Lab — Lab 1
2. Construct the half adder circuit using the hardware provided.
3. Set the function generator frequency to 100kHz. Treat the function generator as one input (A)
and pull the other input (B) to Vcc. Show the outputs on the oscilloscope screen and verify the
correctness of your circuit. Pull the input B to ground and repeat the process. Increase the input
frequency to 1MHz and higher to observe any differences of output. Save the outputs as
experiment results.
Post-Lab Report
Write up your circuit, schematic, and lab procedure. Mention any difficulties encountered during the
lab. Describe any results that were unexpected and try to account for the origin of these results (i.e.
explain what happened). In addition, answer the following questions:
Part I – Using the Oscilloscope
1. Describe the difference between the “dots” display and the “vectors” display setting.
2. To measure the frequency of a repetitive signal, how many periods are required? Is this
independent of the location of the signal on the scope trace (hint: does the position of the
minimum affect the ability to measure the frequency?)
3. How many measurements can be displayed at one time?
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF