CS231 Boolean Algebra1 K-map Summary K-maps are an alternative to algebra for simplifying expressions. – The result is a minimal sum of products, which.

Slides:



Advertisements
Similar presentations
Review: Additional Boolean operations
Advertisements

Digital Logic Design Gate-Level Minimization
Lecture 6 More Logic Functions: NAND, NOR, XOR and XNOR
Digital Circuits.
Chapter 2 Logic Circuits.
1 Combinational Logic Design&Analysis. 2 Introduction We have learned all the prerequisite material: – Truth tables and Boolean expressions describe functions.
Additional Gates and Decoders
Boolean Algebra and Combinational Logic
Gate-Level Minimization. Digital Circuits The Map Method The complexity of the digital logic gates the complexity of the algebraic expression.
Karnaugh Maps for Simplification
Computer Engineering (Logic Circuits) (Karnaugh Map)
بهينه سازي با نقشة کارنو Karnaugh Map. 2  Method of graphically representing the truth table that helps visualize adjacencies 2-variable K-map 3-variable.
Lecture 3. Boolean Algebra, Logic Gates
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Overview Part 1 – Design Procedure 3-1 Design Procedure
IKI a-Simplification of Boolean Functions Bobby Nazief Semester-I The materials on these slides are adopted from those in CS231’s Lecture.
IKI b-Logic Gates Bobby Nazief Semester-I The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC, which.
Chapter 2: Boolean Algebra and Logic Functions
Chapter 2 Combinational Systems And / Or / Not. TRIAD PRINCIPLE: Combinational is about And / Or / Not combinations As well as equivalent functions. It.
1 Fundamentals of Computer Science Propositional Logic (Boolean Algebra)
1 Logic Gates Digital Computer Logic Kashif Bashir WWW:
IKI a-Boolean Algebra Bobby Nazief Semester-I The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,
BOOLEAN ALGEBRA Saras M. Srivastava PGT (Computer Science)
Boolean Algebra and Digital Circuits
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
Combinational Logic 1.
CS231 Boolean Algebra1 K-map Summary K-maps are an alternative to algebra for simplifying expressions. – The result is a minimal sum of products, which.
Chapter 3 Gate-Level Minimization
Gate-Level Minimization
Chapter 2 Two- Level Combinational Logic. Chapter Overview Logic Functions and Switches Not, AND, OR, NAND, NOR, XOR, XNOR Gate Logic Laws and Theorems.
Computer Engineering (Logic Circuits) (Karnaugh Map)
CHAPTER 3: PRINCIPLES OF COMBINATIONAL LOGIC
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
LOGIC GATES & BOOLEAN ALGEBRA
CS1Q Computer Systems Lecture 7
February 2, 2004CS 2311 Karnaugh maps Last time we saw applications of Boolean logic to circuit design. – The basic Boolean operations are AND, OR and.
June 17, 2002Basic circuit analysis and design1 Example K-map simplification Let’s consider simplifying f(x,y,z) = xy + y’z + xz. First, you should convert.
June 11, 2002© Howard Huang1 Boolean algebra Last time we talked about Boolean functions, Boolean expressions, and truth tables. Today we’ll learn.
Karnaugh Maps (K-Maps)
June 10, 2002© Howard Huang1 Number systems To get started, we’ll discuss one of the fundamental concepts underlying digital computer design:
CS231 Boolean Algebra1 Summary so far So far: – A bunch of Boolean algebra trickery for simplifying expressions and circuits – The algebra guarantees us.
Boolean Algebra & Logic Circuits Dr. Ahmed El-Bialy Dr. Sahar Fawzy.
Boolean Functions and Boolean Algebra Laxmikant Kale.
Karnaugh Map and Circuit Design.
June 12, 2002© Howard Huang1 Karnaugh maps Last time we saw applications of Boolean logic to circuit design. – The basic Boolean operations are.
CS231 Boolean Algebra1 The dual idea: products of sums Just to keep you on your toes... A product of sums (POS) expression contains: – Only AND (product)
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 4 Dr. Shi Dept. of Electrical and Computer Engineering.
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
CS231 Boolean Algebra1 Circuit analysis summary After finding the circuit inputs and outputs, you can come up with either an expression or a truth table.
Mu.com.lec 9. Overview Gates, latches, memories and other logic components are used to design computer systems and their subsystems Good understanding.
CHAPTER 2 Boolean algebra and Logic gates
1 Digital Systems Design Lecture 7 Transformations Factoring - finding a factored form from SOP or POS expression Decomposition - expression of a function.
CHAPTER 3 Simplification of Boolean Functions
Chapter 3 Notes – Part II Review Questions
Combinational Logic Design&Analysis.
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
Computer Organisation
CS 105 Digital Logic Design
Boolean Algebra and Combinational Logic
Circuit analysis summary
Boolean algebra Last time we talked about Boolean functions, Boolean expressions, and truth tables. Today we’ll learn how to how use Boolean algebra to.
Lecture 3 Gunjeet Kaur Dronacharya Group of Institutions
Functions Computers take inputs and produce outputs, just like functions in math! Mathematical functions can be expressed in two ways: We can represent.
Design example: Comparing 2-bit numbers
Dr. Clincy Professor of CS
From now on: Combinatorial Circuits:
Karnaugh maps Last time we saw applications of Boolean logic to circuit design. The basic Boolean operations are AND, OR and NOT. These operations can.
Basic circuit analysis and design
Circuit Simplification and
Presentation transcript:

