US8504976B2 - Empirical prediction of simultaneous switching noise - Google Patents
Empirical prediction of simultaneous switching noise Download PDFInfo
- Publication number
- US8504976B2 US8504976B2 US13/484,136 US201213484136A US8504976B2 US 8504976 B2 US8504976 B2 US 8504976B2 US 201213484136 A US201213484136 A US 201213484136A US 8504976 B2 US8504976 B2 US 8504976B2
- Authority
- US
- United States
- Prior art keywords
- buffer
- switching
- buffers
- dut
- ssn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/10—Noise analysis or noise optimisation
Definitions
- CMOS complementary metal oxide semiconductor
- FPGA field programmable gate arrays
- SSN simultaneous switching noise
- SSO simultaneous switching output
- SSN in an FPGA system may be attributed to two primary factors: the mutual inductive coupling among switching I/O buffers and the impedance profile of a power distribution network (PDN) including die, package, and printed circuit board (PCB).
- PDN power distribution network
- PCB printed circuit board
- FPGAs are programmable, they fit into a wide variety of user applications, so it is useful for designers to have a tool to determine their own SSN budget without additional costs. Ideally, this kind of tool requires instantaneous and accurate result predictions for various FPGA I/O buffer assignments and ideally would provide an optimum buffer assignment under certain design constraints.
- designers have constructed system-level, “SPICE-like” models to anticipate SSN in FPGA systems. These models are based on an understanding of SSN cause mechanisms and correlate well with bench measurements, helping IC and packaging designers improve designs.
- the system obtains the mutual inductance (e.g., M ij ) between a quiet output buffer (e.g., quiet output buffer i) and each switching output buffer (e.g., switching output buffer j) on an FPGA or other programmable logic device (PLD) from an automatic SSN measurement system.
- the system calculates the corrected mutual inductance between the quiet output buffer and each switching output buffer by multiplying the mutual inductance (e.g., M ij ) by a normalized correction factor (e.g., ⁇ j ).
- the system multiplies each corrected mutual inductance by the rate of current flowing through the switching output buffer to obtain an induced voltage resulting from the switching output buffer.
- the system then sums the induced voltages for all the switching output buffers on the PLD to obtain an estimate of total induced voltage (e.g., SSO noise) caused in the quiet output buffer by all switching output buffers.
- the normalized correction factor e.g., ⁇ j
- ⁇ j is based on bench measurements and depends on the amplitude of the simultaneous switching noise affecting the corresponding switching output buffer (e.g., switching output buffer j).
- the normalized correction factor is also based on bench measurements.
- the normalized correction factor (e.g., ⁇ j ) depends upon the group number of a switching output buffer (e.g., switching output buffer j) and the number of switching output buffers in the group.
- the group number depends upon a threshold induced voltage (e.g., Vij).
- FIG. 1 is a simplified schematic diagram illustrating mutual inductive coupling, in accordance with an example embodiment.
- FIG. 2A is a simplified schematic diagram illustrating quiet-low noise caused by mutual inductive coupling, in accordance with an example embodiment.
- FIG. 2B depicts a waveform resulting from quiet-low noise caused by mutual inductive coupling, in accordance with an example embodiment.
- FIG. 3A is a simplified schematic diagram illustrating quiet-high noise caused by mutual inductive coupling and PDN noise, in accordance with an example embodiment.
- FIG. 3B depicts two waveforms resulting from quiet-high noise caused by mutual inductive coupling and PDN noise, in accordance with an example embodiment.
- FIG. 4 is a simplified flowchart diagram showing a high-level process for classifying the primary cause of SSN, in accordance with an example embodiment.
- FIG. 5 is a diagram showing a mathematical model for estimating quiet low noise and a plot showing the effect of switching rate degradation on the estimates resulting from the model.
- FIG. 6 is a diagram showing a mathematical model for estimating quiet low noise and the plotted empirical measurements used to determine a normalized correction factor used in the model, in accordance with an example embodiment.
- FIG. 7 is a diagram showing a matrix product for estimating mutual inductive coupling before and after addition of a normalized correction factor, in accordance with an example embodiment.
- FIG. 8 is a simplified flowchart diagram showing a process for estimating mutual inductive coupling, in accordance with an example embodiment.
- FIG. 9 is simplified schematic diagram of the broadband multiplexers in an automatic SSN measurement system, in accordance with an example embodiment.
- FIG. 10 is simplified flowchart diagram showing a process for determining a normalized correction factor, in accordance with an alternative example embodiment.
- FIG. 11 is a diagram showing a piecewise-continuous function, in accordance with an alternative example embodiment.
- FIG. 1 is a simplified schematic diagram illustrating mutual inductive coupling, in accordance with an example embodiment.
- FIG. 1 shows an integrated circuit (e.g., a die or chip) connected to a flip-chip package which is connected to a PCB (printed circuit board), e.g., a chip-package-PCB 101 .
- FIG. 1 includes I/O signals 102 which travel through package transmission lines, package vias, solder balls, and PCB vias to the PCB level.
- FIG. 1 also shows the power supply connections 103 for the integrated circuit, with power/ground planes and power/ground vias through package substrates, power/ground pins, solder balls, PCB vias, and PCB power/ground planes. As depicted in FIG.
- a switching aggressor I/O buffer 104 might affect the noise (e.g., signal or edge delay) on a victim I/O buffer 105 .
- One way is through direct impact of the aggressor magnetic flux 106 on the victim path. This impact happens along the whole victim path including the package and PCB vias and is referred to as mutual inductive coupling.
- the other way for a switching aggressor I/O buffer 104 to affect the noise on a victim I/O buffer 105 is through the power supply connections 103 (e.g., the PDN).
- Simultaneously switching aggressors consume significant current. When a consumption current peak occurs, it causes power sags, ground bounces, and power supply resonances, which affect the simultaneously switching noise (SSN) through I/O circuits.
- SSN simultaneously switching noise
- FIG. 2A is a simplified schematic diagram illustrating a scenario for quiet-low noise caused by mutual inductive coupling, in accordance with an example embodiment.
- a quiet I/O buffer 202 e.g., a victim pin
- logic low e.g., at ‘0’
- switching I/O buffers 203 e.g., the aggressor pins
- the transient currents through the switching buffers create time-varying magnetic fields, which penetrate into the victim loop and induce a voltage noise, depicted as a typical quiet-low noise waveform 204 , which is shown in greater detail in FIG. 2B , along with the corresponding aggressor waveform.
- a voltage noise depicted as a typical quiet-low noise waveform 204 , which is shown in greater detail in FIG. 2B , along with the corresponding aggressor waveform.
- FIG. 2A mutual inductive coupling is the dominant process for producing SSN.
- FIG. 3A is a simplified schematic diagram illustrating quiet-high noise caused by mutual inductive coupling and PDN noise, in accordance with an example embodiment.
- a quiet I/O buffer 302 in a chip-package-PCB 101 is held at logic high (e.g., at ‘1’), while I/O buffers 303 switch simultaneously.
- a substantial number of transient currents not only generate magnetic fields coupled to the victim I/O buffer 302 , but also cause a drop in delta-I voltage when it flows through the inductive circuit components of the PDN.
- These inductances are associated with interconnection structures, such as power balls of a ball-grid array (BGA) package and power vias in a PCB.
- BGA ball-grid array
- the contributions from the mutual inductive coupling and the PDN effect are distinct, as shown in FIG. 3A .
- the sag caused by the mutual inductive coupling 304 has a higher resonant frequency, as compared to the sag due to the PDN effect 305 .
- This characteristic facilitates the decomposition of the two contributions.
- the mutual inductive coupling usually contributes more than the PDN effect, as shown in the left waveform in FIG. 3B .
- the PDN sag might be worse when more aggressor I/O buffers 303 switch simultaneously, as shown in right waveform in FIG. 3B .
- FIG. 4 is a simplified flowchart diagram showing a high-level process for classifying the primary cause of SSN, in accordance with an example embodiment.
- the process is consistent with the waveforms shown in FIGS. 2 and 3 .
- the input for the process is an FPGA I/O pin assignment which specifies an I/O standard, pin count, and pin locations.
- the output of the process is the glitch amplitude (e.g., amplitude without respect to positive or negative direction) of quiet-low or quiet-high noise.
- the system quantifies mutual inductive coupling for both quiet-low and quiet-high scenarios.
- the system characterizes the PDN noise for only the quiet-high scenario.
- the system reports the mutual inductive coupling as the quiet-low noise.
- the system reports the maximum of the glitch amplitudes from operations 1 and 2 as the quiet-high noise.
- FIG. 5 is a diagram showing a mathematical model for estimating quiet low noise and a plot showing the effect of switching rate degradation on the estimates resulting from the model.
- the mathematical model is described as Equation 2, which is reproduced below:
- M ij the mutual inductance between a quiet (or victim) I/O buffer i and a switching (or aggressor) I/O buffer j in an FPGA package
- I j is the current flowing through switching I/O buffer j
- N is the number of switching I/O buffers
- V i the induced voltage at the quiet I/O buffer i.
- this mathematical model results in an overestimation of the quiet-low noise (in terms of normalized voltage) obtained with bench measurements.
- the overestimation results from a failure to account for the switching rate degradation affecting each switching I/O buffer j, when multiple I/O buffers are switching simultaneously.
- FIG. 6 is a diagram showing a mathematical model for estimating quiet low noise and the plotted empirical measurements used to determine a normalized correction factor used in the model, in accordance with an example embodiment.
- the mathematical model in FIG. 6 is reproduced below:
- M ij the mutual inductance between a quiet (or victim) I/O buffer i and a switching (or aggressor) I/O buffer j in an FPGA package
- I j is the current flowing through I/O buffer j
- N is the number of switching I/O buffers
- V i is the induced voltage at the quiet I/O buffer i.
- This mathematical model also includes an individual correction factor ⁇ j for switching I/O buffer j, where the correction factor compensates for the switching rate degradation affecting switching I/O buffer j, when multiple I/O buffers are switching. The plot shown in FIG.
- the normalized correction factors e.g., ⁇ j
- the plot is the result of a sample of bench measurements, which have been normalized. It will be appreciated that if the switching rate of a single aggressor I/O buffer is defined as a reference, the switching rate of multiple aggressor I/O buffers can be normalized using the reference. The normalized values will be less than or equal to 1 since switching rate degradation increases with increases in the number of aggressor I/O buffers. In FIG. 6 , the normalized correction factors range from a value of approximately 0.8 to a value of approximately 1. It will further be appreciated that given the SSN amplitude for a particular switching I/O buffer j, the plot can be used to obtain a specific normalized correction factor for that buffer (e.g., ⁇ j ), as explained in greater detail below.
- ⁇ j the normalized correction factors
- FIG. 7 is a diagram showing a matrix product for estimating mutual inductive coupling for an FPGA before and after addition of a normalized correction factor, in accordance with an example embodiment.
- matrix product 701 shows a vector 702 of victim pins (or buffers) that results from the matrix multiplication of an N ⁇ N matrix of mutual inductive coupling 703 and a vector 704 of aggressor pins.
- N might be the total number of I/O pins (or buffers) in an FPGA.
- the vector 704 of aggressor pins is comprised of values that are merely 0 or 1, which indicate whether an aggressor pin is switching or not.
- the vector 704 does not account for the switching rate degradation affecting the aggressor pin.
- matrix product 705 that includes a vector 706 of victim pins which results from the matrix multiplication of an N ⁇ N matrix of mutual inductive coupling 707 and a vector 708 of aggressor pins.
- N might be the total number of I/O pins (or buffers) on an FPGA.
- the vector 708 of aggressor pins is comprised of values that are not necessarily 0 or 1, e.g., S 2 , S 3 , and S N . In a particular example embodiment, these values correspond to the specific normalized correction factors (e.g., ⁇ j ) described above and depend on the switching rate degradation affecting the aggressor pin.
- FIG. 8 is a simplified flowchart diagram showing a process for estimating mutual inductive coupling, in accordance with an example embodiment.
- the system obtains the mutual inductance between a quiet I/O buffer and each switching I/O buffer on a PLD (e.g., an FPGA) from an automatic SSN measurement system.
- the system calculates the corrected mutual inductance between the quiet I/O buffer and each switching I/O buffer by multiplying the mutual inductance from operation 801 by a normalized correction factor which is specific to the switching I/O buffer.
- the system multiplies each corrected mutual inductance by the rate of current flowing through the switching I/O buffer to obtain an induced voltage resulting from the switching I/O buffer. Then in operation 804 , the system sums the induced voltages for all the switching I/O buffers on the PLD to obtain an estimate of total induced voltage caused in the quiet I/O buffer by all switching I/O buffers.
- the system uses a specific normalized correction factor to discount the mutual inductance between the quiet I/O buffer and each switching I/O buffer.
- the system might obtain the specific normalized correction factor from the data in the plot shown in FIG. 6 and the data that goes into the mathematical model shown in FIG. 6 .
- the system might use data that goes into the mathematical model (e.g., the values in the mutual inductive coupling matrix, their rate of current, etc.) to calculate an SSN amplitude for the SSN affecting a particular switching I/O buffer (e.g., the SSN resulting from mutual inductive coupling caused by other switching I/O buffers).
- the system might determine a specific normalized correction factor associated with the calculated SSN amplitude from the data in the plot.
- an automatic SSN measurement system might be used to obtain the mutual inductance between a quiet I/O buffer and a switching I/O buffer and to perform the other operations of the process described in FIG. 8 , in an example embodiment.
- the automatic SSN measurement system might comprise both a hardware component and a software component.
- the hardware component might include broadband multiplexers, as explained further below.
- the software component might include: (1) a NIOS® II embedded soft processor in the FPGA device under test (DUT); (2) a NIOS® II soft processor in a control FPGA; and (3) an integrated characterization environment (ICE) that runs on a PC (personal computer) and that controls the automation system, in one embodiment.
- ICE integrated characterization environment
- the soft processors need not be limited to the NIOS® II soft processors, as any suitable soft processor may be incorporated.
- the ICE might have three main functions: (a) control all test equipment, such as DC power supplies, a pulse generator, and a high-bandwidth sampling oscilloscope; (b) send defined noise patterns to the NIOS® II soft processor embedded in the DUT; and (c) send defined commands to the NIOS® II soft processor in the control FPGA to configure all multiplexers.
- the NIOS® II processor is a soft processor, it might employ a customized protocol to communicate with the ICE on the PC.
- a basic element might be an SSN pattern including the selection of a victim I/O buffer and multiple aggressor I/O buffers.
- a pattern or a series of patterns might be conveniently defined by a user at the PC using the ICE.
- the ICE might employ an RS232 series interface to send the patterns to the Nios® II processor in the DUT and corresponding commands to the control FPGA.
- the NIOS® II processor in the DUT might dynamically program the I/O buffers of the DUT.
- the NIOS® II processor in the control FPGA might dynamically control the multiplexers so that the SSN waveform at the victim I/O buffer can be captured with the sampling oscilloscope.
- the automatic SSN measurement system might employ broadband multiplexers to select a victim I/O buffer from among all FPGA I/O buffers.
- the broadband multiplexers might support up to 800 I/O buffers, with a bandwidth from DC (direct current) to 8 GHz.
- a 450 ⁇ resistor might be added between the far-end of each I/O trace and each channel of multiplexers, where the resistor forms a 10:1 probe with a 50 ⁇ oscilloscope termination, as shown in FIG. 9 .
- FIG. 10 is simplified flowchart diagram showing a process for determining a normalized correction factor, in accordance with an alternative example embodiment. It will be appreciated that the normalized correction factor might be used in the mathematical model shown in FIG. 6 .
- the system obtains the mutual inductive coupling V ij between an arbitrary aggressor I/O buffer i (i ⁇ [1, K]) and another aggressor I/O buffer j (j ⁇ [1, K]) from an N ⁇ N mutual inductive coupling matrix, where N is the total number of I/O buffers in an FPGA package and K is the number of switching I/O buffers.
- V ij and threshold values e.g., th 1
- Group ⁇ ⁇ 1 when ⁇ ⁇ V ij ⁇ [ th 1 , ⁇ ) , where ⁇ ⁇ th 1 ⁇ ⁇ is ⁇ ⁇ a ⁇ ⁇ threshold ⁇ ⁇ value ;
- Group ⁇ ⁇ 2 when ⁇ ⁇ V ij ⁇ [ th 2 , th 1 ) ;
- Group ⁇ ⁇ 3 when ⁇ ⁇ V ij ⁇ [ th 3 , th 2 ) ;
- Group ⁇ ⁇ M when ⁇ ⁇ V ij ⁇ ⁇ the ⁇ ⁇ rest ⁇ ⁇ values .
- the system uses the distribution to determine a normalized correction factor ⁇ i for aggressor I/O buffer i, in operation 1003 .
- FIG. 11 is a diagram depicting a piece-wise curve, according to an alternative example embodiment.
- M is equal to three (e.g., there are three groups to which aggressor buffers j can be assigned on the basis of threshold values).
- the normalized correction-factor curve for each group is continuous and is a function of the number of aggressor I/O buffers (e.g., 1, 11, and 20) in the group.
- the piece-wise curve in FIG. 11 is discontinuous from one group to another.
- the curve for each group can be derived from bench measurements and represents an average behavior of aggressor I/O buffers in the group.
- aggressor I/O buffers in Group 1 might have a relatively strong mutual inductive coupling with the others in the group, and the normalized correction-factor curve degrades quickly with an increase in the number of aggressor I/O buffers.
- the aggressor I/O buffers in Group 3 might have relatively a weak coupling effect and the normalized correction-factor curve decays slowly.
- a T is a target aggressor I/O buffer and the other aggressor I/O buffers have been divided into the three groups as follows:
- group correction factor ⁇ 1 is determined on the basis of three aggressor I/O buffers (e.g., A 1 , A 2 , and A 3 ).
- group correction factor ⁇ 2 is determined on the basis of five aggressor I/O buffers (e.g., A 4 , A 5 , A 6 , A 7 , and A 8 ) and group correction factor ⁇ 3 is determined on the basis of four aggressor I/O buffers (e.g., A 9 , A 10 , A 11 , and A 12 ).
- prediction accuracy improves with an increase in M, e.g., the number of groups that form the basis of a mutual coupling distribution.
- M increases so does implementation complexity.
- the programmable logic device (PLD) described herein may be part of a data processing system that includes one or more of the following components; a processor; memory; I/O circuitry; and peripheral devices.
- the data processing system can be used in a wide variety of applications, such as computer networking, data networking, instrumentation, video processing, digital signal processing, or any suitable other application where the advantage of using programmable or re-programmable logic is desirable.
- the programmable logic device can be used to perform a variety of different logic functions.
- the programmable logic device can be configured as a processor or controller that works in cooperation with a system processor.
- the programmable logic device may also be used as an arbiter for arbitrating access to a shared resource in the data processing system.
- the programmable logic device can be configured as an interface between a processor and one of the other components in the system.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
In an example embodiment, the system obtains the mutual inductance (e.g., Mij) between a quiet I/O buffer and each switching I/O buffer on a PLD from an automatic SSN measurement system. The system calculates the corrected mutual inductance between the quiet I/O buffer and each switching I/O buffer by multiplying the mutual inductance by a correction factor (e.g., αj). The system multiplies each corrected mutual inductance by the rate of current flowing through the switching I/O buffer to obtain an induced voltage resulting from the switching I/O buffer. The system sums the induced voltages for all the switching I/O buffers on the PLD to obtain an estimate of total induced voltage caused in the quiet I/O buffer by all switching I/O buffers. The correction factor is based on bench measurements and depends on the amplitude of the simultaneous switching noise affecting each switching I/O buffer.
Description
This application is a divisional application of U.S. application Ser. No. 12/208,190, filed Sep. 10, 2008 now U.S. Pat. No. 8,214,781. The disclosure of this related application is incorporated herein by reference for all purposes. This is application is related to U.S. patent application Ser. No. 11/877,072, filed on Oct. 23, 2007, entitled “Method and System for Analyzing Input/Output Simultaneous Switching Noise,” whose disclosure is incorporated herein by reference.
As a result of progress in current CMOS (complementary metal oxide semiconductor) technology, such as advances in 65-nm and 45-nm processes, in a programmable logic device (PLD), such as a field programmable gate arrays (FPGAs), have increased logic elements and I/O buffer (or pin) densities. Because simultaneous switching noise (SSN) is associated with the number of toggling I/O buffers, signal voltage level, and the switching rate of I/O buffers, it is important for FPGA users to be able to evaluate SSN performance in a “chip-package-board” environment. The SSN caused by FPGA output buffers is widely known as simultaneous switching output (SSO) noise and can be differentiated from the SSN caused by input buffers.
SSN in an FPGA system may be attributed to two primary factors: the mutual inductive coupling among switching I/O buffers and the impedance profile of a power distribution network (PDN) including die, package, and printed circuit board (PCB). In essence, reducing SSN is a design-cost issue. While designers can minimize the mutual inductive coupling by increasing the ratio of FPGA ground pins (or return-current pins) to I/O buffers, this approach sacrifices I/O buffer densities. Engineers can improve PDN performance by increasing on-die capacitance and adding on-package decoupling capacitors, but this approach increases costs.
Because FPGAs are programmable, they fit into a wide variety of user applications, so it is useful for designers to have a tool to determine their own SSN budget without additional costs. Ideally, this kind of tool requires instantaneous and accurate result predictions for various FPGA I/O buffer assignments and ideally would provide an optimum buffer assignment under certain design constraints. In the past, designers have constructed system-level, “SPICE-like” models to anticipate SSN in FPGA systems. These models are based on an understanding of SSN cause mechanisms and correlate well with bench measurements, helping IC and packaging designers improve designs.
However, these models are so complicated that they require signal/power integrity expertise to perform time-consuming, system-level simulations. It is cumbersome for all FPGA designers to perform the same level SSN analysis without considering their different design margins. Therefore, there is a need for a tool to help FPGA users execute a comprehensive FPGA SSN analysis in a short design cycle, though the invention claimed below has applicability to other applications beyond this particular application, as will become apparent from the following description and the drawings which accompany it.
In an example embodiment, the system obtains the mutual inductance (e.g., Mij) between a quiet output buffer (e.g., quiet output buffer i) and each switching output buffer (e.g., switching output buffer j) on an FPGA or other programmable logic device (PLD) from an automatic SSN measurement system. The system calculates the corrected mutual inductance between the quiet output buffer and each switching output buffer by multiplying the mutual inductance (e.g., Mij) by a normalized correction factor (e.g., αj). The system multiplies each corrected mutual inductance by the rate of current flowing through the switching output buffer to obtain an induced voltage resulting from the switching output buffer. The system then sums the induced voltages for all the switching output buffers on the PLD to obtain an estimate of total induced voltage (e.g., SSO noise) caused in the quiet output buffer by all switching output buffers. In the example embodiment, the normalized correction factor (e.g., αj) is based on bench measurements and depends on the amplitude of the simultaneous switching noise affecting the corresponding switching output buffer (e.g., switching output buffer j).
In an alternative example embodiment, the normalized correction factor is also based on bench measurements. However, in the alternative example embodiment, the normalized correction factor (e.g., αj) depends upon the group number of a switching output buffer (e.g., switching output buffer j) and the number of switching output buffers in the group. In turn, the group number depends upon a threshold induced voltage (e.g., Vij).
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the exemplary embodiments. However, it will be apparent to one skilled in the art that the exemplary embodiments may be practiced without some of these specific details. In other instances, process operations and implementation details have not been described in detail, if already well known.
The contributions from the mutual inductive coupling and the PDN effect are distinct, as shown in FIG. 3A . The sag caused by the mutual inductive coupling 304 has a higher resonant frequency, as compared to the sag due to the PDN effect 305. This characteristic facilitates the decomposition of the two contributions. When only a few aggressors I/O buffers 303 toggle, the mutual inductive coupling usually contributes more than the PDN effect, as shown in the left waveform in FIG. 3B . However, the PDN sag might be worse when more aggressor I/O buffers 303 switch simultaneously, as shown in right waveform in FIG. 3B .
where Mij is the mutual inductance between a quiet (or victim) I/O buffer i and a switching (or aggressor) I/O buffer j in an FPGA package, Ij is the current flowing through switching I/O buffer j, N is the number of switching I/O buffers, and Vi is the induced voltage at the quiet I/O buffer i. As shown by the plot in
where again Mij is the mutual inductance between a quiet (or victim) I/O buffer i and a switching (or aggressor) I/O buffer j in an FPGA package, Ij is the current flowing through I/O buffer j, N is the number of switching I/O buffers, Vi is the induced voltage at the quiet I/O buffer i. This mathematical model also includes an individual correction factor αj for switching I/O buffer j, where the correction factor compensates for the switching rate degradation affecting switching I/O buffer j, when multiple I/O buffers are switching. The plot shown in
In operation 802, the system uses a specific normalized correction factor to discount the mutual inductance between the quiet I/O buffer and each switching I/O buffer. In a particular example embodiment, the system might obtain the specific normalized correction factor from the data in the plot shown in FIG. 6 and the data that goes into the mathematical model shown in FIG. 6 . For example, the system might use data that goes into the mathematical model (e.g., the values in the mutual inductive coupling matrix, their rate of current, etc.) to calculate an SSN amplitude for the SSN affecting a particular switching I/O buffer (e.g., the SSN resulting from mutual inductive coupling caused by other switching I/O buffers). Then taking this calculated SSN amplitude as an input, the system might determine a specific normalized correction factor associated with the calculated SSN amplitude from the data in the plot.
As suggested by the description of FIG. 8 , an automatic SSN measurement system might be used to obtain the mutual inductance between a quiet I/O buffer and a switching I/O buffer and to perform the other operations of the process described in FIG. 8 , in an example embodiment. In a particular example embodiment, the automatic SSN measurement system might comprise both a hardware component and a software component. The hardware component might include broadband multiplexers, as explained further below. The software component might include: (1) a NIOS® II embedded soft processor in the FPGA device under test (DUT); (2) a NIOS® II soft processor in a control FPGA; and (3) an integrated characterization environment (ICE) that runs on a PC (personal computer) and that controls the automation system, in one embodiment. It should be appreciated that the soft processors need not be limited to the NIOS® II soft processors, as any suitable soft processor may be incorporated. In a particular example embodiment, the ICE might have three main functions: (a) control all test equipment, such as DC power supplies, a pulse generator, and a high-bandwidth sampling oscilloscope; (b) send defined noise patterns to the NIOS® II soft processor embedded in the DUT; and (c) send defined commands to the NIOS® II soft processor in the control FPGA to configure all multiplexers.
Because the NIOS® II processor is a soft processor, it might employ a customized protocol to communicate with the ICE on the PC. In this protocol, a basic element might be an SSN pattern including the selection of a victim I/O buffer and multiple aggressor I/O buffers. Thus, a pattern or a series of patterns might be conveniently defined by a user at the PC using the ICE. Then the ICE might employ an RS232 series interface to send the patterns to the Nios® II processor in the DUT and corresponding commands to the control FPGA. Upon receipt of the patterns, the NIOS® II processor in the DUT might dynamically program the I/O buffers of the DUT. Upon receipt of the corresponding commands, the NIOS® II processor in the control FPGA might dynamically control the multiplexers so that the SSN waveform at the victim I/O buffer can be captured with the sampling oscilloscope.
As indicated above, the automatic SSN measurement system might employ broadband multiplexers to select a victim I/O buffer from among all FPGA I/O buffers. In an example embodiment, the broadband multiplexers might support up to 800 I/O buffers, with a bandwidth from DC (direct current) to 8 GHz. Also in an example embodiment, a 450Ω resistor might be added between the far-end of each I/O trace and each channel of multiplexers, where the resistor forms a 10:1 probe with a 50Ω oscilloscope termination, as shown in FIG. 9 .
Once all of the other aggressor I/O buffers j have been assigned (e.g., a mutual coupling distribution has been created), the system uses the distribution to determine a normalized correction factor αi for aggressor I/O buffer i, in
Consider an example using the flowchart in FIG. 10 and the piece-wise curve in FIG. 11 , where AT is a target aggressor I/O buffer and the other aggressor I/O buffers have been divided into the three groups as follows:
three aggressor I/O buffers (A1, A2, A3) in Group 1;
five aggressor I/O buffers (A4, A5, A6, A7, A8) in Group 2; and
four aggressor I/O buffers (A9, A10, A11, A12) in Group 3.
From the curve for Group 1 in FIG. 11 , group correction factor β1 is determined on the basis of three aggressor I/O buffers (e.g., A1, A2, and A3). Similarly, group correction factor β2 is determined on the basis of five aggressor I/O buffers (e.g., A4, A5, A6, A7, and A8) and group correction factor β3 is determined on the basis of four aggressor I/O buffers (e.g., A9, A10, A11, and A12). Combining the three group correction factors, the overall normalized correction factor αT for AT might be a function of β1, β2, and β3: αT=β1β2β3, where βi is equal to 1 when there is no aggressor in Group i. In general, prediction accuracy improves with an increase in M, e.g., the number of groups that form the basis of a mutual coupling distribution. However, as M increases so does implementation complexity.
The programmable logic device (PLD) described herein may be part of a data processing system that includes one or more of the following components; a processor; memory; I/O circuitry; and peripheral devices. The data processing system can be used in a wide variety of applications, such as computer networking, data networking, instrumentation, video processing, digital signal processing, or any suitable other application where the advantage of using programmable or re-programmable logic is desirable. The programmable logic device can be used to perform a variety of different logic functions. For example, the programmable logic device can be configured as a processor or controller that works in cooperation with a system processor. The programmable logic device may also be used as an arbiter for arbitrating access to a shared resource in the data processing system. In yet another example, the programmable logic device can be configured as an interface between a processor and one of the other components in the system.
Although the foregoing example embodiments have been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. For example, the normalized correction factor might derive from a theoretical calculation rather than empirical measurements. Or the noise to be predicted might be other than SSN or SSO noise. It should also be appreciated that while some of the examples described above mention programmable logic devices, this term is not meant to be limiting as the embodiments may be applied to any integrated circuit. Accordingly, the example embodiments are to be considered as illustrative and not restrictive. And the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
Claims (20)
1. A system for analyzing simultaneous switching noise (SSN) of a device under test, comprising:
a first soft processor embedded in a device under test that dynamically programs a plurality of I/O buffers in the device under test;
a second soft processor in an integrated circuit that dynamically controls a plurality of multiplexers which connect the I/O buffers in the device under test to a sampling oscilloscope and which allow a selection of a victim I/O buffer; and
an integrated characterization environment running on a computer, wherein the integrated characterization environment transmits a SSN pattern representing the selection of the victim I/O buffer and one or more aggressor I/O buffers to the first soft processor and corresponding commands to the second soft processor so that a SSN waveform at the victim I/O buffer is captured and quantified by the sampling oscilloscope.
2. The system of claim 1 , further comprising:
the computer being configured to apply a correction factor to the quantified SSN waveform to account for switching rate degradation when multiple aggressor I/O buffers are switching simultaneously.
3. The system of claim 2 , wherein the correction factor is normalized to a value between 0 and 1.
4. The system of claim 1 , wherein the device under test is a programmable logic device.
5. The system of claim 1 , further comprising:
the computer being configured to calculate a corrected mutual inductance between a quiet Input/Output (I/O) buffer on the device under test (DUT) and a switching I/O buffer on the DUT, wherein the corrected mutual inductance is a mutual inductance between the quiet I/O buffer and the switching I/O buffer multiplied by a correction factor compensating for switching rate degradation when multiple I/O buffers on the DUT are switching simultaneously.
6. The system of claim 5 , further comprising:
the computer being configured to multiply the corrected mutual inductance by a rate of current flowing through the switching I/O buffer to obtain an induced voltage caused by the switching I/O buffer.
7. The system of claim 6 , further comprising:
the computer being configured to sum induced voltages of all switching I/O buffers on the DUT to obtain an estimate of a total induced voltage caused in the quiet I/O buffer by the switching I/O buffers.
8. The system of claim 2 , wherein the correction factor is derived at least in part from bench measurements.
9. A system for analyzing simultaneous switching noise (SSN) of a device under test, comprising:
a first soft processor embedded in a device under test (DUT), the first soft processor operable to dynamically program a plurality of I/O buffers in the DUT;
a second soft processor in an integrated circuit, the second soft processor in communication with the first soft processor; and
an integrated characterization environment running on a computing device, wherein the integrated characterization environment transmits a SSN pattern representing a selection of a victim I/O buffer and one or more aggressor I/O buffers to the first soft processor and corresponding commands to the second soft processor so that a SSN waveform at the victim I/O buffer is captured and quantified by a sampling oscilloscope.
10. The system of claim 9 , wherein the second soft processor is operable to dynamically control a plurality of multiplexers which couples the I/O buffers in the DUT to the sampling oscilloscope, the plurality of multiplexers enabling the selection of the victim I/O buffer.
11. The system of claim 9 , further comprising:
the computing device being configured to apply a correction factor to the quantified SSN waveform to account for switching rate degradation when multiple aggressor I/O buffers are switching simultaneously.
12. The system of claim 11 , wherein the correction factor is normalized to a value between 0 and 1.
13. The system of claim 9 , wherein the device under test is a programmable logic device.
14. The system of claim 9 , further comprising:
the computing device being configured to calculate a corrected mutual inductance between a quiet Input/Output (I/O) buffer on the DUT and a switching I/O buffer on the DUT, wherein the corrected mutual inductance is a mutual inductance between the quiet I/O buffer and the switching I/O buffer multiplied by a correction factor compensating for switching rate degradation when multiple I/O buffers on the DUT are switching simultaneously.
15. The system of claim 14 , further comprising:
the computing device being configured to multiply the corrected mutual inductance by a rate of current flowing through the switching I/O buffer to obtain an induced voltage caused by the switching I/O buffer.
16. The system of claim 15 , further comprising:
the computing device being configured to sum induced voltages of all switching I/O buffers on the DUT to obtain an estimate of a total induced voltage caused in the quiet I/O buffer by the switching I/O.
17. The system of claim 9 , wherein the corresponding commands transmitted to the second soft processor are operable to control multiplexers.
18. The system of claim 16 , wherein the total induced voltage represents simultaneous switching output noise.
19. An integrated characterization system for a device under test (DUT), comprising:
at least one multiplexer, coupled to the DUT;
a voltage waveform capturing device; and
a computing device, operable to execute instructions causing the computing device to:
direct at least one soft processor on the DUT to select a victim I/O buffer and a plurality of aggressor I/O buffers of the DUT;
direct the at least one multiplexer to couple the victim I/O buffer of the DUT to the voltage waveform capturing device;
transmit at least one simultaneous switching noise (SSN) pattern to the at least one soft processor on the DUT; and
calculate mutual inductive couplings and correction factors for the victim I/O buffer as related to the plurality of aggressor I/O buffers, based upon measurements at the voltage waveform capturing device of the victim I/O buffer responding to the at least one SSN pattern.
20. The characterization system of claim 19 , wherein the voltage waveform capturing device includes an oscilloscope.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/484,136 US8504976B2 (en) | 2008-09-10 | 2012-05-30 | Empirical prediction of simultaneous switching noise |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/208,190 US8214781B1 (en) | 2008-09-10 | 2008-09-10 | Empirical prediction of simultaneous switching noise |
| US13/484,136 US8504976B2 (en) | 2008-09-10 | 2012-05-30 | Empirical prediction of simultaneous switching noise |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/208,190 Division US8214781B1 (en) | 2008-09-10 | 2008-09-10 | Empirical prediction of simultaneous switching noise |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20120239338A1 US20120239338A1 (en) | 2012-09-20 |
| US8504976B2 true US8504976B2 (en) | 2013-08-06 |
Family
ID=46320303
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/208,190 Expired - Fee Related US8214781B1 (en) | 2008-09-10 | 2008-09-10 | Empirical prediction of simultaneous switching noise |
| US13/484,136 Expired - Fee Related US8504976B2 (en) | 2008-09-10 | 2012-05-30 | Empirical prediction of simultaneous switching noise |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/208,190 Expired - Fee Related US8214781B1 (en) | 2008-09-10 | 2008-09-10 | Empirical prediction of simultaneous switching noise |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US8214781B1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9153572B1 (en) | 2014-09-17 | 2015-10-06 | Altera Corporation | Integrated circuit system with dynamic decoupling and method of manufacture thereof |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8161438B2 (en) * | 2003-10-21 | 2012-04-17 | Mentor Graphics Corporation | Determining mutual inductance between intentional inductors |
| US7496871B2 (en) * | 2003-10-21 | 2009-02-24 | Roberto Suaya | Mutual inductance extraction using dipole approximations |
| US8214788B2 (en) | 2008-03-08 | 2012-07-03 | Mentor Graphics Corporation | High-frequency VLSI interconnect and intentional inductor impedance extraction in the presence of a multi-layer conductive substrate |
| US8564322B2 (en) * | 2009-12-21 | 2013-10-22 | International Business Machines Corporation | Receiver signal probing using a shared probe point |
| US8825420B1 (en) * | 2010-01-19 | 2014-09-02 | Altera Corporation | Method and system for calculating timing variations considering simultaneous switching noise |
| US8850377B1 (en) | 2011-01-20 | 2014-09-30 | Xilinx, Inc. | Back annotation of output time delays |
| US8513974B1 (en) * | 2012-01-17 | 2013-08-20 | Altera Corporation | Power distribution network noise reduction |
| KR101869303B1 (en) | 2012-09-03 | 2018-06-20 | 에이치피프린팅코리아 주식회사 | Electronic apparatus, method for optimize of de-coupling capacitor and computer-readable recording medium |
| US10372852B2 (en) * | 2014-06-24 | 2019-08-06 | Synopsys, Inc. | Measurement of Aggressor/Victim capacitive coupling impact on timing |
| US12395206B2 (en) * | 2023-10-09 | 2025-08-19 | The Boeing Company | Parasitic tolerant charge-based coupling measurement |
| US20250138071A1 (en) * | 2023-10-31 | 2025-05-01 | The Boeing Company | Methods and apparatus for in-situ measurement of mututal inductance between embedded interconnects |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7159160B2 (en) * | 2004-06-21 | 2007-01-02 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and apparatus for measuring switching noise in integrated circuits |
| US7346867B2 (en) * | 2005-02-01 | 2008-03-18 | International Business Machines Corporation | Method for estimating propagation noise based on effective capacitance in an integrated circuit chip |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6102960A (en) | 1998-02-23 | 2000-08-15 | Synopsys, Inc. | Automatic behavioral model generation through physical component characterization and measurement |
| US6868374B1 (en) | 2000-10-03 | 2005-03-15 | International Business Machines Corporation | Method of power distribution analysis for I/O circuits in ASIC designs |
| US8001508B1 (en) * | 2007-04-09 | 2011-08-16 | Altera Corporation | Method and system for analyzing input/output simultaneous switching noise |
-
2008
- 2008-09-10 US US12/208,190 patent/US8214781B1/en not_active Expired - Fee Related
-
2012
- 2012-05-30 US US13/484,136 patent/US8504976B2/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7159160B2 (en) * | 2004-06-21 | 2007-01-02 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and apparatus for measuring switching noise in integrated circuits |
| US7346867B2 (en) * | 2005-02-01 | 2008-03-18 | International Business Machines Corporation | Method for estimating propagation noise based on effective capacitance in an integrated circuit chip |
Non-Patent Citations (5)
| Title |
|---|
| Chun et al., "Model to Hardware Correlation for Power Distribution Induced I/O Noise in a Functioning Computer System," 2002 Electronic Components and Technology Conference, pp. 319-324. |
| Liu et al., "Analyzing FPGA Simultaneous Switching Noise in Printed Circuit Boards," 2006 IEEE, pp. 377-382. |
| Secker et al., "Effects and Modeling of Simultaneous Switching Noise for BiCMOS Off-Chip Drivers," IEEE Trans. on Components, Packaging, and Manufacturing Technology-Part B, 19(3): 473-480 (1996). |
| Shi et al., "Simultaneous Switching Noise in FPGA and Structure ASIC Devices, Methodologies for Analysis, Modeling, and Validation," 2006 Electronic Components and Technology Conference, pp. 229-236. |
| Suresh et al., "Package-silicon co-design-Experiment with an SOC Design," Proc. of the 17th Int'l Conference on VLSI Design (VLSI '04), 2004 IEEE, 6 pages. |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9153572B1 (en) | 2014-09-17 | 2015-10-06 | Altera Corporation | Integrated circuit system with dynamic decoupling and method of manufacture thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| US8214781B1 (en) | 2012-07-03 |
| US20120239338A1 (en) | 2012-09-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8504976B2 (en) | Empirical prediction of simultaneous switching noise | |
| Tripathi et al. | A review on power supply induced jitter | |
| Archambeault et al. | Analysis of power/ground-plane EMI decoupling performance using the partial-element equivalent circuit technique | |
| Fan et al. | Quantifying SMT decoupling capacitor placement in DC power-bus design for multilayer PCBs | |
| US7098670B2 (en) | Method and system of characterizing a device under test | |
| US6253359B1 (en) | Method for analyzing circuit delays caused by capacitive coupling in digital circuits | |
| US8001508B1 (en) | Method and system for analyzing input/output simultaneous switching noise | |
| US20070040535A1 (en) | Method for Analyzing Power Distribution System and Related Techniques | |
| US8060852B1 (en) | Method and system for screening nets in a post-layout environment | |
| Levant et al. | EMC assessment at chip and PCB level: Use of the ICEM model for jitter analysis in an integrated PLL | |
| Kuo et al. | Crosstalk bounded uncorrelated jitter (BUJ) for high-speed interconnects | |
| US7159160B2 (en) | Method and apparatus for measuring switching noise in integrated circuits | |
| Neumayer et al. | Continuous simulation of system-level automotive EMC problems | |
| Fukumoto et al. | Power current model of LSI and parameter identification for EMI simulation of digital PCBs | |
| US20080030186A1 (en) | Method and system for measuring maximum operating frequency and corresponding duty cycle for an i/o cell | |
| Muljono et al. | A 400-MT/s 6.4-GB/s multiprocessor bus interface | |
| Tripathi et al. | Robust optimization and reflection gain enhancement of serial link system for signal integrity and power integrity | |
| McBride et al. | Modeling and simulation of 12.5 Gb/s on a HyperBGA/sup/spl reg//package | |
| Xu | System level power integrity transient analysis using a physics-based approach | |
| Deutschmann et al. | Measuring the electromagnetic emissions of integrated circuits with IEC 61967-4 (the measuring method and its weaknesses) | |
| US20100057389A1 (en) | Evaluating apparatus, a recording medium storing an evaluating program, and method for designing signal transmission system | |
| Occhiali et al. | Impact of Ports Reference Choice on S-Parameter Modeling of BGA Package Interconnections | |
| Sarfaraz et al. | Electrical design of an MCM package for a multi-processor digital system | |
| Zhao et al. | Signal power integrity and design consideration in package modeling | |
| Yip et al. | System co-design and co-analysis approach to implementing the XDR memory system of the cell broadband engine processor; realizing 3.2 Gbps data rate per memory lane in low cost, high volume production |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20210806 |