Download - XPower for CoolRunner™-II CPLDs
XPower forCoolRunner™-II
CPLDs
Quick Start Training
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
• Total Current equation
• Total Power equation
fVCIDynamic
StaticDynamicTotal III
StaticTotal IfVCI
VIP TotalTotal
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
• 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
Quick Start Training
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
• Remaining nets automatically set by XPower using Estimate Activity Rates
• Set activity rates of these nets– I - Input signal
• Absolute Frequency– GCK - Global Clock
• Absolute Frequency– Q - Register output
• Toggle Rate
Quick Start Training
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