Challenges with Power Aware Simulation and Verification Methodologies

Similar documents
Power Aware Libraries: Standardization and Requirements for Questa Power Aware

Power Aware Models: Overcoming barriers in Power Aware Simulation

Failing to Fail: Achieving Success in Advanced Low Power Design using UPF

Part I: Power Aware Static Verification From Power Intent to Microarchitectural Checks of Low-Power Designs

Refining Successive Refinement. Desinghu PS, Adnan Khan - ARM Ltd UK Erich Marschner, Gabriel Chidolue Mentor Graphics

Low Power Emulation for Power Intensive Designs

Evolution of UPF: Getting Better All the Time

Stepping into UPF 2.1 world: Easy solution to complex Power Aware Verification. Amit Srivastava Madhur Bhargava

Real-life low power verification pitfalls, and UPF 1801 for a CPF user

Verifying a low power design

Next-generation Power Aware CDC Verification What have we learned?

Low-power Design with the New IEEE Standard

UPF GENERIC REFERENCES: UNLEASHING THE FULL POTENTIAL

Jianfeng Liu, Jaehan Jeon, Mi-Suk Hong, KyungTae Do, HyoSig Won, JungYun Choi, Kee Sup Kim System LSI Division Samsung Electronics Co., Ltd.

New Challenges in Verification of Mixed-Signal IP and SoC Design

PA GLS: The Power Aware Gate-level Simulation

Free Yourself from the Tyranny of Power State Tables with Incrementally Refinable UPF

Welcome to the DVCon 2015 issue of Verification Horizons By Tom Fitzpatrick, Editor and Verification Technologist

Artifacts of Custom Checkers in Questa Power Aware Dynamic Simulation

PowerAware RTL Verification of USB 3.0 IPs by Gayathri SN and Badrinath Ramachandra, L&T Technology Services Limited

Leveraging Formal Verification Throughout the Entire Design Cycle

THE NEW ERA ON LOW POWER DESIGN AND VERIFICATION METHODOLOGY

Power Format Comparison Report out

Low-Power Verification Methodology using UPF Query functions and Bind checkers

Complex Low Power Verification Challenges in NextGen SoCs : Taming the Beast!

Is Power State Table Golden?

Dynamic Verification of Low Power Design Intent. Suleiman Abu Kharmeh and François Cerisier Test and Verification Solutions

New Advancements in CPF 2.0 and the Path to Interoperability

Leakage Mitigation Techniques in Smartphone SoCs

INTERNATIONAL STANDARD

Advanced Verification Topics. Bishnupriya Bhattacharya John Decker Gary Hall Nick Heaton Yaron Kashai Neyaz Khan Zeev Kirshenbaum Efrat Shneydor

Efficient methods for analog mixed signal verification Interface handling methods, trade-offs and guidelines

High-Level Information Interface

ASIC world. Start Specification Design Verification Layout Validation Finish

Definitions. Key Objectives

Verifying big.little using the Palladium XP. Deepak Venkatesan Murtaza Johar ARM India

VCS AMS. Mixed-Signal Verification Solution. Overview. testing with transistor-level accuracy. Introduction. Performance. Multicore Technology

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

RIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM. SYNTHESIS OF COMBINATIONAL LOGIC (Chapter 8)

Using UPF for Low Power Design and Verification

Abstraction Layers for Hardware Design

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

Mixed Signal Verification Transistor to SoC

Automated Assertion Checking in Static Timing with IBM ASICs

Unleashing the Full Power of UPF Power States

Improved Circuit Reliability/Robustness. Carey Robertson Product Marketing Director Mentor Graphics Corporation

Synopsys Design Platform

Creating a Complete Low Power Verification Strategy using the Common Power Format and UVM

101-1 Under-Graduate Project Digital IC Design Flow

Multi-Domain Verification: When Clock, Power and Reset Domains Collide

Cadence On-Line Document

Complex Low Power Verification Challenges in NextGen SoCs: Taming the Beast!

Mentor Graphics Solutions Enable Fast, Efficient Designs for Altera s FPGAs. Fall 2004

ECE 4514 Digital Design II. Spring Lecture 3: Verilog Bread and Butter

A Formal Verification Methodology for Checking Data Integrity

