ECE260B CSE241A Winter Logic Synthesis

Size: px
Start display at page:

Download "ECE260B CSE241A Winter Logic Synthesis"

Transcription

1 ECE260B CSE241A Winter 2005 Logic Synthesis Website: / courses/ ece260bw05 ECE 260B CSE 241A Static Timing Analysis 1 Slides courtesy of Dr. Cho Moon

2 Introduction Why logic synthesis? Ubiquitous used almost everywhere VLSI is done Body of useful and general techniques same solutions can be used for different problems Foundation for many applications such as - Formal verification - ATPG - Timing analysis - Sequential optimization ECE 260B CSE 241A Static Timing Analysis 2

3 RTL Design Flow HDL RTL Synthesis Manual Design Module Generators Library netlist Logic Synthesis a b 0 1 s d clk q netlist a b 0 1 d q Physical Synthesis s clk layout ECE 260B CSE 241A Static Timing Analysis 3 Slide courtesy of Devadas, et. al

4 Logic Synthesis Problem Given Initial gate-level netlist Design constraints - Input arrival times, output required times, power consumption, noise immunity, etc Target technology libraries Produce Smaller, faster or cooler gate-level netlist that meets constraints Very hard optimization problem! ECE 260B CSE 241A Static Timing Analysis 4

5 Combinational Logic Synthesis netlist 2-level Logic opt Library Logic Synthesis tech independent tech dependent multilevel Logic opt netlist Library ECE 260B CSE 241A Static Timing Analysis 5 Slide courtesy of Devadas, et. al

6 Outline Introduction Two-level Logic Synthesis Multi-level Logic Synthesis Timing Optimization in Synthesis ECE 260B CSE 241A Static Timing Analysis 6

7 Two-level Logic Synthesis Problem Given an arbitrary logic function in two-level form, produce a smaller representation. For sum-of-products (SOP) implementation on PLAs, fewer product terms and fewer inputs to each product term mean smaller area. F = A B + A B C F = A B I1 I2 O1 O2 ECE 260B CSE 241A Static Timing Analysis 7

8 Boolean Functions f(x) : B n B B = {0, 1}, x = (x 1, x 2,, x n ) x 1, x 2, are variables x 1, x 1, x 2, x 2, are literals each vertex of B n is mapped to 0 or 1 the onset of f is a set of input values for which f(x) = 1 the offset of f is a set of input values for which f(x) = 0 ECE 260B CSE 241A Static Timing Analysis 8

9 Logic Functions: ECE 260B CSE 241A Static Timing Analysis 9 Slide courtesy of Devadas, et. al

10 Cube Representation ECE 260B CSE 241A Static Timing Analysis 10 Slide courtesy of Devadas, et. al

11 Sum-of-products (SOP) A function can be represented by a sum of cubes (products): f = ab + ac + bc Since each cube is a product of literals, this is a sum of products representation A SOP can be thought of as a set of cubes F F = {ab, ac, bc} = C A set of cubes that represents f is called a cover of f. F={ab, ac, bc} is a cover of f = ab + ac + bc. ECE 260B CSE 241A Static Timing Analysis 11

12 Prime Cover A cube is prime if there is no other cube that contains it (for example, b c is not a prime but b is) A cover is prime iff all of its cubes are prime c a b ECE 260B CSE 241A Static Timing Analysis 12

13 Irredundant Cube A cube of a cover C is irredundant if C fails to be a cover if c is dropped from C A cover is irredundant iff all its cubes are irredudant (for exmaple, F = a b + a c + b c) c a ECE 260B CSE 241A Static Timing Analysis 13 b Not covered

14 Quine-McCluskey Method We want to find a minimum prime and irredundant cover for a given function. Prime cover leads to min number of inputs to each product term. Min irredundant cover leads to min number of product terms. Quine-McCluskey (QM) method (1960 s) finds a minimum prime and irredundant cover. Step 1: List all minterms of on-set: O(2^n) n = #inputs Step 2: Find all primes: O(3^n) n = #inputs Step 3: Construct minterms vs primes table Step 4: Find a min set of primes that covers all the minterms: O (2^m) m = #primes ECE 260B CSE 241A Static Timing Analysis 14

15 QM Example (Step 1) F = a b c + a b c + a b c + a b c + a b c List all on-set minterms Minterms a b c a b c a b c a b c a b c ECE 260B CSE 241A Static Timing Analysis 15

16 QM Example (Step 2) F = a b c + a b c + a b c + a b c + a b c Find all primes. primes b c a b a c b c ECE 260B CSE 241A Static Timing Analysis 16

17 QM Example (Step 3) F = a b c + a b c + a b c + a b c + a b c Construct minterms vs primes table (prime implicant table) by determining which cube is contained in which prime. X at row i, colum j means that cube in row i is contained by prime in column j. b c a b a c b c a b c X a b c X X a b c X X a b c X X a b c X ECE 260B CSE 241A Static Timing Analysis 17

18 QM Example (Step 4) F = a b c + a b c + a b c + a b c + a b c Find a minimum set of primes that covers all the minterms Minimum column covering problem b c a b a c b c a b c X a b c X X a b c X X a b c X X a b c X Essential primes ECE 260B CSE 241A Static Timing Analysis 18

19 ESPRESSO Heuristic Minimizer Quine-McCluskey gives a minimum solution but is only good for functions with small number of inputs (< 10) ESPRESSO is a heuristic two-level minimizer that finds a minimal solution ESPRESSO(F) { } do { reduce(f); expand(f); irredundant(f); } while (fewer terms in F); verfiy(f); ECE 260B CSE 241A Static Timing Analysis 19

20 ESPRESSO ILLUSTRATED Reduce Expand Irredundant ECE 260B CSE 241A Static Timing Analysis 20

21 Outline Introduction Two-level Logic Synthesis Multi-level Logic Synthesis Timing optimization in Synthesis ECE 260B CSE 241A Static Timing Analysis 21

22 Multi-level Logic Synthesis Two-level logic synthesis is effective and mature Two-level logic synthesis is directly applicable to PLAs and PLDs But There are many functions that are too expensive to implement in two-level forms (too many product terms!) Two-level implementation constrains layout (AND-plane, OR-plane) Rule of thumb: Two-level logic is good for control logic Multi-level logic is good for datapath or random logic ECE 260B CSE 241A Static Timing Analysis 22

