Boolean Logic CS.352.F12

Similar documents
Boolean Algebra. BME208 Logic Circuits Yalçın İŞLER

Propositional Calculus. Math Foundations of Computer Science

Boolean Algebra and Logic Gates

Unit-IV Boolean Algebra

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

Summary. Boolean Addition

Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012

1. Mark the correct statement(s)

1. What is y-chart? ans: The y- chart consists of three domains:- behavioral, structural and geometrical.

Circuit analysis summary

Experiment 4 Boolean Functions Implementation

Lecture (05) Boolean Algebra and Logic Gates

Experiment 3: Logic Simplification

IE1204 Digital Design L7: Combinational circuits, Introduction to VHDL

Standard Forms of Expression. Minterms and Maxterms

QUESTION BANK FOR TEST

IT 201 Digital System Design Module II Notes

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

Software Engineering 2DA4. Slides 2: Introduction to Logic Circuits

1 Boolean Logic 1. Such simple things, And we make of them something so complex it defeats us, Almost. John Ashbery (b. 1927), American poet

Computer Organization and Levels of Abstraction

Chapter 3. Boolean Algebra and Digital Logic

BOOLEAN ALGEBRA. 1. State & Verify Laws by using :

LECTURE 4. Logic Design

Boolean algebra. June 17, Howard Huang 1

Computer Organization

211: Computer Architecture Summer 2016

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Combinational Circuits Digital Logic (Materials taken primarily from:

Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions

Chapter 2. Boolean Expressions:


CS8803: Advanced Digital Design for Embedded Hardware

Chap-2 Boolean Algebra

COMBINATIONAL LOGIC CIRCUITS

Binary logic. Dr.Abu-Arqoub

Contents. Chapter 3 Combinational Circuits Page 1 of 34

X Y Z F=X+Y+Z

Chapter 2. Boolean Algebra and Logic Gates

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 09 MULTIPLEXERS

Computer Organization and Levels of Abstraction

Philadelphia University Faculty of Information Technology Department of Computer Science. Computer Logic Design. By Dareen Hamoudeh.

Workshop on Digital Circuit Design in FPGA

Gate Level Minimization Map Method

EE 8351 Digital Logic Circuits Ms.J.Jayaudhaya, ASP/EEE

Variable, Complement, and Literal are terms used in Boolean Algebra.

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )

Lecture (04) Boolean Algebra and Logic Gates

Lecture (04) Boolean Algebra and Logic Gates By: Dr. Ahmed ElShafee

SYNERGY INSTITUTE OF ENGINEERING & TECHNOLOGY,DHENKANAL LECTURE NOTES ON DIGITAL ELECTRONICS CIRCUIT(SUBJECT CODE:PCEC4202)

ECE 152A LABORATORY 2

SUBJECT CODE: IT T35 DIGITAL SYSTEM DESIGN YEAR / SEM : 2 / 3

R10. II B. Tech I Semester, Supplementary Examinations, May

Propositional Calculus. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Objectives: 1- Bolean Algebra. Eng. Ayman Metwali

LSN 4 Boolean Algebra & Logic Simplification. ECT 224 Digital Computer Fundamentals. Department of Engineering Technology

(ii) Simplify and implement the following SOP function using NOR gates:

CS 261 Fall Mike Lam, Professor. Combinational Circuits

Combinational Circuits

Review: Standard forms of expressions

Combinational Logic. Prof. Wangrok Oh. Dept. of Information Communications Eng. Chungnam National University. Prof. Wangrok Oh(CNU) 1 / 93

Lecture 3 Introduction to VHDL

6. Combinational Circuits. Building Blocks. Digital Circuits. Wires. Q. What is a digital system? A. Digital: signals are 0 or 1.

Philadelphia University Student Name: Student Number:

UNIT 2 BOOLEAN ALGEBRA

Digital System Design

Introduction to Boolean logic and Logical Gates

3. According to universal addressing, what is the address of vertex d? 4. According to universal addressing, what is the address of vertex f?

Introduction to Boolean Algebra

2008 The McGraw-Hill Companies, Inc. All rights reserved.