CS231 Boolean Algebra1 K-map Summary K-maps are an alternative to algebra for simplifying expressions. – The result is a minimal sum of products, which leads to a minimal two-level circuit. – It’s easy to handle don’t-care conditions. – K-maps are really only good for manual simplification of small expressions... but that’s good enough for CS231! Things to keep in mind: – Remember the correct order of minterms on the K-map. – When grouping, you can wrap around all sides of the K-map, and your groups can overlap. – Make as few rectangles as possible, but make each of them as large as possible. This leads to fewer, but simpler, product terms. – There may be more than one valid solution.

CS231 Boolean Algebra2 Example: Seven Segment Display ABCDe X X X X X X X X X X X X e b a f g c d Table for e CD AB XXXX 1010XX CD’ + B’D’ Assumption: Input represents a legal digit (0-9) Input: digit encoded as 4 bits: ABCD

CS231 Boolean Algebra3 Example: Seven Segment Display ABCDe X X X X X X X X X X X X e b a f g c d Table for e CD AB XXXX 1010XX CD’ + B’D’ Assumption: Input represents a legal digit (0-9) Input: digit encoded as 4 bits: ABCD

CS231 Boolean Algebra4 Example: Seven Segment Display ABCDa X X X X X X X X X X X X a f g e b c d Table for a CD AB XXXX 1011XX A + C + BD + B’D’ The expression in book (p 110) is different because it assumes “0” for “illegal” inputs: A’C+A’BD+B’C’D’+AB’C’

CS231 Boolean Algebra5 Example: Seven Segment Display ABCDa X X X X X X X X X X X X a f g e b c d Table for a CD AB XXXX 1011XX A + C + BD + B’D’ The expression in book (p 110) is different because it assumes “0” for “illegal” inputs: A’C+A’BD+B’C’D’+AB’C’

CS231 Boolean Algebra6 Practice K-map 3 Find a MSP for f(w,x,y,z) =  m(0,2,4,5,8,14,15), d(w,x,y,z) =  m(7,10,13) This notation means that input combinations wxyz = 0111, 1010 and 1101 (corresponding to minterms m 7, m 10 and m 13 ) are unused.

CS231 Boolean Algebra7 Solutions for practice K-map 3 Find a MSP for: f(w,x,y,z) =  m(0,2,4,5,8,14,15), d(w,x,y,z) =  m(7,10,13) All prime implicants are circled. We can treat X’s as 1s if we want, so the red group includes two X’s, and the light blue group includes one X. The only essential prime implicant is x’z’. The red group is not essential because the minterms in it also appear in other groups. The MSP is x’z’ + wxy + w’xy’. It turns out the red group is redundant; we can cover all of the minterms in the map without it.

CS231 Boolean Algebra8 Basic circuit design The goal of circuit design is to build hardware that computes some given function. The basic idea is to write the function as a Boolean expression, and then convert that to a circuit. Step 1: Figure out how many inputs and outputs you have. Step 2: Make sure you have a description of the function, either as a truth table or a Boolean expression. Step 3: Convert this into a simplified Boolean expression. (For this course, we’ll expect you to find MSPs, unless otherwise stated.) Step 4: Build the circuit based on your simplified expression.

