Download presentation
Presentation is loading. Please wait.
Published bySharyl Sharp Modified over 8 years ago
1
Lecture 3 Boolean Algebra and Digital Logic Lecture Duration: 2 Hours
2
AOU – Fall 2012 2 Lecture Overview Boolean Algebra Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits
3
AOU – Fall 2012 3 Boolean Algebra – Introduction (1/1) Boolean Algebra Boolean algebra is an algebra for the manipulation of objects that can take on only two values, typically true and false It returns to its inventor, the famous mathematician and logician George Boole
4
AOU – Fall 2012 4 Boolean Expressions (1/5) Boolean Algebra Boolean variable: it is a variable that can take only two values : 0 (false) or 1 (true) Example: x, y, z, … Where, for instance, “x” could be 0 or 1 Boolean expressions: Combination of Boolean variables and operators (AND, OR, NOT, …) Example: x AND y, x OR y, … Boolean function: typically has one or more input values and yields a result, based on these input values, in the range {0,1} Example: F(x, y, z) = (x AND y) OR z
5
AOU – Fall 2012 5 Boolean Expressions (2/5) Boolean Algebra
6
AOU – Fall 2012 6 Boolean Expressions (3/5) Boolean Algebra InputsOutputs xyxy 000 010 100 111 The truth table for AND InputsOutputs xyx + y 000 011 101 111 The truth table for OR InputsOutputs x 01 10 The truth table for NOT
7
AOU – Fall 2012 7 Boolean Expressions (4/5) Boolean Algebra Boolean function can also be described using a truth table The following rules of precedence should be respected Parentheses first NOT next AND next OR finally
8
AOU – Fall 2012 8 Boolean Expressions (5/5) Boolean Algebra InputsIntermediateOutputs xyz 000100 001111 010000 011000 100101 101111 110001 111001
9
AOU – Fall 2012 9 Lecture Overview Boolean Algebra Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits
10
AOU – Fall 2012 10 Boolean Identities (1/3) Boolean Algebra Frequently, a Boolean expression is not in its simplest form Recall from algebra the expression 2x + 6x can be simplified to 8x Boolean expressions can also be simplified We need new identities, or laws, that apply to Boolean algebra instead of regular algebra These laws are grouped in the following table
11
AOU – Fall 2012 11 Boolean Identities (2/3) Boolean Algebra
12
AOU – Fall 2012 12 Boolean Identities (3/3) Boolean Algebra Drawing a truth table can justify DeMorgan’s Law Think of drawing the truth table that justifies each of the other predefined laws
13
AOU – Fall 2012 13 Lecture Overview Boolean Algebra Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits
14
AOU – Fall 2012 14 Simplification of Boolean Expressions (1/6) Boolean Algebra The Boolean identities can be used to simplify Boolean expressions in a similar fashion Example 1: Simplify the function F(x,y) = xy + xy. xy can be seen as a single variable The OR form of the Idempotent Law F(x,y) can be simplified to F(x,y) = xy + xy = xy.
15
AOU – Fall 2012 15 Simplification of Boolean Expressions (2/6) Boolean Algebra Example 2: Simplify the function F(x,y,z) = xyz + xyz + xz F(x,y,z)= xyz + xyz + xz = xyz + xz(idempotent) = xz(y + 1)(Distributive) = xz(1)(Null) = xz (Identity) The simplest form for F(x,y,z) is F(x,y,z) = xz
16
AOU – Fall 2012 16 Simplification of Boolean Expressions (3/6) Boolean Algebra
17
AOU – Fall 2012 17 Simplification of Boolean Expressions (4/6) Boolean Algebra
18
AOU – Fall 2012 18 Simplification of Boolean Expressions (5/6) Boolean Algebra
19
AOU – Fall 2012 19 Simplification of Boolean Expressions (6/6) Boolean Algebra
20
AOU – Fall 2012 20 Lecture Overview Boolean Algebra Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits
21
AOU – Fall 2012 21 Complements (1/5) Boolean Algebra
22
AOU – Fall 2012 22 Complements (2/5) Boolean Algebra
23
AOU – Fall 2012 23 Complements (3/5) Boolean Algebra
24
AOU – Fall 2012 24 Complements (4/5) Boolean Algebra
25
AOU – Fall 2012 25 Complements (5/5) Boolean Algebra
26
AOU – Fall 2012 26 Lecture Overview Boolean Algebra Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits
27
AOU – Fall 2012 27 Representing Boolean Functions (1/5) Boolean Algebra Two expressions that can be represented by the same truth table are considered logically equivalent In fact, there are an infinite number of Boolean expressions that are logically equivalent to one another To help eliminate potential confusion, logic canonical, or standardized, form of Boolean functions are used: The sum-of-products The product-of-sums
28
AOU – Fall 2012 28 Representing Boolean Functions (2/5) Boolean Algebra
29
AOU – Fall 2012 29 Representing Boolean Functions (3/5) Boolean Algebra Any Boolean expression can be represented in sum-of-products form. Any Boolean expression can also be represented as a truth table So any truth table can also be represented in sum-of-products form
30
AOU – Fall 2012 30 Representing Boolean Functions (4/5) Boolean Algebra
31
AOU – Fall 2012 31 Representing Boolean Functions (5/5) Boolean Algebra
32
AOU – Fall 2012 32 Lecture Overview Boolean Algebra Logic gates Symbols for logic gates Universal gates Multiple-inputs gates Digital Components Combinational circuits Sequential circuits
33
AOU – Fall 2012 33 Logic Gates – Introduction (1/1) Logic gates The logical operators, functions and expressions have been represented thus far in an abstract sense What is a Gate? It is a group of physical components, or digital circuits, that perform arithmetic operations or make choices in a computer. A gate is a small, electronic device that computes various functions of two-valued signals (or more) Each gate requires from one to six or more transistors If the basic physical component of a computer is the transistor; the basic logic element is the gate
34
AOU – Fall 2012 34 Symbols for Logic Gates (1/1) Logic gates Boolean expression
35
AOU – Fall 2012 35 Universal Gates (1/3) Logic gates
36
AOU – Fall 2012 36 Universal Gates (2/3) Logic gates The NAND gate is commonly referred to as a universal gate Any electronic circuit can be constructed using only NAND gates
37
AOU – Fall 2012 37 Universal Gates (3/3) Logic gates Why not simply use the AND, OR, and NOT gates we already know exist? For two reasons: -NAND gates are cheaper to build than the other gates -complex integrated circuits are often much easier to build using the same building Applying the duality principle, NOR is also a universal gate In practice, NAND are used for implementing an expression in sum of-products form In practice, NOR is used for implementing an expression in product-of-sums form
38
AOU – Fall 2012 38 Multiple Input Gates (1/1) Logic gates
39
AOU – Fall 2012 39 Lecture Overview Boolean Algebra Logic gates Digital Components Digital circuits and Boolean algebra Integrated circuits Combinational circuits Sequential circuits
40
AOU – Fall 2012 40 Digital Components – Introduction (1/2) Digital Components Every computer is built using collections of gates that are all connected by way of wires These collections of gates are often quite standard, resulting in a set of building blocks These building blocks are all constructed using the basic AND, OR, and NOT operations.
41
AOU – Fall 2012 41 Digital Components – Introduction (2/2) Digital Components In this part, we will discuss: Digital circuits, and their relationship to Boolean algebra The standard building blocks Two different categories, into which these building blocks can be placed -Combinational logic -Sequential logic
42
AOU – Fall 2012 42 Digital Circuits and Boolean Algebra (1/1) Digital Components
43
AOU – Fall 2012 43 Integrated Circuits (1/1) Digital Components Gates are sold in units called integrated circuits (ICs) First ICs were SSI (small scale integration – See Lecture 1) chips and contained very few transistors (up to 100 transistors) We now have ULSI (ultra large-scale integration) with more than 1 million electronic components per chip How much gates does this IC contain?? What is (are) the type(s) of these gates?
44
AOU – Fall 2012 44 Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Typical Combinational circuits -Adder (half adder, full adder, ripple carry adder) -Decoder -Multiplexer Sequential circuits
45
AOU – Fall 2012 45 Basic Concepts (1/1) Combinational circuits Combinational logic is used to build circuits that contain basic Boolean operators, inputs, and outputs. The output of a combinational circuit is a function of its inputs at any given moment. A combinational circuit may have several outputs. If so, each output represents a different Boolean function.
46
AOU – Fall 2012 46 Typical Combinational Circuits – A half adder (1/2) Combinational circuits A half-adder is a very simple combinational circuit Consider the problem of adding two binary digits together, three cases are possible: 0 + 0 = 0 1 + 0 = 0 + 1 = 1 1 + 1 = 10 (the result is “0” with a carry of “1”) We have two inputs (the bits to add) and two outputs (the “sum” and the “carry”) Drawing the truth table lead us to the Boolean function of a half-adder Note that each output has a Boolean Function
47
AOU – Fall 2012 47 Typical Combinational Circuits – A half adder (2/2) Combinational circuits
48
AOU – Fall 2012 48 Typical Combinational Circuits – A full adder (1/2) Combinational circuits A half adder could be extended to a circuit that allows the addition of larger binary numbers: A full adder Remember how we added binary numbers? We add each column without forgetting the carry from the nearest right column A full adder have three inputs: The two bits to add (x and y) The carry from the nearest right column (carry-in) A full adder has two outputs (the “sum” and the “carry”)
49
AOU – Fall 2012 49 Typical Combinational Circuits – A full adder (2/2) Combinational circuits Think of how this logic diagram is obtained. Note that a full-adder is composed of two half-adders and an OR gate.
50
AOU – Fall 2012 50 Typical Combinational Circuits – A binary numbers adder (1/1) Combinational circuits A full-adder can only add two bits and a carry (three bits) The simplest way to add large binary numbers is to use a ripple-carry adder A ripple-carry is a succession of full-adders but it is slow Faster methods are nowadays implemented in computers (40% to 90% faster than the ripple-carry adder) Examples: carry-look-ahead adder, the carry-select adder, and the carry-save adder, as well as others.
51
AOU – Fall 2012 51 Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Typical Combinational circuits -Adder (half adder, full adder, ripple carry adder) -Decoder -Multiplexer Sequential circuits
52
AOU – Fall 2012 52 Typical Combinational Circuits – A decoder (1/3) Combinational circuits A decoder decodes binary information from a set of n inputs to a maximum of 2 n outputs A decoder uses the inputs and their respective values to select one specific output line For a given input, only one output is set to “1” and all others are set to “0”
53
AOU – Fall 2012 53 Typical Combinational Circuits – A decoder (2/3) Combinational circuits Examples A decoder is something the computer uses frequently One of the most application is “Chip selection” Example: Selecting one of several memory chips for a given address 2-to-4 decoder 4-to-8 decoder 0 1 2 3 0 1 2 3 4 5 6 7 A 2-to-4 decoder (n=2 ; 2 n =4) A 3-to-8 decoder (n=3 ; 2 n =8) 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 ? 1 1 1 ? 0 0 0 0 0 1 0 0
54
AOU – Fall 2012 54 Typical Combinational Circuits – A decoder (3/3) Combinational circuits Memory Chip 4Memory Chip 5Memory Chip 6Memory Chip 7Memory Chip 0Memory Chip 1Memory Chip 2Memory Chip 3 Decoder 010100010011 13 01234567 CS 00100000 0 0 1
55
AOU – Fall 2012 55 Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Typical Combinational circuits -Adder (half adder, full adder, ripple carry adder) -Decoder -Multiplexer Sequential circuits
56
AOU – Fall 2012 56 Typical Combinational Circuits – A multiplexer (1/2) Combinational circuits A multiplexer selects binary information from one of many input lines and directs it to a single output line. Selection of a particular input line is controlled by a set of selection variables or control lines
57
AOU – Fall 2012 57 Typical Combinational Circuits – A multiplexer (2/2) Combinational circuits A 4-to-1 multiplexer We have 4=2 2 input lines To select one of the 4 inputs we need 2 selection bits: S 0, S 1 A 8-to-1 multiplexer We have 8=2 3 input lines To select one of the 8 inputs we need 3 selection bits: S 0, S 1, S 2 A 16-to-1 multiplexer? A 64-to-1 multiplexer? 4-to-1 multiplexer I0I0 I1I1 I2I2 I3I3 S0S0 S1S1 I0I0 I2I2 I1I1 I3I3 0 0 0 1 1 0 0 1 8-to-1 multiplexer I0I0 I1I1 I2I2 I3I3 I4I4 I5I5 I6I6 I7I7 S0S0 S1S1 S2S2 10 0 ? I4I4
58
AOU – Fall 2012 58 Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Sequential circuits Introduction Clocks Flip-Flops Examples of Sequential Circuits -Register -Counter
59
AOU – Fall 2012 59 Sequential circuits – Introduction (1/2) Sequential circuits Computers must have a way to remember values. Combinational circuits are memoryless, they do not have the concept of storage. Computers cannot be built using only combinational circuits. We need sequential circuits.
60
AOU – Fall 2012 60 Sequential circuits – Introduction (2/2) Sequential circuits Before we discuss sequential logic, we must first introduce a way to order events There are two types of sequential circuits Asynchronous: they become active the moment any input value changes Synchronous: they use clocks to order events In this course we will study synchronous sequential circuits only
61
AOU – Fall 2012 61 Clocks (1/1) Sequential circuits Clock: It is a circuit that emits a series of pulses A clock is used to decide when to update the state of the circuit (when do “present” inputs become “past” inputs?). Clock speed: is generally measured in megahertz (MHz), or millions of pulses per second Edge triggered circuits change state on the rising edge or falling edge of the clock signal Level-triggered circuits change state when the clock voltage reaches its highest or lowest level Pulse widthClock cycle time
62
AOU – Fall 2012 62 Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Sequential circuits Introduction Clocks Flip-Flops Examples of Sequential Circuits -Register -Counter
63
AOU – Fall 2012 63 Flip-Flops (1/8) Sequential circuits In sequential the output depends on past inputs. To remember previous inputs, sequential circuits use flip-flops. If combinational circuits are generalizations of gates, sequential circuits are generalizations of flip-flops.
64
AOU – Fall 2012 64 Flip-Flops (2/8) Sequential circuits In order to “remember” a past state, sequential circuits rely on a concept called feedback The output of a circuit is fed back as an input to the same circuit 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?
65
AOU – Fall 2012 65 Flip-Flops (3/8) Sequential circuits The most basic memory unit is called an SR flip-flop. The “SR” stands for set/reset
66
AOU – Fall 2012 66 Flip-Flops (4/8) Sequential circuits Try to think how the feedback works? Consider Q(t) as the value of the output Q at time t and Q(t+1) as the new value of Q after a new clock pulse. Note also that SR flip-flop has two additional inputs (in addition to the fed backed output Q) The behavior of an SR flip-flop is described by its characteristic table
67
AOU – Fall 2012 67 Flip-Flops (5/8) Sequential circuits Considering the three inputs: S, R, and Q, we can construct the truth table of an SR flip-flop What happens when both S and R are 1? The output is undefined We say that the SR flip-flop is in an unstable state.
68
AOU – Fall 2012 68 Flip-Flops (6/8) Sequential circuits It is also important to see how a clocked SR flip-flop is implemented! Example: A level triggered SR flip-flop -The output will change only when clock is '1', otherwise all inputs (S and R) will be ignored
69
AOU – Fall 2012 69 Flip-Flops (7/8) Sequential circuits Jack Kilby has modified the SR flip-flop to provide a stable state when both inputs are 1 This creates the JK flip-flop (in honor of Jack Kilby) The characteristic table indicates that the flip-flop is stable for all inputs Try to draw the truth table of a JK flip-flop.
70
AOU – Fall 2012 70 Flip-Flops (8/8) Sequential circuits Another modification of the SR flip-flop is the D flip-flop (D stands for Data) This sequential circuit stores one bit of information. When the clock is pulsed: If a 1 is asserted on the input line D the output line Q becomes a 1 (and is still 1 until the next clock pulse). If a 0 is asserted on the input line the output becomes 0 (and is still 0 until the next clock pulse).
71
AOU – Fall 2012 71 Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Sequential circuits Introduction Clocks Flip-Flops Examples of Sequential Circuits -Register -Counter
72
AOU – Fall 2012 72 Examples of Sequential Circuits – A register (1/3) Sequential circuits As any other sequential circuit, a register is formed by a group of flip-flops. Its basic function is to hold information within a digital system A simple 4-bit Parallel in – Parallel out register is here described It will be implemented using D flip-flops.
73
AOU – Fall 2012 73 Examples of Sequential Circuits – A register (2/3) Sequential circuits In a parallel in – parallel out register On a clock tick, all inputs are sent to the output lines These outputs are still on their states until the next clock tick (the D flip-flops store the inputs during one clock cycle) The same clock signal is tied into all four D flip-flops, so they change at the same time A 4-bit parallel in – parallel out register
74
AOU – Fall 2012 74 Examples of Sequential Circuits – A register (3/3) Sequential circuits Example: The first input is “0000” On the first clock tick, “0000” is sent to the output This “0000” is still an output until the next clock tick (even if the input disappears or is replaced) On the second clock tick, the output is set to the new input “0110” And so on… 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0
75
AOU – Fall 2012 75 Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Sequential circuits Introduction Clocks Flip-Flops Examples of Sequential Circuits -Register -Counter
76
AOU – Fall 2012 76 Examples of Sequential Circuits – A counter (1/4) Sequential circuits As any other sequential circuit, a counter is formed by a group of flip-flops. Those are connected is such a way as to produce the prescribed sequence of binary states A 4-bit counter is here described
77
AOU – Fall 2012 77 Examples of Sequential Circuits – A counter (2/4) Sequential circuits To understand how a counter works, we should analyze the binary sequence produced by it. For instance, a 4 bit counter produces the sequence presented in the next table The LSB is complemented each time Each of the other bits changes state from 0 to 1 when all bits to the right are equal to 1. We hence need to use flip-flops that complement a current state, a JK flip-flop 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 :::: 1111
78
AOU – Fall 2012 78 Examples of Sequential Circuits – A counter (3/4) Sequential circuits The sequential circuit of a 4-bit counter is shown in the next picture B0 is the LSB B3 is the MSB A “Count Enable” line is added to start/stop counting CE = 1 : counting is on CE = 0: counting is off Co 2 Co 3 Co 4 Co 1
79
AOU – Fall 2012 79 Examples of Sequential Circuits – A counter (4/4) Sequential circuits Analyze the last circuit very to make sure you understand how this circuit counts from 0000 to 1111 Remember that the output changes only when the clock ticks What happens if the current state is 1111 and the clock is pulsed? What is the job of “Output Carry” (OC) line?
80
End of lecture 3 Try to solve all exercises related to lecture 3
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.