FPGA SI Tutorial - Checking for Crosstalk

Old Content - visit altium.com/documentation

Finally we will look at how to examine the crosstalk between signals. Given that we were able to choose drive and slew settings that minimized ringing on the signals, crosstalk problems should have already been minimized.

There are essentially two stages in performing a crosstalk analysis. First, we must identify the nets for which crosstalk may pose a problem. Then we must take over the nets which we want to more closely examine, and run a detailed crosstalk analysis.

Finding Coupled Nets

The Signal Integrity panel includes a feature that enables you to quickly identify which nets are considered to be coupled, to the selected net(s) you choose in the screening analysis results area of the panel. This feature – Find Coupled Nets – is ideal for working out which nets may be susceptible to crosstalk. It essentially analyzes the PCB and identifies traces that run parallel to each other according to coupling options defined on the Configuration tab of the S_ignal Integrity Preferences_ dialog (Figure 1). Access this dialog by clicking on the Menu button in the panel, and choosing Preferences from the resulting menu.


Figure 1. Set criteria to identify coupled nets.

Two options constitute the coupling criteria:

  • Max Dist. – this option defines the proximity for neighboring nets. Only nets within the specified distance of the selected base net will be considered for coupling purposes.
  • Min Length – this option specifies the minimum length that traces of nets must run parallel to that of the selected base net, in order to be considered coupled.

As a general rule, the closer the traces the more likely crosstalk is to occur. Similarly, the longer the parallel sections of trace, the more crosstalk will occur.
 

When running a crosstalk analysis, the typical number of nets taken across would be three – a net and its two immediate neighbours.

 
To illustrate the power of this feature, let us find all nets coupled to the net D5 (our base net). The default setting for the Max Dist is a little high and would easily find all nets in the D[31..0] bus, as well as many others. Instead, we will vary Max Dist – using 20mil and 10mil values – and observe the resulting nets that are deemed to be coupled. In addition we will set the Min Length to be 50mil (i.e. any nets not having traces running parallel to D5 for at least this distance will not be considered coupled).

To find coupled nets with Max Dist = 20mil, Min Length = 50mil:

  1. Change the Max Dist coupling option to 20mil
     
  2. Change the Min Length coupling option to 50mil
     
  3. Select net D5 in the screening analysis region of the Signal Integrity panel
     
  4. Right-click and choose Find Coupled Nets
     
  5. Observe that the following data nets – D1, D4, D6 and D7 – are all found to be coupled to D5 and are selected ready to take across for a more detailed crosstalk analysis (Figure 2). Net A17 is also found to be coupled, but as we are interested only in the data lines, this should be deselected prior to taking the nets across.
     

    Figure 2. Nets coupled to D5 (Max Dist = 20mil, Min Length = 50mil).

To find coupled nets with Max Dist = 10mil, Min Length = 50mil:

  1. Change the Max Dist coupling option to 10mil
     
  2. Change the Min Length coupling option to 50mil
     
  3. Select net D5 in the screening analysis region of the Signal Integrity panel
     
  4. Right-click and choose Find Coupled Nets
     
  5. Observe that the following data nets – D6 and D7 – are found to be coupled to D5 and are selected ready to take across for a more detailed crosstalk analysis (Figure 3).
     

    Figure 3. Nets coupled to D5 (Max Dist = 10mil, Min Length = 50mil).

Performing Crosstalk Analysis

In the previous section, we used the Find Coupled Nets feature to identify nets coupled to the net D5, and that may suffer from the effects of crosstalk. We will now perform crosstalk analysis to assess the level of crosstalk involved when the net D5 is set to Aggressor and is driven at different signal strengths. Note that although several coupled nets were found by the Find Couple Nets feature, we will concentrate on just examining D5 and D6, since these two nets run parallel to each other for much of their length.

  1. Set the drive current of D5 to 6mA.
     
  2. Analyze the design using the Signal Integrity tool.
     
  3. Take over signals D5 and D6.
     
  4. Make sure that all the FPGA pin directions are set to Bi/Out.
     
  5. Right Click on D5 in the list of nets and select Set Aggressor. This means that during crosstalk analysis we will be driving this net and simulating its effect on the other "victim" nets.
     
  6. Click the Crosstalk button to run a crosstalk analysis.
     
  7. In the generated chart we can see that up to about 125mV is induced in D6. (see chart "Crosstalk Analysis 6mA"). This maximum occurs at pin 79 of component U5 (Figure 4). As anticipated it should not be enough to cause any problems.
     

    Figure 4. Crosstalk induced in D6 by D5 (D5 driven at 6mA - max crosstalk on pin 79 of U5).

If we repeat the above steps but with 24mA drive strength for D5 we see that the simulation waveforms show up to about 500mV is induced in the coupled nets (see chart "Crosstalk Analysis 24mA"). This maximum is again found on pin 79 of component U5 (Figure 5). This is quite significant and would certainly be likely to cause problems on the signal D6.


Figure 5. Crosstalk induced in D6 by D5 (D5 driven at 24mA - max crosstalk on pin 79 of U5).

You can experiment further with other slew and drive settings in the FPGA Signal Manager dialog and see the effect on crosstalk.

See Also

You are reporting an issue with the following selected text and/or image within the active document: