XPower for CoolRunner™-II CPLDs Overview • • • • • • • • • • Design power considerations Power consumption basics of CMOS devices Calculating power in CoolRunner-II CPLDs Assumptions for CoolRunner-II CPLDs in XPower CoolRunner-II power.
Download ReportTranscript XPower for CoolRunner™-II CPLDs Overview • • • • • • • • • • Design power considerations Power consumption basics of CMOS devices Calculating power in CoolRunner-II CPLDs Assumptions for CoolRunner-II CPLDs in XPower CoolRunner-II power.
XPower for CoolRunner™-II CPLDs Overview • • • • • • • • • • Design power considerations Power consumption basics of CMOS devices Calculating power in CoolRunner-II CPLDs Assumptions for CoolRunner-II CPLDs in XPower CoolRunner-II power model in XPower Rank of power consuming nets in CoolRunner-II CPLDs Activity rates Data entry methods Improving accuracy of CoolRunner-II power estimation Design example Quick Start Training Objectives • • • • • • • • • Power consumption in CoolRunner-II CPLDs Assumptions for CoolRunner-II CPLDs in XPower Applying the CoolRunner-II power model to a design The highest power consuming nets in CoolRunner-II CPLDs Types of activity rates Types of Data Entry Methods Improving accuracy of CoolRunner-II power estimation Understanding a simple design example using XPower XAPP360 Quick Start Training Power Considerations • Power Supply requirements – – – – Batteries DC/DC converters AC power source Power supply voltage • Thermal requirements – Package types – Enclosed environments – Industrial applications • CoolRunner-II CPLDs – – – – Low Power Low Junction Temperature Very predictable power consumption Fast • XAPP360 – http://www.xilinx.com/xapp/xapp360.pdf Quick Start Training Power in a CMOS Device • Total Current is composed of two types of current – Static – Dynamic • Static Current – Leakage current in the turned off transistor channel – Ideally zero – Fixed component of Total Current • Dynamic Current – Switching of the CMOS gate when in the linear region causing transition (crowbar) current • Transition time is very fast • Relatively small component – Charge/Discharge of capacitive poly gate in subsequent logic element – XPower combines transition current with capacitive current in the power model Quick Start Training Calculating Power for CoolRunner CPLDs • Calculating Dynamic Current is an overwhelmingly tedious task • XPower is necessary for this calculation • Dynamic Current equation I Dynamic = C V f • Total Current equation ITotal = I Dynamic I Static ITotal = C V f I Static • Total Power equation PTotal = ITotal V Quick Start Training XPower Assumptions for CoolRunner-II CPLDs • Voltage – Within published operating limits – Constant (no spikes or dips) – User must enter appropriate value • Timing and frequency – Within published operating limits – Operation above limits yields inaccurate power calculations • Input transition times – 1.5 ns – Correlated in lab at 1.5 ns – Actual transitions slower than 1.5 ns will: • Increase actual power consumption • Cause XPower data to appear lower than actual • Lumped capacitance – Logic elements (Product Terms, etc.) – Used to create a power model Quick Start Training CoolRunner-II Power Model • Simplified model of the CoolRunner-II architecture • Somewhat encrypted net names – FB1_PT12 • Product Term #12 in Function Block #1 – FB1_3_Q • Q Flip Flop output of Macrocell #3 in Function Block #1 – FB4_12_I • Input net of Macrocell #12 in Function Block #4 Quick Start Training CoolRunner-II Power Model • Nets adjustable by the user – – – – – – I - Input from I/O Q - Flip flop output FB - Feedback to the AIM PT - Product Term output MC_CLK - Macrocell control inputs OR - Output of OR term Quick Start Training • Nets NOT adjustable by the user – – – – AIM - Interconnect Array AND - Input to the register MC_OE - Output Enable signal RST/PST - Reset/Preset inputs to register CoolRunner-II Power Consumption • Nets in order of power consumption – – – – – – – – – – – – – External Capacitance - Very High O - High GCK - High - Larger with high density devices FB - Medium - Larger with high density devices AIM - Medium I - Low - Medium for Differential Inputs PT - Low OR - Low AND - Very Low MC_CLK - Very Low RST/PST - Very Low MC_OE - Very Low Q - Very Low Quick Start Training Activity Rate • Absolute Frequency – Frequency of a net in units of MHz – All nets (except Q) in CoolRunner-II CPLDs are specified with absolute frequency • Toggle Rate – A percentage of the clock frequency • Entered as a percentage value • Displayed as MHz based on clock frequency • 100% toggle rate yields 1/2 frequency of the clock – Q nets in CoolRunner-II CPLDs • Based on global clocks only • When using product term clocks give data in absolute frequency – Great for “What if?” scenarios Quick Start Training Data Entry Methods • Data entry by hand – Most accurate, but most tedious method – Requires very detailed knowledge of CoolRunner-II architecture – Must specify activity rates for all nets – Depending on the design, it may be nearly impossible to determine activity rates for all nets • Estimate Activity Rates tool – Algorithm estimates absolute frequencies of nets not yet set by the user – Does not estimate toggle rates – Alleviates the tedium, but is less accurate than data entry by hand – Must enter all absolute frequencies for primary I/Os by hand – Must enter all toggle rates by hand including buried registers Quick Start Training Data Entry Methods (cont.) • Simulation with ModelSim XE – Easiest method – Value Change Dump (VCD) file contains frequency data – Simulate for sufficient length of time – Currently, only top level nets are contained in VCD file – Hand edit remaining primary I/Os and registers including buried registers – Use Estimate Activity Rates tool Quick Start Training Estimate Activity Rates Tool • Sets absolute frequencies only • Automatically set nets – – – – – – – – – – – O GCK I FB AIM PT AND OR MC_CLK RST/PST MC_OE • Nets not automatically set – External Capacitance – Q Quick Start Training Improving Accuracy • External capacitance loads – Loads connected to the I/O pin • Printed circuit board trace capacitance • Capacitive load of external devices – Current is derived from Vcc and GND pins to charge and discharge this load – Large source of power consumption • Dramatic effect on power consumption • Reduce external loads to reduce power consumption – For accurate power estimates • Provide accurate capacitance value to XPower • Provide accurate absolute frequency of external load Quick Start Training Improving Accuracy (cont.) • Macrocell configurations – Users are not exposed to product term numbers – AIM is modeled as a non-inverting buffer – Macrocells have many configurations, but are understandable by the user – This information is most useful for • Data entry by hand method • Double checking the Estimate Activity Rates tool – Proper activity rate information is necessary in the macrocell • Improves accuracy • Source of all net activity rates Quick Start Training Registered Output Macrocell • Set activity rates of these nets – I - Input signal • Absolute Frequency – GCK - Global Clock • Absolute Frequency – Q - Register output • Toggle Rate Quick Start Training • Remaining nets automatically set by XPower using Estimate Activity Rates Summary • XPower is a necessity for – Low power designs – Designs with a thermal budget – Battery operated designs • Simulation with ModelSim XE – – – – Easiest method Reduces the chance of data entry error Provides accurate activity rate information Requires user to modify fewer nets in XPower • CoolRunner-II CPLDs – Lowest power 1.8V CPLD in the industry – Excellent for handheld, battery powered designs – XPower makes it easier to see power savings using the your own designs • XPower support for CoolRunner-II will be available in ISE 6.1i Quick Start Training