FPGA Power Models



In class, we reviewed Principles of VLSI and discussed CMOS power calcuations for CMOS systems. A large FPGA is a good example of CMOS Digital System, and FPGA vendors have recently begun making spreadsheets available that allow power estimation for FPGA designs.

The links below are power estimation spreadsheets for the Xilinx Apex family and Altera Virtex family. The basic computation element for each of these families is a programmable 4-input Lookup Table (LUT4). Both use DFFs for as the basic storage element.

Both of these spreadsheets allow you to compute power consumption based upon the number of LUT4s and DFFs in your design. In Altera terminology, a LUT4 is a 'LE' (logic element). In the Xilinx spreadsheet, they use the term "CLB Slice" which contains two LUT4s.

The Task

  1. Using the spreadsheets and your knowledge of the dynamic power dissipation equation in CMOS systems, compute effective switched capacitance numbers for a LUT4 and a DFF in both Altera and Xilinx technologies. I would like a seperate capacitance number for a LUT4 and one for a DFF. Warning - there may be part of the capacitance of a LUT that is switched at the clock frequency -- if so, give the portion of capacitance switched at the clock frequency and the portion at the toggle (compute) frequency. For Xilinx, use the 'E' series of devices like XCV600E. For Altera, use the 'E' devices as well such as the EP20K200E. These devices are fabricated in a 0.18U technology. For the Altera spreadsheet, calculate the capacitance number only for non-carry chain LEs.

    How do the two sets of numbers of compare?

    Do your numbers (and the spreadsheet numbers for that matter) make sense compared to the Appication note results published by Altera (note that these compare the non-"E" devices. Use the clock-tree example discussed in the application for comparison purposes -- you will have to compute DFF capacitance values for non-"E" devices.

  2. If the spreadsheet has a static power dissipation number, determine if there is a linear relationship (give an equation) between the number of LUTs on a device (not the number of LUTs actually used, the number of total LUTs present on the die) and the static power.

Submission

Use this perl script to submit your file from a UNIX machine (right click and save this script to your local directory). Create a directory called 'sim1', and place your results in this directory (in the form of text file or PDF or Microsoft.doc file). Execute the script by doing "perl script_name" from the directory above the 'sim1' directory. The script will tar archive the sim1 directory, and email both me and you a copy of the tar archive. If you have a problem with the script, let me know.