17.10.2012 Views

Simultaneous Switching Output (SSO) Analysis Using Xilinx Virtex-4 ...

Simultaneous Switching Output (SSO) Analysis Using Xilinx Virtex-4 ...

Simultaneous Switching Output (SSO) Analysis Using Xilinx Virtex-4 ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Simultaneous</strong> <strong>Switching</strong> <strong>Output</strong> (<strong>SSO</strong>)<br />

<strong>Analysis</strong> <strong>Using</strong> <strong>Xilinx</strong> <strong>Virtex</strong>-4® FPGAs<br />

<strong>Xilinx</strong> Corporation<br />

Ansoft Corporation


Overview<br />

� Goal: Create a repeatable, accurate and practical<br />

methodology for <strong>SSO</strong> analysis<br />

� <strong>SSO</strong> and crosstalk discussion<br />

� <strong>Xilinx</strong> package setup and crosstalk results<br />

� <strong>Xilinx</strong> test board setup<br />

� <strong>SSO</strong> measurement vs. simulation results


<strong>Xilinx</strong> <strong>Virtex</strong>-4® FPGAs :<br />

Laboratory measurements<br />

performed by <strong>Xilinx</strong> and<br />

Dr. Howard Johnson, Sigcon<br />

www.sigcon.com<br />

www.xilinx.com


<strong>SSO</strong> Description<br />

� <strong>SSO</strong> is the noise due to several I/O pins switching at the same time<br />

� Induced voltage due to changing current in lead pins<br />

� <strong>Simultaneous</strong> switching noise can be attributed to<br />

� Poor signal to ground ratio<br />

� Return path discontinuity<br />

� The following factors can help contain <strong>SSO</strong><br />

� Avoid return path discontinuities<br />

� Minimize total inductance of return path and keep it low<br />

� On-die decoupling capacitor strategy to cancel inductive noise


<strong>SSO</strong> (<strong>Simultaneous</strong> <strong>Switching</strong> <strong>Output</strong>)<br />

Ref: BGA Crosstalk by Howard Johnson, March 1, 2005<br />

�Setup<br />

�“Schematic View” or real<br />

representation<br />

�BGA between PCB power<br />

and ground planes<br />

�At time zero switches C<br />

and A drive LOW -> huge<br />

I/O current transient<br />

�Victim D will pick voltage<br />

glitch Vglitch


� Crosstalk is the coupling of energy from one line to another:<br />

� Mutual capacitance (electric field)<br />

� Mutual inductance (magnetic field)<br />

� BOTH add to NEXT (Near End crosstalk) and FEXT (Far End crosstalk)<br />

� The mutual inductance will induce current on the victim line<br />

opposite of the driving current (Lentz’s law)<br />

Ref: Intel Developer Forum, by Richard Mellitz<br />

Crosstalk: General Overview


� Via field under BGA<br />

Inductive Crosstalk<br />

� Primary coupling mode is inductive<br />

� Magnitude of inductive crosstalk based on spatial<br />

arrangement and proximity of power and ground pins<br />

� Current loops of aggressors and victim couple<br />

Ref: BGA Crosstalk by Howard Johnson, March 1, 2005


1 mm<br />

Ball Pitch<br />

o o o o o o o o o o o o o o o o o<br />

Ref: BGA Crosstalk by Howard Johnson, March 1, 2005<br />

Die and Package Scale<br />

FPGA Die<br />

775um<br />

Bump<br />

75um<br />

Pkg (10L)<br />

1068um<br />

Ball<br />

500um height<br />

700 um width<br />

PCB<br />

(22Layer)<br />

3125um


Mutual Inductance Coupling Regions<br />

175 um<br />

Bump Pitch<br />

1 mm<br />

Ball Pitch<br />

o o o o o o o o o o o o o o o o o<br />

Ref: BGA Crosstalk by Howard Johnson, March 1, 2005<br />

Surface Vertical Region, through bumps and metal layers<br />

(very short distance: ~ 85 um, very small mutual inductance)<br />

