Learning Outcomes. Spiral 2 4. Function Synthesis Techniques SHANNON'S THEOREM

Similar documents
Spiral 2-4. Function synthesis with: Muxes (Shannon's Theorem) Memories

Outcomes. Unit 14. Review of State Machines STATE MACHINES OVERVIEW. State Machine Design

14.1. Unit 14. State Machine Design

9.1. Unit 9. Implementing Combinational Functions with Karnaugh Maps or Memories

Spiral 2-1. Datapath Components: Counters Adders Design Example: Crosswalk Controller

Outcomes. Spiral 1 / Unit 2. Boolean Algebra BOOLEAN ALGEBRA INTRO. Basic Boolean Algebra Logic Functions Decoders Multiplexers

Introduction to Digital Logic

Review for Test 1 : Ch1 5

Systems I: Computer Organization and Architecture

211: Computer Architecture Summer 2016

Learning Objectives 10/7/2010. CE 411 Digital System Design. Fundamental of Logic Design. Review the basic concepts of logic circuits. Dr.

Total Time = 90 Minutes, Total Marks = 50. Total /50 /10 /18

Combinational Logic. By : Ali Mustafa

Software Engineering 2DA4. Slides 8: Multiplexors and More

PanHomc'r I'rui;* :".>r '.a'' W"»' I'fltolt. 'j'l :. r... Jnfii<on. Kslaiaaac. <.T i.. %.. 1 >

MANY BILLS OF CONCERN TO PUBLIC

Review Getting the truth table

MODULAR CIRCUITS CHAPTER 7

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-2700: Digital Logic Design Winter Notes - Unit 2

Q: Examine the relationship between X and the Next state. How would you describe this circuit? A: An inverter which is synched with a clock signal.

Different encodings generate different circuits

(Boolean Algebra, combinational circuits) (Binary Codes and -arithmetics)

LOWELL WEEKI.Y JOURINAL

Combinational Logic Design Combinational Functions and Circuits

Looking at a two binary digit sum shows what we need to extend addition to multiple binary digits.

Outcomes. Spiral 1 / Unit 3. The Problem SYNTHESIZING LOGIC FUNCTIONS

Chapter 3 Combinational Logic Design

PALACE PIER, ST. LEONARDS. M A N A G E R - B O W A R D V A N B I E N E.

DIGITAL CIRCUIT LOGIC BOOLEAN ALGEBRA

CSE 140L Spring 2010 Lab 1 Assignment Due beginning of the class on 14 th April

WORKBOOK. Try Yourself Questions. Electrical Engineering Digital Electronics. Detailed Explanations of

3. Complete the following table of equivalent values. Use binary numbers with a sign bit and 7 bits for the value

Digital Design. Digital Design

ECE380 Digital Logic. Positional representation

Menu. Master-Slave Flip-Flop

to become literate in most common concepts and terminology of digital electronics

Week-I. Combinational Logic & Circuits

CHAPTER1: Digital Logic Circuits Combination Circuits

Binary addition (1-bit) P Q Y = P + Q Comments Carry = Carry = Carry = Carry = 1 P Q

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Combinational Logic. Mantıksal Tasarım BBM231. section instructor: Ufuk Çelikcan

Outcomes. Spiral 1 / Unit 5. Logic Function Synthesis KARNAUGH MAPS. Karnaugh Maps

Binary addition example worked out

Discrete Mathematics. CS204: Spring, Jong C. Park Computer Science Department KAIST

FOF (Functionally Observable Fault): A unified mode for testing and debugging - ATPG and application to debugging -

ECE 545 Digital System Design with VHDL Lecture 1. Digital Logic Refresher Part A Combinational Logic Building Blocks

The Design Procedure. Output Equation Determination - Derive output equations from the state table

GF(2 m ) arithmetic: summary

Boolean Algebra, Gates and Circuits

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

Mark Redekopp, All rights reserved. Lecture 5 Slides. Canonical Sums and Products (Minterms and Maxterms) 2-3 Variable Theorems DeMorgan s Theorem

Outcomes. Spiral 1 / Unit 5. Logic Function Synthesis KARNAUGH MAPS. Karnaugh Maps

Building a Computer Adder

Chapter 2 Combinational Logic Circuits

Lecture 7: Logic design. Combinational logic circuits

Shift Register Counters

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.

CHAPTER 12 Boolean Algebra

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Digital Logic

Digital Circuits and Systems

ELE2120 Digital Circuits and Systems. Tutorial Note 9

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

CHAPTER 7. Solutions for Exercises

Schedule. ECEN 301 Discussion #25 Final Review 1. Date Day Class No. 1 Dec Mon 25 Final Review. Title Chapters HW Due date. Lab Due date.

ECE 238L Boolean Algebra - Part I

Logic and Computer Design Fundamentals. Chapter 2 Combinational Logic Circuits. Part 1 Gate Circuits and Boolean Equations

Contents. Chapter 3 Combinational Circuits Page 1 of 36

THE LOGIC OF COMPOUND STATEMENTS

Binary Multipliers. Reading: Study Chapter 3. The key trick of multiplication is memorizing a digit-to-digit table Everything else was just adding

1.10 (a) Function of AND, OR, NOT, NAND & NOR Logic gates and their input/output.

Boolean Algebra CHAPTER 15

Lecture 6: Gate Level Minimization Syed M. Mahmud, Ph.D ECE Department Wayne State University

UNIT III Design of Combinational Logic Circuits. Department of Computer Science SRM UNIVERSITY

Combinational Logic. Jee-Hwan Ryu. School of Mechanical Engineering Korea University of Technology and Education

8. Design Tradeoffs x Computation Structures Part 1 Digital Circuits. Copyright 2015 MIT EECS

Combinatorial RTL Components

CprE 281: Digital Logic

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

8. Design Tradeoffs x Computation Structures Part 1 Digital Circuits. Copyright 2015 MIT EECS

Midterm Examination # 1 Wednesday, February 25, Duration of examination: 75 minutes

ELCT201: DIGITAL LOGIC DESIGN

CSE140: Design of Sequential Logic

9/29/2016. Task: Checking for a Lower-Case Letter. ECE 120: Introduction to Computing. Change C 5 to C 5 to Obtain L(C) from U(C)

Chapter 2 Combinational Logic Circuits

Synchronous Sequential Logic

ENGG 1203 Tutorial _03 Laboratory 3 Build a ball counter. Lab 3. Lab 3 Gate Timing. Lab 3 Steps in designing a State Machine. Timing diagram of a DFF

Combinational Logic Design Principles

CS61c: Representations of Combinational Logic Circuits

Computational Boolean Algebra. Pingqiang Zhou ShanghaiTech University

6. Finite State Machines

Analysis and Synthesis of Weighted-Sum Functions

S.Y. Diploma : Sem. III [CO/CM/IF/CD/CW] Digital Techniques

Combinational Logic Design Arithmetic Functions and Circuits

04. What is the Mod number of the counter circuit shown below? Assume initially reset.

Quantum Computing. 6. Quantum Computer Architecture 7. Quantum Computers and Complexity

Chapter 5 Arithmetic Circuits

Part 1: Digital Logic and Gates. Analog vs. Digital waveforms. The digital advantage. In real life...

Unit 2 Boolean Algebra

Multi-Level Logic Optimization. Technology Independent. Thanks to R. Rudell, S. Malik, R. Rutenbar. University of California, Berkeley, CA

COMBINATIONAL LOGIC FUNCTIONS

Transcription:

-. -. Learning Outcomes piral unction synthesis with: Mues (hannon's Theorem) Memories I can implement logic for any truth table by using hannon's theorem to decompose the function to create two smaller functions and a to mu I can recursively apply hannon's theorem k times to decompose any sie truth table to arrive at k smaller functions and a k to mu I can implement logic for any truth table by using a memory as a look up table I understand how to determine the necessary dimensions of the memory I understand how to reinterpret input combinations as address inputs to determine the correct row to place the desired output Mark Redekopp -. -. unction ynthesis Techniques Given a combination function (i.e. truth table or other description) what methods can we use to arrive at a circuit? Neither of these to larger number of inputs Now we will see a few others X Z P Primes between - Implementing functions with mues HANNON' THEOREM

-. -. implify This to Mu: Another View Given (,y,) = y + y, simplify (,y,) = then simplify (,y,) = Old Views: I I -bit wide -to- mu (I ) IN IN if(s==) = IN else = IN Given G(a,b,c,d) = bd + ab cd + ac d G(,,c,d) = New View: We can show the function of a -to- mu as a splitter where the variable 's' decides which input passes upwards s I I -. -.8 bit Prime Number unction unction Implementation w/ Mues X Z P X Z P O-set y Implementing a function using mues relies is based on hannon s epansion theorem which states: Primes between - Truth Table ON-set (X,X,,X n ) = X (,X,,X n ) + X (,X,,X n ) X can be pulled out of if we substitute an appropriate constant and qualify it with X or X Now recall a to mu can be built as: if(==) output else output I I = I + I Comparing the two equations, hannon s theorem says we can use X as our select bit to a to mu with (,X, X n ) as input of our mu and (,X,,X n ) as input

-.9 -. Binary Decision Trees & Mues plitting on X X Z (,y,) Z (,y,) Z (,y,) Z (,,) Z (,,) Z (,,) Z (,,) y (,y,) (,y,) (,y,) y (,,) (,,) (,,) (,,) (,y,) (,y,) (,y,) (,,) (,,) (,,) (,,) We can use smaller mues by breaking the truth table into fewer disjoint sets This increases the amount of logic at the inputs though Break the truth table into groups based on some number (k) of MB s or each group, describe as a function of the n k LB s X Z I I X Put the k MB s on the selects -. -. Implement G hannon s Theorem X Z G (X,X,,X n ) = X (,X,,X n ) + X (,X,,X n ) Now recall a to mu can be built as: I I X G = I + I Comparing the two equations, hannon s theorem says we can use X as our select bit to a to mu with (,X, X n ) as input of our mu and (,X,,X n ) as input We can recursively apply hannon s theorem to pull out more variables: (X,X,,X n ) = X X (,,,X n ) + X X (,,,X n ) + X X (,,,X n ) + X X (,,,X n ) +

-. -. Mues allow us to break a function into some number of smaller, disjoint functions Use MB s to choose which small function we want By including the use of inverters we can use a mu with n select bits (given a function of n var s) Break the truth table into groups of rows or each group, put in terms of:,,, or Additional Logic X Z (,y,) can be broken into several disjoint functions () () () () D D D D y Put the n- MB s on the selects X Z G More Practice D D D D y G -. -. As ar as We like plitting on Z We can take this tactic all the way down and use ONL a mu to implement any function Connect the input variables to the select bits of the mu The output of the mu is the output of the function Whatever the output should be for each input value, attach that to the input of the mu X Z D D D D D D D D y We can always rearrange our variables if it helps make the function simpler to implement X Z Z X y y

Implementing Logic unctions We can use mues to implement any arbitrary logic function Choose one variable to the large function into two smaller functions: and to mu will produce the bit and the chosen "split" variable will be the Implement f(,,, ) using any known method and connect it to of the to mu Implement f(,,, ) using any known method and connect it to of the to mu -. Implementing an Initial tate ince the NL is just a combinational function of the current state and inputs, we can use hannon's theorem (i.e. mues)to find an implementation rather than K Maps Q(t) Q(t) NL (Net tate Logic) CLK D D Current tate eedback OL M (Output (tate Memory) unction Logic) PRE Q(t) D Q CLK CLR REET PRE D Q CLK CLR REET Q(t) A -.8 Eample Implement D & D using to mues with as the select Current tate tate Q Q tate Net tate = = Q*= D Q*= D tate Q* =D Q* =D G G G G G G G G G G G G Output A -.9 Eample Implement D and D using () to mues with Q,Q as the selects Current tate Net tate = = Output tate Q Q tate Q * Q * tate Q * Q * G MTG MG M MT N/A X d d X d d d d d MT M M M -.

Eample Implement D using a mu Current tate Net tate H L = H L = H L = H L = ymbol Q ym. Q* ym. Q* ym. Q* ym. Q* O ON O O X d ON ON ON O X d Note: The tate Value, Q forms the Pump output (i.e. when we want the pump to be on and othewise) L O P= L H ON P= -. H Eample Implement D using a mu. Current tate Net tate X = X = tate Q Q Q tate* D D D tate* D D D Z init init init -. Outp ut ummary -. -. hannon's theorem allows us to decompose an large function into smaller functions This allows a method that can for a function with It is at the heart of many computer algorithms that will find logic implementation given highlevel descriptions of a function Using a LookUp Table to implement a function MEMORIE

-. -. Memories as Look Up Tables Implementing unctions w/ Memories One major application of memories in digital design is to use them as s (Look Up Tables) to implement logic functions Given a logic function use a memory to hold all the and feed the inputs of the function to the address inputs to look up the answer X Z Arbitrary Logic unction Z X 8 Memory A A D X,,Z inputs look up the correct answer 8 Memory A A D -. -.8 Implementing unctions w/ Memories Eample X C i C o C i X 8 Memory A A 8 Memory A A Implement D & D using a memory Current tate Net tate = = tate Q Q tate Q* Q* tat e Q* Q* G G G G G G G G G G G G 8 Memory A A ull Adder D D D D D D C o ++ =

-.9 -. Eample L Eample Implement D using a memory Current tate Net tate H L = H L = H L = H L = ymbol Q ym. Q* ym. Q* ym. Q* ym. Q* O ON O O X d ON ON ON O X d L O P= A A H 8 Memory ON P= H Implement D and D using a memory Current tate Net tate = = Output tate Q Q tate Q * Q * tate Q * Q * G MTG MG M MT 8 Memory A A N/A X d d X d d d d d MT M M M D D D Multiplier Eample -. Implementing unctions w/ Memories -. Determine the dimensions of the memory that would be necessary to implement a bit unsigned multiplier with inputs X[:] and [:] and outputs P[??:] (Question: How many bits are needed for P). Eample: X X X X = =... ROM To implement a function w/ n variables and m outputs Just place the output truth table values in the memory Memory will have dimensions: n rows and m columns till does not terribly well (i.e. n inputs requires memory w/ n outputs) But it is easy and since we can change the contents of memories it allows us to create " " logic This idea is at the heart of P = X * = * = =