Adaptive Voltage Scaling (AVS) Alex Vainberg October 13, 2010

Extending Digital Verification Techniques for Mixed-Signal SoCs with VCS AMS September 2014

DVCon India 2016 Abstract submission template. Taking UVM to wider user base the open-source way Name: Nagasundaram Thillaivasagam

Low Power Methodology Manual For System-on-Chip Design

RTL Coding General Concepts

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

Concurrent, OA-based Mixed-signal Implementation

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry

Laboratory 6. - Using Encounter for Automatic Place and Route. By Mulong Li, 2013

Design Creation & Synthesis Division Avoid FPGA Project Delays by Adopting Advanced Design Methodologies

OpenVera Assertions. March Synopsys, Inc.

Practical Approaches to Formal Verification. Mike Bartley, TVS

Verification of Clock Domain Crossing Jitter and Metastability Tolerance using Emulation

Quality Assured SoC Design Using Crossfire. A Fractal whitepaper

ECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation

University of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints

Efficient Failure Triage with Automated Debug: a Case Study by Sean Safarpour, Evean Qin, and Mustafa Abbas, Vennsa Technologies Inc.

LSN 1 Digital Design Flow for PLDs

Modules, ports, instantiation

CHAPTER 1 INTRODUCTION

ECE Digital Engineering Laboratory. Designing for Synthesis

Will Silicon Proof Stay the Only Way to Verify Analog Circuits?

Comprehensive Place-and-Route Platform Olympus-SoC

EE 330 Laboratory Experiment Number 11

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Design Compiler Graphical Create a Better Starting Point for Faster Physical Implementation

Beyond Soft IP Quality to Predictable Soft IP Reuse TSMC 2013 Open Innovation Platform Presented at Ecosystem Forum, 2013

Retention based low power DV challenges in DDR Systems

ASIC Design Flow. P.Radhakrishnan, Senior ASIC-Core Development Engineer, Toshiba, 1060, Rincon Circle, San Jose, CA (USA) Jan 2000 (Issue-3)

Early Models in Silicon with SystemC synthesis

Validation Strategies with pre-silicon platforms

System Level Design with IBM PowerPC Models

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Accelerating CDC Verification Closure on Gate-Level Designs

Development of UVM based Reusabe Verification Environment for SHA-3 Cryptographic Core

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits

An introduction to CoCentric

Evolution of CAD Tools & Verilog HDL Definition

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

The Veloce Emulator and its Use for Verification and System Integration of Complex Multi-node SOC Computing System

Spiral 2-8. Cell Layout

IOT is IOMSLPT for Verification Engineers

Does FPGA-based prototyping really have to be this difficult?

ECEU530. Schedule. ECE U530 Digital Hardware Synthesis. Datapath for the Calculator (HW 5) HW 5 Datapath Entity

Transcription:

Challenges with Power Aware Simulation and Verification Methodologies Divyeshkumar Vora Staff Design Engineer Accellera Systems Initiative 1

Agenda Introduction Power-aware (PA) simulation overview Integrated PA Verilog model Liberty based assertions UPF Macro models using successive refinement Library validation flow Summary Accellera Systems Initiative 2

Introduction Constant push to make electronic products both energy and power efficient resulted in increased design implementation complexity It is of utmost importance to catch any issue early in the implementation cycle IEEE-1801 (a.k.a. Unified Power Format - UPF), allows users to define the design power intent which can be used during the entire implementation flow UPF enables user to perform power intent verification from the RTL stage and Power Aware (PA) simulation is one such verification Accellera Systems Initiative 3

PA Simulation Flows Design Inputs Testbench Library Views RTL, Design UPF PA Sim Liberty IO, Mem Functional Verilog IO, Mem Liberty(UPF) LP Synthesis PA Sim Liberty SC, IO, Mem Functional Verilog SC, IO, Mem LP PnR PA Sim Power Aware Verilog SC, IO, Mem

