Crosstalk Algorithm Subroutine: Crosstalk (S3_net). Returns the noise voltage coupled to a S3 net from nearby R2 and R3 nets and sets a flag if the coupled noise exceeds the noise margin for the S3 net. Purpose of Algorithm To determine when nets have coupled noise greater than their noise margin Basic Description of Algorithm The noise signal coupled from neighboring nets may result in susceptibility problems. The expert system calculates the noise induced on S3 nets due to nearby R2/R3 nets. The classification S3 implies that the net can be easily corrupted by external noise. Similarly, the nets with classification R2/R3 are capable of causing interference problems. Fig. 1 illustrates a typical configuration for a crosstalk problem. Noise is coupled by two different mechanisms – capacitive and inductive coupling. For a weakly coupled circuit, the magnitude of induced noise is approximately [1], d ⎧ ⎪⎪ ( Z1 & Z 2 )Cm dt Vg (t ) if capacitive coupling dominates Vr = ⎨ ⎪ M d I (t ) if inductive coupling dominates ⎪⎩ dt R . (1) Values of the mutual capacitance, Cm, and the mutual inductance, M, between two trace segments are calculated by the “Mutual Inductance and Capacitance Algorithm” [2]. The basic procedures for crosstalk calculation are similar to those for the I/O coupling algorithm [3]. But, crosstalk is calculated in the time and frequency domains, whereas the I/O coupling algorithm performs only a frequency domain calculation. Fig. 1. A typical configuration for the crosstalk problem If the signal is narrow band analog, the algorithm assumes that coupling between the two circuits increases linearly with frequency and reaches its maximum value when the circuits are a quarter of a wavelength of the signal. The magnitude of the noise voltage is calculated in the frequency domain and approximated as indicated below. If the total length of the S3 net is less than a quarter of the wavelength of the signal of interest ( LS 3 < λ 4 = 3 × 108 3 × 108 or f < ), ε eff × f × 4 4 × LS 3 × ε eff ⎧2π f × Vg × Cm × 100 × leq for capacitive coupling . Vr = ⎨ for inductive coupling ⎩ 2π f × I max × M × leq (2) If the total length of the S3 net is greater than a quarter of the wavelength of the signal of interest ( LS 3 ≥ λ 4 = 3 × 108 3 × 108 or f ≥ ), the coupling is calculated at the ε eff × f × 4 4 × LS 3 × ε eff quarter-wavelength frequency, ⎧ 4.71× 1010 × Cm × 100 × leq × Vg ⎪ LS 3 × ε eff ⎪ Vr = ⎨ 8 ⎪ 4.71× 10 × M × leq × I max ⎪ LS 3 × ε eff ⎩ for capacitive coupling (3) for inductive coupling where, LS3 is the total length of the S3 net and εeff is the effective relative permittivity of the insulation. The 100 in the numerator of the capacitive coupling equation is the default impedance of the victim net. The mutual inductance and capacitance are calculated by the function mutual_cap_ind(S3_seg, dist1). dist1 and leq are calculated by the function lies_between_parallels(S3_seg, R2_net or R3_net). If the signal is digital, the maximum coupled voltage is calculated in the time domain as, ⎪⎧ [Vmax − Vmin ] × Cm × 100 × leq / τ for capacitive coupling Vr = ⎨ for inductive coupling ⎪⎩ I max × M × lequiv / τ (4) where τ is the risetime of the signal. The other parameters are calculated in the same fashion as above. The crosstalk is ignored if two segments are separated by conducting planes. Assumptions • Noise is weakly coupled. (i.e. The coupling does not significantly affect the signals on the source net.) • No phase differences between nets are taken into account. • The parallel combination of source and load impedances in the receptor circuit is assumed to be 100 ohms for capacitive coupling calculations. Implementation Details This procedure goes through all the nets one by one. If a net is found to be S3 and longer than 2 cm, it is divided into 2-cm segments. For each segment of the S3 net, all the segments of R2/R3 nets within a coupling zone are considered as generators or culprits. Then, the equivalent lengths and distances between the S3 segment and generator nets are calculated. Refer to [4] for details regarding the coupling zone and specific parameters. Once the parameters for each pair of segments are known, Equation (2), (3) or (4) is recursively applied to estimate the magnitude of noise on the S3 segment. Only the maximum (capacitive or inductive) coupling is stored for each pair of segments. The calculated noise voltage into the S3 segment due to all R2/R3 nets is summed to get the total crosstalk on the segment. This procedure cycles through all the other segments on the S3 net. Then, the noise voltages coupled into all segments are summed again to get the total crosstalk on the net. This sum represents the crosstalk on the S3 net due to other nets on the board. Finally, the crosstalk on each S3 net is compared with the noise margin of the net. If the calculated noise exceeds the margin, a flag is set to indicate a potential crosstalk problem. If a flag is set, the R2/R3 net with the highest contribution to the crosstalk is also stored to provide design guidance. References [1] C. Paul, Introduction to Electromagnetic Compatibility, New York: Wiley, 1992. [2] Mutual Inductance and Capacitance Summary. [3] I/O Coupling Algorithm Summary. [4] Coupling Segment Algorithm Summary.