Electronic Design Automation for Digital Circuits

Size: px
Start display at page:

Download "Electronic Design Automation for Digital Circuits"

Transcription

1 Electronic Design Automation for Digital Circuits Tutorial Notes Lecturer: U. Schlichtmann Teaching Assistant: M. Barke Room 296, T barke@tum.de Address: Arcisstr Munich German Telephone: Internet: Contents of Lecture: Microelectronics overview, design flow for microelectronic sstems, design space (Y-chart), implementation fabrics; Logic Snthesis, binar Boolean functions, optimization of combinational circuits (two-level, multi-level), FSMs, optimization of sequential circuits; Logic Simulation, event-driven simulation, modelling and simulation using VHDL; Testing of digital circuits, automatic test pattern generation (ATPG) for combinational circuits, fault simulation, test pattern generation for sequential circuits, scan path, built-in self-test. Issue: Februar 4, 22

2

3 Contents I. Logic Snthesis 3 Tutorial : Binar Boolean Functions Tutorial 2: Snthesis of Combinational Circuits using the Method of Quine and McCluske Tutorial 3: Snthesis of Combinatorial Circuits b Methods of Design Automation. 25 Tutorial 4: Binar Decision Diagrams, Tautolog Proof II. Simulation 58 Tutorial 5: Simulation of Digital Circuits Tutorial 6: VHDL III.Testing 72 Tutorial 7: Fault Covering Tutorial 8: Boolean Difference Tutorial 9: Fault Simulation Tutorial : Automatic Test Pattern Generation (ATPG) Tutorial : Snchronous Sequential Circuits CONTENTS

4

5 I. Logic Snthesis Tutorial : Binar Boolean Functions Problem Consider the four Boolean functions of the form {,,,} {,} defined as: f (,) =, g(,) = +, h(,) = +, k(,) =. a) Represent the four Boolean epressions b their truth tables. b) For the functions f, g, h and k determine the set of value assignments for which the function value equals one (on-set). c) Represent the four functions b arrow diagrams in which the arrows point from variable value assignments to function values. d) Which of the functions are equal? Which law of Boolean algebra epresses this equalit? e) Draw the decision trees for the functions and epand first w.r.t. and then w.r.t. (order of variables). f) Determine the truth tables, on-sets and arrow diagrams for the following Boolean epressions (product terms, cubes):,,,. How can the mapping function (algebraic form) of an Boolean function with two variables be constructed using these cubes? g) Using these cubes construct the following Boolean epressions:, +, +,,, + and +. For the last four epressions the laws A(3), (4) and (8) should be considered. Note: e.g. = ( + ) = + + = ( + ) = cube graph for n = 2 Logic Snthesis: Problems for Tutorial () 3

6 Problem 2 Consider the 6 Boolean functions of the form {,} 2 {,} defined as: w i = f i (,); i =,,5 i f i (,) i f i (,) i f i (,) i f i (,) = = = = a) Represent the 6 Boolean epressions b their truth table. b) How man different functions eist for n variables ( f : {,} n {,})? c) Obviousl the following holds: = + and = +. Show that the following equations are correct using the laws of Boolean algebra: ( + ) ( + ) = and ( + ) + ( + ) = d) Determine which of the 6 functions have just one element in their on-set and which have just one element in their off-set. e) Determine the on-sets of the following Boolean functions: f 3, f 5, f, f 2, f, f 5 f) Draw the gate level realization of the functions f, f 2, f 7, f 8, f, f 4 How could the functions f 3, f, f, f 5 be realized on gate level? What is the peculiarit of the gate level realizations of the functions f 6 and f 9? Logic Snthesis: Problems for Tutorial (2) 4

7 Problem 3 Consider the five minterms (-cubes) of a Boolean function f of the form f : {,} 3 {,}, m = z, m 2 = z, m 4 = z, m 6 = z, m 7 = z. a) Determine the on-set of each of the minterms and of the Boolean function f. Determine the truth table of f. b) Consider the mapping consisting of onl -cubes: w = f (,,z) = m + m 2 + m 4 + m 6 + m 7. Tr to find a representation with fewer literals using -cubes. For this purpose determine the on-set of f in the simplified notation using the Don t-care smbol. c) Determine the simplest mapping function of w = f (,,z) b using a 2-cube. Determine the on-set of f in further simplified notation. Draw a gate level realization of f. d) Visualize the Boolean function f using a cube graph (n = 3). z z cube graph for n = 3 Logic Snthesis: Problems for Tutorial (3) 5

8 Solution of Tutorial : Problem, Solution a) Truth table: f (,) g(,) h(,) k(,) + + b) On-sets: f = g = {,,}; h = k = {}; c) Arrow diagrams: B 2 f,g B B 2 h,k B d) f = g, h = k Law of De Morgan of the Boolean algebra (see A()) Logic Snthesis: Solution () 6

9 e) Decision trees: + = = = = = = = = f) Truth table: m m m 2 m 3 On-sets: m = {} m = {} m 2 = {} m 3 = {} Arrow diagrams: B 2 m B m : ;,, m : ;,, m 2 : ;,, m 3 : ;,, The elements of the on-set of a Boolean function f are constructed b disjunction (ORing) of the corresponding cubes (building blocks). Representation of f b a sum of products (SOP form). Logic Snthesis: Solution (2) 7

10 g) = The function itself is one of the building blocks. } + = + Each of the functions consists of two + = + building blocks. = + = ( + ) = = + = ( + ) = + = + + = = + + = + + = = + -Cubes Cubes On-Sets + + {} {} {} {} Building blocks for the elements of the on-set of Boolean functions with two variables. Problem 2, Solution a) Representation for f : {,} 2 {,} w i = f i (,); i =,,...,5 i Truth table of all 2 (2n) different Boolean functions with n = 2 variables Logic Snthesis: Solution (3) 8

11 b) Number of functions from A to B m r Number of functions Zf Zf = r r... r (m-times) Zf = r m A f B For m = 2 n and r = 2 results A : input set B : output set Zf = 2 (2n ) A = m B = r m arguments r function values (image elements) For each argument eists eactl one function value. (No fanouts, onl fanins are allowed, uniqueness!) c) Numbering of equivalent epressions ) ( + ) ( + ) = Used laws 2) = A(), (3) 3) = A(4), (8) 4) = A(7), (6) ) ( + ) + ( + ) = 2) = A(2), () 3) = ( + ) + ( + ) A(3) 4) = + A(8), (6) 5) = A(8) d) Onl one element in the on-set: f =, f 2 =, f 4 =, f 8 = Onl one element in the off-set: f 7 = +, f = +, f 3 = +, f 4 = + e) on-sets: f 3 = {,}, f 5 = {,}, f = {,}, f 2 = {,}, f = {} = /, f 5 = {,,,} = B 2 Logic Snthesis: Solution (4) 9

12 f) f f 2 f 7 f 8 f f 4 f 3 f 3 : = + f 3 (high compleit) f 3 (high compleit) (practical situation) f : = ( + ) f f : f f 5 : f 5 ( + ) Own Gate smbol for f 6 and f 9 Implementation with AND/OR-Gates f 6 f 6 f 9 f 9 Logic Snthesis: Solution (5)

13 Problem 3, Solution a) On-Sets: m = {}, m 2 = {}, m 4 = {}, m 6 = {}, m 7 = {}; f = m m 2 m 4 m 6 m 7 f = {,,,, } Function: f (,,z) = z + z + z + z + z z f (,,z) Truth table b) w = f (,,z) = = z + z + z + z + z }{{} + z Idempotence A(4) = ( + ) z + ( + ) z + (z + z) A(3) = z + z + A(8) f = {,, }, simplified notation c) w = ( + ) z + = + z A(3),(8) f = {, }, simplified notation z w Logic Snthesis: Solution (6)

14 d) w = f = m + m 2 + m 4 + m 6 + m 7 five -cubes z w = z + z + three -cubes z w = + z one -cube and one 2-cube z Logic Snthesis: Solution (7) 2

15 Tutorial 2: Snthesis of Combinational Circuits using the Method of Quine and McCluske Problem Consider the on-set of the Boolean function f of the form f : {,} 4 {,} f ={,,,,,,, } f = m + m + m 8 + m 3 + m 5 + m 7 + m 4 + m 5 a) Determine the CSOP for v = f (,,z,w). b) Determine all prime implicants of f using the method of Quine. c) Determine the MinSOP of f using the method of Quine and McCluske. d) Visualize the determination of the MinSOP b a cube graph (n = 4). e) Draw a gate level realization of the MinSOP of f. How man literals could be saved w.r.t. the CSOP of f? Problem 2 Consider a half adder (HA) and a full adder (FA) (addition of two bit binar numbers) with given truth table and gate level realization a b HA Input signals: Output signals: c o s a, b c o (carr-out) s (sum) a c i b FA Input signals: Output signals: c o s a, b, c i (carr-in) c o (carr-out) s (sum) Logic Snthesis: Problems for Tutorial 2 () 3

16 a b c o s (â plus ˆb = ĉ o ŝ) Truth table (TT) HA a b c i c o s (â plus ˆb plus ĉ i = ĉ o ŝ) Truth table (TT) FA a b c o a b HA s = a b c o s = a b c o FA c o c o c o s s = a b c i HA HA s = a b + (a b) c i c i s c o c o = a b = a b = s c i c o = c o + c o s = s c i Eample of a 4 bit adder (ripple-carr-adder) Block diagram (Iterative Structure): a 3 b 3 a 2 b 2 a b a c o,3 c i,3 c o,2 c i,2 c o, c i, c o, c o,3 FA FA FA HA s 3 s 2 s s b Addition: â 3 â 2 â â plus ˆb 3 ˆb 2 ˆb ˆb = ĉ o,3 ŝ 3 ŝ 2 ŝ ŝ e. g. plus Logic Snthesis: Problems for Tutorial 2 (2) 4

17 a) Verif the algebraic epressions for c o and s for the HA and the FA using the corresponding truth tables. b) Determine the MinSOP of c o and s of the FA starting from the TT-FA using the method of Quine and McCluske. Visualize each of the MinSOPs of c o and s in a cube graph (n=3). c) Draw the block diagram of a 2 bit Ripple-Carr-Adder and determine the truth table with output variables c o,, s and s and input variables a, a, b and b. For each line of the TT holds: ĉ o, ŝ ŝ = â â plus ˆb ˆb. d) Determine the MinSOP of the 2 bit Ripple-Carr-Adder for c o,, s and s using cube graphs (n=4). Problem 3 Consider the specification of a combinational circuit for comparing two 2-digit binar numbers (comparator). â â > ˆb ˆb ; â â, ˆb ˆb {,,,} In order to realize the circuit, a mapping function w = f (a,a,b,b ) is emploed with the following specification: ŵ = â â > ˆb ˆb. a) Determine the truth table of the Boolean function f. b) Determine the CSOP of f. c) Determine all prime implicants of f using the method of Quine and determine the Min- SOP of f using the method of Quine and McCluske. d) Visualize the determination of the MinSOP from the CSOP using a cube graph (n=4). e) Draw a gate level realization with a minimal number of gates/literals. Logic Snthesis: Problems for Tutorial 2 (3) 5

18 Solution of Tutorial 2: Problem, Solution a) Function: f (,,z,w) = z w + z w + z w + z w + z w + z w + z w + z w b) Quine s Method: CompSOP of f from CSOP b table of prime implicants m ν -cube A -cube A 2-cube A m z w z p z w p 2 m z w m 8 z w w w p 5 z w m 3 z w m 5 z w z w w m 7 z w m 4 z w z w p 3 z p 4 m 5 z w CompSOP: f = z + z w + z w + z + w f = p + p 2 + p 3 + p 4 + p 5 f = {,,,, } prime cover: pcov( f ) = {p, p 2, p 3, p 4, p 5 } Logic Snthesis: Solution 2 () 6

