Optimizing High-Performance Digital Circuits in Energy Constrained Environment Vojin G. Oklobdzija ACSEL Laboratory University of California, Davis 4ème journées francophones d'études Faible Tension Faible Consommation Présentation Invité May 15, 2003
4ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité2 Objective Compare Energy-Delay parameters for several commonly used high-performance adder topologies. Determine which topology is the best for given Energy-Delay. Determine which topology can stretch the furthest in terms of speed or power. Develop an estimation tool which can provide those answers before design is committed.
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité3 Representative 64-b Adders Delay (Static CMOS design)
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité4 Realistic Design Decisions It is difficult to determine which design can provide most speed if energy is not constrained. Design can always be made faster by increasing power. However, there is a limit. Which design is fastest if power is no object ? Which design is fastest for a given power budget ? Which design works at the minimal power ?
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité5 Energy-Delay Space Energy Delay E min D min The only way to compare !
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité6 Design Objective Design takes time: –comparing designs afterward does not bring much value There is a disconnect between estimates used on algorithmic level and what is obtained when implementation is finished. We need a simple tool that can evaluate different design trade-offs (speed/power) before we commit to design.
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité7 Methodology Background “Back of the Envelope” complexity – Logical Effort method “Logical Effort” accuracy is not sufficient –We needed to extend and refine the method –However, that becomes more than “Back of the Envelope” Excel – a platform of choice: –Simple enough –Can provide relatively complex computation quickly –Easy to enter a given design For accuracy technology characterization is needed: –This needs to be done only once and should be available for every design afterwards
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité8 Delay in a Logic Gate Delay of a logic gate has two components d = f + p Logical effort describes relative ability of gate topology to deliver current (defined to be 1 for an inverter) Electrical effort is the ratio of output to input capacitance parasitic delay effort delay, stage effort f = gh logical effort electrical effort = C out /C in electrical effort is also called “fanout” *from Mathew Sanu / D. Harris
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité9 Logical Effort Parameters: Inverter d = gh + p Delay increases linearly with fanout More complex gates have greater g and p p=3.8ps (parasitic delay) Fanout: h =C in /C out Delay d=gh+p g=2.2 (logic effort) *from Mathew Sanu / D. Harris
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité10 Normalized Logical Effort: Inverter Define delay of unloaded inverter = 1 Define logical effort ‘g’ of inverter = 1 Delay of complex gates can be defined w.r.t d= parasitic delay effort delay Fanout: h = C out /C in Normalized delay: d inverter g = p = d = 1 1 gh + p = h+1 *from Mathew Sanu / D. Harris
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité11 Computing Logical Effort DEF:Logical effort is the ratio of the input capacitance to the input capacitance of an inverter delivering the same output current Measured from delay vs. fanout plots of simulated gates Or estimated, counting capacitance in units of transistor W *from Mathew Sanu / D. Harris
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité12 L.E for Adder Gates Logical effort parameters obtained from simulation for std cells Define logical effort ‘g’ of inverter = 1 Delay of complex gates can be defined w.r.t d=1 *from Mathew Sanu / D. Harris
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité13 Normalized L.E Logical effort & parasitic delay normalized to that of inverter Gate typeLogical Eff. (g) Parasitics (Pinv) Inverter11 Dyn. Nand Dyn. CM Dyn. CM-4N13.71 Static CM Mux XOR *from Mathew Sanu
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité14 Delay of a string of gates Delay of a path, D = d i = g i h i + p i g i & p i are constants To minimize path delay, optimal values of h i are to be determined D is minimized when each stage bears the same effort, i.e. g i h i = g i+1 h i+1 *from Mathew Sanu / D. Harris
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité15 Minimizing path delay Logical Effort of a string of gates: Path Electrical Effort: Branching Effort Path Branching Effort: Path Effort: F=GBH gigi G = C out(path) C in(path) H = hihi = bibi B = C on-path + C off-path C on-path b = Delay is minimized when each stage bears the same effort: f = g i h i = F 1/N The minimum delay of an N-stage path is: NF 1/N + P *from Mathew Sanu / D. Horowitz
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité16 Modeling interconnect cap. Include interconnect cap in branching factor C on-path + C off-path C on-path b = CM0 C off-path C on-path PG Adder bitpitch CM0 C int C on-path PG Adder bitpitch C off-path = 2 C on-path + C off-path +C int C on-path b = = 2+ C int C on-path = 2 + I I : % int. cap to gate cap in 1 adder bitpitch
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité17 Correction on Branching g0g1 g2g3 Logical Effort assumes the “branching” factor of this circuit to be 2. This is incorrect and can create significant inaccuracies
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité18 f 0 = f 1, f 2 = f 3 T d1 = (f 0 + f 1 + parasitics) T d2 = (f 2 + f 3 + parasitics) g0g1 g2g3 Minimum Delay occurs when T d1 = T d2 Correction on Branching
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité19 “Real” Branching Calculation Branching only equals 2 when: This explains why we had to resort to Excel !
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité20 Technology Characterization
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité21 Characterization Setup Logical Effort Requirements: –Equalize input and output transitions. (We should also account for the input slope dependence of delay) Logical Effort is characterized by varying the h (Cout/Cin) of a gate. By using a variable load of inverters each gate can be characterized over the same range of loads.
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité22 The Logical Effort of each gate is characterized for each input. Energy is characterized for each output transition of the gate caused by each input transition. i.e. for an inverter: energy is measured for t LH and t HL Characterization Setup
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité23 LE Characterization Setup for Static Gates Gate In t LH t HL Average Energy.. Variable Load
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité24 LE Characterization Setup for Dynamic Gates Gate In t HL Energy Variable Load
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité25 LE Table (Static CMOS) Technology: P/N Ratio = 2 INV = 3.67, p INV = 4.29 Measured on worst-case single-input switching
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité26 Static CMOS Gates: Delay Graphs
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité27 LE Table (Static CMOS, Pull-up) Technology: Measured on worst-case single-input switching Pull-up path only
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité28 Static Gates: Pull-up Delay Graph
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité29 LE Table (Dynamic CMOS) Technology: Minimum-sized keeper included Measured on all-input switching of worst path
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité30 LE Table (Dynamic CMOS)
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité31 Dynamic CMOS: Delay Graphs
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité32 Dynamic CMOS: Delay Graphs
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité33 Energy Calculation
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité34 Energy Calculation 8X Minimal Size Dyn-NAND 16X Minimal Size Dyn-NAND
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité35 Energy Calculation
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité36 Energy Calculation NAND-2
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité37 Energy Calculation NAND-2
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité38 Example: 64-Bit Adders Han-Carlson (prefix-2, HC2): Static and Dynamic Han-Carlson (prefix-2, HC2-2): Dynamic-Static Kogge-Stone (prefix-2, KS2): Static and Dynamic Kogge-Stone (prefix-2, KS2-2): Dynamic-Static Quaternary-Tree (prefix-2, QT2): Static and Dynamic Included wire delay, t delay = 0.7R wire C wire Included wire energy, E w = C wire V 2
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité39 Han-Carlson Adder: Circuits
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité40 Han-Carlson Adder: Diagram
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité41 Han-Carlson Adder: Critical Path
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité42 Han-Carlson: Logical Effort Delay
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité43 Koggie-Stone Adder: Circuits
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité44 Koggie-Stone Adder: Diagram
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité45 Koggie-Stone Adder: Critical Path
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité46 Koggie-Stone Adder: Logical Effort Delay Calculation
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité47 Quaternary-Tree Adder: Circuits *from Mathew Sanu, Intel AMR
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité48 Quaternary-Tree Adder: Diagram 12b b0b2b4b6 b57b59b61b63 C 15 C 31 C 47 Int. Carry Genr C 19 C 23 C 27 C3C3 C7C7 C 11 C 35 C 39 C 43 C 51 C 55 C 59 Int. Carry Genr Sum[63:60] 4-bit Sum Genr Sum[47:44] 4-bit Sum Genr Sum[31:28] 4-bit Sum Genr Sum[15:12] 4-bit Sum Genr C in C 31 C 47 C 15 4-bit Sum Genr Sum[3:0] 16b 8b 4b 2b *from Mathew Sanu, Intel AMR
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité49 Quaternary-Tree Adder: Logical Effort Delay Calculation
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité50 Quaternary-Tree Adder: Logical Effort Delay Calculation
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité51 Simulation
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité52 Adder S0 S63 A0 A63 C wire Test Setup 1mm wire H=(Cin + Cwire)/Cin
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité53 Wire Load Explanation The Wire load is expressed in terms of the input gate capacitance. For a 1mm wire: –If the input gates are minimum size, then the wire load is roughly 80x the min. size inverter input cap (or H is roughly 80 in the worst case).
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité54 Kogge-Stone Adder (2-2) Analysis
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité55 Results The results are shown for a Kogge-Stone prefix 2 (2-2) adder with H=1 No internal wiring is included. Measured delay is worst case delay from Clk to S.
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité56 Estimation vs. Simulation Simple model (w/o branch correction)
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité57 Energy-Delay Calculation
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité58 KS-2-2 dynamic Complete model (w/ branch correction)
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité59 Energy-Delay Estimates
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité60 Adders: Energy Dynamic: KS, HC Static Dynamic-Static QT KS HC
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité61 Energy-Delay comparison of 64-bit KS, HC and QT adders
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité62 Adders: Critical Path Energy QT dynamic-static HC dynamic QT static KS dynamic-static HC-dynamic KS dynamic HC-static KS-static
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité63 Intel 32-bit Adder 0.13u 1.2V [VLSI-2002] QT KS KS estimated QT Estimated
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité64 Energy-Delay comparison of 32-bit QT and KS adders: estimated vs. simulation in 0.10mm technology
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité65 Energy-Delay Space LE does not provide energy optimization Our new results can save ~30-50% energy
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité66 Simulated Energy-Delay for 2 Adders H-SPICE confirms potential energy savings saving
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité67 Estimated Energy-Delay for 2 Adders Static prefix-2 Kogge-Stone & Han-Carlson Can save ~40% energy on average saving
May 15, 20034ème journées francophones d'études: Faible Tension Faible Consommation, Présentation Invité68 Conclusion Relaxing delay constraint for a small amount can result in huge energy saving. –This is very dependent on where design point is on the Energy-Delay curve (“Hardware Intensity” V. Zyban) We demonstrated our findings by simulation and confirmed by matching against measured results We developed a tool for estimation of design trade-offs –The tool is important at the beginning of the design We found that a topology that is good for low- power is not necessarily the most efficient for speed and vice versa We are developing adder topologies suitable for both.