Lecture 3 Boolean Algebra and Digital Logic Lecture Duration: 2 Hours

Slides:



Advertisements
Similar presentations
التصميم المنطقي Second Course
Advertisements

Cosc 2150: Computer Organization Chapter 3: Boolean Algebra and Digital Logic.
1 Digital Logic
Chapter 4 Gates and Circuits.
Chapter 3 Boolean Algebra and Digital Logic. 2 Chapter 3 Objectives Understand the relationship between Boolean logic and digital computer circuits. Learn.
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
Lecture 10 Topics: Sequential circuits Basic concepts Clocks
Chapter 3: Boolean Algebra
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Some Useful Circuits Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Boolean Algebra and Digital Logic Chapter 3. Chapter 3 Objectives  Understand the relationship between Boolean logic and digital computer circuits. 
Boolean Algebra and Digital Logic Nizamettin AYDIN
Boolean Algebra and Digital Logic
Digital Components and Combinational Circuits Sachin Kharady.
SG 3: FIT1001 Computer Systems S Important Notice for Lecturers This file is provided as an example only Lecturers are expected to modify / enhance.
1 DIGITAL ELECTRONICS. 2 OVERVIEW –electronic circuits capable of carrying out logical (boolean) and arithmetic operations on information stored as binary.
1 Boolean Algebra & Logic Gates. 2 Objectives Understand the relationship between Boolean logic and digital computer circuits. Learn how to design simple.
Chapter 3 Boolean Algebra and Digital Logic. 2 Chapter 3 Objectives Understand the relationship between Boolean logic and digital computer circuits. Learn.
CHAPTER-2 Fundamentals of Digital Logic. Digital Logic Digital electronic circuits are used to build computer hardware as well as other products (digital.
In1200/04-PDS 1 TU-Delft Digital Logic. in1200/04-PDS 2 TU-Delft Unit of Information l Computers consist of digital (binary) circuits l Unit of information:
Computer Architecture and Organization Unit -1. Digital Logic Circuits – Logic Gates – Boolean Algebra – Map Simplification – Combinational Circuits –
CS/COE0447 Computer Organization & Assembly Language
How does the CPU work? CPU’s program counter (PC) register has address i of the first instruction Control circuits “fetch” the contents of the location.
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Logic Simplification-Using Boolean Laws Logic Design Laboratory EE 2121 Lectures By Manesh T EE2121-In Charge
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
Lecture 3 Boolean Algebra and Digital Logic Lecture Duration: 2 Hours.
COMBINATIONAL AND SEQUENTIAL CIRCUITS Guided By: Prof. P. B. Swadas Prepared By: BIRLA VISHVAKARMA MAHAVDYALAYA.
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
Dr. ClincyLecture Slide 1 CS6020- Chapter 3 (3A and ) Dr. Clincy Professor of CS First Exam - Tuesday, September 6th Coverage: All subjects up to.
Digital Logic.
Morgan Kaufmann Publishers
Prof. Sin-Min Lee Department of Computer Science
Boolean Algebra and Digital Logic
CS Chapter 3 (3A and ) Part 1 of 8
CS Chapter 3 (3A and ) Part 1 of 8
Digital Components and Combinational Circuits
CS Chapter 3 (3A and ) – Part 4 of 5
DIGITAL LOGIC CIRCUITS
Basics of Digital Logic Design Presentation D
ECE Digital logic Lecture 16: Synchronous Sequential Logic
Basics Combinational Circuits Sequential Circuits
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
Boolean Algebra and Digital Logic
Boolean Algebra and Digital Logic
Chapter 4 Gates and Circuits.
CS105 Introduction to Computer Concepts GATES and CIRCUITS
Boolean Algebra and Digital Logic
Fundamentals of Computer Science Part i2
Dr. Clincy Professor of CS
COMP541 Sequential Circuits
How does the CPU work? CPU’s program counter (PC) register has address i of the first instruction Control circuits “fetch” the contents of the location.
Digital Logic Structures Logic gates & Boolean logic
Dr. Clincy Professor of CS
CS/COE0447 Computer Organization & Assembly Language
Dr. Clincy Professor of CS
CSE 370 – Winter Sequential Logic - 1
Week 7: Gates and Circuits: PART II
Dr. Clincy Professor of CS
Sequential Circuits: Latches
Dr. Clincy Professor of CS
ECB2212-Digital Electronics Boolean algebra
Logic Circuits I Lecture 3.
Boolean Algebra and Digital Logic
Lab Instructors will overview the MSP430
Boolean Algebra and Digital Logic
Introductory Concepts
Digital Circuits and Logic
Presentation transcript:

Lecture 3 Boolean Algebra and Digital Logic Lecture Duration: 2 Hours

Lecture Overview Boolean Algebra Logic gates Digital Components Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits

Boolean Algebra – Introduction (1/1) 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

Boolean Expressions (1/5) Boolean Algebra Boolean Expressions (1/5) 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

Boolean Expressions (2/5) Boolean Algebra Boolean Expressions (2/5)  

Boolean Expressions (3/5) Boolean Algebra Boolean Expressions (3/5) The truth table for AND The truth table for OR Inputs Outputs x y xy 1 Inputs Outputs x y x + y 1 The truth table for NOT Inputs Outputs x 1

Boolean Expressions (4/5) Boolean Algebra Boolean Expressions (4/5) 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

Boolean Expressions (5/5) Boolean Algebra Boolean Expressions (5/5)   Inputs Intermediate Outputs x y z 1

Lecture Overview Boolean Algebra Logic gates Digital Components Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits

Boolean Identities (1/3) Boolean Algebra Boolean Identities (1/3) 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

Boolean Identities (2/3) Boolean Algebra Boolean Identities (2/3)  

Boolean Identities (3/3) Boolean Algebra Boolean Identities (3/3) Drawing a truth table can justify DeMorgan’s Law Think of drawing the truth table that justifies each of the other predefined laws

Lecture Overview Boolean Algebra Logic gates Digital Components Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits

Simplification of Boolean Expressions (1/6) Boolean Algebra Simplification of Boolean Expressions (1/6) 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.

Simplification of Boolean Expressions (2/6) Boolean Algebra Simplification of Boolean Expressions (2/6) 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

Simplification of Boolean Expressions (3/6) Boolean Algebra Simplification of Boolean Expressions (3/6)  

Simplification of Boolean Expressions (4/6) Boolean Algebra Simplification of Boolean Expressions (4/6)  

Simplification of Boolean Expressions (5/6) Boolean Algebra Simplification of Boolean Expressions (5/6)  

Simplification of Boolean Expressions (6/6) Boolean Algebra Simplification of Boolean Expressions (6/6)  

Lecture Overview Boolean Algebra Logic gates Digital Components Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits

Boolean Algebra Complements (1/5)  

Boolean Algebra Complements (2/5)  

Boolean Algebra Complements (3/5)  

Boolean Algebra Complements (4/5)  

Boolean Algebra Complements (5/5)  

Lecture Overview Boolean Algebra Logic gates Digital Components Boolean Expressions Boolean Identities Simplification of Boolean Expressions Complements Representing Boolean Functions Logic gates Digital Components Combinational circuits Sequential circuits

Representing Boolean Functions (1/5) Boolean Algebra Representing Boolean Functions (1/5) 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

Representing Boolean Functions (2/5) Boolean Algebra Representing Boolean Functions (2/5)  

Representing Boolean Functions (3/5) Boolean Algebra Representing Boolean Functions (3/5) 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

Representing Boolean Functions (4/5) Boolean Algebra Representing Boolean Functions (4/5)  

Representing Boolean Functions (5/5) Boolean Algebra Representing Boolean Functions (5/5)          

Lecture Overview Boolean Algebra Logic gates Digital Components Symbols for logic gates Universal gates Multiple-inputs gates Digital Components Combinational circuits Sequential circuits

Logic Gates – Introduction (1/1) 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

Symbols for Logic Gates (1/1) Boolean expression

Logic gates Universal Gates (1/3)

The NAND gate is commonly referred to as a universal gate Logic gates Universal Gates (2/3) The NAND gate is commonly referred to as a universal gate Any electronic circuit can be constructed using only NAND gates

Why not simply use the AND, OR, and NOT gates we already know exist? Logic gates Universal Gates (3/3) 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

Multiple Input Gates (1/1) Logic gates Multiple Input Gates (1/1)  

Lecture Overview Boolean Algebra Logic gates Digital Components Digital circuits and Boolean algebra Integrated circuits Combinational circuits Sequential circuits

Digital Components – Introduction (1/2) 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.

Digital Components – Introduction (2/2) 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

Digital Circuits and Boolean Algebra (1/1) Digital Components Digital Circuits and Boolean Algebra (1/1)    

Integrated Circuits (1/1) Digital Components Integrated Circuits (1/1) 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?

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

Combinational circuits Basic Concepts (1/1) 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.

Typical Combinational Circuits – A half adder (1/2) 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

Typical Combinational Circuits – A half adder (2/2)  

Typical Combinational Circuits – A full adder (1/2) 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”)

