0% found this document useful (0 votes)
61 views

Chapter 1 Introduction: CSI161 Introduction To Computing (Lecture 4.2) Digital Logic

This document provides an introduction and overview of digital logic gates, combinational circuits, and sequential circuits. It begins with an introduction to logic gates like AND, OR, NOT, XOR, NAND and NOR and their truth tables. It then discusses how combinational logic circuits like half adders and full adders are built using these basic logic gates. Finally, it covers sequential circuits that can store state, including flip flops like SR, JK, and D flip flops, and how they are used to build registers and memory. The document aims to provide foundational concepts in digital logic and circuit design.

Uploaded by

Offie Mphale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views

Chapter 1 Introduction: CSI161 Introduction To Computing (Lecture 4.2) Digital Logic

This document provides an introduction and overview of digital logic gates, combinational circuits, and sequential circuits. It begins with an introduction to logic gates like AND, OR, NOT, XOR, NAND and NOR and their truth tables. It then discusses how combinational logic circuits like half adders and full adders are built using these basic logic gates. Finally, it covers sequential circuits that can store state, including flip flops like SR, JK, and D flip flops, and how they are used to build registers and memory. The document aims to provide foundational concepts in digital logic and circuit design.

Uploaded by

Offie Mphale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

CSI161 Introduction

Chapter to 1 Computing (Lecture 4.2)


Introduction
Digital Logic

Department of Computer Science

These slides are derived from those of Null & Lobur + the work of others.
Outline
 Introduction to Logic Gates
 Logic Gates truth tables(Including Universal Gates)
 Boolean Function Representation using Logic Gates
 Combinational Circuits
 Half Adder
 Full Adder
 Sequential Circuits
 Flip Flops
 Registers

2
3.3 Logic Gates

 We have looked at Boolean functions in abstract


terms.
 In this section, we see that Boolean functions are
implemented in digital computer circuits called gates.
 A gate is an electronic device that produces a result
based on two or more input values.
 In reality, gates consist of one to six transistors,
but digital designers think of them as a single unit.
 Integrated circuits contain collections of gates
suited to a particular purpose.

3
3.3 Logic Gates

 The three simplest gates are the AND, OR, and NOT
gates.

 They correspond directly to their respective Boolean


operations, as you can see by their truth tables.
4
3.3 Logic Gates

 Another very useful gate is the exclusive OR (XOR)


gate.
 The output of the XOR operation is true only when
the values of the inputs differ.

Note the special symbol 


for the XOR operation.

5
3.3 Logic Gates

 NAND and NOR


are two very
important gates.
Their symbols and
truth tables are
shown at the right.

6
3.3 Logic Gates

 NAND and NOR are


known as universal
gates because they
are inexpensive to
manufacture and
any Boolean
function can be
constructed using
only NAND or only
NOR gates.

7
3.3 Logic Gates

 Gates can have multiple inputs and more than


one output.
 A second output can be provided for the
complement of the operation.
 We’ll see more of this later.

8
3.4 Digital Components

 The main thing to remember is that combinations


of gates implement Boolean functions.
 The circuit below implements the Boolean
function:

We simplify our Boolean expressions so


that we can create simpler circuits.
9
3.5 Combinational Circuits

 We have designed a circuit that implements the


Boolean function:

 This circuit is an example of a combinational logic


circuit.
 Combinational logic circuits produce a specified
output (almost) at the instant when input values are
applied.
 In a later section, we will explore circuits where
this is not the case.

10
3.5 Combinational Circuits

 Combinational logic circuits


give us many useful devices.
 One of the simplest is the half
adder, which finds the sum of
two bits.
 We can gain some insight as
to the construction of a half
adder by looking at its truth
table, shown at the right.

11
3.5 Combinational Circuits

 As we see, the sum can be


found using the XOR
operation and the carry using
the AND operation.

12
3.5 Combinational Circuits

 We can change our half


adder into to a full adder
by including gates for
processing the carry bit.
 The truth table for a full
adder is shown at the
right.

13
3.5 Combinational Circuits

 How can we change the


half adder shown below to
make it a full adder?

14
3.5 Combinational Circuits

 Here’s our completed full adder.

15
3.5 Combinational Circuits

 Just as we combined half adders to make a full


adder, full adders can connected in series.
 The carry bit “ripples” from one adder to the next;
hence, this configuration is called a ripple-carry
adder.

Today’s systems employ more efficient adders.

16
3.6 Sequential Circuits

 Combinational logic circuits are perfect for


situations when we require the immediate
application of a Boolean function to a set of inputs.
 There are other times, however, when we need a
circuit to change its value with consideration to its
current state as well as its inputs.
 These circuits have to “remember” their current
state.
 Sequential logic circuits provide this functionality for
us.
17
3.6 Sequential Circuits

 As the name implies, sequential logic circuits require


a means by which events can be sequenced.
 State changes are controlled by clocks.
 A “clock” is a special circuit that sends electrical