19 c) Covering of minterms b prime implicants C = (m p + m p 2 ) (m p + m p 5 ) (m 8 p 2 ) (m 3 p 5 ) (m 5 p 5 ) (m 7 p 3 + m 7 p 5 ) (m 4 p 4 ) (m 5 p 3 + m 5 p 4 ) ν C = (τ + τ 2 ) (τ + τ 5 ) τ 2 τ 5 τ 5 (τ 3 + τ 5 ) τ 4 (τ 3 + τ 4 ) due to A(5) holds: τ 2 (τ + τ 2 ) = τ 2 ; τ 5 (τ + τ 5 ) = τ 5 ; (absorption!) τ 5 (τ 3 + τ 5 ) = τ 5 ; τ 4 (τ 3 + τ 4 ) = τ 4 ; C = τ 2 τ 4 τ 5 = MinSOP: f = p 2 + p 4 + p 5 = z w + z + w Comment: Selected are p 2, p 4, p 5, i.e. τ 2 =, τ 4 =, τ 5 =. Not selected are p, p 3, i.e. τ =, τ 3 =. Representation b covering table: m p m m m 8 m 3 m 5 m 7 m 4 m 5 p p 2 p 3 p 4 p 5 Option : Determination of the essential prime implicants p 2 (due to m 8 ), p 4 (due to m 4 ) and p 5 (due to m 3 or m 5 ). Option 2: The reduced covering table shows, that the covering condition is alread met (compare to the structure of C). Deletion of m (due to dominance b m 8 ), m 5 (due to m 4 ), m and m 7 (due to m 3 or m 5 ). Note: From the reduced covering table, the prime implicants p 2, p 4 and p 5 must be selected (compare to the structure of C). For ver large covering problems additional heuristic methods are applied. Logic Snthesis: Solution 2 (2) 7

20 d) All prime implicants and the MinSOP (bold lines) of f are marked in the cube graph. p 3 z w p 4 = z p 5 = w p z w Cube graph (n = 4) p 2 = z w e) Gate level realization: z w 32 8 = 24 literals 24 of 32 literals could be saved v Logic Snthesis: Solution 2 (3) 8

21 Problem 2, Solution a) TT-HA from c and s is trivial. TT-FA from c and s: m ν a b c i a b a b (a b) c i c s m m m 2 m 3 m 4 m 5 m 6 m 7 TT-FA The algebraic epressions are described correctl b the truth tables. b) Step : Determination of the CSOP from the TT-FA c o = m 3 + m 5 + m 6 + m 7 = a b c i + a b c i + a b c i + a b c i s = m + m 2 + m 4 + m 7 = a b c i + a b c i + a b c i + a b c i The CSOP of s consists of onl minterms with pairwise distance δ = 2. Due to that the specialized consensus can not be applied. Thus holds for s: CSOP = CompSOP = MinSOP Step 2: Determination of all prime implicants of c o m ν -cube A -cube A m 3 a b c i b ci p m 5 a b c i a ci p 2 m 6 a b c i a b p3 m 7 a b c i CompSOP of c o : c o = b c i + a c i + a b table of prime implicants Step 3: Determination of the MinSOP of c o Covering condition: C = (m 3 p ) (m 5 p 2 ) (m 6 p 3 ) (m 7 p + m 7 p 2 + m 7 p 3 ) C = τ τ 2 τ 3 (τ + τ 2 + τ 3 ) = τ τ 2 τ 3 p, p 2, p 3 are essential prime implicants. The MinSOP of c o is: c o = b c i + a c i + a b = p + p 2 + p 3 c o = a b + (a + b) c i Obviousl holds: c o = a b + (a + b) c i = a b + (a b) c i Logic Snthesis: Solution 2 (4) 9

22 a b c i p 3 p p 2 a b c i m 7 m m 2 m 4 c o = p + p 2 + p 3 s = m + m 2 + m 4 + m 7 c) Block diagram of a 2 bit adder: a b a b c o, = c i, = a b c o, c o, c i, FA c o, HA s = a b s = a b a b s s c o, = a b + (a + b ) a b Truth table of a 2 bit adder: ĉ o, ŝ ŝ = â â plus ˆb ˆb a a b b c o, s s a a b b c o, s s Version 2 Version Logic Snthesis: Solution 2 (5) 2

23 d) p a a b b p 3 p 2 Cube graph (n = 4) for c o, c o, = p + p 2 + p 3 c o, = b a b + a a b + a b c o, = a b + (a + b ) a b a a b b p 2 p Cube graph (n = 4) for s s = p + p 2 s = a b + a b s = a b Logic Snthesis: Solution 2 (6) 2

24 a a b b m 5 m 5 p 4 p p 2 p 3 Cube graph (n = 4) for s s = m 5 + m 5 + p + p 2 + p 3 + p 4 s = a a b b + a a b b + a a b + a b b + a a b + a b b s = a b (a b + a b + (a + b ) (a b + a b ) s = a b (a b ) + a b (a b ) s = a b a b Problem 3, Solution a) Truth table of f : a a b b w ŵ = â â > ˆb ˆb b) CSOP of f : w = a a b b + a a b b + a a b b + a a b b + a a b b + a a b b Logic Snthesis: Solution 2 (7) 22

25 c) Table of prime implicants: m ν -Cube A -Cube A 2-Cube A m 4 a a b b a b b p m 8 a a b b a a b a b p 3 a b b m 9 a a b b m 2 a a b b a b b a a b m 3 a a b b a a b p 2 m 4 a a b b CompSOP: f = p + p 2 + p 3 = a b b + a a b + a b f = a b + (a b ) a b Minterm covering: C = (m 4 p ) (m 8 p 3 ) (m 9 p 3 ) (m 2 p + m 2 p 2 + m 2 p 3 ) (m 3 p 3 ) (m 4 p 2 ) C = τ τ 3 τ 3 (τ + τ 2 + τ 3 ) τ 3 τ 2 = τ τ 2 τ 3 = MinSOP: f = p + p 2 + p 3 (MinSOP equals CompSOP) d) Cube graph (n = 4): a a b b p 3 p 2 p a a b b f = p + p 2 + p 3 p = a b b p 2 = a a b p 3 = a b Logic Snthesis: Solution 2 (8) 23

26 e) Gate level realization: Implementation w = a b b + a a b + a b Implementation 2 a a b b w = a b + (a + b ) a b a b w a b w 2 levels 3 levels Logic Snthesis: Solution 2 (9) 24

27 Tutorial 3: Snthesis of Combinatorial Circuits b Methods of Design Automation Problem : Resolution Method Consider the SOP forms of the four Boolean functions f, f 2, f 3 : B 4 B and f 4 : B 3 B. f = z w + z w + w + z w + z w f 2 = z w + z + z w + z w + z f 3 = z w + z w + w + z + z w f 4 = + z + + z a) Determine the on-sets of the Boolean functions using the simplified notation c i {,, } 4 or c i {,, } 3. b) Determine the CompSOP (all prime implicants) directl from the given SOP forms. Emplo the resolution method in the form of the laer algorithm. c) Visualize the determination of the CompSOP from the SOP for each of the four Boolean functions using cube graphs. Use separate graphs for SOP and CompSOP for each function. d) Determine the MinSOP for all four functions b inspection. Logic Snthesis: Problems for Tutorial 3 () 25

28 Problem 2: Combinatorial Optimization (Heuristic Minimization, Suboptimal Solutions!) Consider the CompSOP forms (prime covers, prime closures) of the following Boolean functions: f : B 4 B, f = p + p 2 + p 3 + p 4 + p 5 p = z, p 2 = z w, p 3 = z w p 4 = z, p 5 = w f 2 : B 4 B, f 2 = p + p 2 + p 3 + p 4 + p 5 p = z, p 2 = z, p 3 = z w p 4 = z w, p 5 = w f 3 : B 4 B, f 3 = p + p 2 + p 3 p = w, p 2 = z w, p 3 = z f 4 : B 3 B, f 4 = p + p 2 + p 3 + p 4 + p 5 + p 6 p =, p 2 = z, p 3 = z p 4 =, p 5 = z, p 6 = z a) Determine the MinSOP forms (mincov( f ) pcov( f )) from the given CompSOP forms of the Boolean functions f, f 2 and f 4. Use a local search and check the possibilities for removing redundant prime implicants b tautolog checks. pcov( f ) \ {p i } = cov(h i ) ; f = p i + h i p i can be removed, IF: p i h i or (h i ) pi =. Draw a configuration graph for the situation of the local search. Use the results of problem in case ou don t want to perform all inclusion checks. b) Check which prime implicant can be removed from the CompSOP form of f 3. c) Draw the gate level realizations for the MinSOP forms of the functions f 2, f 3 and f 4. Logic Snthesis: Problems for Tutorial 3 (2) 26

29 Problem 3: Combinational Optimization (Heuristic Minimization, Method in General not Eact!) Consider the SOP form f 5 : B 3 B f 5 = + z + z The task is to find the smallest possible cover of f 5 b local optimization using methods of cube removal and cube epansion (single literal removal). Feasibilit check removal of a cube removal of a single literal f = c + h = h, f = c + h = c l + h, IF c h IF c l f or c l l h Problem 4: CompSOP form from POS form Consider the SOP forms of the Boolean functions f 3 : B 4 B and f 4 : B 3 B. f 3 = z w + z w + w + z + z w (see problem ) f 4 = + z + + z (see problem ) a) Draw the ROBDD( f 4 ) with the following oder of variables: z. b) Draw the ROBDD( f 4 ) with no further computation. c) Read off a valid SOP form for f 4 from the ROBDD( f 4 ) and from that determine a valid POS form for f 4. Then, determine the CompSOP form of f 4 from the POS form of f 4. d) Consider the SOP form of f 3 and determine the cofactors ( f 3 ) and ( f 3 ). Which propert of f 3 becomes apparent from the cofactors? Is this propert also apparent from the CompSOP form of f 3? See also problem. e) Draw the ROBDD( f 3 ) and the ROBDD( f 3 ) with the order of variables z w. Take into account the results of d). f) Read off a valid SOP form for f 3 from the ROBDD( f 3 ) and from that determine a valid POS form for f 3. Then, determine the CompSOP form of f 3 from the POS form of f 3. Logic Snthesis: Problems for Tutorial 3 (3) 27

30 Solution of Tutorial 3: Problem, Solution a) On-sets: f = {,,,, } f 2 = {,,,, } f 3 = {,,,, } f 4 = {,,, } b) SOP : f Laer z w + z w + w + z w + z w + z + z w + w + z + z + w 2 CompSOP: f = z + z w + z w + z + w f = p + p 2 + p 3 + p 4 + p 5 see Tutorial 2, Problem! SOP : f 2 Laer z w + z + z w + z w + z + z + z w + w + z w + z 2 CompSOP: f 2 = z + z + z w + z w + w f 2 = p + p 2 + p 3 + p 4 + p 5 SOP : f 3 Laer z w + z w + w + z + z w + w + z w + z w + z + z w + w + z w + z 2 CompSOP: f 3 = w + z w + z f 3 = p + p 2 + p 3 Logic snthesis: Solution 3 () 28

31 SOP : f 4 Laer + z + + z + z + z CompSOP: f 4 = + z + z + + z + z f 4 = p + p 2 + p 3 + p 4 + p 5 + p 6 c) zw zw SOP: f zw w zw zw zw zw CompSOP: f p 3 p 4 (MinSOP: f = p 2 + p 4 + p 5 ) p 5 p p 2 zw Logic snthesis: Solution 3 (2) 29

32 zw zw z SOP: f 2 zw zw z zw zw p f 2 CompSOP: (MinSOP: f 2 = p + p 2 + p 4 ) p 5 p 4 p 2 p 3 zw Logic snthesis: Solution 3 (3) 3