Typical Combinational Circuits – A full adder (2/2) Think of how this logic diagram is obtained. Note that a full-adder is composed of two half-adders and an OR gate.

Typical Combinational Circuits – A binary numbers adder (1/1) 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.

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

Typical Combinational Circuits – A decoder (1/3) A decoder decodes binary information from a set of n inputs to a maximum of 2n 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”

Typical Combinational Circuits – A decoder (2/3) 4-to-8 decoder 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 1 1 1 2 ? ? 1 3 1 2-to-4 decoder 4 1 1 1 1 1 5 1 1 1 2 6 1 1 3 1 7 1 A 2-to-4 decoder (n=2 ; 2n=4) A 3-to-8 decoder (n=3 ; 2n=8)

Typical Combinational Circuits – A decoder (3/3) Memory Chip 0 Memory Chip 1 Memory Chip 2 Memory Chip 3 Memory Chip 4 Memory Chip 5 Memory Chip 6 Memory Chip 7 CS CS CS CS CS CS CS CS For tutors only: We have 16 bits for address: The memory size is 216 = 64 Kwords = 64 Kbytes (supposing a word size of 1byte) Each memory chip has a size of : 64Kbytes/8 = 8Kbytes All memory 1 addresses begin with: 000xxxxxxxxxxxxx All memory 2 Addresses begin with: 001xxxxxxxxxxxxx All memory 3 Addresses begin with: 011xxxxxxxxxxxxx And so on until memory 7, its addresses begin with: 111xxxxxxxxxxxxx 1 Decoder 1 2 3 4 5 6 7 13 1 1

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

