# US 7,412,673 B1 · Integrated system noise management—bounce voltage

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,412,673 B1
- Document ID: US7412673B1
- Status: Granted
- Kind: B1
- Application number: 11/344,423
- Filed: 2006-01-30
- Granted: 2008-08-12
- Earliest claimed: 2006-01-30
- Assignees: Xilinx, Inc.
- Inventors: Anthony T. Duong
- Web page: https://patentgrep.com/patent/US7412673B1

## CPC

- G06F 30/367: Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
- G06F 2119/06: Power analysis or power optimisation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for determining an allowable simultaneous switching output level on a bank-by-bank basis is described. An inductance scaling factor is determined for a first bank. A noise limit scaling factor is determined for the first bank. A bounce voltage scaling factor is determined for the first bank. The inductance scaling factor, the noise limit scaling factor, and the bounce voltage scaling factor are multiplied with one another to provide the simultaneous switching output level for the first bank.

## Claims

### Claim 1

A method for determining an allowable simultaneous switching output level on a bank-by-bank basis, the method comprising:
determining an inductance scaling factor for a first bank;
determining a noise limit scaling factor for the first bank;
determining a bounce voltage scaling factor for the first bank; and
multiplying the inductance scaling factor, the noise limit scaling factor, and the bounce voltage scaling factor with one another to provide the simultaneous switching output level for the first bank.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the determining of the inductance scaling factor includes:
determining actual inductances for at least one of a printed circuit board, a backplane, and one or more discrete capacitors;
first combining the actual inductances to provide an inductance divisor;
second combining specified inductances for the at least one of the printed circuit board, the backplane, and the one or more discrete capacitors to provide an inductance numerator; and
dividing the inductance numerator by the inductance divisor to provide the inductance scaling factor.

### Claim 3 (depends on 2)

The method according to claim 2, wherein the determining of the actual inductances includes determining mutual inductances between power and ground pins; and wherein the first combining includes subtracting the mutual inductances from self-inductance of the actual inductances.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the determining of the noise limit scaling factor includes:
determining first noise effects for an actual noise limit;
combining the first noise effects to provide a first noise total;
obtaining a user specified noise limit;
subtracting the first noise total from the user specified noise limit to provide a noise difference; and
dividing the noise difference by a manufacturer specified noise limit to provide the noise limit scaling factor.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the determining of the bounce voltage scaling factor includes:
determining second noise effects for actual bounce voltage;
combining the second noise effects to provide a second noise total;
obtaining a manufacturer's expected bounce voltage;
adding the second noise total to the manufacturer's expected bounce voltage to provide a bounce total voltage; and
dividing the manufacturer's expected bounce voltage by the bounce total voltage to provide the bounce voltage scaling factor.

### Claim 6 (depends on 5)

The method according to claim 5, wherein the bounce scaling factor is a ground bounce scaling factor.

### Claim 7 (depends on 1)

The method according to claim 1, further comprising:
determining respective switching output levels for adjacent banks to the first bank;
selecting a minimum value from the switching output levels of the adjacent banks and the first bank; and
multiplying the minimum value by a scalar to provide a switching output allowance threshold for the first bank and a second bank in combination with the first bank, the second bank being an adjacent bank of the adjacent banks.

### Claim 8 (depends on 7)

The method according to claim 7, further comprising:
multiplying the simultaneous switching output level of the first bank by a number of power and ground pairs of the first bank to provide a first product;
respectively multiplying the simultaneous switching output level of the adjacent banks by numbers of power and ground pairs of each of the adjacent banks to provide second products;
summing the first product and the second products to provide a first sum;
summing the number of power and ground pairs of the first bank and the numbers of power and ground pairs of the adjacent banks to the first bank to provide a second sum; and
dividing the first sum by the second sum to provide a simultaneous switching output value for the adjacent banks.

### Claim 9 (depends on 8)

The method according to claim 8, further comprising determining whether the simultaneous switching output value for the first bank exceeds a simultaneous switching output allowance of the first bank.

### Claim 10 (depends on 8)

The method according to claim 8, wherein the first bank and a non-adjacent bank to the first bank respectively have first ground bounce limits; wherein the first bank and the second bank respectively have second ground bounce limits; wherein the first ground bounce limits are within a multiple of ten of one another; and wherein the second ground bounce limits are within a multiple of two of one another.

### Claim 11

A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method for determining simultaneous switching output level on a bank-by-bank basis for an integrated circuit design, the method comprising:
determining an inductance scaling factor for a first bank;
determining a noise scaling factor for the first bank;
determining a bounce voltage scaling factor for the first bank; and
multiplying the inductance scaling factor, the noise scaling factor, and the bounce voltage scaling factor with one another to provide the simultaneous switching output level for the first bank.

### Claim 12 (depends on 11)

The program storage device according to claim 11, wherein the integrated circuit design includes assignment of banks including the first bank for interfacing to a circuit board.

### Claim 13 (depends on 11)

The program storage device according to claim 11, wherein the integrated circuit design is for instantiation in a programmable logic device.

### Claim 14 (depends on 11)

The program storage device according to claim 11, the method further comprising:
determining respective simultaneous switching output levels for adjacent banks to the first bank;
selecting a minimum value from the switching output allowance levels of the adjacent banks; and
multiplying the minimum value by a scalar to provide a simultaneous switching output allowance for the first bank and a second bank in combination with the first bank, the second bank being one of the adjacent banks.

### Claim 15 (depends on 11)

The program storage device according to claim 11, the method further comprising:
determining actual inductances for at least one of a printed circuit board, a backplane, and one or more discrete capacitors;
first combining the actual inductances to provide an inductance divisor;
second combining specified inductances for the at least one of the printed circuit board, the backplane, and the one or more discrete capacitors to provide an inductance numerator;
dividing the inductance numerator by the inductance divisor to provide the inductance scaling factor;
determining first noise effects for an actual noise limit;
combining the first noise effects to provide a first noise total;
obtaining a user-specified noise limit;
subtracting the first noise total from the user-specified noise limit to provide a noise difference;
dividing the noise difference by a manufacturer-specified noise limit to provide the noise scaling factor;
determining second noise effects for actual bounce voltage;
combining the second noise effects to provide a second noise total;
obtaining a manufacturer's expected bounce voltage;
adding the second noise total to the manufacturer's expected bounce voltage to provide a bounce total voltage; and
dividing the manufacturer's expected bounce voltage by the bounce total voltage to provide the bounce voltage scaling factor.