33 zw SOP: f 3 zw zw w z zw zw zw f 3 CompSOP: (MinSOP: f 3 = p + p 3 ) p p 3 p 2 zw Logic snthesis: Solution 3 (4) 3

34 SOP: f 4 CompSOP: f 4 z z z p 6 p p 5 p 2 (MinSOP: f 4 = p + p 3 + p 5 or p 2 + p 4 + p 6 ) z p 4 p 3 z z d) MinSOP: f = p 2 + p 4 + p 5 f 2 = p + p 2 + p 4 f 3 = p + p 3 f 4 = p + p 3 + p 5 or f 4 = p 2 + p 4 + p 6 Problem 2, Solution a) Local search in pcov( f ) pcov( f ) = {p, p 2, p 3, p 4, p 5 } {,2,3,4,5} For eample: (h ) p = (p 2 + p 3 + p 4 + p 5 ) z = h (,,,w) (h ) p = w + w = (h 3 ) p3 = + = (h,3 ) p3 = + = (h,3 ) = p 2 + p 4 + p 5 } {{ } The prime implicants p and p 3 can be removed together from the prime cover. (h 2 ) p2 = (h 4 ) p4 = w (h 5 ) p5 = z + z } {{ } p 2, p 4 and p 5 are essential prime implicants Result: mincov( f ) = {p 2, p 4, p 5 } Logic snthesis: Solution 3 (5) 32

35 Configuration graph for a local search in pcov( f ): {2,3,4,5} {,2,3,4,5} 5 p {,2,4,5} {,2,3,4} is not a feasible solution (no cover of f ). p 5 is essential (as well as p 2 and p 4 ). 3 {2,4,5} = mincov( f ) Number of checks needed: 6 Local search in pcov( f 2 ) pcov( f 2 ) = {p, p 2, p 3, p 4, p 5 } {,2,3,4,5} (h 3 ) p3 = + = (h ) p = w (essential) (h 4 ) p4 = + = (h 2 ) p2 = w (essential) (h 5 ) p5 = z + z = (h 4,5 ) p5 = z (h 3,5 ) p5 = z + z = (h 3,4 ) p4 = Result: mincov( f 2 ) = {p, p 2, p 4 } Configuration graph for a local search in pcov( f 2 ): {,2,3,4,5} {,2,4,5} 5 4 {,2,4} = mincov( f 2 ) 5 {,2,3,5} {,2,3,4} 3 Number of checks needed: 8 Logic snthesis: Solution 3 (6) 33

36 Local search in pcov( f 4 ) pcov( f 4 ) = {p, p 2, p 3, p 4, p 5, p 6 } {,2,3,4,5,6} (h i ) pi = for all i =,2,3,4,5,6 Hence the further search is performed in the sens of a depth-first search where onl one alternative is considered; in this case cov( f 4 ) = h 2 = {,3,4,5,6}. (h 2 ) p2 = + = (h 2,4 ) p4 = z + z = (h 2,5 ) p5 = + = (h 2,6 ) p6 = + = (h 2,4,6 ) p6 = + = (h 2, ) p = z (h 2,3 ) p3 = (h 2,4,5 ) p5 = (h 2,5,6 ) p6 = Result: mincov( f 4 ) = {p, p 3, p 5 } Configuration graph for a local search in pcov( f 4 ): 3 {,3,5,6} 5 {,2,3,4,5,6} {2,3,4,5,6} 2 {,3,4,5,6} This alternative and other alternatives with 5 prime implicants are 5 not considered further. 4 6 {,3,4,6} 6 {,3,4,5} {,3,5} = mincov( f 4 ) b) CompSOP: f 3 = w + z w + z = p + p 2 + p 3 Solution approach : w + }{{} z w + z = w + z ; z w = p 2 can be removed from the CompSOP. resolvent MinSOP: f 3 = w + z = p + p 3 Solution approach 2: (z w + z) w = z w z w + z ( w + z) z w = + = z w w + z ( w + z w) z = w z w + z w p 2 = z w can be removed from the CompSOP. Logic snthesis: Solution 3 (7) 34

37 c) z w v= f 2 (,,z,w) v= f 3 (,,z,w) w v z v MinSOP: f 2 = z + z + z w MinSOP: f 3 = w + z z w = f 4 (,,z) z w = f 4 (,,z) w w MinSOP: f 4 = + z + z Version MinSOP: f 4 = z + + z Version 2 Problem 3, Solution f 5 = + z + z A) Removal of a literal: f 5 = + z + z, IF z ( + z + z) i.e. ( + z + z) z = + = or IF z ( + z) i.e. ( + z) z = f 5 + z + z, because ( + z) z = f 5 = + z + z, IF ( + z) z =, z and z are prime implicants, because no other literal can be removed. E.g. ( + z) z = B) Removal of a cube: See eample (3) in the lecture notes! f 5 = z + z, IF ( z + z) = z + z = Logic snthesis: Solution 3 (8) 35

38 Problem 4, Solution a) f 4 + z + + z b) f 4 f = + z f = + z f = z z z f = z z z ROBDD( f 4 ), z ROBDD( f 4 ), z c) f 4 = z + z Consider all paths in ROBDD( f 4 ) from to! f 4 = ( + + z) ( + + z) POS form for f 4 from SOP form for f 4 CompSOP: f 4 = + z + + z + z + z d) ( f 3 ) = ( f 3 ) = resolvents z w + z w + z w + w + z = z w + w + z z w + w + z + z w + z w = z w + w + z Resolution: ( f 3 ) = ( f 3 ), i.e. f 3 = ( f 3 ) Conclusion: f 3 is independent of e) f 3 ( f 3 ) ( f 3 ) ( f 3 ) z w ( f 3 ) z w ( f 3 ) ROBDD( f 3 ) ROBDD( f 3 ) f) f 3 = z + w, f 3 = ( + z) ( + w) CompSOP: f 3 = w + z + z w Logic snthesis: Solution 3 (9) 36

39 Tutorial 4: Binar Decision Diagrams, Tautolog Proof Problem : ROBDD Consider the Boolean functions f : B 4 B, f 2 : B 3 B, and f 3 : B 3 B. f = w + z w f 2 = ( + ) z + ( + ) z f 3 = z Note: =, = a) Draw the ROBDD( f ) for the Boolean function f using the following order of variables: z w. b) Draw the ROBDD( f ) for the Boolean function f using the following order of variables: w z. c) From the ROBDD representations of a) and b) determine the corresponding SOP forms. Therefore all paths from the root verte to the leaf verte have to be considered. Perform the resolvent method to show that both SOP forms correspond to the given Min- SOP form f = w + z w. d) Draw the ROBDD( f 2 ) and the ROBDD( f 3 ) considering the order of variables z. Which conclusion for f 2 and f 3 could be drawn from the representation of the ROBDDs? Logic Snthesis: Problems for Tutorial 4 () 37

40 Problem 2: ROBDD, Multipleer Consider the multipleer circuit MUXS with four data inputs and one data output consisting of three sub-circuits MUX, MUX2 and MUX3. z MUX3 w v MUX MUX2 a b c d selector inputs data inputs Multipleer Circuit MUXS Switching functions: MUX3: z = β(,w,v) MUXS: z = f (,,a,b,c,d) z = β(, β(,a,b), β(,c,d)) MUX: w = β(,a,b), MUX2: v = β(,c,d) Note regarding the equation of the multipleer, e.g. for MUX β(,a,b) = a + b β(,a,b) = a, β(,a,b) = b a) Compute the SOP form of the switching function of MUXS emploing the Shannon epansion z = f (,,a,b,c,d) = ( + ) ( + ) f = f + f + f + f b) Draw a ROBDD( f ) for the switching function f (,,a,b,c,d) of MUXS using the order of variables a b c d. c) Draw a ROBDD( f ) for the switching function f (,,a,b,c,d) of MUXS using the order of variables a b c d. d) From the ROBDD representations of b) and c) determine the corresponding SOP forms. Use the resolution rule to show that both SOP forms describe the same Boolean function. e) Draw the gate level implementation for the multipleer circuit MUXS as a 2-level and a 4-level realization. For the 4-level realization onl gates with two inputs are permitted. Draw implementations of both circuits consisting of onl NAND gates. Logic Snthesis: Problems for Tutorial 4 (2) 38

41 Problem 3: Tautolog Proof, Shared ROBDD Consider the two Boolean functions f : B 4 B and f 2 : B 5 B f = + + z w + z w + z w + z w + z w + z w f 2 = z v + w v + z w + z w z + z + z + z Consider further a so called Shared ROBDD where compleit is reduced as two (or more) functions h and h 2 share parts of the diagram. h h 2 w z h : B 4 B, h 2 : B 3 B, v = h (,,z,w) u = h 2 (,z,w) Shared ROBDD(h,h 2 ) a) Emplo the resolution method to show that f is a tautolog. b) Construct the ROBDD( f ) with the ordering z w. Therefore compute those cofactors of f which are needed for the construction of ROBDD( f ). c) Visualize the SOP form of f with a cube graph. d) In order to identif if the function f 2 and its cofactors are unate w.r.t. one or more variables an analsis of its structure is required. Perform such an analsis with regard to a proof of tautolog for f 2. e) Use the results of d) to prove the tautolog for f 2 with the resolvent method and with a ROBDD. f) Read off the SOP forms of h and h 2 from the shared ROBDD(h,h 2 ) and transform them into MinSOP forms. g) From the MinSOP form of the pair of functions h = (h,h 2 ) draw a circuit with the output variables v and u onl consisting of gates with two inputs. Logic Snthesis: Problems for Tutorial 4 (3) 39

42 Problem 4: Functional Decomposition Consider the following MinSOP form: f = f should be realized with as few 4-LUTS (look-up tables) as possible. (With a 4-LUT an arbitrar combinational Boolean function with 4 variables can be realized) a) Construct a ROBDD for each of the orderings and b) Which of the variables would ou choose as bound variables and which as free variables? c) Consider and 3 as free variables. Determine the decomposition function h( 2, 4, 5 ). Assign as few output values of h as possible. d) Determine the composition function g(h( 2, 4, 5 ),, 3 ). α) Without using don t-cares. β) With using don t-cares for simplifing g. Problem 5: Snthesis of Sequential Circuits Consider the state transition graph: / / / S / / / / / / / S S 2 / / / / S 3 S 4 S 5 S 6 a) Determine the state output table. b) Minimize the number of states. c) Draw the minimized state transition graph. Determine the minimized state output table. d) Determine a coding of the states and compute the state transition function and the output function. e) Draw the circuit implementation of the automaton. Logic Snthesis: Problems for Tutorial 4 (4) 4

43 Problem 6: Snthesis of circuits with multiple outputs Given are the following si functions: f = z + z ; g = w + z + z w ; h = w + z + z w ; f 2 = z + z g 2 = z w + w + z h 2 = z w + w + z The functions f and f 2, g and g 2, and h and h 2 should be realized as one circuit with two outputs, respectivel. a) Determine the multiple implicants f f 2, g g 2 and h h 2. b) Determine the CompSOPs for all functions. c) Find the optimal covering of the functions b using the multiple implicants. d) For which cases is it sensible to use the multiple implicants? Visualize the computation in the cube graph. Draw the resulting multiple output functions. Logic Snthesis: Problems for Tutorial 4 (5) 4

44 Solution of Tutorial 4: Problem, Solution a) ROBDD( f ) for z w ( f ) = w + z w, ( f ) = z w; ( f ) = z w; ( f ) = w + z w = w; ( f ) z = w; w + z w = = w + z w 2 = = z w 3 z w= w z= z= 4 w w= Shannon epansion ROBDD( f ) 4 vertices (without terminal vertices) b) ROBDD( f ) for w z ( f ) = w + z w w w z + z w = f z w = ( f ) ( f ) w = + z ( f ) w = z z z = ( f ) w = ( f ) w ROBDD( f ) 5 vertices (without terminal vertices) Logic snthesis: Solution 4 () 42

45 c) ROBDD( f ) with z w SOP: f = w + z w + z w + z w }{{} +... MinSOP: f = w + z w resolvent ROBDD( f ) with w z SOP: f = w + w z + w z + w z }{{} +... MinSOP: f = w + w z resolvent d) ( f 2 ) = z + z, ( f 2 ) = z, ( f 2 ) = z ( f 2 ) = z + z, ( f 2 ) = z, ( f 2 ) = z ( f 3 ) = z, ( f 3 ) = z, ( f 3 ) = z ( f 3 ) = z, ( f 3 ) = z, ( f 3 ) = z }{{} ROBDD( f 2 ) ROBDD( f 3 ) f 2 f 3 f f f = f z z f = f ROBDD( f 2 ) ROBDD( f 3 ) f 2 = f 3 Logic snthesis: Solution 4 (2) 43

46 Problem 2, Solution a) f = β(, β(,a,b), β(,c,d)) = β(,a,b) f = β(, β(,a,b), β(,c,d)) = β(,c,d) f = a, f = b, f = c, f = d SOP: z = f (,,a,b,c,d) = a + b + c + d b) ROBDD( f ) with a b c d f (,,a,b,c,d) f = β(,a,b) β(,c,d) = f f = a a f = b b c c = f d d = f ROBDD( f ) 7 vertices (without terminal vertices) Logic snthesis: Solution 4 (3) 44

47 c) ROBDD( f ) with a b c d f = β(, β(,a,b), β(,c,d)) f a = β(, β(,,b), β(,c,d)), f a = β(, β(,,b), β(,c,d)) f ab = β(,, β(,c,d)), f ab = β(,, β(,c,d)) f ab = β(,, β(,c,d)), f ab = β(,, β(,c,d)) f ab =, f ab =, f ab =, f ab = f ab = f ab = f ab = f ab = β(,c,d) = g(,c,d) g = c, g = d a f (a,b,,,c,d) f a b b f a f ab f ab f ab = β(,c,d) = g(,c,d) c d g = c g = d ROBDD( f ) 2 vertices (without terminal vertices) d) SOP form from ROBDD( f ) with a b c d SOP: f = a + b + c + d SOP form from ROBDD( f ) with a b c d SOP: f = a b + a b + a b + (a b + a b + a b + a b ) ( c + d) = a + b + } a {{ b } + (a + a) (b + b) ( c + d) resolvent f = a + b + c + d Logic snthesis: Solution 4 (4) 45

48 e) z = a + b + c + d z = ( a + b) + ( c + d) a a b z b z c c d d a a b z b z c c d d Problem 3, Solution a) Resolution method: SOP: f Laer + + z w + z w + z w + z w + z w + z w + z w + z w + z w + z w + z + w + w + z + z + w + w + z In the sense of a depth-first search not all resolvents were generated. Logic snthesis: Solution 4 (5) 46

49 b) Cofactors of f : ( f ) = + z w + z w + z w + z w ( f ) = + z w + z w + z w + z w ( f ) =, ( f ) = z w + z w + z w + z w ( f ) =, ( f ) = z w + z w + z w + z w ( f ) = ( f ) = ( f ) z = w + w, ( f ) z = w + w, i.e. f (,,z,w) = OBDD( f ) with z w: f ( f ) ( f ) z ( f ) = ( f ) = w w ( f ) z = ( f ) z = w + w = c) Cube graph for f (,,z,w): zw zw zw zw f is a tautolog Logic snthesis: Solution 4 (6) 47

50 d) Structure analsis to find out if f 2 is unate: f 2 (,,z,w,v) = v ϕ(,,z,w) + w ψ(,,z) + g(,,z) ϕ(,,z,w) = z + w, ψ(,,z) = z + z, g(,,z) = + + z + z + z + z The variable v appears onl in positive form in f 2 ; that means: ( f 2 ) v = ϕ + w ψ + g ( f 2 ) v = w ψ + g ( f 2 ) v ( f 2 ) v ( f 2 ) v = ( f 2 ) v + ( f 2 ) v f 2 is positive unate in v Result : From ( f 2 ) v = ( f 2 ) v = = f 2 = ( f 2 ) vw = ψ + g and ( f 2 ) v = = ( f 2 ) v = results ( f 2 ) v = = f 2 =. For the proof of the tautolog f 2 = it is sufficient to prove the tautolog ( f 2 ) v =. The variable w appears onl in negative form in ( f 2 ) v ; that means: ( f 2 ) vw = g ( f 2 ) vw ( f 2 ) vw ( f 2 ) vw = ( f 2 ) vw + ( f 2 ) vw ( f 2 ) v is negative unate in w Result 2: From ( f 2 ) vw = ( f 2 ) vw = = ( f 2 ) v = and ( f 2 ) vw = = ( f 2 ) vw = results ( f 2 ) vw = = ( f 2 ) v =. For the proof of the tautolog ( f 2 ) v = it is sufficient to prove the tautolog ( f 2 ) vw =. Result and 2: From ( f 2 ) vw = ( f 2 ) v = = f 2 = and ( f 2 ) vw = = ( f 2 ) v = results ( f 2 ) vw = = f 2 =. For the proof of the tautolog f 2 = it is sufficient to prove the tautolog ( f 2 ) vw =, i.e. it is sufficient to prove g(,,z) =. The variables, and z appear in g(,,z) in positive and negative form; that means it is harder to determine if g(,,z) is unate in one of these variables. Logic snthesis: Solution 4 (7) 48

51 e) Proof of tautolog for f 2 : The structure analsis to find out if f 2 is unate has low compleit and shows that it is sufficient to prove g(,,z) = in order prove the tautolog of f 2. OBDD(g) with z Resolution method: g SOP: g Laer + + z + z + z + z z + z + z + z f f z f f = z + z f) resolvents SOP of h : v = w + z w + z w + z w +... MinSOP : v = w + z w resolvents SOP of h 2 : u = w + z w + z w MinSOP : u = w + z w g) Circuit from the Shared ROBDD(h, h 2 ): z w u = w + z w v = w + z w Logic snthesis: Solution 4 (8) 49

52 Problem 4, Solution a) bound free b) free variables: left: -, right: {, 3 } (all others 4-LUT to small) c) Assignment (from ROBBD):,,,,, z = = = z 2 = = d) Composition function α) w = z z 2 + z z 2 ( + 3 ) + z z 2 ( + 3 ) = z z 2 + z z 2 + z z z z 2 + z z z 2 + z = = z z z z z 2 + z β) w = z z z z z 2 + z Addition of an terms with z z 2 : = z z z z z 2 + z + z z z z 2 = z z z z z 2 + z + z z 2 + z z z z 2 + = z z z Logic snthesis: Solution 4 (9) 5

53 Problem 5, Solution a) State output table: µ = = S S / S 2 / S S 3 / S 4 / S 2 S 5 / S 6 / S 3 S / S / S 4 S / S / S 5 S / S / S 6 S / S / b) Minimization of states -equivalence µ = = S S / A S 2 / A S S 3 / A S 4 / B S 2 S 5 / A S 6 / B A S 3 S / A S / A S 5 S / A S / A S 4 S / A S / A S 6 S / A S / A B 2-equivalence µ = = S S / B S 2 / B S 3 S / A S / A A S 5 S / A S / A S S 3 / A S 4 / C S 2 S 5 / A S 6 / C B S 4 S / A S / A S 6 S / A S / A C 3-equivalence µ = = S S / S 2 / A S 3 S / S / S 5 S / S / B S S 3 / S 4 / S 2 S 5 / S 6 / C S 4 S / S / S 6 S / S / D Equivalence: S 3 S 5, S S 2, S 4 S 6 Minimized table: Minimized automaton: µ = = S S / S / S 3 S / S / S S 3 / S 4 / S 4 S / S / / / / S S / / / / / S 3 S 4 Logic snthesis: Solution 4 () 5

54 c) State coding: S s s 2 S s s 2 S 3 s s 2 S 4 s s 2 d) state net state S S S S S S 3 S S 4 S 3 S S 3 S S 4 S S 4 S s s 2 z z 2 = s s 2 z = s s 2 + s s 2 = s s 2 ; z 2 = s s 2 + s s 2 + s s 2 = s s 2 + s e) s Q D z s 2 Q D z 2 clock Logic snthesis: Solution 4 () 52

55 Problem 6, Solution a) multiple implicants MI f f 2 = ( z + z) ( z + z) = z g g 2 = ( w + z + z w) ( z w + w + z) = z w h h 2 = ( w+ z+ z w) ( z w+ w+ z) = z w+ z w = z b) f, f 2, g and g 2 are alread CompSOP forms. h laer w + z + z w + z + z w + w h 2 laer z w + w + z + z + w + z w c) f : z z MI z f = z + z + z f 2 : z z MI z f 2 = z + z g : g 2 : w z z w MI z w g = z w + w + z w z w w z MI z w g 2 = z w + z w + z Logic snthesis: Solution 4 (2) 53

56 h : *) w z 2 z w z z w 2 w 2 MI z When using heuristics, several solutions eist: chosen: z and MI: h = z + z + z w + z w chosen: z w and MI: h = z + z w + w (better) h 2 : *) z w w z 2 z w 2 z w 2 MI z When using heuristics, several solutions eist: chosen: z and MI: h 2 = z + z + z w + w chosen: w and MI: h 2 = z + w + z w (better) *) Number of covered minterms after choosing MI. d) f, f 2 : f = z + z+ z f 2 = z+ z z Two separate functions: = literals; Multiple output: = literals. Appling multiple implicant not useful. z z MI: z Logic snthesis: Solution 4 (3) 54

57 g,g 2 : g = w + z w+ z w g 2 = z w + z+ z w Two separate functions: = 6 literals; Multiple output: = 5 literals. Appling multiple implicant useful. g : w z g 2 : w z w MI: z w z w z Logic snthesis: Solution 4 (4) 55

58 h,h 2 : h = z w + w+ z h 2 = w + z w+ z Two separate functions: = 8 literals; Multiple output: = 5 literals. Appling multiple implicant useful. h : z z w w h 2 : MI: z w z z w Logic snthesis: Solution 4 (5) 56

59 circuits: z f z w g z w h f 2 g 2 h 2 Logic snthesis: Solution 4 (6) 57

60 II. Simulation Tutorial 5: Simulation of Digital Circuits Problem Consider the schematic of a simple SR-latch (RS-Flip-Flop in german): R Nand_a Q n S Nand_b Q a) Based on Boolean logic, devise a look-up table which describes the logic function of the circuit. Which condition is necessar for correct function of the latch? b) Develop a simulation model of the circuit using gate and wire delas. c) Determine the circuit function Q t = f(q t,r t,s t ). For wire delas use τ w =, for gate Nand a use τ d = and for gate Nand b use τ d = (basic time units). d) Carr out the simulation steps for a single input event. For wire delas use τ w =, for gate Nand a use τ d = and for gate Nand b use τ d = 2 (basic time units). Initial state: R =, S =, Q = Input event: E E = ( S,,, ) e) Devise a look-up table for a simple NAND-gate based on three-valued logic (,, X ). Simulation: Problems for Tutorial 5 () 58

61 Problem 2 D-latch: single data input, staticall triggered. D D n R Nand_a Q n C S Nand_b Q For all gates use: τ =. a) Describe the effects of the additional gates for the functionalit of the flip-flop. b) Assume an initial state Q = and Q n =. Carr out the simulation for the given input waveforms: t D C D n R S Q n Q Simulation: Problems for Tutorial 5 (2) 59