CS231 Boolean Algebra9 Design example: Comparing 2-bit numbers Let’s design a circuit that compares two 2-bit numbers, A and B. The circuit should have three outputs: – G (“Greater”) should be 1 only when A > B. – E (“Equal”) should be 1 only when A = B. – L (“Lesser”) should be 1 only when A < B. Make sure you understand the problem. – Inputs A and B will be 00, 01, 10, or 11 (0, 1, 2 or 3 indecimal). – For any inputs A and B, exactly one of the three outputs will be 1.

CS231 Boolean Algebra10 Step 1: How many inputs and outputs? Two 2-bit numbers means a total of four inputs. – We should name each of them. – Let’s say the first number consists of digits A1 and A0 from left to right, and the second number is B1 and B0. The problem specifies three outputs: G, E and L. Here is a block diagram that shows the inputs and outputs explicitly. Now we just have to design the circuitry that goes into the box.

CS231 Boolean Algebra11 Step 2: Functional specification For this problem, it’s probably easiest to start with a truth table. This way, we can explicitly show the relationship (>, =, <) between inputs. A four-input function has a sixteen- row truth table. It’s usually clearest to put the truth table rows in binary numeric order; in this case, from 0000 to 1111 for A1, A0, B1 and B0. Example: 01 < 10, so the sixth row of the truth table (corresponding to inputs A=01 and B=10) shows that output L=1, while G and E are both 0.

CS231 Boolean Algebra12 Step 2: Functional specification For this problem, it’s probably easiest to start with a truth table. This way, we can explicitly show the relationship (>, =, <) between inputs. A four-input function has a sixteen- row truth table. It’s usually clearest to put the truth table rows in binary numeric order; in this case, from 0000 to 1111 for A1, A0, B1 and B0. Example: 01 < 10, so the sixth row of the truth table (corresponding to inputs A=01 and B=10) shows that output L=1, while G and E are both 0.

CS231 Boolean Algebra13 Step 3: Simplified Boolean expressions Let’s use K-maps. There are three functions (each with the same inputs A1 A0 B1 B0), so we need three K-maps. G(A1,A0,B1,B0) = A1 A0 B0’ + A0 B1’ B0’ + A1 B1’ E(A1,A0,B1,B0) = A1’ A0’ B1’ B0’ + A1’ A0 B1’ B0 + A1 A0 B1 B0 + A1 A0’ B1 B0’ L(A1,A0,B1,B0) = A1’ A0’ B0 + A0’ B1 B0 + A1’ B1

CS231 Boolean Algebra14 Step 4: Drawing the circuits G = A1 A0 B0’ + A0 B1’ B0’ + A1 B1’ E = A1’ A0’ B1’ B0’ + A1’ A0 B1’ B0 + A1 A0 B1 B0 + A1 A0’ B1 B0’ L = A1’ A0’ B0 + A0’ B1 B0 + A1’ B1 LogicWorks has gates with NOTs attached (small bubbles) for clearer diagrams.

CS231 Boolean Algebra15 Testing this in LogicWorks Where do the inputs come from? Binary switches, in LogicWorks How do you view outputs? Use binary probes. switches probe

CS231 Boolean Algebra16 Example wrap-up Data representations. – We used three outputs, one for each possible scenario of the numbers being greater, equal or less than each other. – This is sometimes called a “one out of three” code. K-map advantages and limitations. – Our circuits are two-level implementations, which are relatively easy to draw and follow. – But, E(A1,A0,B1,B0) couldn’t be simplified at all via K-maps. Can you do better using Boolean algebra? Extensibility. – We used a brute-force approach, listing all possible inputs and outputs. This makes it difficult to extend our circuit to compare three-bit numbers, for instance. – We’ll have a better solution after we talk about computer arithmetic.

CS231 Boolean Algebra17 Summary Functions can be represented with expressions, truth tables or circuits. These are all equivalent, and we can arbitrarily transform between them. Circuit analysis involves finding an expression or truth table from a given logic diagram. Designing a circuit requires you to first find a (simplified) Boolean expression for the function you want to compute. You can then convert the expression into a circuit. Next time we’ll talk about some building blocks for making larger combinational circuits, and the role of abstraction in designing large systems.

CS231 Boolean Algebra18 Additional gates We’ve already seen all the basic Boolean operations and the associated primitive logic gates. There are a few additional gates that are often used in logic design. – They are all equivalent to some combination of primitive gates. – But they have some interesting properties in their own right.

