Επιλογή του μεγέθους των πυλών Logical effort
Ορισμοί d = g h + p σχετική καθυστέρηση
d = g h + p Ορισμοί Τύπος παρασιτικά NOT pinv n-NAND n pinv Τύπος παρασιτικά NOT pinv n-NAND n pinv n-NOR n pinv n-MUX 2n pinv XOR 4 pinv XNOR 4 pinv παρασιτική καθυστέρηση
Ορισμοί d = g h + p electrical effort (Cout/Cin)
d = g h + p Ορισμοί Ο λόγος της χωρητικότητας εισόδου της πύλης ως προς τη χωρητικότητα εισόδου ενός αντιστροφέα που έχει την ίδια ικανότητα οδήγησης logical effort
Ορισμοί d = g h + p stage effort (f)
Logical effort κατά τύπο πύλης Αριθμός εισόδων Τύπος πύλης 1 2 3 4 5 n NOT 1 NAND 4/3 5/3 6/3 7/3 (n+2)/3 NOR 5/3 7/3 9/3 11/3 (2n+1)/3 MUX 2 2 2 2 2 XOR 4 12 32
Καθυστέρηση μιας διαδρομής (path) F = G B H branching effort D = Σ gihi + Σ pi
Όταν όλες οι πύλες έχουν το ίδιο stage effort Βέλτιστη λύση Όταν όλες οι πύλες έχουν το ίδιο stage effort fopt = gihi = F1/N D = NF1/N + P
Υπολογισμός καθυστέρησης Vdd tr = 2R/2 * (CL + CP) 2 in out CL tf = R * (CL + CP) 1 Cin Gnd CP = 3C Cin = 3C
Υπολογισμός καθυστέρησης Vdd Χωρίς φορτίο ... 2 in out CL 1 Cin Gnd
Υπολογισμός καθυστέρησης Vdd tr = 2R/2 * (3C) 2 in out CL = 0 1 tr = R * (3C) Cin Gnd
Υπολογισμός καθυστέρησης Vdd Οδηγώντας μια ίδια πύλη ... 2 in out CL 1 Cin Gnd
Υπολογισμός καθυστέρησης Vdd Vdd tr = 2R/2 * (6C) 2 2 in CL 1 1 tr = R * (6C) Cin Gnd
Με τη μέθοδο του logical effort d = g * h + p Αφού οδηγείται η ίδια πύλη τότε Cin = CL και συνεπώς h = 1. d = 1 * 1 + 1 Αντιστροφέας g = 1 και p = 1.
Με τη μέθοδο του logical effort d = g * h + p Αφού οδηγείται η ίδια πύλη τότε Cin = CL και συνεπώς h = 1. d = 1 * 1 + 1 Αντιστροφέας g = 1 και p = 1. = 2
Πύλη NAND 2 2 2 Cp CL Cx 2
Πύλη NAND 2 2 Cin = 4C 2 6C CL 4C 2
Πύλη NAND Η πύλη NOT έχει Cin = 3 2 2 Cin = 4C 2 6C CL 4C 2
Πύλη NAND Άρα g = 4/3 2 2 Cin = 4C 2 6C CL 4C 2
Πύλη NAND Άρα g = 4/3 2 2 Cin = 4C 2 6C CL 4C 2
Υπολογισμός παρασιτικών P = 6C = 2 2 2 2 6C CL 4C 2
Υπολογισμός καθυστέρησης p = 2 n = 1 p = 8 n = 4 CL
Υπολογισμός καθυστέρησης p = 2 n = 1 p = 8 n = 4 3C Cin,1 = 3C Cin,2 = 3C Cin,3 = 12C g1 = 1 g2 = 1 g3 = 1 h1 = 1 h2 = 4 h3 = 0.25
Υπολογισμός καθυστέρησης 3C g1 = 1 g2 = 1 g3 = 1 h1 = 1 h2 = 4 h3 = 0.25 p1 = 1 p2 = 1 p3 = 1
Υπολογισμός καθυστέρησης d1 = g1 * h1 + p1 = 1 * 1 + 1 = 2 3C g1 = 1 g2 = 1 g3 = 1 h1 = 1 h2 = 4 h3 = 0.25 p1 = 1 p2 = 1 p3 = 1
Υπολογισμός καθυστέρησης d1 = 2 d2 = g2 * h2 + p2 = 1 * 4 + 1 = 5 3C g1 = 1 g2 = 1 g3 = 1 h1 = 1 h2 = 4 h3 = 0.25 p1 = 1 p2 = 1 p3 = 1
Υπολογισμός καθυστέρησης d1 = 2 d2 = 5 d3 = g3 * h3 + p3 = 1 * 0.25 + 1 = 1.25 3C g1 = 1 g2 = 1 g3 = 1 h1 = 1 h2 = 4 h3 = 0.25 p1 = 1 p2 = 1 p3 = 1
Υπολογισμός καθυστέρησης d1 = 2 d2 = 5 d3 = 1.25 D = Σdi = 8.25 Είναι η καθυστέρηση η μικρότερη δυνατή; ΟΧΙ! 3C g1 = 1 g2 = 1 g3 = 1 h1 = 1 h2 = 4 h3 = 0.25 p1 = 1 p2 = 1 p3 = 1
Βέλτιστη καθυστέρηση F = GBH = 1 fopt = F1/N = 1 G = g1 * g2 * g3 = 1 fopt = gi * hi => hi = 1 H = h1 * h2 * h3 = 1 3C g1 = 1 g2 = 1 g3 = 1 h1 = ? h2 = ? h3 = ? p1 = 1 p2 = 1 p3 = 1
Βέλτιστη καθυστέρηση F = GBH = 1 fopt = F1/N = 1 G = g1 * g2 * g3 = 1 fopt = gi * hi => hi = 1 H = h1 * h2 * h3 = 1 3C g1 = 1 g2 = 1 g3 = 1 h1 = 1 h2 = 1 h3 = 1 p1 = 1 p2 = 1 p3 = 1
Υπολογισμός καθυστέρησης d1 = 2 d2 = 2 d3 = 2 D = Σdi = 6 di = gi * hi + pi = 1 * 1 + 1 = 2 28% 3C g1 = 1 g2 = 1 g3 = 1 h1 = 1 h2 = 1 h3 = 1 p1 = 1 p2 = 1 p3 = 1 Dopt = N * F1/N + P = 3 * 1 + 3 = 6
Υπολογισμός βέλτιστων μεγεθών p = 2 n = 1 3C g1 = 1 g2 = 1 g3 = 1 h1 = 1 h2 = 1 h3 = 1 p1 = 1 p2 = 1 p3 = 1
Υπολογισμός βέλτιστων μεγεθών p = 2 n = 1 3C g1 = 1 g2 = 1 g3 = 1 h1 = 1 h2 = 1 h3 = 1 p1 = 1 p2 = 1 p3 = 1
Υπολογισμός βέλτιστων μεγεθών p = 2 n = 1 3C g1 = 1 g2 = 1 g3 = 1 h1 = 1 h2 = 1 h3 = 1 p1 = 1 p2 = 1 p3 = 1
Βέλτιστη καθυστέρηση F = GBH = 8 fopt = F1/N = 2 G = g1 * g2 * g3 = 1 fopt = gi * hi => hi = 2 H = h1 * h2 * h3 = 8 24C g1 = 1 g2 = 1 g3 = 1 h1 = ? h2 = ? h3 = ? p1 = 1 p2 = 1 p3 = 1
Βέλτιστη καθυστέρηση F = GBH = 8 fopt = F1/N = 2 G = g1 * g2 * g3 = 1 fopt = gi * hi => hi = 2 H = h1 * h2 * h3 = 8 24C g1 = 1 g2 = 1 g3 = 1 h1 = 2 h2 = 2 h3 = 2 p1 = 1 p2 = 1 p3 = 1
Υπολογισμός καθυστέρησης d1 = 3 d2 = 3 d3 = 3 D = Σdi = 9 di = gi * hi + pi = 1 * 2 + 1 = 3 24C g1 = 1 g2 = 1 g3 = 1 h1 = 2 h2 = 2 h3 = 2 p1 = 1 p2 = 1 p3 = 1
Υπολογισμός βέλτιστων μεγεθών p = 2 n = 1 p = 4 n = 2 p = 8 n = 4 24C g1 = 1 g2 = 1 g3 = 1 h1 = 2 h2 = 2 h3 = 2 p1 = 1 p2 = 1 p3 = 1
Υπολογισμός βέλτιστων μεγεθών p = 2 n = 1 p = 4 n = 2 p = 8 n = 4 24C g1 = 1 g2 = 1 g3 = 1 h1 = 2 h2 = 2 h3 = 2 p1 = 1 p2 = 1 p3 = 1
Υπολογισμός βέλτιστων μεγεθών p = 2 n = 1 p = 4 n = 2 p = 8 n = 4 24C g1 = 1 g2 = 1 g3 = 1 h1 = 2 h2 = 2 h3 = 2 p1 = 1 p2 = 1 p3 = 1
Πύλες NAND δύο εισόδων Cin Cin H = 1 y z g1 = 4/3 g2 = 4/3 g3 = 4/3 p1 = 2 p2 = 2 p3 = 2
Πύλες NAND δύο εισόδων Cin Cin Dopt = N * F1/N + P = 3 * 4/3 + 6 = 10 y z Cin F = GBH = (4/3)3 fopt = F1/N = 4/3 G = g1 * g2 * g3 = (4/3)3 fopt = gi * hi => hi = 1 H = h1 * h2 * h3 = 1
Branching effort 4.5C C 4.5C 4.5C
Branching effort b1 = 2 b2 = 3
Branching effort b1 = 2 b2 = 3
Branching effort Dopt = N * F1/N + P = 3 * 4 + 6 = 18 F = GBH = 64 fopt = F1/N = 4 G = g1 * g2 * g3 = (4/3)3 fopt = g3 * h3 => h3 = 3 H = h1 * h2 * h3 = 4.5 fopt = g2 * h2 => h2 = 3
Branching effort Dopt = N * F1/N + P = 3 * 4 + 6 = 18 F = GBH = 64 y z Dopt = N * F1/N + P = 3 * 4 + 6 = 18 F = GBH = 64 fopt = F1/N = 4 G = g1 * g2 * g3 = (4/3)3 fopt = g3 * h3 => z = 1.5C H = h1 * h2 * h3 = 4.5 fopt = g2 * h2 => y = 1.5C
Διαδρομές διαφορετικών πυλών g = 1 p = 1 g = 5/3 p = 2 g = 4/3 p = 2 g = 1 p = 1 x y z 2C
Διαδρομές διαφορετικών πυλών Dopt = N * F1/N + P = 4 * 1.45 + 6 = 11.8 F = GBH = 40/9 fopt = F1/N = 1.45 G = g1 * g2 * g3 * g4 = 20/9 fopt = g4 * h4 => z = 1.4C H = h1 * h2 * h3 * h4 = 2 fopt = g3 * h3 => y = 1.3C fopt = g2 * h2 => x = 1.5C
Βέλτιστος αριθμός επιπέδων Dopt = N * F1/N + P 26 11.8 14.5 25C 25C 25C
Βέλτιστος αριθμός επιπέδων Dopt = N * F1/N + P 26 25C 11.8 25C 14.5 25C
Βέλτιστη τοπολογία Υλοποίηση AND δύο εισόδων
Βέλτιστη τοπολογία Υλοποίηση AND δύο εισόδων g = 4/3 p = 2 Dopt = 2 * (4/3)1/2 + 3 = 5.31 Dopt = 2 * (5/3)1/2 + 3 = 5.58 g = 1 p = 1 g = 1 p = 1 g = 5/3 p = 2
Πύλη AND οκτώ εισόδων (Α) g = 10/3 p = 8 g = 1 p = 1 Dopt,Α = 2 * (3.33Η)1/2 + 9
Πύλη AND οκτώ εισόδων (Β) g = 2 p = 4 g = 5/3 p = 2 Dopt,Β = 2 * (3.33Η)1/2 + 6
Πύλη AND οκτώ εισόδων (C) g = 4/3 p = 2 g = 5/3 p = 2 g = 4/3 p = 2 g = 1 p = 1 Dopt,C = 4 * (2.96Η)1/4 + 7
Πύλη AND οκτώ εισόδων (D) g = 2 p = 4 g = 1 p = 1 g = 4/3 p = 2 g = 1 p = 1 Dopt,D = 4 * (2.66Η)1/4 + 8
Πύλη AND οκτώ εισόδων Dopt,Α = 2 * (3.33Η)1/2 + 9 Η επιλογή Β είναι πάντοτε καλύτερη από την επιλογή Α Για μικρά Η διαλέγουμε τη Β και για μεγάλα Η διαλέγουμε το C Dopt,Α = 2 * (3.33Η)1/2 + 9 Dopt,Β = 2 * (3.33Η)1/2 + 6 Dopt,C = 4 * (2.96Η)1/4 + 7 Για πολύ μεγάλα Η είναι καλύτερη η D αλλά τότε χρησιμοποιούμε περισσότερα επίπεδα. Dopt,D = 4 * (2.66Η)1/4 + 8
Πύλη AND οκτώ εισόδων Dopt,Α = 2 * (3.33Η)1/2 + 9 Η επιλογή Β είναι πάντοτε καλύτερη από την επιλογή Α Για μικρά Η διαλέγουμε τη Β και για μεγάλα Η διαλέγουμε το C Dopt,Α = 2 * (3.33Η)1/2 + 9 Dopt,Β = 2 * (3.33Η)1/2 + 6 Dopt,C = 4 * (2.96Η)1/4 + 7 Για πολύ μεγάλα Η είναι καλύτερη η D αλλά τότε χρησιμοποιούμε περισσότερα επίπεδα. Dopt,D = 4 * (2.66Η)1/4 + 8