62 Problem 3 RS flip-flop: edge triggered. Clocked latches transfer input values to the outputs while the clock signal is asserted to or. In contrast, the output of flip-flops can onl change, when a clock edge occurs. R I I 3 Nand_a N N3 Q n C S N2 I 2 N4 I 4 Nand_b Q input preparation main latch The flip-flop above consists of two parts. Gates Nand a and Nand b build a normal latch (compare with eercise ). Gates N to N4 prepare the input signals and suppl the main latch with signals I 3 and I 4. Simulating the loading of the flip-flop once with and then with leads to the following waveforms: t R S C I I 2 I 3 I 4 Q Q n Simulation: Problems for Tutorial 5 (3) 6

63 Assume infinitesimal small gate delas for questions a) to c). a) Wh is I 3 = I 4 = impossible? b) What are the values of I 3 and I 4 for C =? c) What is the influence of C = on the main latch Nand a/nand b? (Hint: Compare with latch of eercise ) d) Wh does the positive edge of S at t = 5 (or R at t = 5) have no influence on Q and Q n, although the value of C is still? Show the feedback loops, which are responsible for this effect. e) What has to happen, before the net data value can be taken over from the inputs S and R to the outputs Q and Q n? Edge triggered circuits often require, that input signals have to be stable before and after a clock edge for a certain time span in order to get a defined value at the output signals. These times are called setup time (t sup ) and hold time (t hld ). When all gate delas in the circuit of this eercise are τ d =, two conditions eist for the signals R and S (under the assumption R + S = ): t s > t sup = t h > t hld = t t s t h R / S C t sup t hld f) Which signal path is responsible for the setup time limit (t sup = ) of this flip-flop? g) Which signal path is responsible for the hold time limit (t hld = ) of this flip-flop? Simulation: Problems for Tutorial 5 (4) 6

64 Solution of Tutorial 5: Problem, Solution a) R S Q Q n previous state not allowed, because R = S = followed b R = S = would lead to an unknown state condition: R + S = b) R τ w Nand_a τ da τ w3 Q n τ w5 τ w6 S τ w2 Nand_b τ db τ w4 Q c) Q t = S t Q t n Q t n = R t Q t together: Q t = S t R t Q t = S t + R t Q t d) evaluated new events t R S Q n Q components (signal,val,t gen,t ee ) initial state (S,,, ) Nand b (Q,,, 3) 3 Nand a (Q n,, 3, 4) 4 Nand b Simulation: Solution 5 () 62

65 t R S Q n Q e) NAND X X X X X Problem 2, Solution a) condition R + S = is enforced C = R = S = previous state C = ; D = S = Q = C = ; D = R = Q = circuit function: Q follows D when C = else Q keeps previous value. b) t D C D n R S Q n Q Simulation: Solution 5 (2) 63

66 Problem 3, Solution a) Gates N3 and N4 build a secondar latch. I 3 = would automaticall lead to I 4 = and vice versa, because: I 4 = I 3 C I 2 = C I 2 = = and I 3 = I 4 C I = C I = = (proof b contradiction) I 3 and I 4 cannot be simultaneousl. The condition of eercise.a) is alwas fulfilled for Nand a/nand b. b) I 3 = I 4 C I = I 4 I = = and I 4 = I 3 C I 2 = I 3 I 2 = = I 3 = I 4 = c) C = leads to I 3 = I 4 =. This means, that the main latch Nand a/nand b keeps its value. d) At t = 5, I 4 is alread and blocks an change of S b the feedback loop to N2. Further, changes of R cannot propagate to I 3, because I 4 is connected to N3, too. At t = 5 and I 3 = the situation is smmetrical. e) Clock C has to return to the value in order to open the blocking mentioned in eercise d). I 3 and I 4 will then return to the value. The main latch Nand a/nand b will keep its value at least until a change of I 3 or I 4 occurs. This is onl possible on the net positive edge of clock line C. It will cause the propagation of the values of I and I 2 to I 3 and I 4 and the blocking mechanism will be activated again. f) Before a positive clock edge, signal changes of R or S have to propagate through N or N2 to I and I 2, respectivel, in order to appear in time at the inputs of gates N3 or N4. These paths include one gate each and thus the setup time is in both cases. g) After a rising edge on clock line C, the blocking mechanism described in eercise d) must become active, before a change of R or S ma be allowed. It takes one gate dela after a rising edge on clock input until I 3 = or I 4 =, which blocks the corresponding input. Therefore R and S must be stable for at least basic time units after the rising edge on C. Simulation: Solution 5 (3) 64

67 Tutorial 6: VHDL Problem : RS-Flip-Flop in NOR-Logic a) Determine an interface description in VHDL (ENTITY) for the RS flip-flop displaed at the right. Inputs and outputs are of tpe bit. S Nor_a Q n b) Determine an implementation of the RS flip-flop b a behavioral description. Use the NOR-operator to link the input signals. Note that signals of direction out in the interface description R Q ma not be omitted in the according ARCHITECTURE. Nor_b c) Determine an implementation of the RS flip-flop b a structural description. Assume that the component Nor2 alread has an ARCHITECTURE in the WORK librar and is made available under the name fast arch. d) Create a testbench with an ENTITY and an ARCHITECTURE. Create a CONFIGURATION for the behavioral description and the structural description respectivel. e) Consider the two following processes: Nor_a: PROCESS (S, Q) BEGIN Qn <= S NOR Q; END PROCESS; Nor_b: PROCESS (R, Qn) BEGIN Q <= R NOR Qn; END PROCESS; The variables R and S are stimulated as displaed below. Let the initial state be Q= and Q n =. Complete the time diagram. Determine the delta ccles performed b the simulator. t S R Q Q n Simulation: Problems for Tutorial 6 () 65

68 Problem 2 Consider the following implementation of a dela element: PROCESS(I) BEGIN Ot <= transport I after tpd; Oi <= I after tpd; END PROCESS; I τ pd O t O i The dela element is stimulated b the following input signal: t I a) Show the computation of the output signals. For this purpose determine the entries in the signal drivers for all relevant times. Let τ pd be 3 time units. b) Draw the signals O t and O i : t O t O i Problem 3 Consider the two processes below. Show how each transaction is scheduled in the driver. What effect has the insertion of a new transaction on alread eisting transactions? (The initial state for St and Si is ). P: PROCESS BEGIN St <= transport after ns; St <= transport 2 after 2 ns; St <= transport 3 after 3 ns; St <= transport 4 after 5 ns;... END PROCESS; P2: PROCESS BEGIN Si <= after ns, 2 after 2 ns, 3 after 3 ns, 4 after 4 ns; Si <= 5 after 5 ns, 6 after 6 ns; Si <= 6 after 7 ns; Si <= 6 after 55 ns;... END PROCESS; Simulation: Problems for Tutorial 6 (2) 66

69 Solution of Tutorial 6: Problem, Solution a) ENTITY rsff IS PORT( R, S : in bit; Qn, Q : out bit ); END rsff; b) Inside the architecture the signals Qn and Q can onl be written but not read out, as the were declared as out in the entit. But the are needed inside the architecture as inputs for the NOR gates and thus the intermediate signals Qn tmp and Q tmp are introduced. Note: If the signals Qn and Q had been declared as buffer in the entit, the could be read out. ARCHITECTURE dataflow OF rsff IS SIGNAL Q_tmp, Qn_tmp: bit; BEGIN PROCESS (R, S, Q_tmp, Qn_tmp) BEGIN Q_tmp <= R NOR Qn_tmp; Qn_tmp <= S NOR Q_tmp; Q <= Q_tmp; Qn <= Qn_tmp; END PROCESS; END dataflow; c) ARCHITECTURE structure OF rsff IS COMPONENT Nor2 PORT (i, i2: in bit; o: out bit); END COMPONENT; SIGNAL Q_tmp, Qn_tmp: bit := ; BEGIN Nor_a: Nor2 PORT MAP(S, Q_tmp, Qn_tmp); Nor_b: Nor2 PORT MAP(R, Qn_tmp, Q_tmp); Q<=Q_tmp; Qn<=Qn_tmp; END structure; Simulation: Solution 6 () 67

70 d) ENTITY rsff_test IS END rsff_test; ARCHITECTURE rsff_testarch OF rsff_test IS COMPONENT rsff PORT(R, S: in bit; Qn, Q: out bit); END COMPONENT; SIGNAL R, S, Qn, Q: bit; BEGIN RSFF_: rsff port map(r, S, Qn, Q); S <=, after ns, after 5 ns, after 2 ns; R <=, after 5 ns, after 5 ns; END rsff_testarch; CONFIGURATION rsff_setup_dataflow OF rsff_test IS FOR rsff_testarch FOR RSFF_: rsff USE ENTITY WORK.rsff(dataflow); END FOR; END FOR; END rsff_setup_dataflow; CONFIGURATION rsff_setup_structure OF rsff_test IS FOR rsff_testarch FOR RSFF_: rsff USE ENTITY WORK.rsff(structure); FOR structure FOR Nor_a: Nor2 USE ENTITY WORK.nor2(fast_arch); END FOR; FOR Nor_b: Nor2 USE ENTITY WORK.nor2(fast_arch); END FOR; END FOR; END FOR; END FOR; END rsff_setup_structure; Simulation: Solution 6 (2) 68

71 e) S R Q Qn Process t= t=5 + Nor b +2 Nor a +3 Nor b t= + Nor a +2 Nor b t=5 + Nor a Nor b +2 Nor a Nor b... The process Nor a is sensitive to S and Q. It is eecuted whenever signal S or Q changes. The process Nor b is eecuted whenever R or Qn changes. For t=5 there is no stable state. The two processes Nor a and Nor b set the signals Q and Qn alternatel to in one - ccle and to in the net -ccle. The circuit oscillates. The simulator is in an infinite loop and the simulation time can not proceed. t S R Q Q n Simulation: Solution 6 (3) 69

72 Problem 2, Solution a) O t O i t = 4 t = 7 t = 8 t = t = 7 t = t = t = 3 t = 7 t = t = 3 t = t = 3 t = 2 t = 3 t = 5 t = 5 t = 3 t = 5 t = 5 t = 8 t = 2 t = 2 t = 2 t = 23 t = 2 t = 23 t = 2 t = 23 t = 23 b) Transport dela: Modeling of a device with infinite bandwidth. Inertial Dela: Modeling of a device with finite bandwidth. (Impulses which are shorter than the dela of the device are suppressed) O t O i t Simulation: Solution 6 (4) 7

73 Problem 3, Solution Process P: Transport dela model St insertion of the transaction into the driver ns 2 ns 2ns using the transport model, transactions at an earlier time sta in the driver ns 2 3 2ns 3ns 4 ns 5ns deletion of all transactions after 5ns (transaction at 2ns and 3ns eliminated) Process P2: Inertial dela model Si ns 2ns 3ns 4ns Input of the waveform into the driver 5 5ns 6 6ns deletion of all former transactions with a value other than 5: ns, 2ns, 3ns, 4ns 6 6 6ns 7ns 6 55ns deletion of all former transactions with a value other than 6: 5ns later transactions (here: 6ns, 7ns) are alwas deleted Simulation: Solution 6 (5) 7

74 III. Testing Tutorial 7: Fault Covering Problem Given is a multipleor ( = a + b). The circuit realization consists eclusivel of 2-input NAND-gates. a g b c d e f h i a) Determine a test set considering the functionalit of the multipleor (functional test generation) consisting of 4 input assignments. b) Compute the value of signal in the fault-free case (good simulation) and for all assumed single stuck-at faults (s-a-, s-a-) (fault simulation). Use the following table: f µ when assuming fault f µ a b c d e f g h i b a t ν Testing: Problems for Tutorial 7 () 72

75 c) Build the entire fault covering table. Which particularit does this table ehibit and what is the reason? d) Give all sets of non-distinguishable faults F U. e) Build the reduced fault covering table onl containing detectable and distinguishable faults. Choose those representative out of each set of non-distinguishable faults which has the smallest fault number. f) Compute the fault covering test set b evaluation of C M,N = V W (t ν Rf µ )τ ν =. µ M ν N Transform the equation such that ou obtain a conjunctive normal form (sum of products) from which ou can directl read off all possible complete test sets. g) Determine a test set using a covering table. Select tests b decreasing number of covered faults. Testing: Problems for Tutorial 7 (2) 73