Ground Plane<br />

} Signals<br />

Ground Plane


Mutual Inductance Coupling Regions<br />

175 um<br />

Bump Pitch<br />

1 mm<br />

Ball Pitch<br />

o o o o o o o o o o o o o o o o o<br />

Ref: BGA Crosstalk by Howard Johnson, March 1, 2005<br />

Surface Horizontal Region, signal traces run close to ground plane.<br />

Can be fairly long: ~ 14000 um. Source of some mutual inductance<br />

from the neighboring traces, contribution from other traces falls off rapidly<br />

Ground Plane<br />

} Signals<br />

Ground Plane<br />

Transmission Line Construction Via to Die Bump


Mutual Inductance Coupling Regions<br />

175 um<br />

Bump Pitch<br />

1 mm<br />

Ball Pitch<br />

o o o o o o o o o o o o o o o o o<br />

Ref: BGA Crosstalk by Howard Johnson, March 1, 2005<br />

Package Via Crosstalk Region. This is a region of<br />

some mutual inductance coupling. The total height<br />

in this area is approximately 1068 um.<br />

Ground Plane<br />

} Signals<br />

Ground Plane


Mutual Inductance Coupling Regions<br />

175 um<br />

Bump Pitch<br />

1 mm<br />

Ball Pitch<br />

o o o o o o o o o o o o o o o o o<br />

Ref: BGA Crosstalk by Howard Johnson, March 1, 2005<br />

PCB Via Crosstalk Region, includes package balls, printed<br />

circuit vias. This is the primary problem area. This is a region<br />

of significant mutual inductance coupling (or via crosstalk).<br />

The total height in this area is approximately 3635 um for a<br />

signal going all the way through a 22 layer PCB.<br />

Ground Plane<br />

} Signals<br />

Ground Plane


Ref: BGA Crosstalk by Howard Johnson, March 1, 2005<br />

Package Pinout<br />

O15 Load Load GND Load Load SPY SPY O15 Load Load Load GND Load Load O25 Load Load GND clko clko Load Load O25 GND<br />

GND Load Load GND Load Load Load O15 Load Load Load GND Load O25 Load Load Load GND Load Load Load Load O25 Load Load Load GND<br />

GND Load Load Load O15 Load Load Load Load GND Load Load Load Load O25 Load Load Load GND Load Load Load O25 Load Load Load GND Load clko clko<br />

Load Load O15 Load Load Load GND Load Load Load O15 Load Load Load GND Load Load O25 SPY Load GND Load Load Load Load O25<br />

Load Load Load GND Load Load O15 Load Load Load GND Load Load Load Load O25 Load GND SPY Load Load Load O25 Load Load Load Load<br />

Load GND Load Load Load O15 Load AUX Load Load GND Load Load Load O25 clki AUX Load Load GND Load Load Load Load O25 Load Load Load GND Load Load<br />

Load Load Load O15 Load Load Load GND Load Load Load Load O25 Load Load Load clki GND INT INT O25 Load AUX Load GND Load Load Load Load O25<br />

O15 Load Load Load GND Load Load Load Load O15 Load Load Load SPY GND Load Load Load O25 Load AUX Load Load GND Load Load Load VDO Load Load Load<br />

GND Load Load Load Load O15 AUX INT GND Load SPY INT O25 Load Load INT GND Load Load INT Load O25 clko Load Load GND clko<br />

Load Load Load O15 Load INT Load Load GND INT GND INT Load O25 Load Load Load GND INT GND INT Load O25 Load Load Load Load GDO Load Load SPY<br />

Load O15 Load Load Load GND Load INT GND INT GND Load Load GND Load Load INT GND INT GND AUX Load Load GND Load Load Load Load O25 SPY<br />

Load Load GND Load Load SPY Load O15 Load AUX GND INT GND INT clki Load Load O25 Load INT GND INT GND Load Load Load O25 Load Load Load Load GND<br />

GND Load O15 SPY AUX Load Load GND Load INT clki O25 Load Load Load Load GND Load Load INT Load O25 Load INT Load Load GND<br />

Load Load GND Load Load Load O15 INT GND INT GND INT Load O25 Load AUX Load Load GND<br />

GND Load O15 Load INT GND INT GND INT GND AUX GND O25 Load Load Load Load GND<br />

GND AUX Load Load GND INT GND INT GND O25 GND INT GND INT GND GND<br />

GND O25 GND AUX GND VDI GDI INT GND<br />

GND INT GND INT GND VDA GND O25 GND<br />

GND GND INT GND INT GND O25 GND INT GND INT GND Load Load AUX GND<br />

GND Load Load Load O33 Load AUX GND INT GND INT GND INT Load O25 GND<br />

GND Load AUX Load O33 Load Load INT GND INT GND INT O25 Load Load Load Load GND Load Load<br />

GND Load Load INT Load O33 Load INT Load GND Load Load Load clki O25 GND INT Load Load GND Load Load AUX Load O25 GND<br />

GND Load Load Load O33 Load Load Load GND INT GND INT Load O25 Load INT clki INT GND INT GND AUX O25 Load Load Load Load GND Load Load Load<br />

SPY Load O33 Load Load Load GND Load Load AUX GND INT GND INT Load Load GND Load Load GND INT GND INT Load GND Load Load Load Load O25<br />

SPY Load Load Load GND Load Load Load Load O33 Load INT GND INT GND Load Load Load O25 Load INT GND INT GND Load INT Load O25 Load clko clko<br />

Load GND Load Load Load O33 INT Load GND INT Load Load SPY O25 Load INT Load Load GND INT Load AUX O25 Load Load GND Load<br />

Load Load O33 Load Load GND Load Load AUX Load O25 Load SPY Load Load GND SPY Load Load Load O25 Load Load Load Load GND Load Load Load Load O25<br />

O33 Load Load Load GND Load AUX O33 Load INT Load INT GND clki Load Load SPY O25 Load Load GND Load Load Load Load O25 Load Load Load<br />

Load Load GND Load Load Load Load O33 Load Load Load GND Load Load AUX clki O25 Load Load Load GND Load Load AUX Load O25 Load Load Load GND<br />

Load Load Load O33 Load Load Load GND Load Load Load O25 Load Load Load GND Load Load Load O25 Load Load GND Load Load Load<br />

Load O33 Load Load Load GND Load Load Load Load O33 Load Load Load Load GND Load Load Load Load O25 Load Load Load Load GND Load Load Load O25 Load Load<br />

Load Load Load GND Load Load O33 Load Load Load GND Load Load Load O25 Load Load Load Load GND Load Load Load Load O25 Load Load Load GND<br />

GND Load Load Load O33 Load Load Load Load GND Load Load O25 GND GND GND Load Load Load Load O25 Load Load Load Load GND Load GND<br />

GND O33 Load Load Load GND Load Load Load O33 Load Load GND Load clko clko O25 SPY SPY Load Load GND Load Load Load O25<br />

The LX60 FF1148 package is tessellated with a<br />

regular array of power and ground pins, called a<br />

“Sparse Chevron” pattern<br />

8 signals : 1 power : 1 ground = min loop area<br />

Load GND Load Load<br />

Load Load Load VCCo<br />

VCCo Load Load Load<br />

Load Load GND Load<br />

Unit Tile


The <strong>Xilinx</strong> “spiral test” exercises 100 nearestneighbor<br />

aggressors in succession, working<br />

around and around location A10 to increasingly<br />

distant locations<br />

Ref: BGA Crosstalk by Howard Johnson, March 1, 2005<br />

SSN: Function of Proximity


<strong>Xilinx</strong> <strong>Virtex</strong>-4® FPGA and<br />

ML481 Test Board: Setup and<br />

EM Simulation in SIwave<br />

Automated Setup and Simulation


� 8-layer package on 24<br />

layer test board<br />

� Test points are at SMA<br />

connectors (Spyholes)<br />

<strong>Xilinx</strong> System Overview


<strong>Xilinx</strong> FPGA: <strong>Virtex</strong>-4 LX60 FF1148 Package<br />

� 8-layer flip-chip BGA package<br />

� Single Core<br />

� 34 x 34 mm<br />

� 1148 Balls<br />

� 49 port simulation<br />

� 40 IO<br />

� 5 Spyhole IO<br />

� 2 VCCO_9<br />

� 2 Decaps


� AnsoftLinks<br />

<strong>Xilinx</strong> <strong>Virtex</strong>-4® FPGA –<br />

Automation Step 1<br />

� It is a translator/editor/link from a 3 rd party layout tool to Ansoft environment<br />

� Compatible with Cadence (APD, Allegro), Mentor (Boardstation, PowerPCB, Expedition),<br />

Zuken CR5000, and Synopsys Encore<br />

Cadence Advanced<br />

Package Designer (APD)<br />

Access Ansoft Tools<br />

directly from APD!


� Create materials, or<br />

� Use Material Library<br />

SIwave: Layer Stackup<br />

� Frequency Dependent<br />

� Enter Information<br />

� Layer Thickness<br />

� Materials<br />

NOTE: Sometimes<br />

proper stackup data is<br />

not in the layout tool


SIwave: Solderballs and Solderbumps<br />

Automatic Solderball/Solderbump<br />

Generation


SIwave: Automated Grouped Nodes<br />

� Automated Pin Grouping: pins shorted for easy analysis<br />

� Parts, Pin and Net<br />

names preserved<br />

� User can define<br />

region for grouping


SIwave: Automated Port Creation<br />

� Assign ports by Pin names or Pin Groups<br />

� Reference pins<br />

can be assigned<br />

by distance<br />

� All Parts have<br />

imported pin<br />

names


Package Ports: Grouped References<br />

Die Side Ports Ball Side Ports


VCCO_9 and IO’s of Interest<br />

IO’s<br />

VCCO_9<br />

NOTE: The entire<br />

package structure is<br />

simulated to include<br />

all coupling.


SIwave Simulation<br />

Run Time<br />

� ALL relevant couple structures are taken into account<br />

� Fast interpolating sweep<br />

� Total memory ~ 800 MB<br />

� Total Simulation Time less than 2 hours!


Designer with Nexxim<br />

� Circuit is automatically created from SIwave results<br />

� Each port becomes a sub-circuit terminal<br />

� <strong>Xilinx</strong> IBIS driver models are used<br />

as stimulus<br />

� All lines properly terminated<br />

� Aggressors sequentially added,<br />

victim left quiet


Crosstalk <strong>Analysis</strong> Setup in Nexxim<br />

<strong>Xilinx</strong> <strong>Virtex</strong> 4 IBIS driver models ver 3.2<br />

LVCMOS 2.5V, 24 mA Fast<br />

Package<br />

Decaps<br />

Die Side Ball Side<br />

Power<br />

Supply


Crosstalk Results<br />

� Crosstalk analysis results vs. number of aggressors<br />

� Increase in number of aggressors will increase crosstalk<br />

� Inductive crosstalk is dominating factor


Crosstalk: Aggressor Proximity<br />

Aggressors progressively<br />

further from victim trace<br />

Crosstalk falls off quickly as you move the<br />

aggressor further and further from the victim


<strong>Xilinx</strong> ML481 Test Board<br />

� <strong>Virtex</strong>-4 FPGA half of test board<br />

� Board components included<br />

� 24 layer, FR4 Board<br />

� 7.5 in x 20 in<br />

� 28 Ports<br />

� 23 IO ports<br />

� 3 spyhole ports<br />

� 1 VCCO_9 port<br />

� 1 VRM port


SIwave Ports at Ball Pads


VDO Spyhole Net<br />

Board IO’s of Interest<br />

L34 Spyhole Net<br />

L34 Spyhole SMA<br />

