RTL Guidelines for Static Power Reduction
Total Page:16
File Type:pdf, Size:1020Kb
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO RTL Guidelines for Static Power Reduction Ciro de Moura Monteiro Mestrado Integrado em Engenharia Eletrotécnica e de Computadores Synopsys Supervisor: Hélder Silva FEUP Supervisor: José Carlos Alves July 27, 2016 c Ciro de Moura Monteiro, 2015 Resumo Nos dias que correm, com o crescimento de aparelhos portáteis, operados por baterias de capacidade limitada, é importante uma boa gestão de energia para garantir o maior período de operação possível. O consumo dinâmico de energia foi em tempos uma das maiores considerações a ter no design de circuitos para baixo consumo de energia, mas hoje em dia, algumas técnicas de redução de consumo dinâmico são aplicadas automaticamente pelas ferramentas. Cada vez se conseguem produzir circuitos integrados com mais transístores e até mesmo com transístores mais pequenos. No entanto, daí advém também o problema do aumento nas correntes de fuga. Uma abordagem possível para tentar reduzir o efeito da potência estática consumida pelas correntes de fuga destes circuitos é apelidada de power gating. Power gating consiste no uso de transístores como interruptores para ligar e desligar a alimen- tação de partes de um circuito integrado. Para tal, podem ser usados transístores de cabeçalho ou transístores de rodapé, cada um com as suas vantagens e desvantagens. i ii Abstract In today’s world, we are witnessing a growth in battery operated portable devices, that require smart power choices due to their limited battery life. Dynamic power consumption has been a major consideration when designing power aware devices, but some dynamic power savings are already automatically introduced by the designing tools. Current technology has evolved into having smaller transistors and that enables building chips with bigger transistor density. With this technology, new problems arise, as the existence of higher leakage currents. These may or may not be resolved by power reduction techniques, as not all of them are leakage oriented. One possible solution for this problem would be the power gating technique. Power Gating consists in using switching transistors to control the power supply of certain areas of the circuit. This power reduction technique allows the use of header or footer transistor, each one with its benefits and disadvantages. iii iv Agradecimentos Gostava de deixar um agradecimento... Em especial ao Hélder Silva e Athul Stripad por me acompanharem todas as semanas e aju- darem em algumas decisões importantes. Ao professor José Carlos Alves por me orientar neste trabalho, e me ajudar a tomar decisões. Ao Nelson Eira pela paciência para me explicar o funcionamento dos scripts utilizados pelo ambiente de implementação. À empresa Synopsys pela possibilidade que me foi dada em fazer este projecto de dissertação em ambiente empresarial. À minha família por me ajudar a crescer. À Susana Carvalho por me ajudar a escolher a minha especialização, da qual fiquei a gostar. À Inês Teixeira e Gabriel Ribeiro por me ajudarem com o meu inglês. A todos os meus outros amigos pela paciência para me aturarem. E por fim à FEUP e aos seus professores por me ajudarem na minha formação. Ciro de Moura Monteiro v vi “Laugh and the world laughs with you. Snore and you sleep alone” Anthony Burgess vii viii Contents 1 Introduction1 1.1 Context . .2 1.2 Motivation . .2 1.3 Objectives . .3 1.4 Power Gating . .3 1.5 EDA Team Organisation . .4 1.6 Structure . .5 2 Related Work7 2.1 Power Consumption . .7 2.1.1 Power and Energy . .8 2.1.2 Dynamic Power . 10 2.1.3 Static Power . 11 2.2 Power Gating . 14 2.2.1 Consideration . 15 2.2.2 Header vs Footer Switching . 15 2.2.3 Fine Grain vs Coarse Grain . 17 2.2.4 Power Intent Languages . 20 2.2.5 UPF . 20 3 Design Flow 33 3.1 Flow Without Power . 34 3.1.1 Synthesis . 35 3.2 UPF flow . 36 3.2.1 Voltage Aware Synthesis . 37 3.3 Power Analysis . 37 4 Implementation 41 4.1 Steps taken . 41 4.2 Obstacles . 43 4.3 Power Management Unit . 44 4.4 Final Result . 45 4.4.1 Power Architecture . 46 4.5 Verification . 46 5 Results 49 5.1 Power Reduction Outcome . 49 5.2 Guidelines . 51 ix x CONTENTS 5.3 Alternatives . 52 6 Conclusion 55 6.1 Future Work . 55 References 57 List of Figures 2.1 High power consumption . .9 2.2 Low power consumption . .9 2.3 Power consumption on a CMOS inverter. Source: [1]............... 10 2.4 Inverter . 10 2.5 Clock Gating Cell . 11 2.6 Summary of leakage currents of deep-submicrometer transistors. Source: [2].. 12 2.7 Sub-threshold leakage path in a CMOS inverter . 12 2.8 Header switching . 16 2.9 Footer switching . 16 2.10 Fine grain and cell . 17 2.11 Fine grain and cell with isolation clamp transistor . 18 2.12 Fine grain header switching and cell with isolation clamp transistor . 19 2.13 Companies involved in IEEE P1801 working group. Source [3]. 21 2.14 Example of power domains. 22 2.15 Isolation cell between power domains . 23 2.16 State Retention Isolation. Source: [4]....................... 24 2.17 Power domain with heterogeneous fan-out . 25 2.18 Retention register. Source: [4]........................... 26 2.19 Enable Level Shifter Example . 27 2.20 Header switch cell . 28 2.21 Isolation on input of heterogeneous fan-out . 29 2.22 Redundant isolation . 30 2.23 Output isolation . 30 3.1 UPF tool flow. Source: [5]............................. 33 3.2 Design flow for multi-voltage, power gated designs. Source: [4]......... 34 4.1 Basic representation of the module used. 42 4.2 Function State Machine. 45 4.3 Block representation of the power domains . 47 xi xii LIST OF FIGURES List of Tables 2.1 Main parameter for the seven-metal-layer 90-nm CMOS technology node. Source: [6].......................................... 13 2.2 Example of PST . 31 4.1 EDMA power state table . 43 4.2 Edma power state table . 46 5.1 Power during activity. 50 5.2 Power consumption related to current implementation, during activity. 50 5.3 Power consumption during full simulation. 51 5.4 Power consumption for a full simulation, write traffic. 51 5.5 Power consumption for a full simulation, read traffic. 51 5.6 Relative power consumption for a full write simulation. 51 xiii xiv LIST OF TABLES Symbols and Abbreviations CAD Computer-Aided Design CPF Common Power Format CTS Clock Tree Synthesis DC Design Compiler DFT Compiler Design-for-test Compiler DMA Direct Memory Access DRC Design Rule Check DVE Debugging and Visualisation Environment DVFS Dynamic Voltage and Frequency Scaling DVS Dynamic Voltage Scaling EDA Electronic Design Automation eDMA Embedded DMA FET Field Effect transistor GIDL Gate Induced Drain Leakage HDL Hardware Description Language IC Integrated Circuit IEEE Institute of Electrical and Electronics Engineers IoE Internet of Everything IoT Internet of Things IP Intellectual Property IP Intellectual Property IR drop Voltage drop due to energy losses in a resistive path MOS Metal–Oxide–Semiconductor MTCMOS Multi-Threshold CMOS MVSIM Multi-Voltage Simulation NLP Native Low Power NMOS N channel MOSFET PG Power and Ground PMU Power Management Unit PST Power State Table PVT Process, Voltage, Temperature QoR Quality of Results RCE Regression Control Environment RTL Register Transfer Level SAIF Switching Activity Interchange format SDC Synopsys Design Constraints SI International System of Units (Système international d’unités) SI2 Silicon Integration Initiative xv xvi SYMBOLS AND ABBREVIATIONS SoC System on a Chip SPEF Standard Parasitic Exchange Format TCL Tool Command Language UPF Unified Power Format UVM Universal Verification Methodology VC LP Verification Compiler Low Power VCD IEEE Standard 1364-1995, Value Change Dump VCS Verilog Compiled code Simulator VHDL VHSIC Hardware Description Language VHSIC Very High Speed Integrated Circuit VIP Verification IP/Verification Link Partner VLSI Very-Large-Scale Integration VPD VCD Plus VTB Verilog Test Bench WWW World Wide Web Concepts Clock Gating Technique to reduce clock activity Power Density Power consumed by area Power Gating Cutting power using a switch Power Island Island that kept ON inside power domain that is OFF Shadow Registers Register used to store data in sleep mode VDD Positive voltage rail VSS Negative voltage rail/Reference voltage xvii Chapter 1 Introduction Energy efficiency is a very important aspect of electronic circuit design nowadays. Just a few decades ago, designers used to focus only in having a working chip, and power consumption was not a primary design concern. The requirements for portability, mobility or battery dependency were very infrequent and the early CMOS technologies for digital electronics were sufficiently constrained in terms of power consumption. Then, as technology evolved, transistors size de- creased, making it possible to fit more of them in one die, and so, power consumption gained importance. Nonetheless, only dynamic power seemed to matter, due to the fact that for CMOS technology above 130nm leakage is negligible [4]. Nowadays, power is more important than ever, especially for battery operated and mobile devices. Power hungry chips tend to have high power density, which generates a lot of heat for a small dissipation area. This raises power dissipation issues, requires expensive cooling systems and may cause chip lifetime reduction. Due to environmental concerns, there is an interest on reducing power consumption from devices in an effort of reducing pollution and power wasted without activity. Systems may have most of their modules idling, consuming power without executing any operation. Chips should idle efficiently, to reduce the energy consumed on their operation. In the last years, portability and mobility have gained a still growing importance, and in that field, power consumption is of paramount importance. For example, there is a significant inconve- nience for users if portable equipments have to be constantly charged.