CS231 Boolean Algebra19 Additional Boolean operations NAND (NOT-AND) NOR (NOT-OR) XOR (eXclusive OR) (xy)’ = x’ + y’(x + y)’ = x’ y’x  y = x’y + xy’ Operation: Expressions: Truth table: Logic gates:

CS231 Boolean Algebra20 NANDs are special! The NAND gate is universal: it can replace all other gates! – NOT – AND – OR (xx)’ = x’[ because xx = x ] ((xy)’ (xy)’)’ = xy[ from NOT above ] ((xx)’ (yy)’)’= (x’ y’)’[ xx = x, and yy = y ] = x + y[ DeMorgan’s law ]

CS231 Boolean Algebra21 Making NAND circuits The easiest way to make a NAND circuit is to start with a regular, primitive gate-based diagram. Two-level circuits are trivial to convert, so here is a slightly more complex random example.

CS231 Boolean Algebra22 Converting to a NAND circuit Step 1: Convert all AND gates to NAND gates using AND-NOT symbols, and convert all OR gates to NAND gates using NOT-OR symbols.

CS231 Boolean Algebra23 Converting to NAND, concluded Step 2: Make sure you added bubbles along lines in pairs ((x’)’ = x). If not, then either add inverters or complement the input variables.

CS231 Boolean Algebra24 NOR gates The NOR operation is the dual of the NAND. NOR gates are also universal. We can convert arbitrary circuits to NOR diagrams by following a procedure similar to the one just shown: – Step 1: Convert all OR gates to NOR gates (OR-NOT), and all AND gates to NOR gates (NOT-AND). – Step 2: Make sure that you added bubbles along lines in pairs. If not, then either add inverters or complement input variables.

CS231 Boolean Algebra25 XOR gates A two-input XOR gate outputs true when exactly one of its inputs is true: XOR corresponds more closely to typical English usage of “or,” as in “eat your vegetables or you won’t get any pudding.” Several fascinating properties of the XOR operation: x  y = x’ y + x y’

CS231 Boolean Algebra26 More XOR tidbits The general XOR function is true when an odd number of its arguments are true. For example, we can use Boolean algebra to simplify a three-input XOR to the following expression and truth table. XOR is especially useful for building adders (as we’ll see on later) and error detection/correction circuits. x  (y  z) = x  (y’z + yz’)[ Definition of XOR ] = x’(y’z + yz’) + x(y’z + yz’)’[ Definition of XOR ] = x’y’z + x’yz’ + x(y’z + yz’)’[ Distributive ] = x’y’z + x’yz’ + x((y’z)’ (yz’)’)[ DeMorgan’s ] = x’y’z + x’yz’ + x((y + z’)(y’ + z))[ DeMorgan’s ] = x’y’z + x’yz’ + x(yz + y’z’)[ Distributive ] = x’y’z + x’yz’ + xyz + xy’z’[ Distributive ]

CS231 Boolean Algebra27 XNOR gates Finally, the complement of the XOR function is the XNOR function. A two-input XNOR gate is true when its inputs are equal: (x  y)’ = x’y’ + xy

CS231 Boolean Algebra28 Design considerations, and where they come from Circuits made up of gates, that don’t have any feedback, are called combinatorial circuits – No feedback: outputs are not connected to inputs – If you change the inputs, and wait for a while, the correct outputs show up. Why? Capacitive loading: – “fill up the water level” analogy. So, when such ckts are used in a computer, the time it takes to get stable outputs is important. For the same reason, a single output cannot drive too many inputs – Will be too slow to “fill them up” – May not have enough power So, the design criteria are: – Propagation delay (how many gets in a sequence from in to out) – Fan-out – Fan-in (Number of inputs to a single gate)

CS231 Boolean Algebra29 Summary NAND and NOR are universal gates which can replace all others. – There are two representations for NAND gates (AND-NOT and NOT-OR), which are equivalent by DeMorgan’s law. – Similarly, there are two representations for NOR gates too. You can convert a circuit with primitive gates into a NAND or NOR diagram by judicious use of the axiom (x’)’ = x, to ensure that you don’t change the overall function. An XOR gate implements the “odd” function, outputting 1 when there are an odd number of 1’s in the inputs. – They can make circuit diagrams easier to understand.