Home > Community > Blogs > Digital Implementation > five minute tutorial set flip chip bumps as voltage sources in eps edi rail analysis

 Login with a Cadence account. Not a member yet? Create a permanent login account to make interactions with Cadence more convenient. Register | Membership benefits
 Get email delivery of the Digital Implementation blog (individual posts).

## Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

 Send yourself a copy

## Subscribe

• RSS
Cadence RSS Feeds

Intro copy of the newsletter section here, some intro copy of the newsletter. Instruction of how to subscribe to this newsletter.

## Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Send Yourself A Copy

# Five-Minute Tutorial: Set Flip-Chip Bumps as Voltage Sources in EPS/EDI Rail Analysis

Comments(0)Filed under: power analysis, EPS, EDI, flip chip, rail analysis, Five-Minute tutorial, bump

When running power and rail analysis for a flip chip, we used to have to spend some time creating the voltage sources. It wasn't too terrible; usually we would output the bumps into a Cadence Encounter Digital Implementation (EDI) .io file, then use a perl script to filter out the pwr/gnd bumps and create the voltage source file format. The script would need a bit of editing from project to project, but nothing too complicated. We ended up with a voltage source file, with one point-source per bump. However, it is much easier these days to create voltage sources for a flip chip to be used in the Cadence Encounter Power System (EPS) Rail Analysis (run either from EPS directly, or through EDI.) It is also more accurate, since the bumps get modeled with several points in a resistor network. (This will avoid false EM violations.)

The LEF file of your flip chip bump will be used as a reference. Bumps are usually octagonal, although sometimes are represented as squares. Here is an example bump LEF, which I will use to illustrate the process. (Note that a polygon shape is used to create an octagonal bump, but the corresponding coordinates that would have been used for a square are commented out.)

VERSION 5.6 ;
BUSBITCHARS "[]" ;
DIVIDERCHAR "/" ;
UNITS
DATABASE MICRONS 1000 ;
END UNITS

MACRO BUMP
CLASS COVER BUMP ;
FOREIGN BUMP -49.45 -49.45 ;
ORIGIN 49.45 49.45 ;
SIZE 98.9 BY 98.9 ;
PIN PAD
DIRECTION INOUT ;
USE SIGNAL ;
PORT
LAYER AP ;
#RECT -49.45 -49.45 49.45 49.45 ;
POLYGON -20.49 -49.45 20.49 -49.45 49.45 -20.49 49.45 20.49 20.49 49.45 -20.49 49.45 -49.45 20.49 -49.45 -20.49 ;
END
END PAD
END BUMP

END LIBRARY

First, create a file called bump.padfile. This file contains one line, the MACRO name of the bump from the LEF. It should look like this:

BUMP

Next, create a file called bump.srcfile. It should look like this:

CELL BUMP
NET PAD
PORT {
AP -49.45 -49.45 49.45 49.45
}

Make sure the CELL and NET names match your bump LEF. The NET name is the PIN name from the LEF. The port layer name (AP here) is the same layer from the LEF. Remember the commented-out square coordinates that I mentioned in the LEF example above? Here is where that's useful: the coordinates of the PORT shape should be a square that encloses the octagonal bump.

Now, create the bump powergrid view. Here is a sample script, called create_bump_pwrgrid.ss0p81v.tcl:

read_lib -lef tech.lef \
BUMP.lef

set_power_library_mode \
-accuracy fast \
-celltype allcells \
-extraction_tech_file cworst.qrcTechFile \
-lef_layermap lef_layer.map \
-generic_power_names {VDD 0.81} \
-generic_ground_names {VSS} \
-input_type pr_lef

characterize_power_library \
-celllist_file bump.list \
-padvsrcfile bump.srcfile \
-libgen_command_file libgen.inc \
-output_directory fast_bump.ss_0p81v

A few notes about the files referenced in this script:

Finally, when running rail analysis, use the bump.padfile in your set_power_pads command. The same padfile can be used for any rail:

set_power_pads \
-net VDD \
-format padcell \
-file bump.padfile

set_power_pads \
-net VSS \
-format padcell \
-file bump.padfile

All bumps will then be recognized as voltage sources, with multiple points inside the bump shape. I hope this has helped simplify your rail analysis flow!

- Kari Summers

### Leave a Comment

 Name E-mail (will not be published) Comment I have read and agree to the Terms of use and Community Guidelines.
 Community GuidelinesThe Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.
 About Cadence| Investor Relations| Careers| Terms of Use| Privacy Policy| US Trademarks © Cadence Design Systems, Inc. All Rights Reserved.