Introduction to Boolean Algebra


CS303 LOGIC DESIGN FINAL EXAM

UNIT-4 BOOLEAN LOGIC. NOT Operator Operates on single variable. It gives the complement value of variable.

Digital Logic Design (CEN-120) (3+1)

COMP combinational logic 1 Jan. 18, 2016

Points Addressed in this Lecture. Standard form of Boolean Expressions. Lecture 4: Logic Simplication & Karnaugh Map

ENGIN 112 Intro to Electrical and Computer Engineering

Objectives: 1. Design procedure. 2. Fundamental circuits. 1. Design procedure

EE292: Fundamentals of ECE

Gate Level Minimization

CprE 281: Digital Logic

Chapter 3 Simplification of Boolean functions

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 04. Boolean Expression Simplification and Implementation

LOGIC CIRCUITS. Kirti P_Didital Design 1

EECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.

Control and Datapath 8

Board-Data Processing. VHDL Exercises. Exercise 1: Basics of VHDL Programming. Stages of the Development process using FPGA s in Xilinx ISE.

01 Introduction to Digital Logic. ENGR 3410 Computer Architecture Mark L. Chang Fall 2008

Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline.

Combinational Logic Circuits

Chapter 2: Combinational Systems

Digital Logic Lecture 7 Gate Level Minimization

DKT 122/3 DIGITAL SYSTEM 1

Boolean Analysis of Logic Circuits

Boolean logic. Boolean Algebra. Introduction to Computer Yung-Yu Chuang NOT AND NOT

VALLIAMMAI ENGINEERING COLLEGE

UNIT I BOOLEAN ALGEBRA AND COMBINATIONAL CIRCUITS PART-A (2 MARKS)

Combinational Logic & Circuits

Chap.3 3. Chap reduces the complexity required to represent the schematic diagram of a circuit Library

Transcription:

Boolean Logic CS.352.F12

Boolean Algebra

Boolean Algebra Mathematical system used to manipulate logic equations. Boolean: deals with binary values (True/False, yes/no, on/off, 1/0) Algebra: set of operations to manipulate values and evaluate expressions

Boolean Functions A Boolean function is a function that operates on binary inputs and returns binary outputs. Play a central role in the specification, construction, and optimization of hardware architectures.

Truth Table Representation A Truth Table is the enumeration of all the possible outputs of a Boolean function given all possible input values. x y z f(x, y, z) 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0

Board: Construct Truth Tables Boolean Expression A Boolean expression the application of Boolean operators over set of variables. 1. And: x * y is 1 exactly when both x and y are 1 2. Or: x + y is 1 exactly when either x or y or both are 1 3. Not: x' is 1 exactly when x is 0

Exercise 1: Boolean Expression -> Truth Tables Construct truth tables for the following boolean expressions: 1. f(x, y) = x' + y 2. f(x, y, z) = (x * y) + (y * z')

Exercise 1: Boolean Expression -> Truth Tables 1. f(x, y) = x' + y x y f(x, y) 0 0 1 0 1 1 1 0 0 1 1 1