76 Testing: Solution 7 () Solution of Tutorial 7: Problem, Solution a) b a (a observable at ) (=) a/ a= t 6 a/ a= t 5 (b observable at ) (=) b/ b= t b/ b= t 2 Since opposite values are assigned to signals a and b, faults at are implicitl tested. b) when assuming fault f µ i h g f e d c b a a b f µ t ν c) f µ t ν The faults f 2 and f 4 cannot be tested since the circuit has redundancies. 74

77 d) F U = {f,f 7,f 6 } F U2 = {f 3,f,f 7,f 2 } F U3 = {f 9,f,f 3,f 8 } F U4 = {f 5,f 9,f 22 } e) t ν f µ f) C M,N = (τ 5 + τ 7 ) (τ 4 + τ 6 ) (τ 2 + τ 3 ) (τ + τ ) (τ 5 + τ 6 ) (τ + τ 2 ) τ τ 6 (τ + τ + τ 4 + τ 6 ) (τ 2 + τ 3 + τ 5 + τ 7 ) after appling absorption: C M,N = τ τ 6 (τ 5 + τ 7 ) (τ 2 + τ 3 ) after transformation into a CNF (conjunctive normal form): C M,N = τ τ 6 τ 5 τ 2 + τ τ 6 τ 5 τ 3 + τ τ 6 τ 7 τ 2 + τ τ 6 τ 7 τ 3 all possible minimal complete test sets can be read off: T Cmin = {t,t 6,t 2,t 5 }, T Cmin2 = {t,t 6,t 2,t 7 } T Cmin3 = {t,t 6,t 3,t 5 }, T Cmin4 = {t,t 6,t 3,t 7 } g) t ν f µ F ν selection: t t 6 t 2 t 5 Testing: Solution 7 (2) 75

Electronic Design Automation for Digital Circuits

Electronic Design Automation for Digital Circuits Electronic Design Automation for Digital Circuits Lecture Notes Lecturer: U. Schlichtmann Teaching Assistant: M. Barke Room 296, T +49 89 289-23644 barke@tum.de Address: Arcisstr. 2 8333 Munich German

More information

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

Logic and Computer Design Fundamentals. Chapter 2 Combinational Logic Circuits. Part 1 Gate Circuits and Boolean Equations Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part Gate Circuits and Boolean Equations Charles Kime & Thomas Kaminski 28 Pearson Education, Inc. (Hperlinks are active in

More information

Chapter 2 Combinational

Chapter 2 Combinational Computer Engineering 1 (ECE290) Chapter 2 Combinational Logic Circuits Part 1 Gate Circuits and Boolean Equations HOANG Trang Reference: 2008 Pearson Education, Inc. Overview Part 1 Gate Circuits and Boolean

More information

Principles of Computer Architecture. Appendix B: Reduction of Digital Logic. Chapter Contents

Principles of Computer Architecture. Appendix B: Reduction of Digital Logic. Chapter Contents B-1 Principles of Computer Architecture Miles Murdocca and Vincent Heuring Appendix B: Reduction of Digital Logic B-2 Chapter Contents B.1 Reduction of Combinational Logic and Sequential Logic B.2 Reduction

More information

ASYNCHRONOUS SEQUENTIAL CIRCUITS

ASYNCHRONOUS SEQUENTIAL CIRCUITS ASYNCHRONOUS SEQUENTIAL CIRCUITS Sequential circuits that are not snchronized b a clock Asnchronous circuits Analsis of Asnchronous circuits Snthesis of Asnchronous circuits Hazards that cause incorrect

More information

8. BOOLEAN ALGEBRAS x x

8. BOOLEAN ALGEBRAS x x 8. BOOLEAN ALGEBRAS 8.1. Definition of a Boolean Algebra There are man sstems of interest to computing scientists that have a common underling structure. It makes sense to describe such a mathematical

More information

Simplify the following Boolean expressions and minimize the number of literals:

Simplify the following Boolean expressions and minimize the number of literals: Boolean Algebra Task 1 Simplify the following Boolean expressions and minimize the number of literals: 1.1 1.2 1.3 Task 2 Convert the following expressions into sum of products and product of sums: 2.1

More information

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

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-2700: Digital Logic Design Winter Notes - Unit 2 ECE-7: Digital Logic Design Winter 8 Notes - Unit OPTIMIZED IMPLEMENTATION OF LOGIC FUNCTIONS BASIC TECHNIQUES: We can alas minimie logic unctions using the Boolean theorems. Hoever, more poerul methods

More information

DIGITAL LOGIC CIRCUITS

DIGITAL LOGIC CIRCUITS DIGITAL LOGIC CIRCUITS Introduction Logic Gates Boolean Algebra Map Specification Combinational Circuits Flip-Flops Sequential Circuits Memor Components Integrated Circuits BASIC LOGIC BLOCK - GATE - Logic

More information

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits EE40 Lec 15 Logic Synthesis and Sequential Logic Circuits Prof. Nathan Cheung 10/20/2009 Reading: Hambley Chapters 7.4-7.6 Karnaugh Maps: Read following before reading textbook http://www.facstaff.bucknell.edu/mastascu/elessonshtml/logic/logic3.html

More information

DO NOT COPY DO NOT COPY

DO NOT COPY DO NOT COPY Drill Problems 3 benches. Another practical book is VHDL for Programmable Logic, by Kevin Skahill of Cypress Semiconductor (Addison-esley, 1996). All of the ABEL and VHDL examples in this chapter and throughout

More information

7.1. Unit 7. Minterm and Canonical Sums 2- and 3-Variable Boolean Algebra Theorems DeMorgan's Theorem Simplification using Boolean Algebra

7.1. Unit 7. Minterm and Canonical Sums 2- and 3-Variable Boolean Algebra Theorems DeMorgan's Theorem Simplification using Boolean Algebra 7.1 Unit 7 Minterm and Canonical Sums 2- and 3-Variable Boolean Algebra Theorems DeMorgan's Theorem Simplification using Boolean Algebra CHECKERS / DECODERS 7.2 7.3 Gates Gates can have more than 2 inputs

More information

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 1 Gate Circuits and Boolean Equations Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. Overview Part 1 Gate

More information

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

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing IT 204 Section 3.0 Boolean Algebra and Digital Logic Boolean Algebra 2 Logic Equations to Truth Tables X = A. B + A. B + AB A B X 0 0 0 0 3 Sum of Products The OR operation performed on the products of

More information

CHAPTER 9: SEQUENTIAL CIRCUITS

CHAPTER 9: SEQUENTIAL CIRCUITS CHAPTER 9: ASYNCHRONOUS SEUENTIAL CIRCUITS Chapter Objectives 2 Sequential circuits that are not snchronized b a clock Asnchronous circuits Analsis of Asnchronous circuits Snthesis of Asnchronous circuits

More information

THE UNIVERSITY OF MICHIGAN. Timing Analysis of Domino Logic

THE UNIVERSITY OF MICHIGAN. Timing Analysis of Domino Logic Timing Analsis of Domino Logic b David Van Campenhout, Trevor Mudge and Karem Sakallah CSE-T-296-96 THE UNIVESITY O MICHIGAN Computer Science and Engineering Division Department of Electrical Engineering

More information

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10)

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10) ELEC 2200-002 Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering

More information

Chapter 7 Logic Circuits

Chapter 7 Logic Circuits Chapter 7 Logic Circuits Goal. Advantages of digital technology compared to analog technology. 2. Terminology of Digital Circuits. 3. Convert Numbers between Decimal, Binary and Other forms. 5. Binary

More information

Vidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution

Vidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution . (a) (i) ( B C 5) H (A 2 B D) H S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution ( B C 5) H (A 2 B D) H = (FFFF 698) H (ii) (2.3) 4 + (22.3) 4 2 2. 3 2. 3 2 3. 2 (2.3)

More information

Review for B33DV2-Digital Design. Digital Design

Review for B33DV2-Digital Design. Digital Design Review for B33DV2 The Elements of Modern Behaviours Design Representations Blocks Waveforms Gates Truth Tables Boolean Algebra Switches Rapid Prototyping Technologies Circuit Technologies TTL MOS Simulation

More information

Mark Redekopp, All rights reserved. Lecture 4 Slides. Boolean Algebra Logic Functions Canonical Sums/Products

Mark Redekopp, All rights reserved. Lecture 4 Slides. Boolean Algebra Logic Functions Canonical Sums/Products Lecture 4 Slides Boolean Algebra Logic Functions Canonical Sums/Products LOGIC FUNCTION REPRESENTATION Logic Functions A logic function maps input combinations to an output value ( 1 or ) 3 possible representations

More information

Written reexam with solutions for IE1204/5 Digital Design Monday 14/

Written reexam with solutions for IE1204/5 Digital Design Monday 14/ Written reexam with solutions for IE204/5 Digital Design Monday 4/3 206 4.-8. General Information Examiner: Ingo Sander. Teacher: William Sandqvist phone 08-7904487 Exam text does not have to be returned

More information

Week-I. Combinational Logic & Circuits

Week-I. Combinational Logic & Circuits Week-I Combinational Logic & Circuits Overview Binary logic operations and gates Switching algebra Algebraic Minimization Standard forms Karnaugh Map Minimization Other logic operators IC families and

More information

( c) Give logic symbol, Truth table and circuit diagram for a clocked SR flip-flop. A combinational circuit is defined by the function

( c) Give logic symbol, Truth table and circuit diagram for a clocked SR flip-flop. A combinational circuit is defined by the function Question Paper Digital Electronics (EE-204-F) MDU Examination May 2015 1. (a) represent (32)10 in (i) BCD 8421 code (ii) Excess-3 code (iii) ASCII code (b) Design half adder using only NAND gates. ( c)

More information

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 352 Digital System Fundamentals

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 352 Digital System Fundamentals Department of Electrical and Computer Engineering Universit of Wisconsin - Madison ECE/C 352 Digital stem Fundamentals Quiz #2 olution Thursda, Octoer 26, 2000, 7:15--8:30PM 1. (15 points) (a). (5 points)

More information

CHAPTER1: Digital Logic Circuits Combination Circuits

CHAPTER1: Digital Logic Circuits Combination Circuits CS224: Computer Organization S.KHABET CHAPTER1: Digital Logic Circuits Combination Circuits 1 PRIMITIVE LOGIC GATES Each of our basic operations can be implemented in hardware using a primitive logic gate.

More information

CS/EE 181a 2008/09 Lecture 4

CS/EE 181a 2008/09 Lecture 4 CS/EE 181a 28/9 Lecture 4 General topic of today s lecture: Logic Optimization Karnaugh maps. Quine-McCluskey tabulation method (not in detail). Non series-parallel networks (some care is required). Reference

More information

DIGITAL LOGIC CIRCUITS

DIGITAL LOGIC CIRCUITS DIGITAL LOGIC CIRCUITS Introduction Logic Gates Boolean Algebra Map Specification Combinational Circuits Flip-Flops Sequential Circuits Memory Components Integrated Circuits Digital Computers 2 LOGIC GATES

More information

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

04. What is the Mod number of the counter circuit shown below? Assume initially reset. . Which of the following is the state diagram for the Meale machine shown below. 4. What is the Mod number of the counter circuit shown below? Assume initiall reset. input CLK D output D D a. b. / / /

More information

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Goal: To obtain the simplest implementation for a given function Optimization is a more formal

More information

University of Minnesota Department of Electrical and Computer Engineering

University of Minnesota Department of Electrical and Computer Engineering University of Minnesota Department of Electrical and Computer Engineering EE2301 Fall 2008 Introduction to Digital System Design L. L. Kinney Final Eam (Closed Book) Solutions Please enter your name, ID