23 Two-Level (PLA) vs. Multi-Level PLA control logic constrained layout highly automatic technology independent multi-valued logic slower? input, output, state encoding ECE 260B CSE 241A Static Timing Analysis 23 Multi-level all logic general automatic partially technology independent coming can be high speed

24 Multi-level Logic Synthesis Problem Given Initial Boolean network Design constraints - Arrival times, required times, power consumption, noise immunity, etc Target technology libraries Produce a minimum area netlist consisting of the gates from the target libraries such that design constraints are satisfied ECE 260B CSE 241A Static Timing Analysis 24

25 Modern Approach to Logic Optimization Divide logic optimization into two subproblems: Technology independent optimization determine overall logic structure estimate costs (mostly) independent of technology simplified cost modeling Technology dependent optimization (technology mapping) binding onto the gates in the library detailed technology specific cost model Orchestration of various optimization/transformation techniques for each subproblem ECE 260B CSE 241A Static Timing Analysis 25 Slide courtesy of Keutzer

26 Optimization Cost Criteria The accepted optimization criteria for multi-level logic are to minimize some function of: 1. Area occupied by the logic gates and interconnect (approximated by literals = transistors in technology independent optimization) 2. Critical path delay of the longest path through the logic 3. Degree of testability of the circuit, measured in terms of the percentage of faults covered by a specified set of test vectors for an approximate fault model (e.g. single or multiple stuck-at faults) 4. Power consumed by the logic gates 5. Noise Immunity 6. Wireability while simultaneously satisfying upper or lower bound constraints placed on these physical quantities ECE 260B CSE 241A Static Timing Analysis 26

27 Representation: Boolean Network Boolean network: directed acyclic graph (DAG) node logic function representation f j (x,y) node variable y j : y j = f j (x,y) edge (i,j) if f j depends explicitly on y i Inputs x = (x 1, x 2,,x n ) Outputs z = (z 1, z 2,,z p ) ECE 260B CSE 241A Static Timing Analysis 27 Slide courtesy of Brayton

28 Network Representation Boolean network: ECE 260B CSE 241A Static Timing Analysis 28

29 Node Representation: Sum of Products (SOP) Example: abc +a bd+b d +b e f (sum of cubes) Advantages: easy to manipulate and minimize many algorithms available (e.g. AND, OR, TAUTOLOGY) two-level theory applies Disadvantages: Not representative of logic complexity. For example f=ad+ae+bd+be+cd+ce f =a b c +d e These differ in their implementation by an inverter. hence not easy to estimate logic; difficult to estimate progress during logic manipulation ECE 260B CSE 241A Static Timing Analysis 29

30 Factored Forms Example: (ad+ b c)(c+ d (e+ ac ))+(d+ e)fg Advantages good representative of logic complexity f=ad+ae+bd+be+cd+ce f=(a+b+c)(d+e) f =a b c +d e in many designs (e.g. complex gate CMOS) the implementation of a function corresponds directly to its factored form good estimator of logic implementation complexity doesn t blow up easily Disadvantages not as many algorithms available for manipulation hence usually just convert into SOP before manipulation ECE 260B CSE 241A Static Timing Analysis 30

31 Factored Forms Note: literal count transistor count area (however, area also depends on wiring) ECE 260B CSE 241A Static Timing Analysis 31

32 Factored Forms Definition : a factored form can be defined recursively by the following rules. A factored form is either a product or sum where: a product is either a single literal or product of factored forms a sum is either a single literal or sum of factored forms A factored form is a parenthesized algebraic expression. In effect a factored form is a product of sums of products or a sum of products of sums Any logic function can be represented by a factored form, and any factored form is a representation of some logic function. ECE 260B CSE 241A Static Timing Analysis 32

33 Factored Forms When measured in terms of number of inputs, there are functions whose size is exponential in sum of products representation, but polynomial in factored form. Example: Achilles heel function i = n / 2 i= 1 ( x 2 i 1 + x2i ) There are n literals in the factored form and (n/2) 2 n/2 literals in the SOP form. Factored forms are useful in estimating area and delay in a multi-level synthesis and optimization system. In many design styles (e.g. complex gate CMOS design) the implementation of a function corresponds directly to its factored form. ECE 260B CSE 241A Static Timing Analysis 33

34 Factored Forms Factored forms cam be graphically represented as labeled trees, called factoring trees, in which each internal node including the root is labeled with either + or, and each leaf has a label of either a variable or its complement. Example: factoring tree of ((a +b)cd+e)(a+b )+e ECE 260B CSE 241A Static Timing Analysis 34

35 Reduced Ordered BDDs like factored form, represents both function and complement like network of muxes, but restricted since controlled by primary input variables - not really a good estimator for implementation complexity given an ordering, reduced BDD is canonical, hence a good replacement for truth tables for a good ordering, BDDs remain reasonably small for complicated functions (e.g. not multipliers) manipulations are well defined and efficient true support (dependency) is displayed ECE 260B CSE 241A Static Timing Analysis 35

36 Technology-Independent Optimization Technology-independent optimization is a bag of tricks: Two-level minimization (also called simplify) Constant propagation (also called sweep) f = a b + c; b = 1 => f = a + c Decomposition (single function) f = abc+abd+a c d +b c d => f = xy + x y ; x = ab ; y = c+d Extraction (multiple functions) f = (az+bz )cd+e g = (az+bz )e h = cde f = xy+e g = xe h = ye x = az+bz y = cd ECE 260B CSE 241A Static Timing Analysis 36

37 More Technology-Independent Optimization More technology-independent optimization tricks: Substitution g = a+b f = a+bc f = g(a+c) Collapsing (also called elimination) f = ga+g b g = c+d f = ac+ad+bc d g = c+d Factoring (series-parallel decomposition) f = ac+ad+bc+bd+e => f = (a+b)(c+d)+e ECE 260B CSE 241A Static Timing Analysis 37

