COMP541 Combinational Logic - 3

Slides:



Advertisements
Similar presentations
Switching circuits Composed of switching elements called “gates” that implement logical blocks or switching expressions Positive logic convention (active.
Advertisements

Combinational Circuits
1 COMP541 Combinational Logic Montek Singh Jan 16, 2007.
1 COMP541 Combinational Logic - 2 Montek Singh Jan 18, 2007.
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 3-1 Chapter #2: Two-Level Combinational Logic Section 2.1, Logic Functions.
1 COMP541 Combinational Logic - II Montek Singh Aug 27, 2014.
CSCE 211: Digital Logic Design
Logic Gates Circuits to manipulate 0’s and 1’s. 0’s and 1’s used for numbers Also to make decisions within the computer. In that context, 1 corresponds.
Chapter 2: Boolean Algebra and Logic Functions
1 Why study Boolean Algebra? 4 It is highly desirable to find the simplest circuit implementation (logic) with the smallest number of gates or wires. We.
Lecture 17: Digital Design Today’s topic –Intro to Boolean functions Reminders –HW 4 due Wednesday 10/8/2014 (extended) –HW 5 due Wednesday 10/15/2014.
Combinational Logic 1.
Lecture 22: 11/19/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
Chapter 2 Two- Level Combinational Logic. Chapter Overview Logic Functions and Switches Not, AND, OR, NAND, NOR, XOR, XNOR Gate Logic Laws and Theorems.
Lecture 3. Combinational Logic 1 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education & Research.
Chapter 2 Digital Design and Computer Architecture, 2 nd Edition Chapter 2 David Money Harris and Sarah L. Harris.
LOGIC CIRCUITLOGIC CIRCUIT. Goal To understand how digital a computer can work, at the lowest level. To understand what is possible and the limitations.
1 COMP541 Combinational Logic - 3 Montek Singh Jan 23, 2012.
1 COMP541 Combinational Logic - II Montek Singh Jan 18, 2012.
BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION
1 COMP541 Combinational Logic - 3 Montek Singh Jan 21, 2015.
Boolean Algebra & Logic Gates
Digital Logic.
COMP541 Combinational Logic - 3
COSC3330 Computer Architecture Lecture 2. Combinational Logic
Morgan Kaufmann Publishers
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
Chapter 2: Boolean Algebra and Logic Functions
COMP541 Combinational Logic - II
14:332:231 DIGITAL LOGIC DESIGN Boolean Algebra
ECE 2110: Introduction to Digital Systems
CS 105 Digital Logic Design
ECE 3110: Introduction to Digital Systems
Gate Circuits and Boolean Equations
Complement of a Function
COMP541 Combinational Logic - 3
Overview Part 1 – Gate Circuits and Boolean Equations
Computer Organization and Design Transistors & Logic - II
Digital Logic.
Basic Digital Logic Systems
Princess Sumaya University
Circuit analysis summary
TN 221: DIGITAL ELECTRONICS 1
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.
Basics of Digital Logic Design Presentation D
ECE 331 – Digital System Design
CHAPTER 2 Boolean Algebra
Boolean Algebra Why study Boolean Algebra?
Modified from John Wakerly Lecture #2 and #3
Propositional Calculus: Boolean Algebra and Simplification
Lecture 4 Sums of Product Circuits Simplification
BASIC & COMBINATIONAL LOGIC CIRCUIT
CSE 370 – Winter Combinational Logic - 1
CSE 370 – Winter 2002 – Logic minimization - 1
Combinatorial Logic Circuit
Functions Computers take inputs and produce outputs, just like functions in math! Mathematical functions can be expressed in two ways: We can represent.
Digital Systems Design
COMP541 Combinational Logic - II
Chapter 2 Introduction to Logic Circuits
From now on: Combinatorial Circuits:
ECE 352 Digital System Fundamentals
COMP541 Combinational Logic - II
Analysis of Logic Circuits Example 1
ECE 352 Digital System Fundamentals
Chapter 2 Digital Design and Computer Architecture, 2nd Edition
CSE 370 – Winter Number syst.; Logic functions- 1
Circuit Simplification and
Lecture 2: Combinational Logic Design
Presentation transcript:

COMP541 Combinational Logic - 3 Montek Singh Jan 28, 2019

Today’s Topics Synthesis: Schematic drawing conventions from truth table to logic implementation Schematic drawing conventions Non-Boolean values “Don’t Cares”, or X values “Floating values”, or Z values

Mechanically Go From Truth Table to Function

From Truth Table to Logic Equation Consider a truth table Standard sum-of-products implementation OR of all product terms that are 1 For each row where output is 1 write the minterm called “ON-set minterm” OR all of these minterms

Standard Forms Not necessarily simplest F Definitions: But it is a systematic way to go from truth table to function Definitions: “Literal”: a single variable, complemented or not  Ā “Product terms”: AND of literals  ĀBZ “Sum terms”: OR of product terms  X + Ā This is logical product and sum, not arithmetic

Definition: Minterm Product term in which all variables appear once (complemented or not) each minterm is 1 in exactly one row, 0 elsewhere

Number of Minterms For n variables, there will be 2n minterms Like binary numbers from 0 to 2n-1 Often numbered same way (often in decimal)

Definition: Maxterm Sum term in which all variables appear once (complemented or not) each maxterm is 0 in exactly one row, 1 elsewhere

Minterm related to Maxterm Minterm and maxterm with same subscripts are complements Example

Implementation: Sum of Minterms OR all of the minterms of truth table row with a 1 “ON-set minterms” F = m0 + m2 + m5 + m7 Example:

More General: Sum of Products Simplifying sum-of-minterms can yield a sum of products difference is that each term need not be a minterm i.e., terms do not need to have all variables Ex: Implementation is still AND-OR but products may contain fewer literals simplifies to:

Two-Level Implementation Sum of products has 2 levels of gates ANDs followed by an OR equivalently: NANDs followed by a NAND

More Levels of Gates? What’s best? Hard to answer More gate delays (more on this later) But maybe we only have 2-input gates So multi-input ANDs and ORs have to be decomposed

Complement of a Function Definition: 1s & 0s swapped in truth table Mechanical way to derive algebraic form Take the dual Recall: Interchange AND and OR, and 1s & 0s Complement each literal

Complement of F Not surprisingly, just sum of the other minterms sum of “OFF-set minterms” Example: F = m0 + m2 + m5 + m7 F’ = m1 + m3 + m4 + m6 simplifies to:

Product of Maxterms Recall that maxterm is true except for its own case So M1 is only false for 001

Product of Maxterms Can express F as AND of all rows that should evaluate to 0 i.e., product of OFF-set Maxterms! why? a row in which F=0 (OFF-set)… … has a Maxterm that is 0 which makes the product 0 or

Complement of F Can express complement of F similarly: or product of ON-set Maxterms of F! why? a row in which F=1 (ON-set)… … has a Maxterm that is 0 which makes F’ zero or

More General: Product of Sums Simplifying product-of-Maxterms can yield a product of sums difference is that each term need not be a Maxterm i.e., terms do not need to have all variables Ex: Implementation is still OR-AND but each sum may contain fewer literals simplifies to: HOW??  homework problem (hint: distributive property)

From Equations to Gates Simply parse the Boolean equation and replace each operator with a gate AND, OR, NOT gates parentheses indicate hierarchy Example:

Gate-level realization: Sum-of-Products AND-OR can be simply turned into NAND-NAND DeMorgan’s law indicates equivalence common because NANDs are basic gates in CMOS logic

Gate-level realization: Product-of-Sums OR-AND can be simply turned into NOR-NOR DeMorgan’s law indicates equivalence common because NORs are basic gates in CMOS logic

Recap Working (so far) with AND, OR, and NOT Algebraic identities Algebraic simplification Minterms and maxterms Can now synthesize gate-level implementation from truth table

Drawing Style Indicate inputs and outputs using arrows or: inputs at left/top, outputs at right/bottom If possible, gates should flow from left to right or: top to bottom Straight wires best or: keep bends at a minimum (preferably 90 deg) Connections: wires always connect at a “T” junction a dot at a wire crossing indicates connection wire crossing without a dot means no connection

Circuit Schematic Rules (cont.) Wire connections A dot where wires cross indicates a connection Wires crossing without a dot make no connection Wires always connect at a T junction

Multiple Output Circuits: Example Output asserted corresponding to most significant TRUE input Example: Priority Encoder Hardware

Example: Priority Encoder Hardware (contd.) Y3 has 8 minterms, Y2 has 4 minterms, Y1 has 2 minterms and Y0 has 1 without simplification: 15 AND gates + 3 OR gates with simplification, a much smaller circuit (method discussed later)

Values that are not 0’s and 1’s Don’t Cares (X) Floating values (Z)

X values X is neither 1 nor 0 Unknown Don’t Care Illegal typically used to represent “unknown” or “illegal” values Unknown e.g., an uninitialized value in a simulator in hardware most flipflops will wake up to a 1 or a 0 value but could be different each time it wakes up Don’t Care an output specified as X means “don’t care” i.e., left unspecified: whatever comes out is okay Illegal e.g., contention at output two gates fighting

Actually: Several Meanings of X When used to specify an input value Means: “Don’t Care”: this particular input variable’s value does not matter when determining the output Example: Output F is 1 when the inputs A, B, C are 1X1 Means F = AC // B is a Don’t Care Unknown/uninitialized signal If a simulator cannot determine the value of a signal, it will display it as X Other values that depend on this signal may also become X Contention (illegal input value) Sometimes a simulator will use X to denote the value of a node that is being pulled both to 0 and to 1 Example: Outputs of two gates are shorted; or a gate has p-transistor and n-transistor network simultaneously on!

Don’t Cares (X) More compact representation! Example: Priority Encoder Hardware

Z values Also neither 1 nor 0 Could be undesirable: but actually “floating” i.e., the output is neither connected to 0 (ground) nor to 1 (power supply) Could be undesirable: actual voltage is highly susceptible to noise e.g., neighboring wires/gates could easily influence value Could be by design: useful in buses, memories, multiplexers, etc. usually one gate drives a wire to a 1 or 0 all others “float” their outputs example: tristate buffers/inverters cover in next lecture tristate buffer

Next Detour Back to combinational logic overview of transistors common building blocks