More information

Propositional Logic. Logical Expressions. Logic Minimization. CNF and DNF. Algebraic Laws for Logical Expressions CSC 173

Propositional Logic. Logical Expressions. Logic Minimization. CNF and DNF. Algebraic Laws for Logical Expressions CSC 173 Propositional Logic CSC 17 Propositional logic mathematical model (or algebra) for reasoning about the truth of logical expressions (propositions) Logical expressions propositional variables or logical

More information

CS/COE1541: Introduction to Computer Architecture. Logic Design Review. Sangyeun Cho. Computer Science Department University of Pittsburgh

CS/COE1541: Introduction to Computer Architecture. Logic Design Review. Sangyeun Cho. Computer Science Department University of Pittsburgh CS/COE54: Introduction to Computer Architecture Logic Design Review Sangyeun Cho Computer Science Department Logic design? Digital hardware is implemented by way of logic design Digital circuits process

More information

vidyarthiplus.com vidyarthiplus.com vidyarthiplus.com ANNA UNIVERSITY- COMBATORE B.E./ B.TECH. DEGREE EXAMINATION - JUNE 2009. ELECTRICAL & ELECTONICS ENGG. - FOURTH SEMESTER DIGITAL LOGIC CIRCUITS PART-A

More information

ECE 407 Computer Aided Design for Electronic Systems. Simulation. Instructor: Maria K. Michael. Overview

ECE 407 Computer Aided Design for Electronic Systems. Simulation. Instructor: Maria K. Michael. Overview 407 Computer Aided Design for Electronic Systems Simulation Instructor: Maria K. Michael Overview What is simulation? Design verification Modeling Levels Modeling circuits for simulation True-value simulation

More information

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive March 30, 2010 John Wawrzynek Spring 2010 EECS150 - Lec19-cl1 Page 1 Boolean Algebra I (Representations of Combinational

More information

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3 Digital Logic: Boolean Algebra and Gates Textbook Chapter 3 Basic Logic Gates XOR CMPE12 Summer 2009 02-2 Truth Table The most basic representation of a logic function Lists the output for all possible

More information

Contents. Chapter 3 Combinational Circuits Page 1 of 36

Contents. Chapter 3 Combinational Circuits Page 1 of 36 Chapter 3 Combinational Circuits Page of 36 Contents Combinational Circuits...2 3. Analysis of Combinational Circuits...3 3.. Using a Truth Table...3 3..2 Using a Boolean Function...6 3.2 Synthesis of

More information

Logical Design of Digital Systems

Logical Design of Digital Systems Lecture 4 Table of Content 1. Combinational circuit design 2. Elementary combinatorial circuits for data transmission 3. Memory structures 4. Programmable logic devices 5. Algorithmic minimization approaches

More information

CpE358/CS381. Switching Theory and Logical Design. Class 2

CpE358/CS381. Switching Theory and Logical Design. Class 2 CpE358/CS38 Switching Theor and Logical Design Class 2 CpE358/CS38 Switching Theor and Logical Design Summer- 24 Copright 24 Stevens Institute of Technolog -45 Toda s Material Fundamental concepts of digital

More information

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Charles Kime & Thomas Kaminski 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active

More information

Lecture 7: Logic design. Combinational logic circuits

Lecture 7: Logic design. Combinational logic circuits /24/28 Lecture 7: Logic design Binary digital circuits: Two voltage levels: and (ground and supply voltage) Built from transistors used as on/off switches Analog circuits not very suitable for generic

More information

211: Computer Architecture Summer 2016

211: Computer Architecture Summer 2016 211: Computer Architecture Summer 2016 Liu Liu Topic: Storage Project3 Digital Logic - Storage: Recap - Review: cache hit rate - Project3 - Digital Logic: - truth table => SOP - simplification: Boolean

More information

ECE 20B, Winter 2003 Introduction to Electrical Engineering, II LECTURE NOTES #2

ECE 20B, Winter 2003 Introduction to Electrical Engineering, II LECTURE NOTES #2 ECE 20B, Winter 2003 Introduction to Electrical Engineering, II LECTURE NOTES #2 Instructor: Andrew B. Kahng (lecture) Email: abk@ucsd.edu Telephone: 858-822-4884 office, 858-353-0550 cell Office: 3802

More information

Sample Test Paper - I

Sample Test Paper - I Scheme G Sample Test Paper - I Course Name : Computer Engineering Group Marks : 25 Hours: 1 Hrs. Q.1) Attempt any THREE: 09 Marks a) Define i) Propagation delay ii) Fan-in iii) Fan-out b) Convert the following:

More information

Boolean Algebra and Logic Gates

Boolean Algebra and Logic Gates Boolean Algebra and Logic Gates Prof. Wangrok Oh Dept. of Information Communications Eng. Chungnam National Universit Prof. Wangrok Oh(CNU) / 5 Overview Aiomatic Definition of Boolean Algebra 2 Basic Theorems

More information

Possible logic functions of two variables

Possible logic functions of two variables ombinational logic asic logic oolean algebra, proofs by re-writing, proofs by perfect induction logic functions, truth tables, and switches NOT, ND, OR, NND, NOR, OR,..., minimal set Logic realization

More information

Review. EECS Components and Design Techniques for Digital Systems. Lec 06 Minimizing Boolean Logic 9/ Review: Canonical Forms

Review. EECS Components and Design Techniques for Digital Systems. Lec 06 Minimizing Boolean Logic 9/ Review: Canonical Forms Review EECS 150 - Components and Design Techniques for Digital Systems Lec 06 Minimizing Boolean Logic 9/16-04 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley

More information

Written exam with solutions IE1204/5 Digital Design Friday 13/

Written exam with solutions IE1204/5 Digital Design Friday 13/ Written eam with solutions IE204/5 Digital Design Friday / 207 08.00-2.00 General Information Eaminer: Ingo Sander. Teacher: Kista, William Sandqvist tel 08-7904487 Teacher: Valhallavägen, Ahmed Hemani

More information

ENGG 1203 Tutorial - 2 Recall Lab 2 - e.g. 4 input XOR. Parity checking (for interest) Recall : Simplification methods. Recall : Time Delay

ENGG 1203 Tutorial - 2 Recall Lab 2 - e.g. 4 input XOR. Parity checking (for interest) Recall : Simplification methods. Recall : Time Delay ENGG 23 Tutorial - 2 Recall Lab 2 - e.g. 4 input XOR Parity checking (for interest) Parity bit Parity checking Error detection, eg. Data can be Corrupted Even parity total number of s is even Odd parity

More information

Anand Raghunathan MSEE 348

Anand Raghunathan MSEE 348 ECE 595Z: Digital VLSI Design Automation, Spring 2012 2012 Anand Raghunathan 1 ECE 595Z Digital Systems Design Automation Module 2 (Lectures 3-5) : Advanced Boolean Algebra Lecture 5 Anand Raghunathan

More information

Digital Logic and Design (Course Code: EE222) Lecture 1 5: Digital Electronics Fundamentals. Evolution of Electronic Devices

Digital Logic and Design (Course Code: EE222) Lecture 1 5: Digital Electronics Fundamentals. Evolution of Electronic Devices Indian Institute of Technolog Jodhpur, Year 207 208 Digital Logic and Design (Course Code: EE222) Lecture 5: Digital Electronics Fundamentals Course Instructor: Shree Prakash Tiwari Email: sptiwari@iitj.ac.in

More information

Chapter 4 Optimized Implementation of Logic Functions

Chapter 4 Optimized Implementation of Logic Functions Chapter 4 Optimized Implementation of Logic Functions Logic Minimization Karnaugh Maps Systematic Approach for Logic Minimization Minimization of Incompletely Specified Functions Tabular Method for Minimization

More information

CS/COE0447: Computer Organization

CS/COE0447: Computer Organization Logic design? CS/COE0447: Computer Organization and Assembly Language Logic Design Review Digital hardware is implemented by way of logic design Digital circuits process and produce two discrete values:

More information

Lecture A: Logic Design and Gates

Lecture A: Logic Design and Gates Lecture A: Logic Design and Gates Syllabus My office hours 9.15-10.35am T,Th or gchoi@ece.tamu.edu 333G WERC Text: Brown and Vranesic Fundamentals of Digital Logic,» Buy it.. Or borrow it» Other book:

More information

Written exam for IE1204/5 Digital Design with solutions Thursday 29/

Written exam for IE1204/5 Digital Design with solutions Thursday 29/ Written exam for IE4/5 Digital Design with solutions Thursday 9/ 5 9.-. General Information Examiner: Ingo Sander. Teacher: William Sandqvist phone 8-794487 Exam text does not have to be returned when

More information

Chapter 2 Boolean Algebra and Logic Gates

Chapter 2 Boolean Algebra and Logic Gates Ch1: Digital Systems and Binary Numbers Ch2: Ch3: Gate-Level Minimization Ch4: Combinational Logic Ch5: Synchronous Sequential Logic Ch6: Registers and Counters Switching Theory & Logic Design Prof. Adnan

More information

LESSON #42 - INVERSES OF FUNCTIONS AND FUNCTION NOTATION PART 2 COMMON CORE ALGEBRA II

LESSON #42 - INVERSES OF FUNCTIONS AND FUNCTION NOTATION PART 2 COMMON CORE ALGEBRA II LESSON #4 - INVERSES OF FUNCTIONS AND FUNCTION NOTATION PART COMMON CORE ALGEBRA II You will recall from unit 1 that in order to find the inverse of a function, ou must switch and and solve for. Also,

More information

Combinational Logic. Review of Combinational Logic 1

Combinational Logic. Review of Combinational Logic 1 Combinational Logic! Switches -> Boolean algebra! Representation of Boolean functions! Logic circuit elements - logic gates! Regular logic structures! Timing behavior of combinational logic! HDLs and combinational

More information

Every time has a value associated with it, not just some times. A variable can take on any value within a range

Every time has a value associated with it, not just some times. A variable can take on any value within a range Digital Logic Circuits Binary Logic and Gates Logic Simulation Boolean Algebra NAND/NOR and XOR gates Decoder fundamentals Half Adder, Full Adder, Ripple Carry Adder Analog vs Digital Analog Continuous»

More information

Latches. October 13, 2003 Latches 1

Latches. October 13, 2003 Latches 1 Latches The second part of CS231 focuses on sequential circuits, where we add memory to the hardware that we ve already seen. Our schedule will be very similar to before: We first show how primitive memory

More information

CS 226: Digital Logic Design

CS 226: Digital Logic Design CS 226: Digital Logic Design 0 1 1 I S 0 1 0 S Department of Computer Science and Engineering, Indian Institute of Technology Bombay. 1 of 29 Objectives In this lecture we will introduce: 1. Logic functions

More information

CS470: Computer Architecture. AMD Quad Core

CS470: Computer Architecture. AMD Quad Core CS470: Computer Architecture Yashwant K. Malaiya, Professor malaiya@cs.colostate.edu AMD Quad Core 1 Architecture Layers Building blocks Gates, flip-flops Functional bocks: Combinational, Sequential Instruction

More information

CSE 140 Spring 2017: Final Solutions (Total 50 Points)

CSE 140 Spring 2017: Final Solutions (Total 50 Points) CSE 140 Spring 2017: Final Solutions (Total 50 Points) 1. (Boolean Algebra) Prove the following Boolean theorem using Boolean laws only, i.e. no theorem is allowed for the proof. State the name of the

More information

ENGG 1203 Tutorial_9 - Review. Boolean Algebra. Simplifying Logic Circuits. Combinational Logic. 1. Combinational & Sequential Logic

