Lecture 6 Logistics Last lecture Today’s lecture HW2 due on Wednesday

Slides:



Advertisements
Similar presentations
ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Advertisements

ENGIN112 L8: Minimization with Karnaugh Maps September 19, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 8 Minimization with Karnaugh.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 6 Dr. Shi Dept. of Electrical and Computer Engineering.
Relationship Between Basic Operation of Boolean and Basic Logic Gate The basic construction of a logical circuit is gates Gate is an electronic circuit.
Gate Logic: Two Level Canonical Forms
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 4-1 Chapter #2: Two-Level Combinational Logic Section 2.3, Switches and Tools.
4/11/03 Minute Paper How does MS window work? Like how do we have the screen on the computer. Is it just a bunch of Binary #’s representing colors? When.
EET 1131 Unit 5 Boolean Algebra and Reduction Techniques
CS 151 Digital Systems Design Lecture 8 Minimization with Karnaugh Maps.
بهينه سازي با نقشة کارنو Karnaugh Map. 2  Method of graphically representing the truth table that helps visualize adjacencies 2-variable K-map 3-variable.
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Overview of Chapter 3 °K-maps: an alternate approach to representing Boolean functions °K-map representation can be used to minimize Boolean functions.
BOOLEAN ALGEBRA Saras M. Srivastava PGT (Computer Science)
Boolean Algebra and Digital Circuits
9/16/04UCB EECS150 D. Culler Fa04 1 EECS Components and Design Techniques for Digital Systems Lec 06 – Minimizing Boolean Logic 9/16-04 David Culler.
1 CSE370, Lecture 5 Lecture 5 u Logistics n HW1 due today n HW2 available today, due Wed 1/21 n Office Hours this week: íMe: Friday 10:00-11:00 CSE 668.
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 4 Nand, Nor Gates, CS147 Circuit Minimization and
LOGIC GATES & BOOLEAN ALGEBRA
Logic Functions: XOR, XNOR
Test Slide SAT MCAT GRE. CSE 370 Spring 2006 Introduction to Digital Design Lecture 5: Canonical Forms Last Lecture Logic Gates Different Implementations.
BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC
BOOLEAN ALGEBRA LOGIC GATES. Introduction British mathematician George Boole( ) was successful in finding the link between logic and mathematics.
Based on slides by:Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. ECE/CS 352: Digital System Fundamentals Lecture 7 – Karnaugh Maps.
Digital Systems Design 1 Signal Expressions Multiply out: F = ((X + Y)  Z) + (X  Y  Z) = (X  Z) + (Y  Z) + (X  Y  Z)
1 CSE370, Lecture 4 Lecture 4 u Logistics n HW1 due now n HW2 posted now and is due one week from today n Lab1 going on this week n Feedback on lectures,
EET 1131 Unit 5 Boolean Algebra and Reduction Techniques
Lecture 4 Logistics Last lecture --- Boolean algebra Today’s lecture
© Copyright 2004, Gaetano Borriello and Randy H. Katz
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
ECE/CS 352 Digital Systems Fundamentals
Lecture 9 Logistics Last lecture Today HW3 due Wednesday
Optimized Implementation of Logic Function
EEL 3705 / 3705L Digital Logic Design
Reading: Hambley Chapters
Basics Combinational Circuits Sequential Circuits
CSE 311 Foundations of Computing I
Karnaugh Maps References: Lecture 4 from last semester
Optimized Implementation of Logic Function
BASIC & COMBINATIONAL LOGIC CIRCUIT
CSE 370 – Winter Combinational Logic - 1
SYEN 3330 Digital Systems Chapter 2 – Part 4 SYEN 3330 Digital Systems.
Lecture 13 Logistics Last lecture Today HW4 up, due on Wednesday PLDs
CSE 370 – Winter 2002 – Logic minimization - 1
ECE 331 – Digital System Design
CSE 370 – Winter Combinational Implementation - 1
Lecture 6 Logistics Last lecture Today’s lecture
Lecture 7 Logistics Last lecture Today HW2 due now Lab2 going on
EECS150 - Digital Design Lecture 7 - Boolean Algebra II
Reading: Hambley Ch. 7 through 7.5
Lecture 6 Karnaugh maps (K-maps) K-maps with “don’t cares”
Optimized Implementation of Logic Function
Spring Combinational Logic - 1
Lecture 5 Logistics Last lecture Today’s lecture
Instructor: Alexander Stoytchev
Chapter #2: Two-Level Combinational Logic
Instructor: Alexander Stoytchev
Overview Part 2 – Circuit Optimization
Lecture 4 Logistics Last lecture --- Boolean algebra Today’s lecture
Special Gates Combinational Logic Gates
Karnaugh Maps (K maps).
Lecture 5 Converting to use NAND and NOR
Lecture 7 Logistics Last lecture Today HW2 due now Lab2 going on
Lecture 6 Logistics Last lecture Today’s lecture HW2 due on Wednesday
Dept of Electronics Engineering
CSE 370 – Winter Number syst.; Logic functions- 1
Lecture 3: Incompletely Specified Functions and K Maps
Circuit Simplification and
Reading: Hambley Ch. 7 through 7.5
Presentation transcript:

Lecture 6 Logistics Last lecture Today’s lecture HW2 due on Wednesday Lab 2 this week Last lecture Canonical forms NAND and NOR Today’s lecture More NAND and NOR and pushing bubbles Logic simplification: Visualization techniques Boolean cubes Karnaugh maps Class rule: Interrupt when you don’t understand why we are doing something