38 Summary of Typical Recipe for TI Optimization Propagate constants Simplify: two-level minimization at Boolean network node Decomposition Local Boolean optimizations Boolean techniques exploit Boolean identities (e.g., a a = 0) Consider f = a b + a c + b a + b c + c a + c b Algebraic factorization procedures f = a (b + c ) + a (b + c) + b c + c b Boolean factorization procedures f = (a + b + c) (a + b + c ) ECE 260B CSE 241A Static Timing Analysis 38 Slide courtesy of Keutzer

39 Technology-Dependent Optimization Technology-dependent optimization consists of Technology mapping: maps Boolean network to a set of gates from technology libraries Local transformations Discrete resizing Cloning Fanout optimization (buffering) Logic restructuring ECE 260B CSE 241A Static Timing Analysis 39 Slide courtesy of Keutzer

40 Technology Mapping Input Output Technology independent, optimized logic network Description of the gates in the library with their cost Netlist of gates (from library) which minimizes total cost General Approach Construct a subject DAG for the network Represent each gate in the target library by pattern DAG s Find an optimal-cost covering of subject DAG using the collection of pattern DAG s Canonical form: 2-input NAND gates and inverters ECE 260B CSE 241A Static Timing Analysis 40

41 DAG Covering DAG covering is an NP-hard problem Solve the sub-problem optimally Partition DAG into a forest of trees Solve each tree optimally using tree covering Stitch trees back together ECE 260B CSE 241A Static Timing Analysis 41 Slide courtesy of Keutzer

42 Tree Covering Algorithm Transform netlist and libraries into canonical forms 2-input NANDs and inverters Visit each node in BFS from inputs to outputs Find all candidate matches at each node N - Match is found by comparing topology only (no need to compare functions) Find the optimal match at N by computing the new cost - New cost = cost of match at node N + sum of costs for matches at children of N Store the optimal match at node N with cost Optimal solution is guaranteed if cost is area Complexity = O(n) where n is the number of nodes in netlist ECE 260B CSE 241A Static Timing Analysis 42

43 Tree Covering Example Find an òptimal (in area, delay, power) mapping of this circuit into the technology library (simple example below) ECE 260B CSE 241A Static Timing Analysis 43 Slide courtesy of Keutzer

44 Elements of a library - 1 Element/ Area Cost Tree Representation (normal form) INVERTER 2 NAND2 3 NAND3 4 NAND4 5 ECE 260B CSE 241A Static Timing Analysis 44 Slide courtesy of Keutzer

45 Trivial Covering subject DAG 7 NAND2 (3) = 21 5 INV (2) = 10 Area cost 31 Can we do better with tree covering? ECE 260B CSE 241A Static Timing Analysis 45 Slide courtesy of Keutzer

46 Optimal tree covering `subject tree ECE 260B CSE 241A Static Timing Analysis 46 Slide courtesy of Keutzer

47 Optimal tree covering `subject tree ECE 260B CSE 241A Static Timing Analysis 47 Slide courtesy of Keutzer

48 Optimal tree covering `subject tree Cover with ND2 or ND3? 1 NAND2 3 + subtree 5 Area cost 8 ECE 260B CSE 241A Static Timing Analysis 48 Slide courtesy of Keutzer 1 NAND3 = 4

49 Optimal tree covering 3b `subject tree Label the root of the sub-tree with optimal match and cost ECE 260B CSE 241A Static Timing Analysis 49 Slide courtesy of Keutzer

50 Optimal tree covering Cover with INV or AO21? `subject tree 1 Inverter 2 + subtree 13 Area cost 15 ECE 260B CSE 241A Static Timing Analysis 50 1 AO subtree subtree 2 2 Slide courtesy of Keutzer Area cost 9

51 Optimal tree covering 4b `subject tree Label the root of the sub-tree with optimal match and cost ECE 260B CSE 241A Static Timing Analysis 51 Slide courtesy of Keutzer

52 Optimal tree covering Cover with ND2 or ND3? `subject tree NAND2 subtree 1 9 subtree NAND2 3 Area cost 16 ECE 260B CSE 241A Static Timing Analysis 52 subtree 1 8 subtree 2 2 subtree NAND3 4 Area cost 18 Slide courtesy of Keutzer NAND3

53 Optimal tree covering 5b `subject tree Label the root of the sub-tree with optimal match and cost ECE 260B CSE 241A Static Timing Analysis 53 Slide courtesy of Keutzer

54 Optimal tree covering - 6 Cover with INV or AOI21? `subject tree INV subtree INV 2 AOI21 subtree 1 13 subtree AOI21 4 Area cost 18 Area cost 22 ECE 260B CSE 241A Static Timing Analysis 54 Slide courtesy of Keutzer

55 Optimal tree covering 6b `subject tree Label the root of the sub-tree with optimal match and cost ECE 260B CSE 241A Static Timing Analysis 55 Slide courtesy of Keutzer

56 Optimal tree covering - 7 Cover with ND2 or ND3 or ND4? `subject tree ECE 260B CSE 241A Static Timing Analysis 56 Slide courtesy of Keutzer

57 Cover 1 - NAND2 Cover with ND2? `subject tree subtree 1 18 subtree NAND2 3 ECE 260B CSE 241A Static Timing Analysis 57 Area cost 21 Slide courtesy of Keutzer

58 Cover 2 - NAND3 Cover with ND3? 9 4 `subject tree ECE 260B CSE 241A Static Timing Analysis 58 subtree 1 9 subtree 2 4 subtree NAND3 4 Slide courtesy of Keutzer Area cost 17

59 Cover - 3 Cover with ND4? `subject tree subtree 1 8 subtree 2 2 subtree 3 4 subtree NAND4 5 Area cost 19 ECE 260B CSE 241A Static Timing Analysis 59 Slide courtesy of Keutzer