Typical Combinational Circuits – A multiplexer (1/2) 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

Typical Combinational Circuits – A multiplexer (2/2) A 4-to-1 multiplexer We have 4=22 input lines To select one of the 4 inputs we need 2 selection bits: S0, S1 A 8-to-1 multiplexer We have 8=23 input lines To select one of the 8 inputs we need 3 selection bits: S0, S1, S2 A 16-to-1 multiplexer? A 64-to-1 multiplexer? I0 4-to-1 multiplexer I1 I0 I2 I2 I1 I3 I3 S1 S0 1 1 1 I0 8-to-1 multiplexer I1 I2 I3 I4 ? I4 I5 I6 I7 S2 S1 S0 1

Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Sequential circuits Introduction Clocks Flip-Flops Examples of Sequential Circuits Register Counter

Sequential circuits – Introduction (1/2) 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.

Sequential circuits – Introduction (2/2) 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

Clocks (1/1) Clock: It is a circuit that emits a series of pulses Sequential circuits Clocks (1/1) 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 width Clock cycle time

Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Sequential circuits Introduction Clocks Flip-Flops Examples of Sequential Circuits Register Counter

In sequential the output depends on past inputs. Sequential circuits Flip-Flops (1/8) 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.

Sequential circuits Flip-Flops (2/8) 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?

The most basic memory unit is called an SR flip-flop. Sequential circuits Flip-Flops (3/8) The most basic memory unit is called an SR flip-flop. The “SR” stands for set/reset

Try to think how the feedback works? Sequential circuits Flip-Flops (4/8) 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

What happens when both S and R are 1? Sequential circuits Flip-Flops (5/8) 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.

It is also important to see how a clocked SR flip-flop is implemented! Sequential circuits Flip-Flops (6/8) 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

This creates the JK flip-flop (in honor of Jack Kilby) Sequential circuits Flip-Flops (7/8) 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.

This sequential circuit stores one bit of information. Flip-Flops (8/8) 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).

Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Sequential circuits Introduction Clocks Flip-Flops Examples of Sequential Circuits Register Counter

Examples of Sequential Circuits – A register (1/3) 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.

Examples of Sequential Circuits – A register (2/3) 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

Examples of Sequential Circuits – A register (3/3) 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… 1 1 1 1

Lecture Overview Boolean Algebra Logic gates Digital Components Combinational circuits Sequential circuits Introduction Clocks Flip-Flops Examples of Sequential Circuits Register Counter

Examples of Sequential Circuits – A counter (1/4) 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

Examples of Sequential Circuits – A counter (2/4) 1 : 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

Examples of Sequential Circuits – A counter (3/4) 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 Co2 Co3 Co4

Examples of Sequential Circuits – A counter (4/4) 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? For tutors only: When the current state is 1111 and the clock is pulsed the output is set to 0000 and the “output carry” is set to 1

End of lecture 3 Try to solve all exercises related to lecture 3