Hardware Lab 1: Half Adder, Increment, and Two’s Complement Circuit
Jason Crews 249892606 MW 11:40 CSE 120
October 12, 2002
1.0 Introduction The purpose of this lab it gain experience writing and physically building combinational and logical circuits. By: • Describing and constructing truth tables to describe and characterize the addition of two single bit numbers. 1 • Write Boolean algebra expressions to describe the functions of a half-adder. 2 • Realize the SUM and CRY functions using TTL hardware. 3 • Debug TTL circuits using LED and Logic Probe testing instruments. 4 • Write the Boolean algebra expression for the SUM and CRY functions of the full-adder. 5 • Build and Debug a full-adder. 6
2.0 Experimental Results 2.1
Build the 1-bit half-adder
2.1.1
Task Statement Build a half adder using the design provided in the lab manual in figure 110 on a digital prototyping board. 2.1.2
Description of work performed Following the schematic provided in figure 1-10 on pages 211 of the lab manual the half adder was constructed using the POS form of the functions. 2.1.3
What I Learned I learned how to carefully follow a schematic to implement logical functions on a bread board.
2.2
Test the Sum and CRY of the 1-bit half adder using the LED’s
2.2.1
Task Statement Use the led display on the board to test every possible combination of A and B to determine if the functions are working correctly. 2.2.2
Description of work performed During this step ever input was tested and compared to the proper outputs to determine if each function was working correctly. Table 1 shows the proper outputs for each all possible input combinations, Table 2 shows the output received on the first trial, Table 3 the second, and Table 4 the third.
1
D.J. Tylavvski, Digital Design for the labritory: Hardware and Simulation (Using LogicWorks). Version 3. 3rd Edition. Centerpoint Publishing, Tempe, AZ 2001 2 Ibid 3 Ibid 4 Ibid 5 Ibid 6 Ibid
2.2.2.1
Try One Try one resulted in the outputs seen in Table 2. As it shows, all outputs for SUM were 0’s. From this we started tracing all A inputs. This led us to discover one gate had an A and a B connecting to the same pin in one of the AND gates and nothing in the other. This was corrected by moving the incorrect wire to the empty pin. 2.2.2.2 Try 2 A 0 0 1 1
B 0 1 0 1
SUM CRY 0 0 1 0 1 0 1 1
Table 4. 1. SUM 2. 3. Properand SUM CRY andoutputs CRY outputs for try two. one. for all combinations of A and B.
Once we discovered what we thought was causing the problem we tested the outputs again using the same method as Try One. This resulted in the outputs seen in Table 3. It shows, again, that all outputs for SUM were 0’s. Again we began by tracing all A inputs. This did not allow us to find and errors in the circuit. Next, we traded all the B inputs, and we found no errors. How A B SUM CRY ever we bumped the A B SUM CRY A B SUM CRY 00 00 00 00 wire that connects the SUM output the LED 00 101 100 00 and the light for SUM 101 010 100 00 turned on 11 101 100 100 1 1 0 1 2.2.2.3 Try 3 Once we had tightly secured the wire we retried the tested received the results in Table 4, which are the expected results. 2.2.3
What I learned I learned that the only way to completely debug a circuit is to test every possible input and compare the output to the expected output. Depending on the circuit this can be a complex and arduous process, however, the only way to insure the proper results. I also learned seemingly small problems in the circuit can cause major problems with the output, as seen in Try 1 and Try 2.
2.3
Debugging
2.3.1
Task Statement Have your lab partner alter the circuit while your back is turned. This provides experience debugging circuits. 2.3.2
Description of work completed One my lab partner had introduced an error into the circuit I began by quickly glancing at the connections to each of the various pins to see if any were missing. This proved to be a wise decision because he had removed the A input wire completely. 2.3.3
What I learned I learned that it is can be good to look for quick problems before doing detailed and intricate debugging. If it turns out to be something simple a lot of time can be saved, and if not much time has been lost.
2.4
Completely test the half-adder using a logic probe
2.4.1
Task Statement Test every connection on the circuit for various inputs with the logic probe to determine that ever point has the expected output. 2.4.2
Description of Work Completed Using a Logic probe every connection was tested with different input values to ensure every component of the circuit was working correctly and remove logical errors. 2.4.3 What I learned I learned it is important to check every detail if there is an error. Major problems can result in small errors in the circuit. I also learned that a logic probe can be a very valuable tool for debugging because it quickly can evaluate the value at any given point in the circuit.
2.5
Build and Debug a 1-bit full adder
2.5.1
Task Statement Build, debug, and test the full adder using the schematic in Figure 1-15 in the Lab Manual. 2.5.2 Description of Work Completed From the schematic provided in the lab manual in figure 1-15, we constructed the diagram in Figure 1. From their, it was only a matter of connecting wires between the correct pins.
LED (S UM)
p1 3 p1 2 p1 1 p1 0 p9 p8
LED (CRY)
p2 p3 p4 p5 p6 p7
74F86
A B
p1 3 p1 2 p1 1 p1 0 p9 p8
p1 3 p1 2 p1 1 p1 0 p9 p8
Ci n
p2 p3 p4 p5 p6 p7
74F32
p2 p3 p4 p5 p6 p7
74F08
Figure 1. Implementation using chips described in the lab manual. (Power and Ground not shown)
Once the circuit was completed, the power and ground was connected to each chip, and the functions were tested with all combinations of A, B, and Cin, and the output (Table 6) compared to ideal results (Table 5) for a Full Adder. This proved that our circuit was working correctly on our first try. A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
Cin 0 1 0 1 0 1 0 1
SUM 0 1 1 0 1 0 0 1
CRY 0 0 0 1 0 1 1 1
Table 5. Ideal output for all possible combinations of A, B, and Cin7.
7
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
Cin 0 1 0 1 0 1 0 1
SUM 0 1 1 0 1 0 0 1
CRY 0 0 0 1 0 1 1 1
Table 6. Actual results after first test of the circuit.
D.J. Tylavvski, Digital Design for the labritory: Hardware and Simulation (Using LogicWorks). Version 3. 3rd Edition. Centerpoint Publishing, Tempe, AZ 2001
2.5.3
What I learned I learned how to construct a logic circuit using IC’s without the aid of a diagram, and that if you are careful while constructing the circuits then you can save a lot of time.
3.0 What I Learned I learned how to Describe and construct truth tables that describe and characterize the addition of two single bit numbers, write Boolean algebra expressions to describe the functions of a half-adder and a full-adder, how to realize the SUM and CRY functions using TTL hardware, debug TTL circuits using LED’s and Logic Probes, and all of the above for a fulladder.