pulses through a circuit.
 Clocks produce electrical waveforms such as the one
shown below.

18
3.6 Sequential Circuits

 State changes occur in sequential circuits only


when the clock ticks.
 Circuits can change state on the rising edge, falling
edge, or when the clock pulse reaches its highest
voltage.

19
3.6 Sequential Circuits

 Circuits that change state on the rising edge, or


falling edge of the clock pulse are called edge-
triggered.
 Level-triggered circuits change state when the
clock voltage reaches its highest or lowest level.

20
3.6 Sequential Circuits

 To retain their state values, sequential circuits rely


on feedback.
 Feedback in digital circuits occurs when an output
is looped back to the input.
 A simple example of this concept is shown below.
 If Q is 0 it will always be 0, if it is 1, it will always
be 1. Why?

21
3.6 Sequential Circuits

 You can see how feedback works by examining


the most basic sequential logic components, the
SR flip-flop.
 The “SR” stands for set/reset.
 The internals of an SR flip-flop are shown below,
along with its block diagram.

22
3.6 Sequential Circuits

 The behavior of an SR flip-flop is described by


a characteristic table.
 Q(t) means the value of the output at time t.
Q(t+1) is the value of Q after the next clock
pulse.

23
3.6 Sequential Circuits

 The SR flip-flop actually


has three inputs: S, R,
and its current output, Q.
 Thus, we can construct a
truth table for this circuit,
as shown at the right.
 Notice the two undefined
values. When both S
and R are 1, the SR flip-
flop is unstable.

24
3.6 Sequential Circuits

 If we can be sure that the inputs to an SR flip-flop


will never both be 1, we will never have an
unstable circuit. This may not always be the case.
 The SR flip-flop can be modified to provide a
stable state when both inputs are 1.
• This modified flip-flop is
called a JK flip-flop,
shown at the right.
- The “JK” is in honor of
Jack Kilby.

25
3.6 Sequential Circuits

 At the right, we see


how an SR flip-flop
can be modified to
create a JK flip-flop.
 The characteristic
table indicates that
the flip-flop is stable
for all inputs.

26
3.6 Sequential Circuits

 Another modification of the SR flip-flop is the D


flip-flop, shown below with its characteristic table.
 You will notice that the output of the flip-flop
remains the same during subsequent clock
pulses. The output changes only when the value
of D changes.

27
3.6 Sequential Circuits

 The D flip-flop is the fundamental circuit of


computer memory.
 D flip-flops are usually illustrated using the
block diagram shown below.
 The characteristic table for the D flip-flop is
shown at the right.

28
3.6 Sequential Circuits

 Sequential circuits are used anytime that we have


a “stateful” application.
 A stateful application is one where the next state of the
machine depends on the current state of the machine and
the input.
 A stateful application requires both combinational
and sequential logic.
 The following slides provide several examples of
circuits that fall into this category.

Can you think of others?


29
3.6 Sequential Circuits

 This illustration shows a


4-bit register consisting of
D flip-flops. You will
usually see its block
diagram (below) instead.

A larger memory configuration


is shown on the next slide.
30
3.6 Sequential Circuits

31
3.7 Designing Circuits

 We have seen digital circuits from two points of


view: digital analysis and digital synthesis.
 Digital analysis explores the relationship between
a circuits inputs and its outputs.
 Digital synthesis creates logic diagrams using the
values specified in a truth table.
 Digital systems designers must also be mindful of
the physical behaviors of circuits to include minute
propagation delays that occur between the time
when a circuit’s inputs are energized and when the
output is accurate and stable.
32
3.7 Designing Circuits

 Digital designers rely on specialized software to


create efficient circuits.
 Thus, software is an enabler for the
construction of better hardware.
 Of course, software is in reality a collection of
algorithms that could just as well be
implemented in hardware.
 Recall the Principle of Equivalence of
Hardware and Software.

33
3.7 Designing Circuits

 When we need to implement a simple, specialized


algorithm and its execution speed must be as fast as
possible, a hardware solution is often preferred.
 This is the idea behind embedded systems, which
are small special-purpose computers that we find in
many everyday things.
 Embedded systems require special programming
that demands an understanding of the operation of
digital circuits, the basics of which you have learned
in this chapter.

34
Chapter 3 Conclusion

 Computers are implementations of Boolean logic.


 Boolean functions are completely described by
truth tables.
 Logic gates are small circuits that implement
Boolean operators.
 The basic gates are AND, OR, and NOT.
 The XOR gate is very useful in parity checkers
and adders.
 The “universal gates” are NOR, and NAND.

35
Chapter 3 Conclusion

 Computer circuits consist of combinational logic


circuits and sequential logic circuits.
 Combinational circuits produce outputs (almost)
immediately when their inputs change.
 Sequential circuits require clocks to control their
changes of state.
 The basic sequential circuit unit is the flip-flop: The
behaviors of the SR, JK, and D flip-flops are the most
important to know.

36
End

37

You might also like