Lecture 3 Boolean Algebra and Digital Logic Lecture Duration: 2 Hours
AOU – Fall Lecture Overview Boolean Algebra Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits
AOU – Fall 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
AOU – Fall 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
AOU – Fall Boolean Expressions (2/5) Boolean Algebra
AOU – Fall Boolean Expressions (3/5) Boolean Algebra InputsOutputs xyxy The truth table for AND InputsOutputs xyx + y The truth table for OR InputsOutputs x The truth table for NOT
AOU – Fall 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
AOU – Fall Boolean Expressions (5/5) Boolean Algebra InputsIntermediateOutputs xyz
AOU – Fall Lecture Overview Boolean Algebra Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits
AOU – Fall 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
AOU – Fall Boolean Identities (2/3) Boolean Algebra
AOU – Fall 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
AOU – Fall Lecture Overview Boolean Algebra Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits
AOU – Fall 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.
AOU – Fall 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
AOU – Fall Simplification of Boolean Expressions (3/6) Boolean Algebra
AOU – Fall Simplification of Boolean Expressions (4/6) Boolean Algebra
AOU – Fall Simplification of Boolean Expressions (5/6) Boolean Algebra
AOU – Fall Simplification of Boolean Expressions (6/6) Boolean Algebra
AOU – Fall Lecture Overview Boolean Algebra Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits
AOU – Fall Complements (1/5) Boolean Algebra
AOU – Fall Complements (2/5) Boolean Algebra
AOU – Fall Complements (3/5) Boolean Algebra
AOU – Fall Complements (4/5) Boolean Algebra
AOU – Fall Complements (5/5) Boolean Algebra
AOU – Fall Lecture Overview Boolean Algebra Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits
AOU – Fall 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
AOU – Fall Representing Boolean Functions (2/5) Boolean Algebra
AOU – Fall 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
AOU – Fall Representing Boolean Functions (4/5) Boolean Algebra
AOU – Fall Representing Boolean Functions (5/5) Boolean Algebra
AOU – Fall Lecture Overview Boolean Algebra Logic gates Symbols for logic gates Universal gates Multiple-inputs gates Digital Components Combinational circuits Sequential circuits
AOU – Fall 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
AOU – Fall Symbols for Logic Gates (1/1) Logic gates Boolean expression
AOU – Fall Universal Gates (1/3) Logic gates
AOU – Fall 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
AOU – Fall 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
AOU – Fall Multiple Input Gates (1/1) Logic gates
AOU – Fall Lecture Overview Boolean Algebra Logic gates Digital Components Digital circuits and Boolean algebra Integrated circuits Combinational circuits Sequential circuits
AOU – Fall 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.
AOU – Fall 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
AOU – Fall Digital Circuits and Boolean Algebra (1/1) Digital Components
AOU – Fall 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?
AOU – Fall 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
AOU – Fall 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.
AOU – Fall 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: = = = = 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
AOU – Fall Typical Combinational Circuits – A half adder (2/2) Combinational circuits
AOU – Fall 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”)
AOU – Fall 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.
AOU – Fall 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.
AOU – Fall 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
AOU – Fall 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”
AOU – Fall 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 A 2-to-4 decoder (n=2 ; 2 n =4) A 3-to-8 decoder (n=3 ; 2 n =8) ? ?
AOU – Fall 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 CS
AOU – Fall 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
AOU – Fall 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
AOU – Fall 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 I3I to-1 multiplexer I0I0 I1I1 I2I2 I3I3 I4I4 I5I5 I6I6 I7I7 S0S0 S1S1 S2S ? I4I4
AOU – Fall Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Sequential circuits Introduction Clocks Flip-Flops Examples of Sequential Circuits -Register -Counter
AOU – Fall 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.
AOU – Fall 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
AOU – Fall 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
AOU – Fall Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Sequential circuits Introduction Clocks Flip-Flops Examples of Sequential Circuits -Register -Counter
AOU – Fall 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.
AOU – Fall 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?
AOU – Fall Flip-Flops (3/8) Sequential circuits The most basic memory unit is called an SR flip-flop. The “SR” stands for set/reset
AOU – Fall 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
AOU – Fall 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.
AOU – Fall 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
AOU – Fall 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.
AOU – Fall 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).
AOU – Fall Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Sequential circuits Introduction Clocks Flip-Flops Examples of Sequential Circuits -Register -Counter
AOU – Fall 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.
AOU – Fall 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
AOU – Fall 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…
AOU – Fall Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Sequential circuits Introduction Clocks Flip-Flops Examples of Sequential Circuits -Register -Counter
AOU – Fall 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
AOU – Fall 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 :::: 1111
AOU – Fall 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
AOU – Fall 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?
End of lecture 3 Try to solve all exercises related to lecture 3