Sample Design UPF create_supply_set VDDSupply \ -function {power VDD} \ -function {ground VSS} \ -function {nwell VDD} \ -function {pwell VSS} create_power_domain PVDD \ -supply {VDDSupply} associate_supply_set VDDSupply \ -handle PVDD.primary set_port_attributes -elements {. } \ -applies_to inputs \ -driver_supply VDDSupply create_power_switch set_isolation set_retention set_level_shifter add_power_state PVDD.VDDSupply \ -state vdd_on { \ -supply_expr {..} -simstate NORMAL} \ -state vdd_off { \ -supply_expr {..} -simstate CORRUPT} add_power_state PVDD \ -state P1 { \ -logic_expr {(VDDSupply == vdd_on)} } \ -state P2 { \ -logic_expr {(VDDSupply == vdd_off)} } Accellera Systems Initiative 5

Sample Liberty Model cell(a2lvluo) { is_level_shifter : true ; level_shifter_type : HL_LH ; input_voltage_range(0.8, 1.2); output_voltage_range(0.8, 1.2); pg_pin(vnw) { pg_type : nwell; pg_pin(vpw) { pg_type : pwell; pg_pin(vddo) {pg_type : primary_power ; pg_pin(vss) {pg_type : primary_ground ; pg_pin(vdd) {pg_type : primary_power ; std_cell_main_rail : true ; pin(a) { related_power/ground_pin : VDD/VSS ; related_bias_pin : VNW VPW"; level_shifter_data_pin : true ; pin(en) { related_power/ground_pin : VDDO/VSS ; related_bias_pin : "VPW"; level_shifter_enable_pin : true ; pin(y) { related_power/ground_pin : VDDO/VSS ; related_bias_pin : "VPW"; power_down_function : "!VDDO+(!VDD&EN)+VSS+VPW+!BIASNW"; Accellera Systems Initiative 6

Sample Verilog Models Functional module A2LVLUO (Y, A, EN); output Y; input A, EN; and I0 (Y, A, EN); endmodule Power Aware module A2LVLUO (Y, A, EN, output Y; input A, EN; VDD, VDDO, VSS, VNW, VPW); inout VDDO, VDD, VSS, VNW, VPW; and I0 (out_temp, A, EN); assign Y = ((VDDO === 1'b1) && (BIASNW === 1'b1) && (VPW === 1'b0) && (VSS === 1'b0) && (!EN VDD === 1'b1))? out_temp : 1'bx; endmodule Accellera Systems Initiative 7

INTEGRATED VERILOG MODEL

Problem Statement Maintain separate Functional and PA Verilog models Rely on simulator to infer correct functionality from Functional Verilog + Liberty (UPF) model, which should match with the PA Verilog model Create separate testbenches for RTL and gate-level simulation, if the Liberty standard doesn t support exact PA Verilog behaviour for any cell. Accellera Systems Initiative 9

Proposal and Solution Embed PA functionality in the functional Verilog model Simulator disables overlaying UPF PA information on the cells, and uses PA functionality within the Verilog model Advantages Same Verilog model can be used for all types of simulation Functional simulation PA simulation with UPF PA simulation without UPF Reduced development and verification overhead No impact on implementation flow Note: Support for PA simulation without UPF is still in concept phase. Accellera Systems Initiative 10

Model Example module PVSENSE (RTO, SNS, RETON); output RTO,SNS; input RETON; supply1 DVDD, VDD; supply0 DVSS, VSS; reg RTO_reg, SNS_reg; PVDD PVSENSE VDD RETON Power Manag ement block assign RTO = DVDD? RTO_reg:1'bx; assign SNS = DVDD? SNS_reg:1'bx; PBIDIR Logic always @(VDD) if (!VDD) PBIDIR Core RTO_reg =!RETON; SNS_reg = RETON; else RTO_reg = 1'b1; SNS_reg = 1'b1; endmodule D V D D R T O S N S V D D Accellera Systems Initiative 11

Simulation Behaviour RETON VDD DVDD RTO SNS 0 On On 1 1 0 Off On 1 0 0 On Off 0 0 RTO SNS VDD DVDD PAD Y 1 1 On On A A - 0 Off On z 0 - x On Off x x

LIBERTY BASED ASSERTIONS

Problem Statement Today s designs exhibit complex retention capabilities consisting of complicated sequencing of various control signals Even basic save and restore operation could depend on complex sequences of various control signals Any incorrect state of the register controls like clock, set, reset or violation of power control sequence could cause incorrect retention values Synthesis tools pick retention cells only based on the cell classification and functionality Cell-level protocol requirements are not enforced If escapes happen, it can lead to silicon failures Accellera Systems Initiative 14

Proposal and Solution Use low power attributes defined in Liberty to infer assertion proofs and firings Instrument an SV based assertion within the tool to check the protocol behaviour Validate assertion against applied vectors during dynamic simulation, and obtain the time when the assertion fails to ease the debugging Accellera Systems Initiative 15

Sample Liberty Model cell(drffq) { pg_pin(vdd) { pg_type : primary_power ; pg_pin(vddg) { pg_type : backup_power ; pg_pin(vss) { pg_type : primary_ground ; pg_pin(vssg) { pg_type : backup_ground ; pg_pin(vnw) { pg_type : nwell ; pg_pin(vpw) { pg_type : pwell; pin(ck) { clock : true ; direction: input; related_power/ground_pin : VDD/VSS ; pin(d) { direction: input; related_power/ground_pin : VDD/VSS ; pin(q) { direction: output; related_power/ground_pin : VDD/VSS ; power_down_function : "!VDD+!VDDG+!VNW+VSS+VSSG+VPW" ; pin(retn) { direction : input; related_power/ground_pin : VDDG/VSSG; always_on : true; retention_pin (save_restore, "1"); save_action : H; restore_action : L; restore_condition :!CK; restore_edge_type : trailing; Accellera Systems Initiative 16

Simulation Waveform and Assertion Accellera Systems Initiative 17

UPF MACRO MODELS USING SUCCESSIVE REFINEMENT

Problem Statement Need to know the boundary / interface power information at SoC level for all the hard macros Defined in Liberty using pg_pin attribute Specify pg_pin connections for each cell with corresponding design power net using connect_supply_net command Liberty standard lacks attributes to define Feedthrough and floating ports Results in spurious issues during PA simulation, synthesis, P&R, etc. Valid power modes Results in escape of unsupported power mode Note: Valid power mode checking is still in concept phase Accellera Systems Initiative 19

Solution UPF Power Model Macro Model: A block that has been completely implemented and can be used as it is in other blocks Sub-block of design Library cell used for implementation The UPF Power Model can be used to define the power intent of a hard IP/macro Advantages Has all the capabilities that are missing in Liberty Supply set based mapping makes integration much easier Limitations Tools are just catching up with the support for the UPF Power Model Alternative Use UPF successive refinement flow Accellera Systems Initiative 20

Successive Refinement Flow Successive refinement in UPF Allows the IP provider to capture the low power constraints inherent in an IP block without predicating a particular configuration Enables IP licensee to configure within these constraints, for their particular application Makes it agnostic to technology specific implementation Advantages Mature and supported by most EDA tools All UPF constructs available for modelling macros Limitation Instance based hierarchical mapping for each supply set Accellera Systems Initiative 21

Cell UPF Model create_supply_set AVDDSupply -function {power AVDD} -function {ground AVSS} create_supply_set VDDSupply -function {power VDD} -function {ground VSS} create_power_domain PVDD -supply {AVDDSupply} -supply {VDDSupply} associate_supply_set VDDSupply -handle PVDD.primary set_port_attributes -ports {RTO SNS} -unconnected set_port_attributes -ports {PAD PADC} feedthrough add_power_state PVDD.AVDDSupply -state avdd_on { -supply_expr {..} -simstate NORMAL} \ -state avdd_off { -supply_expr {..} -simstate CORRUPT} add_power_state PVDD.VDDSupply -state vdd_on { -supply_expr {..} -simstate NORMAL} \ -state vdd_off { -supply_expr {..} -simstate CORRUPT} add_power_state PVDD -state P1 { -logic_expr {(AVDDSupply == avdd_on) && (VDDSupply == vdd_on)} } \ -state P2 { -logic_expr {(AVDDSupply == avdd_on) && (VDDSupply == vdd_off)} } \ -state P3 { -logic_expr {(AVDDSupply == avdd_off) && (VDDSupply == vdd_on)} } \ -state P4 { -logic_expr {(AVDDSupply == avdd_off) && (VDDSupply == vdd_off)} } Accellera Systems Initiative 22

Integration with the Design UPF create_supply_set VDDswSupply -function {power VDDsw} -function {ground VSS} create_supply_set AVDD1p8swSupply -function {power AVDD1p8sw} -function {ground AVSS} add_power_state PVDD \ -state P1 { -logic_expr {(AVDD1p8swSupply == avdd_on) && (VDDswSupply == vdd_on)} } \ -state P2 { -logic_expr {(AVDD1p8swSupply == avdd_on) && (VDDswSupply == vdd_off)} } \ -state P3 { -logic_expr {(AVDD1p8swSupply == avdd_off) && (VDDswSupply == vdd_on)} } \ -state P4 { -logic_expr {(AVDD1p8swSupply == avdd_off) && (VDDswSupply == vdd_off)} } load_upf -scope /my_dut_tb/i_ana PANA.upf associate_supply_set VDDswSupply -handle /my_dut_tb/i_ana/pvdd.vddsupply associate_supply_set AVDD1p8swSupply -handle /my_dut_tb/i_ana/pvdd.avddsupply Accellera Systems Initiative 23

Simulation Waveform PVDD PVSENSE PBRKANA PANALOG PBRKANA PBIDIR VDD RTO SNS DVDD With Liberty With UPF Accellera Systems Initiative 24

LIBRARY VALIDATION FLOW

Problem Statement Missing/wrong attributes results in simulation failure Incorrect power_down_function (PDF) or related_power/ground_pin attribute Unexpected signal corruption Incorrect special cell attributes Policy to cell mapping will not happen Correct library view doesn t guarantee correct simulation behaviour due to Wrong interpretation by Simulator UPF standard limitation

PA Simulation Library Level Check Product Library Cell based Templates Liberty(UPF) Verilog Validation UPF LP vectors Design UPF with each cell as top design Verilog Testbench containing all cells Simulation Library Validation

Validation UPF (always on) VDDon = 1.0 VSSon = 0.0 VDD RETN (switchable) VDDsw = 1.0 VSSsw = 0.0 VSS create_power_domain Paon -supply {AONSupply} create_power_domain Psw -supply {SWSupply} \ -elements { u1} create_power_switch uvddsw -domain Psw \ -input_supply_port {in AONSupply.power} \ -output_supply_port {out SWSupply.power} \ -control_port {sw_ctr VDD} \ -on_state {on_state in {sw_ctr}} \ -off_state {off_state {!sw_ctr}} create_power_switch uvsssw -domain Psw \ -input_supply_port {in AONSupply.ground} \ -output_supply_port {out SWSupply.ground} \ -control_port {sw_ctr VSS} \ -on_state {on_state in {!sw_ctr}} \ -off_state {off_state {sw_ctr}} set_retention uretain -domain Psw \ -retention_supply_set AONSupply -save_signal {RETN high} \ -restore_signal {RETN low}

Testbench and LP Vectors module TEST_DRFFQ_X1_0; wire VDDG, VSSG, VDD, VSS; wire RETN, D, CK, Q_exp; DRFFQ_X1 u1 (.VDD(VDD),.VSS(VSS),.RETN(RETN),.D(D),.CK(CK),.Q(Q)); always @(VDDG) if(vddg) pg_vdd = supply_on("u1/vddon",1.0); else pg_vdd = supply_off("u1/vddon"); assign {VDDG, VSSG, VDD, VSS, RETN, D, CK, Q_exp} = presentvector; initial begin $readmemb(vector_file,tstvector,0,depth-1); for (n=0; n<depth; n=n+1) presentvector = tstvector[n]; if (Q!== Q_exp) $display("mismatch ); end endmodule Save Power off Power on Restore V D D G LP Vectors V S S G V D D V S S D C K R E T N Q 1 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 0 0 1 1 0 0 0 x x 0 x 1 0 1 0 x 0 0 1 1 0 1 0 x 0 1 1

Summary PA simulation is a very powerful way to check the design power requirement early in the implementation cycle PA simulation is still in early phase and with increasing complexity, more check points need to be put in place to catch issues Identified enhancements fix some of the quality holes in existing PA simulation flow Library validation flow enables ARM to carry out comprehensive verification of cell power aware behaviour, thereby ensuring seamless PA simulation flow for our partners Accellera Systems Initiative 30

Questions? Accellera Systems Initiative 31