The “WHY” slide Converting to use NAND and NOR Pushing bubbles NAND and NOR are more efficient gates than AND or OR (and therefore more common). Your computer is built almost exclusively on NAND and NOR gates. It is good to knowhow to convert any logic circuits to a NAND/NOR circuit. Pushing bubbles It is always good to remember logical/theoretical concepts visually. This is one way to remember the NAND/NOR conversion easily. Logic Simplification If you are building a computer or a cool gadget, you want to optimize on size and efficiency. Having extra unnecessary operations/gates is not great. We teach nice techniques to allow logic simplifications. Class rule: Interrupt when you don’t understand why we are doing something

NAND and NOR (logic gates) de Morgan's Standard form: A'B' = (A + B)' A' + B' = (AB)' Inverted: A + B = (A'B')' (AB) = (A' + B')' AND with complemented inputs  NOR OR with complemented inputs  NAND OR  NAND with complemented inputs AND  NOR with complemented inputs pushing the bubble NOR NOR NAND NAND AND AND OR OR

Converting to use NAND/NOR Introduce inversions ("bubbles") Introduce bubbles in pairs Conserve inversions Do not alter logic function Example AND/OR to NAND/NAND Z = AB + CD = (A'+B')'+(C'+D')' = [(A'+B')(C'+D')]' = [(AB)'(CD)']' A B C D Z A NAND B Z NAND C NAND D

Converting to use NAND/NOR (con’t) Example: AND/OR network to NOR/NOR Z = AB+CD = (A'+B')'+(C'+D')’ = [(A'+B')'+(C'+D')’]’’ = {[(A'+B')'+(C'+D')']'}' A B C D Z A NOR B Z NOR C NOR D

Converting to use NAND/NOR (con’t) Example: OR/AND to NAND/NAND A B C D Z Z A B C D NAND

Converting to use NAND/NOR(con’t) Example: OR/AND to NOR/NOR A B C D Z Z A B C D NOR

Example of bubble pushing: before pushing

Example of bubble pushing: NAND/NAND ‘

Example of bubble pushing: NOR/NOR ‘

Goal: Minimize two-level logic expression Algebraic simplification not an systematic procedure hard to know when we reached the minimum Just program it!! Computer-aided design tools require very long computation times (NP hard) heuristic methods employed – "educated guesses” Visualization methods are useful our brain is good at figuring things out over computers many real-world problems are solvable by hand

Key tool: The Uniting Theorem The uniting theorem  A(B’+B) = A The approach: Find some variables don’t change (the A’s above) and others do (the B’s above) Eliminate the changing variables (the B’s) A B F 0 0 1 0 1 1 1 0 0 1 1 0 A has the same value in both “on-set” rows  keep A Goal: Simplification of two-level combinational logic Algebraic simplification not an algorithmic/systematic procedure how do you know when the minimum realization has been found? Computer-aided design tools precise solutions require very long computation times (NP hard) heuristic methods employed – "educated guesses" Hand methods still relevant many real-world problems are solvable by hand B has a different value in the two rows  eliminate B F = A'B'+A'B = A'(B+B') = A'

Boolean cubes Visualization tool for the uniting theorem n input variables = n-dimensional "cube" 01 11 1 1-cube Y 2-cube X 00 10 X 1011 1111 0111 0011 011 111 4-cube 0010 3-cube Y 101 Z Y Z W 1100 000 X 100 1000 0000 X 0100

Mapping truth tables onto Boolean cubes ON set = solid nodes OFF set = empty nodes Look for on-set adjacent to each other Sub-cube (a line) comprises two nodes A varies within the sub-cube; B does not This sub-cube represents B' A B F 0 0 1 0 1 0 1 0 1 1 1 0 F 01 11 B 00 10 A

Example using Boolean cube Binary full-adder carry-out logic On-set is covered by the OR of three 1-subcubes A B Cin Cout 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 (A'+A)BCin 111 A(B+B')Cin B 101 Cin 000 A AB(Cin'+Cin) Cout = BCin+AB+ACin

Another example using Boolean cube On-set is covered by the OR of one 2-D subcubes and one 3-D subcubes A B Cin Cout 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 (A'+A)BCin 111 A(B+B')(Cin+Cin‘) B 101 Cin 000 A Cout = BCin+A

M-dimensional cubes in n-dimensional space In a 3-cube (three variables): A 0-cube (a single node) yields a term in 3 literals A 1-cube (a line of two nodes) yields a term in 2 literals A 2-cube (a plane of four nodes) yields a term in 1 literal A 3-cube (a cube of eight nodes) yields a constant term "1" 011 111 F(A,B,C) = m(4,5,6,7) On-set forms a square (a 2-D cube) A is asserted (true) and unchanging B and C vary This sub-cube represents the literal A 110 010 B an m-subcube within an n-cube (m < n) yields a term with n – m literals C 101 000 100 A

Karnaugh maps (K-map) Flat representation of Boolean cubes Easy to use for 2– 4 dimensions Harder for 4 – 6 dimensions Virtually impossible for 6+ dimensions Use CAD tools Help visualize adjacencies On-set elements that have one variable changing are adjacent A B F 0 0 1 0 1 0 1 0 1 1 1 0 1 2 3 A 1 B 1 1 0 2 1 3 1

2, 3, and 4 dimensional K-maps Uses Gray code: Only one bit changes between cells Example: 00  01  11  10 A AB A CD 00 01 11 10 A A AB 1 B 00 01 11 10 00 C 0 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 2 01 0 2 6 4 1 3 7 5 D B 1 C 1 1 3 11 C B 10 B

Adjacencies Wrap–around at edges First column to last column Top row to bottom row AB A 011 111 C 00 01 11 10 010 000 001 010 011 110 111 100 101 0 2 6 4 1 3 7 5 001 B C 101 C 1 000 A 100 B

K-map minimization example: 2 variables A B F 0 0 1 0 1 0 1 0 1 1 1 0 A 1 2 3 B 1 F = B' 1 1 0 0 2 1 1 3