VDO Spyhole SMA<br />

Terminated IO’s


Terminations for Switched IO’s


Board Simulation Profile<br />

� ALL relevant couple structures are considered<br />

� Fast interpolating sweep<br />

� Total memory ~ 1 GB<br />

� Total Simulation Time less than 2.5 hours!


<strong>SSO</strong> Simulation and Results:<br />

Measurement vs. Simulation


<strong>SSO</strong> <strong>Analysis</strong> Setup in Nexxim<br />

<strong>Xilinx</strong> <strong>Virtex</strong>-4 IBIS drivers ver 3.2<br />

LVCMOS 2.5V, 24 mA Fast<br />

Spyhole IO’s<br />

held low at die<br />

Package<br />

Board


Simulation Mirrors Measurement


Ref: BGA Crosstalk by Howard Johnson, March 1, 2005<br />

Measurement Setup<br />

�Setup<br />

�Worst case scenario<br />

�Victim is kept at “high”<br />

or “low”<br />

�Many I/O’s driven at<br />

the same time<br />

�Inductive crosstalk<br />

received by I/O’s


<strong>SSO</strong> Measured versus Simulated<br />

Measured SIwave + Nexxim<br />

� 125 MHz Clock, 400 ps edge<br />

� <strong>SSO</strong> Measured at L34 Spyhole


<strong>SSO</strong> Measured versus Simulated<br />

Measured SIwave + Nexxim<br />

� 125 MHz Clock, 400 ps edge<br />

� <strong>SSO</strong> Measured at VDO Spyhole


High Performance Design Solution<br />

Critical Elements needed to Converge<br />

• Accuracy, Capacity and Speed<br />

• Time and Frequency Domain<br />

• Robust Design Automation


SIwave’s Additional Capabilities<br />

� Impedance Profile<br />

� Measure Z11, Z21 etc. for different locations<br />

� Decoupling <strong>Analysis</strong><br />

� Change component values/placement and measure Z change<br />

� Resonant Mode Simulation<br />

� Find Hotspots on your board<br />

� Frequency Sweep<br />

� Measure VRM effectiveness across board<br />

� EMI/EMC <strong>Analysis</strong><br />

� SIwave dynamically links to HFSS as radiation source


� Measure plane impedances at<br />

different locations on a PCB or<br />

Package<br />

� Simulation and Lab<br />

measurements for below PCB<br />

shown on right<br />

Impedance Profile<br />

1.00E+04<br />

1.00E+03<br />

1.00E+02<br />

1.00E+01<br />

1.00E+00<br />

1.00E+05 1.00E+06 1.00E+07 1.00E+08 1.00E+09 1.00E+10<br />

1.00E-01<br />

1.00E-02<br />

Simulated<br />

Measured<br />

SIwave 2.0 2003.11.10|Z22| Measured 3p3 |Z22|


� Resonant modes<br />

highlight potential problem<br />

areas of a PCB or Package<br />

� Red and blue areas indicate<br />

high impedances at a particular<br />

frequency<br />

Resonant Modes<br />

Resonant Modes


Frequency Sweeps<br />

�Add voltage sources to a PCB or<br />

Package to simulate the frequency<br />

dependent voltage distribution


EMI/EMC <strong>Analysis</strong><br />

� SIwave solution can be used as a radiation source for HFSS<br />

� Project is dynamically linked<br />

Board Solution in<br />

SIwave<br />

Board as Source inside<br />

enclosure in HFSS


Conclusions<br />

� System level validation with EM and Circuit is successful<br />

� Good correlation shown: Measurement vs. Simulation<br />

� Negative crosstalk spike representing inductive coupling<br />

� IBIS Driver results correlate to measured <strong>SSO</strong> results<br />

� SIwave/Nexxim can easily and accurately perform <strong>SSO</strong> and<br />

crosstalk analysis<br />

� Future work<br />

� Incorporate Nexxim encrypted driver models<br />

� Simulate merged package and board

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!