csee 6861 cad of digital systems
play

CSEE 6861 CAD of Digital Systems Handout: Lecture #5 2/18/16 Prof. - PDF document

CSEE 6861 CAD of Digital Systems Handout: Lecture #5 2/18/16 Prof. Steven M. Nowick nowick@cs.columbia.edu Department of Computer Science (and Elect. Eng.) Columbia University New York, NY, USA ESPRESSO: Advanced Steps (i) Essentials #2


  1. CSEE 6861 CAD of Digital Systems Handout: Lecture #5 2/18/16 Prof. Steven M. Nowick nowick@cs.columbia.edu Department of Computer Science (and Elect. Eng.) Columbia University New York, NY, USA ESPRESSO: Advanced Steps (i) Essentials #2 (ii) MAKE-SPARSE 1

  2. ESPRESSO: “Essentials #2” Step generating all essentials when not given all primes “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f (prime cover = cover using only prime implicants, i.e. fully-expanded cubes) Q1. Does the cover include all essentials? wx A 00 01 11 10 � yz 1 1 0 0 00 C 0 B 1 1 0 01 0 0 1 1 11 D 0 0 0 0 10 #4 2

  3. “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q1. Does the cover include all essentials? wx A1. YES! Every prime cover F of a A 00 01 11 10 � yz function f includes all its essentials 1 1 0 0 00 C 0 1 1 0 B 01 0 0 1 1 11 D 0 0 0 0 10 #5 “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A 00 01 11 10 � yz 1 1 0 0 00 C 0 B 1 1 0 01 0 0 1 1 11 D 0 0 0 0 10 #6 3

  4. “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A 00 01 11 10 � yz Note: cover F does not necessarily 1 1 0 0 00 include all primes! C 0 1 1 0 B 01 0 0 1 1 11 missing prime! D 0 0 0 0 10 #7 “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A 00 01 11 10 � yz 1 1 0 0 00 C 0 B 1 1 0 essentials 01 0 0 1 1 11 D 0 0 0 0 10 #8 4

  5. “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A 00 01 11 10 � yz 1 1 0 0 00 C 0 1 1 0 B not essentials 01 0 0 1 1 11 D 0 0 0 0 10 #9 “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx … how to identify all essentials when A 00 01 11 10 � yz cover F does not include all primes? 1 1 0 0 00 C 0 B 1 1 0 not essentials 01 0 0 1 1 11 D 0 0 0 0 10 #10 5

  6. “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A 00 01 11 10 � yz CASE ANALYSIS: 1 1 0 0 00 3 types of minterms in cubes C 0 1 1 0 B 01 0 0 1 1 11 D 0 0 0 0 10 #11 “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A 00 01 11 10 � yz CASE ANALYSIS: 1 1 0 0 00 3 types of minterms in cubes C 0 B 1 1 0 01 Each ON-set minterm is: 0 0 1 1 (i) covered by 2 or more cubes 11 D 0 0 0 0 10 #12 6

  7. “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A 00 01 11 10 � yz CASE ANALYSIS: 1 1 0 0 00 3 types of minterms in cubes C 0 1 1 0 B 01 Each ON-set minterm is: 0 0 1 1 (i) covered by 2 or more cubes 11 D (ii) covered by only 1 cube 0 0 0 0 10 #13 “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A 00 01 11 10 � yz CASE ANALYSIS: 1 1 0 0 00 3 types of minterms in cubes C 0 B 1 1 0 01 Each ON-set minterm is: 0 0 1 1 (i) covered by 2 or more cubes 11 D (ii) covered by only 1 cube 0 0 0 0 10 2 sub-cases: … #14 7

  8. “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A 00 01 11 10 � yz CASE ANALYSIS: 1 1 0 0 00 3 types of minterms in cubes C 0 1 1 0 B 01 Each ON-set minterm is: (i) covered by 2 or more cubes 0 0 1 1 11 (ii) covered by only 1 cube D 0 0 0 0 10 2 sub-cases: … (a) ON-set minterm “isolated”: no neighboring cubes (only OFF-set) #15 “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A 00 01 11 10 � yz CASE ANALYSIS: 1 1 0 0 00 3 types of minterms in cubes C 0 B 1 1 0 01 Each ON-set minterm is: (i) covered by 2 or more cubes 0 0 1 1 11 (ii) covered by only 1 cube D 0 0 0 0 10 2 sub-cases: … (b) ON-set minterm not “isolated”: has neighboring adjacent cube(s) #16 8

  9. “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A Test for Case #2(b): 00 01 11 10 � yz not in “isolated regions” = 1 1 0 0 00 has neighboring cubes C 0 1 1 0 B 01 Grow “consensus” cubes: … between each adjacent cube pair 0 0 1 1 11 D 0 0 0 0 10 #17 “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A Test for Case ii(b): 00 01 11 10 � yz not in “isolated regions” = 1 1 0 0 00 Has Cube Neighbors C 0 B 1 1 0 01 Grow “consensus” cubes: … between each adjacent cube pair 0 0 1 1 11 [“adjacent” = distance-1] D 0 0 0 0 10 X = CONSENSUS (cube B, cube C) #18 9

  10. “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx Test for Case #2(b): A 00 01 11 10 � yz not in “isolated regions” = 1 1 0 0 00 Has Cube Neighbors C 0 1 1 0 B 01 Intuition: experiment to “grow” missing implicants 0 0 1 1 11 - Consensus cube = “seed” which spans D gap between adjacent cube pair 0 0 0 0 (non-intersecting) 10 - Idea: used to LOCALLY generate the “core” of missing primes in cover X = CONSENSUS (cube B, cube C) (consensus often is non-prime) #19 “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A 00 01 11 10 � yz A2. If a cube w in cover F is not entirely 1 1 0 0 00 covered by the union of: (i) the set of other cubes in cover, and C 0 B 1 1 0 01 (ii) the set of consensus cubes (i.e seeds of missing primes) 0 0 1 1 11 then it is essential! D 0 0 0 0 10 X = CONSENSUS (cube B, cube C) #20 10

  11. “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A A2. If a cube w in cover F is not entirely 00 01 11 10 � yz covered by the union of: 1 1 0 0 00 (i) the set of other cubes in cover, and (ii) the set of consensus cubes (i.e seeds C 0 1 1 0 B 01 of missing primes) then it is essential! 0 0 1 1 11 D 0 0 0 0 10 EXAMPLE #1: Cube A Essential X = CONSENSUS (cube B, cube C) #21 “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A A2. If a cube w in cover F is not entirely 00 01 11 10 � yz covered by the union of: 1 1 0 0 00 (i) the set of other cubes in cover, and (ii) the set of consensus cubes (i.e seeds C 0 B 1 1 0 01 of missing primes) then it is essential! 0 0 1 1 11 D 0 0 0 0 10 EXAMPLE #2: Cube C Not Essential X = CONSENSUS (cube B, cube C) #22 11

  12. “ Essentials #2 ” Step Example: given any “prime cover” F of a Boolean function f Q2. Which cubes in the cover are essential? wx A2. Algorithmic Formulation*: ESSEN #2 A 00 01 11 10 � yz Given cover F, including cube ‘e’ (to check 1 1 0 0 00 if e essential): 1. Remove ‘e’ from F: C 0 1 1 0 B G = F – {e} 01 2. Compute consensus of ‘e’ and each cube 0 0 1 1 in G: 11 H = consensus{e, G} D 3. Formulate containment problem: 0 0 0 0 10 Check if e <= G U H *equivalent to Hachtel/Somenzi, Theorem 5.4.1 (p. 204) X = CONSENSUS (cube B, cube C) #23 ESPRESSO: “Make-Sparse” Step 12

  13. Multi-Output Minimization: Example #1 Multi-Output Function f1 f2 z y x #25 Multi-Output Minimization: Example #1 Cover #1A: min-cost cover, using ONLY multi-output primes f1 f2 A C z y x B D #26 13

  14. Multi-Output Minimization: Example #1 Cover #1A: using ONLY multi-output primes f1 f2 A multi-output C prime output part input part z x y z f1 f2 y 0 1 - 1 0 x B D 1 0 - 1 0 x ’ A 1 0 1 1 1 y x f1 B 0 0 0 0 1 y ’ multi-output prime x PLA Representation of Cover C y ’ = “ cubical complex ” z x ’ f2 D y ’ COST = 15 gate inputs z ’ corresponding 2-level implementation #27 Multi-Output Minimization: Example #1 Cover #1B: using some NON-PRIMES! f1 f2 A NOT a multi-output prime C input part output part z x y z f1 f2 y 0 1 - 1 0 x B D 1 0 - 1 0 x ’ A y 1 0 1 0 1 f1 x 0 0 0 0 1 B y ’ NOT a multi-output prime x PLA Representation of Cover C y ’ = “ cubical complex ” z x ’ f2 D y ’ COST = 14 gate inputs = better! z ’ corresponding 2-level implementation #28 14

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend