190 likes | 412 Views
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
E N D
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
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
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
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
Calculating Power for CoolRunner CPLDs • Calculating Dynamic Current is an overwhelmingly tedious task • XPower is necessary for this calculation • Dynamic Current equation • Total Current equation • Total Power equation = × × I C V f Dynamic
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
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
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 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 Model
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
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
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
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
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
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
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
Registered Output Macrocell • Set activity rates of these nets • I - Input signal • Absolute Frequency • GCK - Global Clock • Absolute Frequency • Q - Register output • Toggle Rate • 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