ENGG 1203 Tutorial_9 - Review. Boolean Algebra. Simplifying Logic Circuits. Combinational Logic. 1. Combinational & Sequential Logic ENGG 1203 Tutorial_9 - Review Boolean Algebra 1. Combinational & Sequential Logic 2. Computer Systems 3. Electronic Circuits 4. Signals, Systems, and Control Remark : Multiple Choice Questions : ** Check

More information

Ch 2. Combinational Logic. II - Combinational Logic Contemporary Logic Design 1

Ch 2. Combinational Logic. II - Combinational Logic Contemporary Logic Design 1 Ch 2. Combinational Logic II - Combinational Logic Contemporary Logic Design 1 Combinational logic Define The kind of digital system whose output behavior depends only on the current inputs memoryless:

More information

CS/COE0447: Computer Organization

CS/COE0447: Computer Organization CS/COE0447: Computer Organization and Assembly Language Logic Design Review Sangyeun Cho Dept. of Computer Science Logic design? Digital hardware is implemented by way of logic design Digital circuits

More information

Review for Test 1 : Ch1 5

Review for Test 1 : Ch1 5 Review for Test 1 : Ch1 5 October 5, 2006 Typeset by FoilTEX Positional Numbers 527.46 10 = (5 10 2 )+(2 10 1 )+(7 10 0 )+(4 10 1 )+(6 10 2 ) 527.46 8 = (5 8 2 ) + (2 8 1 ) + (7 8 0 ) + (4 8 1 ) + (6 8

More information

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

WORKBOOK. Try Yourself Questions. Electrical Engineering Digital Electronics. Detailed Explanations of 27 WORKBOOK Detailed Eplanations of Try Yourself Questions Electrical Engineering Digital Electronics Number Systems and Codes T : Solution Converting into decimal number system 2 + 3 + 5 + 8 2 + 4 8 +

More information

CSC9R6 Computer Design. Practical Digital Logic

CSC9R6 Computer Design. Practical Digital Logic CSC9R6 Computer Design Practical Digital Logic 1 References (for this part of CSC9R6) Hamacher et al: Computer Organization App A. In library Floyd: Digital Fundamentals Ch 1, 3-6, 8-10 web page: www.prenhall.com/floyd/

More information

Logic Minimization. Two-Level. University of California. Prof. Srinivas Devadas. Prof. Richard Newton Prof. Sanjit Seshia. Prof.

Logic Minimization. Two-Level. University of California. Prof. Srinivas Devadas. Prof. Richard Newton Prof. Sanjit Seshia. Prof. Two-Level Logic Minimization Prof. Srinivas Devadas MIT Prof. Kurt Keutzer Prof. Richard Newton Prof. Sanjit Seshia University of California Berkeley, CA 1 Topics Motivation Boolean functions & notation

More information

Computer Organization I. Lecture 13: Design of Combinational Logic Circuits

Computer Organization I. Lecture 13: Design of Combinational Logic Circuits Computer Organization I Lecture 13: Design of Combinational Logic Circuits Overview The optimization of multiple-level circuits Mapping Technology Verification Objectives To know how to optimize the multiple-level

More information

For smaller NRE cost For faster time to market For smaller high-volume manufacturing cost For higher performance

For smaller NRE cost For faster time to market For smaller high-volume manufacturing cost For higher performance University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS5 J. Wawrzynek Spring 22 2/22/2. [2 pts] Short Answers. Midterm Exam I a) [2 pts]

More information

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

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering TIMING ANALYSIS Overview Circuits do not respond instantaneously to input changes

More information

Computational Boolean Algebra. Pingqiang Zhou ShanghaiTech University

Computational Boolean Algebra. Pingqiang Zhou ShanghaiTech University Computational Boolean Algebra Pingqiang Zhou ShanghaiTech University Announcements Written assignment #1 is out. Due: March 24 th, in class. Programming assignment #1 is out. Due: March 24 th, 11:59PM.

More information

Logic design? Transistor as a switch. Layered design approach. CS/COE1541: Introduction to Computer Architecture. Logic Design Review.

Logic design? Transistor as a switch. Layered design approach. CS/COE1541: Introduction to Computer Architecture. Logic Design Review. Logic design? CS/COE54: Introduction to Computer rchitecture Digital hardware is implemented by way of logic design Digital circuits process and produce two discrete values: and Example: -bit full adder

More information

Chapter 2 Combinational logic

Chapter 2 Combinational logic Chapter 2 Combinational logic Chapter 2 is very easy. I presume you already took discrete mathemtics. The major part of chapter 2 is boolean algebra. II - Combinational Logic Copyright 24, Gaetano Borriello

More information

Boolean Algebra. Philipp Koehn. 9 September 2016

Boolean Algebra. Philipp Koehn. 9 September 2016 Boolean Algebra Philipp Koehn 9 September 2016 Core Boolean Operators 1 AND OR NOT A B A and B 0 0 0 0 1 0 1 0 0 1 1 1 A B A or B 0 0 0 0 1 1 1 0 1 1 1 1 A not A 0 1 1 0 AND OR NOT 2 Boolean algebra Boolean

More information

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

Lecture 6: Gate Level Minimization Syed M. Mahmud, Ph.D ECE Department Wayne State University Lecture 6: Gate Level Minimization Syed M. Mahmud, Ph.D ECE Department Wayne State University Original Source: Aby K George, ECE Department, Wayne State University Contents The Map method Two variable

More information

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

(Boolean Algebra, combinational circuits) (Binary Codes and -arithmetics) Task 1. Exercises: Logical Design of Digital Systems Seite: 1 Self Study (Boolean Algebra, combinational circuits) 1.1 Minimize the function f 1 a ab ab by the help of Boolean algebra and give an implementation

More information

Midterm Exam Two is scheduled on April 8 in class. On March 27 I will help you prepare Midterm Exam Two.

Midterm Exam Two is scheduled on April 8 in class. On March 27 I will help you prepare Midterm Exam Two. Announcements Midterm Exam Two is scheduled on April 8 in class. On March 27 I will help you prepare Midterm Exam Two. Chapter 5 1 Chapter 3: Part 3 Arithmetic Functions Iterative combinational circuits

More information

Digital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits.

Digital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits. CS211 Computer Architecture Digital Logic l Topics l Transistors (Design & Types) l Logic Gates l Combinational Circuits l K-Maps Figures & Tables borrowed from:! http://www.allaboutcircuits.com/vol_4/index.html!

More information

UNIT 5 KARNAUGH MAPS Spring 2011

UNIT 5 KARNAUGH MAPS Spring 2011 UNIT 5 KRNUGH MPS Spring 2 Karnaugh Maps 2 Contents Minimum forms of switching functions Two- and three-variable Four-variable Determination of minimum expressions using essential prime implicants Five-variable

More information

Combinational Logic Design Combinational Functions and Circuits

Combinational Logic Design Combinational Functions and Circuits Combinational Logic Design Combinational Functions and Circuits Overview Combinational Circuits Design Procedure Generic Example Example with don t cares: BCD-to-SevenSegment converter Binary Decoders

More information

2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS

2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS What will we learn? 2 Logic functions and circuits Boolean Algebra Logic gates and Synthesis CAD tools and VHDL Read Section 2.9 and 2.0 Terminology 3 Digital

More information

Sequential Logic Circuits

Sequential Logic Circuits Chapter 4 Sequential Logic Circuits 4 1 The defining characteristic of a combinational circuit is that its output depends only on the current inputs applied to the circuit. The output of a sequential circuit,

More information

Written exam with solutions IE Digital Design Friday 21/

Written exam with solutions IE Digital Design Friday 21/ Written exam with solutions IE204-5 Digital Design Friday 2/0 206 09.00-3.00 General Information Examiner: Ingo Sander. Teacher: Kista, William Sandvist tel 08-7904487, Elena Dubrova phone 08-790 4 4 Exam

More information

ECE 2300 Digital Logic & Computer Organization

ECE 2300 Digital Logic & Computer Organization ECE 23 Digital Logic & Computer Organization Spring 28 Combinational Building Blocks Lecture 5: Announcements Lab 2 prelab due tomorrow HW due Friday HW 2 to be posted on Thursday Lecture 4 to be replayed

More information

Simplification of State Machines

Simplification of State Machines T3 Lecture Notes State Reduction hapter 9 - of Simplification of State Machines This semester has been spent developing the techniques needed to design digital circuits. Now we can compile a list of just

More information

Fundamental Algorithms for System Modeling, Analysis, and Optimization

Fundamental Algorithms for System Modeling, Analysis, and Optimization Fundamental Algorithms for System Modeling, Analysis, and Optimization Edward A. Lee, Jaijeet Roychowdhury, Sanjit A. Seshia UC Berkeley EECS 244 Fall 2016 Lecturer: Yu-Yun Dai Copyright 2010-date, E.

More information

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL. 2017-18 XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL HALF ADDER 1. The circuit that performs addition within the Arithmetic and Logic Unit of the CPU are called adders. 2. A unit that adds two

More information

DIGITAL ELECTRONICS & it0203 Semester 3

DIGITAL ELECTRONICS & it0203 Semester 3 DIGITAL ELECTRONICS & it0203 Semester 3 P.Rajasekar & C.M.T.Karthigeyan Asst.Professor SRM University, Kattankulathur School of Computing, Department of IT 8/22/2011 1 Disclaimer The contents of the slides

More information

Philadelphia University Student Name: Student Number:

Philadelphia University Student Name: Student Number: Philadelphia University Student Name: Student Number: Faculty of Engineering Serial Number: Final Exam, First Semester: 2017/2018 Dept. of Computer Engineering Course Title: Logic Circuits Date: 29/01/2018

More information

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

Outcomes. Spiral 1 / Unit 2. Boolean Algebra BOOLEAN ALGEBRA INTRO. Basic Boolean Algebra Logic Functions Decoders Multiplexers -2. -2.2 piral / Unit 2 Basic Boolean Algebra Logic Functions Decoders Multipleers Mark Redekopp Outcomes I know the difference between combinational and sequential logic and can name eamples of each.

More information

Class Website:

Class Website: ECE 20B, Winter 2003 Introduction to Electrical Engineering, II LECTURE NOTES #5 Instructor: Andrew B. Kahng (lecture) Email: abk@ece.ucsd.edu Telephone: 858-822-4884 office, 858-353-0550 cell Office:

More information

VLSI Design Verification and Test Simulation CMPE 646. Specification. Design(netlist) True-value Simulator

VLSI Design Verification and Test Simulation CMPE 646. Specification. Design(netlist) True-value Simulator Design Verification Simulation used for ) design verification: verify the correctness of the design and 2) test verification. Design verification: Response analysis Specification Design(netlist) Critical

More information

Unit 2 Session - 6 Combinational Logic Circuits

Unit 2 Session - 6 Combinational Logic Circuits Objectives Unit 2 Session - 6 Combinational Logic Circuits Draw 3- variable and 4- variable Karnaugh maps and use them to simplify Boolean expressions Understand don t Care Conditions Use the Product-of-Sums

More information

COSC3330 Computer Architecture Lecture 2. Combinational Logic

COSC3330 Computer Architecture Lecture 2. Combinational Logic COSC333 Computer rchitecture Lecture 2. Combinational Logic Instructor: Weidong Shi (Larry), PhD Computer Science Department University of Houston Today Combinational Logic oolean lgebra Mux, DeMux, Decoder

More information

Show that the dual of the exclusive-or is equal to its compliment. 7

Show that the dual of the exclusive-or is equal to its compliment. 7 Darshan Institute of ngineering and Technology, Rajkot, Subject: Digital lectronics (2300) GTU Question ank Unit Group Questions Do as directed : I. Given that (6)0 = (00)x, find the value of x. II. dd

More information

CPE100: Digital Logic Design I

CPE100: Digital Logic Design I Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu CPE100: Digital Logic Design I Final Review http://www.ee.unlv.edu/~b1morris/cpe100/ 2 Logistics Tuesday Dec 12 th 13:00-15:00 (1-3pm) 2 hour

More information