- Xilinx User Community Forums
- :
- PLD Blog
- :
- Estimating Average Switching Rates
Announcements
--- Win Prizes for Kudos! ---
From now on, every time you provide a good solution or post valuable information on Xilinx User Community Forums, you will be awarded Special Kudos by the Forum Administrators. Every six months, the top two Kudos winners will receive a very special prize from Xilinx!
So, for a chance to claim your well-earned reward, please continue to reply to questions and post elite messages on our Forums. Your contributions are always appreciated!
Estimating Average Switching Rates
In order to discover what the dynamic and static power dissipation will be in a new design with a Xilinx® FPGA device, we provide a power estimation spreadsheet:
http://www.xilinx.com/products/design_resources/po
(XPE Spreadsheets)
http://www.xilinx.com/products/design_resources/po
(the instructions for its use)
The dynamic power depends on the rate at which the signals are toggling, or switching. How do you estimate these toggle rates?
After choosing the number of elements, such as CLB’s, BRAM’s and so on, one is asked to estimate the switching rate. A common mistake is to just pick a number, like 50%, and move on.
Some Simple Rates
First, let us look a 4-bit binary counter. If one averages all the transitions of the four outputs, one discovers that the actual average rate is quite low. The LSB switches on each clock, so it is at 100%. The next most significant bit is half that, or 50%. The next bit is 25%, and the MSB is 12.5%. The average is just that: 100+50+25+12.5 divided by 4, or about 47%.
If we continue on to an 8-bit binary counter, we get about 25%. In general, the more states we have, the less the toggle rate. If one has a 10 state one-hot state machine, the toggle rate of the states is no more than 1 in 10, or 10% (only one state may change on any clock).
A full amplitude range sine wave into an eight-bit analog to digital converter may be even less than an eight-bit counter, as the sample values may not even change on each clock cycle, as the sample rate may be many times faster than the sine wave frequency. In such cases, the toggle rate may be 10% or less. Even at the fastest sine wave frequency, the rate for an eight-bit converter will not be more than 25%.
An exception that leads to high toggle rates is the result of multiply-accumulate operations on random data, which may approach 50%. The question is, “How random is the data?” Most applications process data from sensors, which are operating well above the noise threshold, and the input data is again well behaved, and toggle rates are much less than 50%. In communications systems, where separating signals from noise is common, high toggle rates will often occur in the multiplier-accumulate blocks, and 50% may actually be a good estimate of the toggle rate.
What It All Means
When the power estimation spreadsheet is completed, the result is, yes, you guessed it: an estimate! After all, the engineer is still guessing at the toggle rates. The final step is to then simulate the design using the XPower tool:
http://www.xilinx.com/products/design_tools/logic_
Of course, this implies you actually have a test bench, which does more than just check a few clock cycles of your design. Again, to simulate a real signal entering your logic, and being processed, is no small effort, and not doing so leads to a result that is even less useful than that of the estimator spreadsheet.
Summary
Estimating power in a FPGA device is a non-trivial exercise. There are tools designed to help with the task, but the tools are only as good as the effort made to provide them with accurate information. Poor estimated toggle rates and insufficient simulation test benches are key examples of inputs that might cause the results to be wildly inaccurate.
Austin Lesea
-
kcmman
- Ken Chapman holds a first class BSc Degree with honours in Electronic and Electrical Engineering from the University of Surrey. Before obtaining his degree, he spent 4 years working in production environments, making precision instruments and working his way through all levels of a small electronics company. He spent 4 years at Racal Radar Defense Systems combining detailed digital design with all aspects of system integration. Ken joined the UK division of Xilinx in 1991, and was instrumental in developing innovative methods of implementing DSP functions in the Xilinx devices. He has filed several patents while at Xilinx, including the 'MULT_AND' gate seen in each Virtex™ and Spartan-II™ device that has made multipliers and other arithmetic functions smaller and faster.
-
peter.a
- Peter Alfke joined Xilinx in 1988 as director of applications engineering. He currently serves as Distinguished Engineer in the Advanced Products Group. He graduated in electronic engineering from the Technical University in Hannover, Germany in 1957. He went on to work in telecom and computer design with LM Ericsson and Litton Industries before moving to California in 1968. He has spent forty years in Applications Engineering with Fairchild, Zilog, AMD, and now Xilinx. He holds more than thirty patents, has authored many application notes, and given worldwide seminars on digital integrated circuits. He is active in the newsgroup comp.arch.fpga.
-
austin.lesea
- Austin graduated from UC Berkeley in 1974 and 1975 with his BS EECS in Electromagnetic (E&M) Theory and MS EECS in Communications and Information Theory. He has worked in the telecommunications field for 20 years designing optical, microwave, and copper- based transmission systems. He developed SONET/SDH GPS-based Timing Systems for 12 of those years. For the last ten years at Xilinx, Austin was in the IC Design department for the Virtex product line. His new role is working for Xilinx Research Labs, where he is looking beyond the present technology issues.
- Package Generated Alpha Particles: They are a Pro...
- Helping the Customer Drive to ‘Zero Defects’
- Targeted Platform Design
- It Is All About Quality
-
The ‘Programma
ble Imperative ’ -
Reliabilit
y - A True Winning Number Generator
- Spring Is Here!
- Happy New Year: Moore, More Moore, and More than ...
- SEU, Not Again!
-
austin.lesea
on:
SEU, Not Again!
- larthe on: Estimating Average Switching Rates
-
fpgasdr
on:
FIFOs, A Tutorial Descriptio
n -
gszakacs
on:
Terminatio
n is Never Easy -
austin.lesea
on:
Power to the PCB!
- tocktock on: Finding Stuff: Part 2
- seamusbleu on: Using Self Scanning Memory for State Machines
- brouhaha on: Finding Stuff
-
kcmman
on:
That Dangerous Asynchronous Reset! - q on: Quadrature Decoding with Resolution Options