60 Optimal Cover was Cover 2 ND2 AOI21 ND3 INV ND3 `subject tree ECE 260B CSE 241A Static Timing Analysis 60 INV 2 ND2 3 2 ND3 8 AOI21 4 Slide courtesy of Keutzer Area cost 17

61 Summary of Technology Mapping DAG covering formulation Separated library issues from mapping algorithm (can t do this with rule-based systems) Tree covering approximation Very efficient (linear time) Applicable to wide range of libraries (std cells, gate arrays) and technologies (FPGAs, CPLDs) Weaknesses Problems with DAG patterns (Multiplexors, full adders, ) Large input gates lead to a large number of patterns ECE 260B CSE 241A Static Timing Analysis 61

62 Outline Introduction Two-level Logic Synthesis Multi-level Logic Synthesis Timing optimization in Synthesis ECE 260B CSE 241A Static Timing Analysis 62

63 Timing Optimization in Synthesis Factors determining delay of circuit: Underlying circuit technology Circuit type (e.g. domino, static CMOS, etc.) Gate type Gate size Logical structure of circuit Length of computation paths False paths Buffering Parasitics Wire loads Layout ECE 260B CSE 241A Static Timing Analysis 63

64 Problem Statement Given: Initial circuit function description Library of primitive functions Performance constraints (arrival/required times) Generate: an implementation of the circuit using the primitive functions, such that: 1. performance constraints are met 2. circuit area is minimized ECE 260B CSE 241A Static Timing Analysis 64

65 Current Design Process Gate library Perf. Constraints Delay models Behavioral description Logic and latches Logic equations ECE 260B CSE 241A Static Timing Analysis 65 Gate netlist Layout Behavior Optiization (scheduling) Partitioning (retiming) Logic synthesis Technology independent Technology mapping Timing driven place and route

66 Synthesis delay models Why are technology independent delay reductions hard? b e t t e r Lack of fast and accurate delay models s 1. # levels, fast but crude l 2. o # levels + correction term (fanout, wires, ): a little better, but still crude (what coefficients to use?) w 3. e Technology mapped: reasonable, but very slow r 4. Place and route: better but extremely slow 5. Silicon: best, but infeasibly slow (except for FPGAs) ECE 260B CSE 241A Static Timing Analysis 66

67 Clustering/ partial-collapse Traditional critical-path based methods require Well defined critical path Good delay/slack information Problems: Good delay information comes from mapper and layout Delay estimates and models are weak Possible solutions: Better delay modeling at technology independent level Make speedup, insensitive to actual critical paths and mapped delays ECE 260B CSE 241A Static Timing Analysis 67

68 Overview of Solutions for delay 1. Circuit re-structuring Rescheduling operations to reduce time of computation 2. Implementation of function trees (technology mapping) Selection of gates from library - Minimum delay (load independent model) - Minimize delay and area Implementation of buffer trees 3. Resizing Focus here on circuit re-structuring ECE 260B CSE 241A Static Timing Analysis 68

69 Circuit re-structuring Approaches: Local: Mimic optimization techniques in adders Carry lookahead (tree height reduction) Conditional sum (generalized select transformation) Carry bypass (generalized bypass transformation) Global: Reduce depth of entire circuit Partial collapsing Boolean simplification ECE 260B CSE 241A Static Timing Analysis 69

70 Re-structuring methods Performance measured by 1. levels, 2. sensitizable paths, 3. technology dependent delays Level based optimizations: Tree height reduction (Singh 88) Partial collapsing and simplification (Touati 91) Generalized select transform (Berman 90) Sensitizable paths Generalized bypass transform (Mcgeer 91) ECE 260B CSE 241A Static Timing Analysis 70

71 Re-structuring for delay: tree-height reduction i l 6 n 5 5 j m h 1 Critical region k 1 i Collapsed Critical region n j m 4 3 h 5 1 Duplicated logic k a b c d e f g 0 0 a b c d e f g ECE 260B CSE 241A Static Timing Analysis 71

72 Restructuring for delay: path reduction 1 i Collapsed Critical region n j m 4 3 h 5 Duplicated logic 1 k 1 i 4 n j New delay = 5 m 4 3 h 5 1 k 0 0 a b c d e f g 0 0 a b c d e f g ECE 260B CSE 241A Static Timing Analysis 72

73 Generalized select transform (GST) Late signal feeds multiplexor a b c d e f g out a=0 a=1 b b ECE 260B CSE 241A Static Timing Analysis 73 c d e f g c d e f g a 0 1 out

74 Generalized bypass transform (GBX) Make critical path false Speed up the circuit Bypass logic of critical path(s) f m =f f m+1 f n =g f m =f f m+1 f n =g 0 g 1 Boolean difference ECE 260B CSE 241A Static Timing Analysis 74 dg df s a 0 redundant

75 0/1 b Note: h a GBX Boolean a difference = = h h a a c a=0 a=1 g 0 g 1 dh da b b h GST vs GBX 0/1 c c d e f g c d e f g b a g GBX 0 g 1 h a=0 a=1 b b c d e f g c d e f g ECE 260B CSE 241A Static Timing Analysis 75 a 0 1 out GST

76 Thank you! ECE 260B CSE 241A Static Timing Analysis 76

ECE260B CSE241A Winter Logic Synthesis

ECE260B CSE241A Winter Logic Synthesis ECE260B CSE241A Winter 2007 Logic Synthesis Website: /courses/ece260b-w07 ECE 260B CSE 241A Static Timing Analysis 1 Slides courtesy of Dr. Cho Moon Introduction Why logic synthesis? Ubiquitous used almost

More information

CSE241 VLSI Digital Circuits UC San Diego

CSE241 VLSI Digital Circuits UC San Diego CSE241 VLSI Digital Circuits UC San Diego Winter 2003 Lecture 05: Logic Synthesis Cho Moon Cadence Design Systems January 21, 2003 CSE241 L5 Synthesis.1 Kahng & Cichy, UCSD 2003 Outline Introduction Two-level

More information

Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas

Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas 1 RTL Design Flow HDL RTL Synthesis Manual Design Module Generators Library netlist

More information

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2 Synthesis The Y-diagram Revisited Structural Behavioral More abstract designs Physical CAD for VLSI 2 1 Structural Synthesis Behavioral Physical CAD for VLSI 3 Structural Processor Memory Bus Behavioral

More information

Unit 4: Formal Verification

Unit 4: Formal Verification Course contents Unit 4: Formal Verification Logic synthesis basics Binary-decision diagram (BDD) Verification Logic optimization Technology mapping Readings Chapter 11 Unit 4 1 Logic Synthesis & Verification

More information

L3: Representations of functions

L3: Representations of functions L3: Representations of functions Representations of Boolean functions Boolean expression Two level sum of product form, factorized form Truth tables Karnaugh maps Cubes (MIN,MAX) notation positional cube

More information

Advanced Digital Logic Design EECS 303

Advanced Digital Logic Design EECS 303 Advanced Digital Logic Design EECS 303 http://ziyang.eecs.northwestern.edu/eecs303/ Teacher: Robert Dick Office: L477 Tech Email: dickrp@northwestern.edu Phone: 847 467 2298 Outline 1. 2. 2 Robert Dick

More information

ICS 252 Introduction to Computer Design

ICS 252 Introduction to Computer Design ICS 252 Introduction to Computer Design Logic Optimization Eli Bozorgzadeh Computer Science Department-UCI Hardware compilation flow HDL RTL Synthesis netlist Logic synthesis library netlist Physical design

More information

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007 VLSI System Design Part II : Logic Synthesis (1) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp

More information

L2: Design Representations

L2: Design Representations CS250 VLSI Systems Design L2: Design Representations John Wawrzynek, Krste Asanovic, with John Lazzaro and Yunsup Lee (TA) Engineering Challenge Application Gap usually too large to bridge in one step,

More information

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece5745 RTL to

More information

ECE 3060 VLSI and Advanced Digital Design

ECE 3060 VLSI and Advanced Digital Design ECE 3060 VLSI and Advanced Digital Design Lecture 16 Technology Mapping/Library Binding Outline Modeling and problem analysis Rule-based systems for library binding Algorithms for library binding structural

More information

CS8803: Advanced Digital Design for Embedded Hardware

CS8803: Advanced Digital Design for Embedded Hardware CS883: Advanced Digital Design for Embedded Hardware Lecture 2: Boolean Algebra, Gate Network, and Combinational Blocks Instructor: Sung Kyu Lim (limsk@ece.gatech.edu) Website: http://users.ece.gatech.edu/limsk/course/cs883

More information

VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5. Guest Lecture by Srini Devadas

VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5. Guest Lecture by Srini Devadas VLSI CAD Flow: Logic Synthesis, Placement and Routing 6.375 Lecture 5 Guest Lecture by Srini Devadas 1 RTL Design Flow HDL RTL Synthesis manual design Library/ module generators netlist logic optimization

More information

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1 Synthesis 1 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998. Typeset by FoilTEX 1 Introduction Logic synthesis is automatic generation of circuitry

More information

Combinational Logic Circuits

Combinational Logic Circuits Chapter 2 Combinational Logic Circuits J.J. Shann (Slightly trimmed by C.P. Chung) Chapter Overview 2-1 Binary Logic and Gates 2-2 Boolean Algebra 2-3 Standard Forms 2-4 Two-Level Circuit Optimization

More information

ESE535: Electronic Design Automation. Today. EDA Use. Problem PLA. Programmable Logic Arrays (PLAs) Two-Level Logic Optimization

ESE535: Electronic Design Automation. Today. EDA Use. Problem PLA. Programmable Logic Arrays (PLAs) Two-Level Logic Optimization ESE535: Electronic Design Automation Day 18: March 25, 2013 Two-Level Logic-Synthesis Today Two-Level Logic Optimization Problem Behavioral (C, MATLAB, ) Arch. Select Schedule RTL FSM assign Definitions

More information

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,

More information

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne Two-level Logic Synthesis and Optimization Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes as long as this note and the copyright footers

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

IMPLEMENTATION DESIGN FLOW

IMPLEMENTATION DESIGN FLOW IMPLEMENTATION DESIGN FLOW Hà Minh Trần Hạnh Nguyễn Duy Thái Course: Reconfigurable Computing Outline Over view Integra tion Node manipulation LUT-based mapping Design flow Design entry Functional simulation

More information

Chapter 3. Gate-Level Minimization. Outlines

Chapter 3. Gate-Level Minimization. Outlines Chapter 3 Gate-Level Minimization Introduction The Map Method Four-Variable Map Five-Variable Map Outlines Product of Sums Simplification Don t-care Conditions NAND and NOR Implementation Other Two-Level

More information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian محرم 1439 ه Winter

More information

Lecture Outline. Adam Teman, 2018

Lecture Outline. Adam Teman, 2018 Lecture Outline Adam Teman, 208 Digital VLSI Design Lecture 4: Logic Synthesis Part 2 Semester A, 208-9 Lecturer: Dr. Adam Teman November 6, 208 Disclaimer: This course was prepared, in its entirety, by

More information

Logic Synthesis and Verification

Logic Synthesis and Verification Logic Synthesis and Verification Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Fall 2012 1 SOPs and Incompletely Specified Functions Reading: Logic Synthesis

More information

Chapter 6: Multilevel Combinational Circuits. Name: Lương Văn Minh No. :

Chapter 6: Multilevel Combinational Circuits. Name: Lương Văn Minh No. : Chapter 6: Multilevel Combinational Circuits Name: Lương Văn Minh No. : 09070452 Overview 6.1 Boolean Networks 6.2 Special Classes of Circuits 6.3 Binary Decision Diagrams 2 Overview 6.1 Boolean Networks

More information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian ذو الحجة 1438 ه Winter

More information

Digital VLSI Design. Lecture 5: Logic Synthesis

Digital VLSI Design. Lecture 5: Logic Synthesis Digital VLSI Design Lecture 5: Logic Synthesis Semester A, 206-7 Lecturer: Dr. Adam Teman 5 December 206 Disclaimer: This course was prepared, in its entirety, by Adam Teman. Many materials were copied

More information

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS. Gary D. Hachtel University of Colorado. Fabio Somenzi University of Colorado.

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS. Gary D. Hachtel University of Colorado. Fabio Somenzi University of Colorado. LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS by Gary D. Hachtel University of Colorado Fabio Somenzi University of Colorado Springer Contents I Introduction 1 1 Introduction 5 1.1 VLSI: Opportunity and

More information

Design of Framework for Logic Synthesis Engine

Design of Framework for Logic Synthesis Engine Design of Framework for Logic Synthesis Engine Tribikram Pradhan 1, Pramod Kumar 2, Anil N S 3, Amit Bakshi 4 1 School of Information technology and Engineering, VIT University, Vellore 632014, Tamilnadu,

More information

ECE 3060 VLSI and Advanced Digital Design

ECE 3060 VLSI and Advanced Digital Design ECE 3060 VLSI and Advanced Digital Design Lecture 15 Multiple-Level Logic Minimization Outline Multi-level circuit representations Minimization methods goals: area, delay, power algorithms: algebraic,

More information

ABC basics (compilation from different articles)

ABC basics (compilation from different articles) 1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node

More information

COPYRIGHTED MATERIAL INDEX

COPYRIGHTED MATERIAL INDEX INDEX Absorption law, 31, 38 Acyclic graph, 35 tree, 36 Addition operators, in VHDL (VHSIC hardware description language), 192 Algebraic division, 105 AND gate, 48 49 Antisymmetric, 34 Applicable input

More information

Combinational Circuits

Combinational Circuits Combinational Circuits Combinational circuit consists of an interconnection of logic gates They react to their inputs and produce their outputs by transforming binary information n input binary variables

More information

Specifying logic functions

Specifying logic functions CSE4: Components and Design Techniques for Digital Systems Specifying logic functions Instructor: Mohsen Imani Slides from: Prof.Tajana Simunic and Dr.Pietro Mercati We have seen various concepts: Last

More information

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique Example As an Example, let s consider the formula: F(x,y,z) = x y z + x yz + x yz + xyz + xy z The complete sum of

More information

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips Overview CSE372 Digital Systems Organization and Design Lab Prof. Milo Martin Unit 5: Hardware Synthesis CAD (Computer Aided Design) Use computers to design computers Virtuous cycle Architectural-level,

More information

Introduction. Sungho Kang. Yonsei University

Introduction. Sungho Kang. Yonsei University Introduction Sungho Kang Yonsei University Outline VLSI Design Styles Overview of Optimal Logic Synthesis Model Graph Algorithm and Complexity Asymptotic Complexity Brief Summary of MOS Device Behavior

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

(Refer Slide Time 6:48)

(Refer Slide Time 6:48) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 8 Karnaugh Map Minimization using Maxterms We have been taking about

More information

ece5745-pla-notes.txt

ece5745-pla-notes.txt ece5745-pla-notes.txt ========================================================================== Follow up on PAL/PROM/PLA Activity ==========================================================================

More information

ECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis

ECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis ECE 5775 (Fall 17) High-Level Digital Design Automation Binary Decision Diagrams Static Timing Analysis Announcements Start early on Lab 1 (CORDIC design) Fixed-point design should not have usage of DSP48s

More information

Synthesis of combinational logic

Synthesis of combinational logic Page 1 of 14 Synthesis of combinational logic indicates problems that have been selected for discussion in section, time permitting. Problem 1. A certain function F has the following truth table: A B C

More information

Delay Estimation for Technology Independent Synthesis

Delay Estimation for Technology Independent Synthesis Delay Estimation for Technology Independent Synthesis Yutaka TAMIYA FUJITSU LABORATORIES LTD. 4-1-1 Kamikodanaka, Nakahara-ku, Kawasaki, JAPAN, 211-88 Tel: +81-44-754-2663 Fax: +81-44-754-2664 E-mail:

More information

Combinational Logic & Circuits

Combinational Logic & Circuits Week-I Combinational Logic & Circuits Spring' 232 - Logic Design Page Overview Binary logic operations and gates Switching algebra Algebraic Minimization Standard forms Karnaugh Map Minimization Other

More information

TECHNOLOGY MAPPING FOR THE ATMEL FPGA CIRCUITS

TECHNOLOGY MAPPING FOR THE ATMEL FPGA CIRCUITS TECHNOLOGY MAPPING FOR THE ATMEL FPGA CIRCUITS Zoltan Baruch E-mail: Zoltan.Baruch@cs.utcluj.ro Octavian Creţ E-mail: Octavian.Cret@cs.utcluj.ro Kalman Pusztai E-mail: Kalman.Pusztai@cs.utcluj.ro Computer

More information

Digital Logic Design. Outline

Digital Logic Design. Outline Digital Logic Design Gate-Level Minimization CSE32 Fall 2 Outline The Map Method 2,3,4 variable maps 5 and 6 variable maps (very briefly) Product of sums simplification Don t Care conditions NAND and NOR

More information

Gate-Level Minimization. BME208 Logic Circuits Yalçın İŞLER

Gate-Level Minimization. BME208 Logic Circuits Yalçın İŞLER Gate-Level Minimization BME28 Logic Circuits Yalçın İŞLER islerya@yahoo.com http://me.islerya.com Complexity of Digital Circuits Directly related to the complexity of the algebraic expression we use to

More information

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-603 203 DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS YEAR / SEMESTER: II / III ACADEMIC YEAR: 2015-2016 (ODD

More information

Experiment 4 Boolean Functions Implementation

Experiment 4 Boolean Functions Implementation Experiment 4 Boolean Functions Implementation Introduction: Generally you will find that the basic logic functions AND, OR, NAND, NOR, and NOT are not sufficient to implement complex digital logic functions.

More information

2.6 BOOLEAN FUNCTIONS

2.6 BOOLEAN FUNCTIONS 2.6 BOOLEAN FUNCTIONS Binary variables have two values, either 0 or 1. A Boolean function is an expression formed with binary variables, the two binary operators AND and OR, one unary operator NOT, parentheses

More information

Chapter 6. Logic Design Optimization Chapter 6

Chapter 6. Logic Design Optimization Chapter 6 Chapter 6 Logic Design Optimization Chapter 6 Optimization The second part of our design process. Optimization criteria: Performance Size Power Two-level Optimization Manipulating a function until it is

More information

Simplification of Boolean Functions

Simplification of Boolean Functions COM111 Introduction to Computer Engineering (Fall 2006-2007) NOTES 5 -- page 1 of 5 Introduction Simplification of Boolean Functions You already know one method for simplifying Boolean expressions: Boolean

More information

IT 201 Digital System Design Module II Notes

IT 201 Digital System Design Module II Notes IT 201 Digital System Design Module II Notes BOOLEAN OPERATIONS AND EXPRESSIONS Variable, complement, and literal are terms used in Boolean algebra. A variable is a symbol used to represent a logical quantity.

More information

Additional Slides to De Micheli Book

Additional Slides to De Micheli Book Additional Slides to De Micheli Book Sungho Kang Yonsei University Design Style - Decomposition 08 3$9 0 Behavioral Synthesis Resource allocation; Pipelining; Control flow parallelization; Communicating

More information

Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline.

Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline. Review EECS 150 - Components and Design Techniques for Digital Systems Lec 05 Boolean Logic 94-04 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley Design flow

More information

Literal Cost F = BD + A B C + A C D F = BD + A B C + A BD + AB C F = (A + B)(A + D)(B + C + D )( B + C + D) L = 10

Literal Cost F = BD + A B C + A C D F = BD + A B C + A BD + AB C F = (A + B)(A + D)(B + C + D )( B + C + D) L = 10 Circuit Optimization Goal: To obtain the simplest implementation for a given function Optimization is a more formal approach to simplification that is performed using a specific procedure or algorithm

More information

Introduction to synthesis. Logic Synthesis

Introduction to synthesis. Logic Synthesis Introduction to synthesis Lecture 5 Logic Synthesis Logic synthesis operates on boolean equations and produce optimized combinational logic Logic Minimization Two-level logic minimization Two-level logic

More information

SIS: A System for Sequential Circuit Synthesis

SIS: A System for Sequential Circuit Synthesis SIS: A System for Sequential Circuit Synthesis Electronics Research Laboratory Memorandum No. UCB/ERL M92/41 Ellen M. Sentovich Kanwar Jit Singh Luciano Lavagno Cho Moon Rajeev Murgai Alexander Saldanha

More information

ESE535: Electronic Design Automation. Today. LUT Mapping. Simplifying Structure. Preclass: Cover in 4-LUT? Preclass: Cover in 4-LUT?

ESE535: Electronic Design Automation. Today. LUT Mapping. Simplifying Structure. Preclass: Cover in 4-LUT? Preclass: Cover in 4-LUT? ESE55: Electronic Design Automation Day 7: February, 0 Clustering (LUT Mapping, Delay) Today How do we map to LUTs What happens when IO dominates Delay dominates Lessons for non-luts for delay-oriented

More information

Experiment 3: Logic Simplification

Experiment 3: Logic Simplification Module: Logic Design Name:... University no:.. Group no:. Lab Partner Name: Mr. Mohamed El-Saied Experiment : Logic Simplification Objective: How to implement and verify the operation of the logical functions

More information

Gate Level Minimization Map Method

Gate Level Minimization Map Method Gate Level Minimization Map Method Complexity of hardware implementation is directly related to the complexity of the algebraic expression Truth table representation of a function is unique Algebraically

More information

Ch. 5 : Boolean Algebra &

Ch. 5 : Boolean Algebra & Ch. 5 : Boolean Algebra & Reduction elektronik@fisika.ui.ac.id Objectives Should able to: Write Boolean equations for combinational logic applications. Utilize Boolean algebra laws and rules for simplifying

More information

B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN

B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN B.Tech II Year I Semester () Regular Examinations December 2014 (Common to IT and CSE) (a) If 1010 2 + 10 2 = X 10, then X is ----- Write the first 9 decimal digits in base 3. (c) What is meant by don

More information

Digital Circuits ECS 371

Digital Circuits ECS 371 Digital Circuits ECS 37 Dr. Prapun Suksompong prapun@siit.tu.ac.th Lecture 7 Office Hours: KD 36-7 Monday 9:-:3, :3-3:3 Tuesday :3-:3 Announcement HW2 posted on the course web site Chapter 4: Write down

More information

Combinational Devices and Boolean Algebra

Combinational Devices and Boolean Algebra Combinational Devices and Boolean Algebra Silvina Hanono Wachman M.I.T. L02-1 6004.mit.edu Home: Announcements, course staff Course information: Lecture and recitation times and locations Course materials

More information

Combinational Logic Circuits Part III -Theoretical Foundations

Combinational Logic Circuits Part III -Theoretical Foundations Combinational Logic Circuits Part III -Theoretical Foundations Overview Simplifying Boolean Functions Algebraic Manipulation Karnaugh Map Manipulation (simplifying functions of 2, 3, 4 variables) Systematic

More information

Very Large Scale Integration (VLSI)

Very Large Scale Integration (VLSI) Very Large Scale Integration (VLSI) Lecture 6 Dr. Ahmed H. Madian Ah_madian@hotmail.com Dr. Ahmed H. Madian-VLSI 1 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA

More information

Gate-Level Minimization

Gate-Level Minimization Gate-Level Minimization ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2017 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Outlines The Map Method

More information

Chapter 3 Simplification of Boolean functions

Chapter 3 Simplification of Boolean functions 3.1 Introduction Chapter 3 Simplification of Boolean functions In this chapter, we are going to discuss several methods for simplifying the Boolean function. What is the need for simplifying the Boolean

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET4076) Lecture 4(part 2) Testability Measurements (Chapter 6) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Previous lecture What

More information

ECE 595Z Digital Systems Design Automation

ECE 595Z Digital Systems Design Automation ECE 595Z Digital Systems Design Automation Anand Raghunathan, raghunathan@purdue.edu How do you design chips with over 1 Billion transistors? Human designer capability grows far slower than Moore s law!

More information

Programmable Logic Devices

Programmable Logic Devices Programmable Logic Devices Programmable Logic Devices Fig. (1) General structure of PLDs Programmable Logic Device (PLD): is an integrated circuit with internal logic gates and/or connections that can

More information

Representations of Terms Representations of Boolean Networks

Representations of Terms Representations of Boolean Networks Representations of Terms Representations of Boolean Networks Logic Circuits Design Seminars WS2010/2011, Lecture 4 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology

More information

Topics. Midterm Finish Chapter 7

Topics. Midterm Finish Chapter 7 Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory

More information

Chapter 2 Combinational

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

More information

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x Binary recursion Unate unctions! Theorem I a cover C() is unate in,, then is unate in.! Theorem I is unate in,, then every prime implicant o is unate in. Why are unate unctions so special?! Special Boolean

More information

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES This chapter in the book includes: Objectives Study Guide 9.1 Introduction 9.2 Multiplexers 9.3 Three-State Buffers 9.4 Decoders and Encoders

More information

1. Mark the correct statement(s)

1. Mark the correct statement(s) 1. Mark the correct statement(s) 1.1 A theorem in Boolean algebra: a) Can easily be proved by e.g. logic induction b) Is a logical statement that is assumed to be true, c) Can be contradicted by another

More information

Unit 2: High-Level Synthesis

Unit 2: High-Level Synthesis Course contents Unit 2: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 2 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis

More information

Behavior models and verification Lecture 6

Behavior models and verification Lecture 6 Behavior models and verification Lecture 6 http://d3s.mff.cuni.cz Jan Kofroň, František Plášil Model checking For a Kripke structure M = (S, I, R, L) over AP and a (state based) temporal logic formula

More information

SIS Logic Synthesis System

SIS Logic Synthesis System SIS Logic Synthesis System Michele Lora Tiziano Villa University of Verona Dep. Computer Science Italy Slides courtesy of Giuseppe and Luigi Di Guglielmo, Davide Bresolin, Michele Lora and Tiziano Villa

More information

ECE380 Digital Logic

ECE380 Digital Logic ECE38 Digital Logic Optimized Implementation of Logic Functions: Strategy for Minimization, Minimum Product-of-Sums Forms, Incompletely Specified Functions Dr. D. J. Jackson Lecture 8- Terminology For

More information

Gate-Level Minimization

Gate-Level Minimization MEC520 디지털공학 Gate-Level Minimization Jee-Hwan Ryu School of Mechanical Engineering Gate-Level Minimization-The Map Method Truth table is unique Many different algebraic expression Boolean expressions may

More information

Two-Level Logic Optimization ( Introduction to Computer-Aided Design) School of EECS Seoul National University

Two-Level Logic Optimization ( Introduction to Computer-Aided Design) School of EECS Seoul National University Two-Level Logic Optimization (4541.554 Introduction to Computer-Aided Design) School of EECS Seoul National University Minimization of Two-Level Functions Goals: Minimize cover cardinality Minimize number

More information

Lecture (05) Boolean Algebra and Logic Gates

Lecture (05) Boolean Algebra and Logic Gates Lecture (05) Boolean Algebra and Logic Gates By: Dr. Ahmed ElShafee ١ Minterms and Maxterms consider two binary variables x and y combined with an AND operation. Since eachv ariable may appear in either

More information

Boolean Algebra and Logic Gates

Boolean Algebra and Logic Gates Boolean Algebra and Logic Gates Binary logic is used in all of today's digital computers and devices Cost of the circuits is an important factor Finding simpler and cheaper but equivalent circuits can

More information

www.vidyarthiplus.com Question Paper Code : 31298 B.E./B.Tech. DEGREE EXAMINATION, NOVEMBER/DECEMBER 2013. Third Semester Computer Science and Engineering CS 2202/CS 34/EC 1206 A/10144 CS 303/080230012--DIGITAL

More information

2.1 Binary Logic and Gates

2.1 Binary Logic and Gates 1 EED2003 Digital Design Presentation 2: Boolean Algebra Asst. Prof.Dr. Ahmet ÖZKURT Asst. Prof.Dr Hakkı T. YALAZAN Based on the Lecture Notes by Jaeyoung Choi choi@comp.ssu.ac.kr Fall 2000 2.1 Binary

More information

Points Addressed in this Lecture. Standard form of Boolean Expressions. Lecture 4: Logic Simplication & Karnaugh Map

Points Addressed in this Lecture. Standard form of Boolean Expressions. Lecture 4: Logic Simplication & Karnaugh Map Points Addressed in this Lecture Lecture 4: Logic Simplication & Karnaugh Map Professor Peter Cheung Department of EEE, Imperial College London Standard form of Boolean Expressions Sum-of-Products (SOP),

More information

Combinational Logic Use the Boolean Algebra and the minimization techniques to design useful circuits No feedback, no memory Just n inputs, m outputs

Combinational Logic Use the Boolean Algebra and the minimization techniques to design useful circuits No feedback, no memory Just n inputs, m outputs Combinational Logic Use the Boolean Algebra and the minimization techniques to design useful circuits No feedback, no memory Just n inputs, m outputs and an arbitrary truth table Analysis Procedure We

More information

UNIT II. Circuit minimization

UNIT II. Circuit minimization UNIT II Circuit minimization The complexity of the digital logic gates that implement a Boolean function is directly related to the complexity of the algebraic expression from which the function is implemented.

More information

Definitions. 03 Logic networks Boolean algebra. Boolean set: B 0,

Definitions. 03 Logic networks Boolean algebra. Boolean set: B 0, 3. Boolean algebra 3 Logic networks 3. Boolean algebra Definitions Boolean functions Properties Canonical forms Synthesis and minimization alessandro bogliolo isti information science and technology institute

More information

END-TERM EXAMINATION

END-TERM EXAMINATION (Please Write your Exam Roll No. immediately) END-TERM EXAMINATION DECEMBER 2006 Exam. Roll No... Exam Series code: 100919DEC06200963 Paper Code: MCA-103 Subject: Digital Electronics Time: 3 Hours Maximum

More information

Synthesis and Optimization of Digital Circuits

Synthesis and Optimization of Digital Circuits Synthesis and Optimization of Digital Circuits Dr. Travis Doom Wright State University Computer Science and Engineering Outline Introduction Microelectronics Micro economics What is design? Techniques

More information

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:

More information

10EC33: DIGITAL ELECTRONICS QUESTION BANK

10EC33: DIGITAL ELECTRONICS QUESTION BANK 10EC33: DIGITAL ELECTRONICS Faculty: Dr.Bajarangbali E Examination QuestionS QUESTION BANK 1. Discuss canonical & standard forms of Boolean functions with an example. 2. Convert the following Boolean function

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011 FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level

More information