420 likes | 470 Views
Boolean Algebra and Digital Logic. Lecture Overview. Boolean Algebra. Boolean Algebra is an algebra for the manipulation of objects that can take only one of two values, typically true or false. Topics: Boolean expressions Complements Simplification (reduction) of Boolean ( Kmaps )
E N D
Lecture Overview • Boolean Algebra • Boolean Algebra is an algebra for the manipulation of objects that can take only one of two values, typically true or false. • Topics: • Boolean expressions • Complements • Simplification (reduction) of Boolean (Kmaps) • Functions Representing - Boolean functions
Lecture Overview • Logic Gates • Symbols for logic gates • Universal gates • Multiple-inputs gates • Digital Components • Digital circuits and Boolean algebra • Integrated circuits • Combinational Circuits • Typical combinational circuits • Adder (half adder, full adder, ripple carry adder) • Decoder • Multiplexer • Sequential Circuits • Clocks • Flip-Flops • Typical sequential circuits • Register • Counter
Boolean Algebra Boolean variable: is a variable that can take only one of two values : 0 (false) or 1 (true). • Example: x, y, z, … where, for instance, “x” could be 0 or 1 Boolean expression:is a 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 in the range {0,1}, based on these input values. • Example: F(x, y, z) = (x AND y) OR z Boolean Expressions (1/5)
Boolean Algebra Boolean Expressions (2/5)
Boolean Algebra A Boolean operator can be described using a “truth table” that lists: • The inputs, with all the possible values of inputs • The resulting values of the operations for all possible combinations of these inputs A Boolean function can also be described using a truth table. Boolean Expressions (3/5)
Boolean Algebra Boolean Expressions (4/5) The truth table for AND The truth table for OR The truth table for NOT
Boolean Algebra Boolean Expressions (5/5)
Boolean Algebra Complement (1/4)
Boolean Algebra Complement (2/4)
Boolean Algebra Complement (3/4)
Boolean Algebra Complement (4/4)
Boolean Algebra Frequently, a Boolean expression is not in its simplest form Recall from algebra that the expression 2x + 6x can be simplified to 8x Boolean expressions can also be simplified Two methods for simplification: • Using Boolean algebra identities (covered in other modules) • Using Karnaugh maps (these are dealt with in what follows) • This section presents an easy, systematic graphical method for visualizing and reducing Boolean expressions – Karnaugh Map or Kmap. Boolean Simplifications
Simplification of Boolean Functions Kmaps and Terminology • A Kmap is a matrix consisting of rows and columns that represent the output values of a Boolean function. • The output values placed in each cell are derived from the mintermsof a Boolean function. • A minterm is a product term that contains all of the function’s variables exactly once, whether complemented or not complemented. • For example, the minterms for a function having the inputs x and y are:
Simplification of Boolean Functions Kmaps and Terminology - Minterm • Similarly, a function having three inputs, X, Y, Z, has the minterms: • Consider the Boolean function Its minterms are:
Simplification of Boolean Functions Description of Kmaps
Simplification of Boolean Functions Description of Kmaps - Example
Simplification of Boolean Functions Kmap Simplification for Two Variables (1/2)
Simplification of Boolean Functions Kmap Simplification for Two Variables (2/2)
Simplification of Boolean Functions Rules for Kmap Simplification • The rules of Kmap simplification are: • Groupings can contain only 1s; no 0s. • Groups can be formed only at right angles; diagonal groups are not allowed. • The number of 1s in a group must be a power of 2 – even if it contains a single 1. • The groups must be made as large as possible. • Groups may overlap and wrap around the sides of the Kmap. • Use don’t care conditions when you can.
Simplification of Boolean Functions Kmap Simplification for Three Variables (1/6)
Simplification of Boolean Functions Kmap Simplification for Three Variables (2/6)
Simplification of Boolean Functions Kmap Simplification for Three Variables (3/6)
Simplification of Boolean Functions Kmap Simplification for Three Variables (4/6)
Simplification of Boolean Functions Kmap Simplification for Three Variables (5/6)
Simplification of Boolean Functions Kmap Simplification for Three Variables – (6/6)
Simplification of Boolean Functions Kmap Simplification for Four Variables
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, forms of Boolean functions are used: • The sum-of-products • The product-of-sums Representing Boolean Functions (1/5)
Boolean Algebra The sum-of-products: consists of ANDedvariables (product terms) that are ORed together • Example: F1(x,y,z) = xy + y+ xyz The product-of-sums: consist of ORed variables (sum terms) that are ANDed together • Example: F2(x,y,z) = (x + y)(x + )(y + )(y + z) Note: The sum-of-products form is more common than the product-of-sums. It will hence be used exclusively in the sections that follow Representing Boolean Functions (2/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 Question: How to generate a sum-of-products expression using the truth table for any Boolean expression? Representing Boolean Functions (3/5)
Boolean Algebra How to generate a sum-of-products expression using the truth table for any Boolean expression? • Search for the lines where the function outputs a “1” • For each of these lines, generate a product term of the input variables • If a variable (for instance “x”) is set to 1, take it as (“x”) • If a variable (for instance “y”) is set to 0, take its complement (“”) • Sum these products Representing Boolean Functions (4/5)
Boolean Algebra Representing Boolean Functions (5/5)
Logic Gates The logical operators, expressions and functions have been represented thus far in an abstract sense. In order to implement the logical operations in a computer we need digital circuits. Physical components or digital circuits perform arithmetic operations or make choices in a computer. What is a Gate? • 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. Logic Gates – Introduction
Logic Gates Logic Gates – Symbols for Logic Gates Boolean expression ( Exclusive OR )
Logic Gates Logic Gates – Universal Gates (1/3) ¯ ¯ ¯ ¯ ¯ ¯ x y x + y = x y ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ x + y x y = x + y
Logic Gates The NAND gate is commonly referred to as a universal gate • Any electronic circuit can be constructed using only NAND gates Logic Gates – Universal Gates (2/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 blocks 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 are used for implementing an expression in product-of-sums form Logic Gates – Universal Gates (3/3)
Logic Gates Gates could have multiple inputs Also, sometimes it is useful to depict the output of a gate as Q along with its complement Logic Gates – Multiple Input Gates
Digital Components A computer is built using connected collections of gates. These collections of gates are often quite standard, resulting in a set of building blocks. These building blocks are constructed using the basic AND, OR, and NOT operations. In this part, we will discuss: • Digital circuits, and their relationship to Boolean expressions • The standard building blocks • Two different categories of such building blocks: Combinational logic and Sequential logic Digital Components – Introduction
Digital Components Digital Components - Digital Circuits and Boolean Algebra
Digital Components Gates are manufactured in units called integrated circuits (ICs). First ICs were SSI (small scale integration) 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. Digital Components - Integrated Circuits How many gates does this IC contain? What is (are) the type(s) of these gates?