Exercise 1: Boolean Expression -> Truth Tables 2. f(x, y, z) = (x * y) + (y * z') x y z f(x, y, z) 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1

Canonical Representation Every Boolean function can be expressed using at least one Boolean expression called the canonical representation: For each row in truth table where output is 1, construct a term by And-ing together the variables of that row, and then Or all of these terms to form a Sum of Products. Every Boolean function, no matter how complex, can be expressed using three Boolean operators only: And, Or, and Not.

Exercise 2: Truth Table -> Canonical Representation Construct the canonical representation from the following truth table: x y z f(x, y, z) 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0

Exercise 2: Truth Table -> Canonical Representation f(x, y, z) = x'yz' + xy'z' + xyz' x y z f(x, y, z) 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0

Minimization While there is only one truth table representation for every Boolean function, there may exist multiple boolean expressions. For economic reasons, we usually want to minimize or reduce the number of logical operators used in our boolean expression.

Minimization: Algebraic Laws Identity A * 1 = A A + 0 = A Annulment A + 1 = 1 A * 0 = 0 Complement A + A' = 1 A * A' = 0 Indempotent A + A = A A * A = A

Minimization: More Algebraic Laws Associative Law A * B * C = (A * B) * C = A * (B * C) A + B + C = (A + B) + C = A + (B + C) Commutative Law A * B * C = B * A * C =... A + B + C = B + A + C =... Distributive Law A * (B + C) = (A * B) + (A * C) A + (B * C) = (A + B) * (A + C) DeMorgan's Law (A * B)' = A' + B' (A + B)' = A' * B'

Exercise 3: Minimize with Algebraic Laws Simplify the following Boolean function: f(x, y, z) = x'yz' + xy'z' + xyz'

Exercise 3: Minimize with Algebraic Laws f(x, y, z) = x'yz' + xy'z' + xyz' factor = z'(x'y + xy' + xy) factor = z'(x'y + x(y' + y)) complement = z'(x'y + x(1)) identity = z'(x'y + x) distribute = z'((x' + x) * (y + x)) complement = z'((1) * (y + x)) identity = z'(y + x)

Board: Simplify Expression Minimization: Karnaugh Maps Logic graph where all logic domains are continuous, making logic relationships easy to identify.

Board: Simplify Expression Minimization: Karnaugh Maps (4 inputs)

Logic Gate

Logic Gate A gate is a physical device that implements a Boolean function. - Inputs and outputs of a Boolean Function = Input and output pins of gate. - Today, most gates are implemented as transistors etched in silicon (chips).

Primitive Gates A primitive gate is a device that implements an elementary logical operation. And Or Not These devices can be implemented by a variety of technologies but their behavior is governed by the abstract notions of Boolean algebra.

Board: Draw Composite Gate Composite Gates We can chain together various primitive gates to form larger and more complex composite gates. Multi-way Example: And(a, b, c) = a * b *c = (a * b) * c

Exercise 4: boolean function -> gates Implement the following boolean functions as composite gates: 1. Nand(a, b) = (a*b)' 2. Xor(a, b) = a*b' + a'*b 3. And(a, b, c, d) = a*b*c*d

Exercise 4: boolean function -> gates Draw composite gates on the board.

Interface vs Implementation Each logic gate has a unique interface, but may have multiple implementations. Interface: the input and output pins exposed to the outside world and the specified behavior. Implementation: the manner in which the specified behavior is accomplished.

Interface vs Implementation: Propagation Delay There is always a delay in a change in the input of a gate to the corresponding change in the output of the gate. Example: Serial And vs Parallel And Board: draw composite gates

Board: Write Truth table & Boolean Expression Multiplexers A multiplexer is a three-input gate that uses one of the inputs, called the "selection bit", to select and output one of the other two inputs, called "data bits".

Board: Write Truth table Demultiplexer Opposite of a multiplexer; it takes a single input and channels it to one of two possible outputs according to a selector bit.

Decoder A combinational circuit that converts binary information from n input lines to a maximum of 2 N unique output lines.

Exercise 5: multiplexer Implement a 4-to-1 multiplexor.

Exercise 5: multiplexer 1. Use 2-to-4 decoder and 4 And gates and an Or gate 2. Use 4 And3 gates and an Or gate 3. Use 3 2-to-1 multiplexers

Board: Sketch Multi-bit And Multi-bit Gates Computer hardware normally operates on multi-bit arrays called buses. Building a multi-bit gate is easy: construct arrays of n elementary gates.

HDL

HDL Today's hardware designers use Hardware Description Languages to plan and optimize their chip architectures. - Simulate the hardware. - Test the hardware. - Model resource usage.

VHDL -- import std_logic from the IEEE library library IEEE; use IEEE.std_logic_1164.all; -- this is the entity entity ANDGATE is port ( I1 : in std_logic; I2 : in std_logic; O : out std_logic); end entity ANDGATE; -- this is the architecture architecture RTL of ANDGATE is begin O <= I1 and I2; end architecture RTL;

Verilog // And gate module AND2(A, B, C); input A; input B; output C; assign C = A & B; endmodule