Dillon Engineering
  • Home
  • Company
    • About Us
    • Contact Us
    • Jobs
  • Services
    • Applications
    • Markets
    • Why Hire DE? >
      • Top Down Meets Bottom Up
    • When to Hire DE?
  • FFT IP
    • Load Unload FFT
    • UltraLong FFT >
      • UltraLong FFT IP Core for Xilinx FPGAs
    • Parallel FFT
    • Dual Parallel FFT
    • Parallel Butterfly FFT
    • Mixed Radix FFT >
      • Mixed Radix FFT IP Core for Xilinx FPGAs
    • Pipelined FFT >
      • FFT_PIPE IP Core for Xilinx FPGAs
    • 2D FFT
    • Other IP Cores >
      • Floating Point IP >
        • FPLIC Riviera Evaluation
        • FPLIC Download
        • FPLIC ParaCore Parameters
      • AES Crypto IP >
        • AES PatraCore Parameters
        • AES Background Information
    • FFT/IFFT ParaCore Parameters
  • Ingenuity
    • ParaCore Architect IP Generation >
      • PCA Flow
      • PCA Example
    • Modeling
    • Verification
    • Fixed vs. Floating Point
    • Fixed Point Math
  • News
    • DE Releases Mixed Radix FFT IP Cores for Xilinx FPGAs
    • DE Release UltraLong FFT IP Cores for Xilinx FPGAs
    • DE Releases FFT_PIPE IP Cores for Xilinx FPGAs
    • Floating Point Modules Evaluation Available
    • Chip Design Magazine Article
    • BCD Math
    • UltraLong FFT IP Success
    • DE Releases FFT IP Cores
  • Docs
    • HowTo >
      • Power Calculation Using XPower
      • Strings in Verilog
      • Inferring Block RAM vs. Distributed RAM in XST and Precision
      • Verilog RTL Coding Style Guidelines, Tips and Template
    • Downloads >
      • gen_ise-sh
      • gen-ise-sh-py
      • deModel
      • deModel_tar_gz
      • deModel_win32_exe
    • HPEC Presentations >
      • HPEC 2003 Presentation
      • HPEC 2004 Presentation
      • HPEC 2007 Abstract
      • HPEC 2007 Posters
    • FFT >
      • Load Unload FFT IP Datasheet
      • FFT_MIXED Candidate Core Datasheet
      • DE FFT IP and Sundance SMT702 Flyer
      • UltraLong FFT IP Core for Xilinx Datasheet
      • PIPE_FFT for Xilinx FPGAs Datasheet
      • FFT Datasheet
      • Floating Point FFT Factsheet
      • FFT Success
    • Sundance DE Partnership Release
    • FPGA Webcast
    • FPGAs Go, Go, Go
    • AES Datasheet
    • FPLIC Specification
    • DE Overview

Power calculation using XPower


General Procedure for calculating Power usage in any design

There are two ways to achieve this. The first is a theoritical approach while the second is more based on advanced estimation techniques.

Theoritical Approach
  1. Synthesize the design and obtain the final ncd, pcf and verilog or vhdl gate level design file after making sure all the constraints have been met.
  2. Compile the gate level design file and the testbench.
  3. Initialize the simulation
  4. Trace all the ports and nets in the design to an asdb file.
  5. Run simulation till the end.
  6. Convert the asdb file to vcd format using asdb2vcd command
  7. Start the XPower tool and use the ncd and pcf files created during synthesis and the vcd file generated by the asdb2vcd command.
  8. If all the steps were executed without errors, the XPower tool would produce the power estimate with a reasonable confidence level.

Estimation Approach
  1. Synthesize the design and obtain the final ncd and pcf files after making sure all the constraints have been met.
  2. Start the XPower tool and in a project, pull the ncd and pcf files.
  3. In the data views window, you would see the separate components of the design that contribute towards the power used, i.e., Clocks, Inputs, Outputs, Signals and Logic.
  4. The frequency of operation and activity rate of various above mentioned units can be set.  The Power estimate is available with a reasonable confidence level after this.

Power Calculation for Large Designs

Power calculation can be a bit tricky especially considering limited available resources either in time or in computer memory or both. XPower needs activity information on each of the ports and nets inside the design  for accurate power estimation. Most of this information can be obtained from a vcd file that can be generated from a gate level simulation on any simulator.


Gate level designs often have innumerous nets forming connections between umpteen modules. A full gate level simulation takes a long time to complete if all of these nets are traced into the simulation database. A conversion of these traces into vcd entities would be very taxing on the computer resources and more often than not wasteful.


A few things could be done to make this process quick and effortless.  Since the estimate of the power is calculated on the activity recorded on the signals in the time specified, we need to get an estimate of the activity once all the nets and signals are active.  An ideal way to do this is to have a number of sets of input data fed into the design continuously but trace all the nets and ports only when the first set of outputs start exiting the design. This would save considerable time during the simulation phase and more time at the actual conversion to vcd entities.


Most deterministic signals would leave some of the nets at constant values. This might be construed as no activity. Input signals have to be chosen so that nets are not at a constant value for long time.  Care has to be taken to have sufficient activity on the MSB pins as well. A good way to achieve this is to have random data in the range [-ve maximum value, +ve Maximum value] for all the sets. It would be preferable to have different sets of inputs each time.



OUR SERVICES

Applications
Markets

OUR IP

FFT
AES
Floating Point

CONTACT US

info@dilloneng.com
952.836.2413
Contact Page
Picture

© 2022 Dillon Logic LLC
All Rights Reserved