Main Content

Advanced Visualization with Serial Link Designer

The Signal Integrity Viewer allows the user to not only display the various frequency and time domain waveforms, but to plot results, variables and settings against each other. This allows the user to drill down into what is going on in the design and visually identify trends and/or outliers. These might be either difficult to see in the tabular data or perhaps missed altogether. This example covers some ways to incorporate advanced visualization in large data sets.

Open Advanced Visualization Project

To open the example project please type the following command at the Matlab prompt.

% open(sldAdvancedVisualization);

As a note, some of the methods shown in this example may incorporate some data mining techniques to sort, filter and rollup the tabular simulation data. There is an example on data mining which can be found at: XXXXX

Intro to Advanced Visualization

The figure below shows a number of eye diagrams from a particular simulation run. With this small set of data one could easily plot each result and identify which has the highest and widest eye opening. However, when there are hundreds or even thousands of simulation results, manually plotting each eye is not feasible.

Below shows one way to visualize data from a large data set. Here the plot shows the differences in performance of a channel based on three different IC packages. The other variables analyzed are the corner process of the packages (FF/TT/SS) and three different via designs on the board. The criterion for this experiment is to make design choices based on maximizing eye height (Y-axis).

For each process corner there are red, blue and green dots which identify individual simulation results for eye height. Of each simulation also has one of the three different via designs. These via designs are:

  1. Through-hole via design (red dots), where the signal routed from the top layer of the board to the bottom layer, straight through the via.

  2. Back drilled vias (blue dots), where the stub caused by routing to an inner layer of the board is back drilled leaving only a small stub.

  3. Non-back drill via (green dots) where the via has a long stub when routing to an inner layer of the board.

One can see that performance is similar between package and between the process corners of each package, but what is easily distinguishable is that the red dots corresponding to through-hole via eye heights have the largest eye opening on average. This is one example of visualization of data. To do this sort of analysis requires using the Signal Integrity Viewer in “Plots” mode.

“Plots” Mode

To work in Plots mode one needs to select the “Plots” tab in the Signal Integrity Viewer window as shown below.

When in Plots mode, the lower left corner of the window contains the various tabs which correspond to the Channel Analysis report results (for PLD this would be the Timing and Waveform Report).

Note: The correct tab must be selected to see the results of that specific analysis. If the results look strange, make sure you are in the right tab.

Plots mode gives the user has control of both the x and y axis to plot any results or variables contained in the simulation report. On the left hand side of the Signal Integrity Viewer window is a list of the variables that correspond to the y axis. There is also a wildcard filter at the top of the dialog to easily find the desired result or variable for plotting.

To set up the x axis, one needs to select the gear icon at the top of the first column in the results table. The column named “Row”.

This will open the “Table Column Control” where the x-axis results and variables can be chosen for a given plot.

With the x and y axes defined one can do scatter plots or trend plots. A scatter plot will be displayed when the “Add” button is pressed. If the x axis variable is not defined it will default to “Row” which is the order of simulation results. A trend plot can be performed by selecting the “Add Trend” button, however the data must be sorted on a unique variable (i.e. Corner process, Tap setting, Trace length…etc.) before the viewer will display a trend plot. Examples of scatter plotting and trend plotting are provided below.

Scatter Plotting

The figure below is an example of scatter plotting. The plotted results are for simulations of a design involving a backplane with line cards on either end. Here the trace lengths of the backplane and line cards are swept along with a 2-tap FFE in the transmitter (Main tap 0 and post cursor tap 1) and a DFE in the receiver having 7, 9 and 12 taps. This results in 1350 simulations. The objective is to look at how the number of DFE taps affect eye height and eye width across all the trace lengths and FFE settings.

The steps to create this plot (Eye Height Vs. Eye Width Vs. Number of DFE taps) is as follows:

  1. Select the plots tab in the Signal Integrity Viewer.

  2. Select the “Statistical” or “Time Domain” tab at the bottom of the window.

  3. Select the y-axis value in the left column of the window (In this case “Statistical Eye Height”).

  4. Select the gear icon in the column 1 header (“Row”).

  5. Select the x-axis variable (In this case “Statistical Eye Width).

  6. Go to the DFE Tap column and filter by using the wild card. Here entering one of the DFE tap values start with 7 (see below). The idea is to plot groups of results for each DFE tap number individually.

  1. Select all of the filtered results and press the “Add” button. Now all of the results for DFE taps=7 are shown in a scatter plot.

  2. Repeat steps 6 and 7 but use DFE tap value = 9, then DFE tap value = 12. You will see that each group plotted is a different color making it easy to identify which group corresponds to the number of DFE taps.

  3. Marked on the plot are the minimum eye height and width values. The upper right are the results that meet the criteria of the design. Although the plot does not provide any definite answers, it demonstrates the process of visualizing the data. One could take things a step further and look at one of the DFE tap numbers and plot the lengths of the backplane or line card to see which number of taps might be optimum for a given length. In some cases it may take many of this type of plot to find problems in a design or determine how to make a design work.

Trend Plotting

Creating a trend plot is similar to creating a scatter plot. The difference is that the data needs to be sorted by a unique variable prior to pressing the “Add Trend” button in the Signal Integrity Viewer.

Below is a trend plot to show the effect on eye height when sweeping Tx FFE tap values. For this example the focus is on two of the Tx taps, The main tap “0” and the first post cursor, tap 1. The values of Tap 0 are swept from 0.7V to 1.OV with corresponding Tap 1 weights applied to normalize the result (i.e. Tap 0 = 0.7, Tap 1 = 0.3V). An eye height limit is set at 250mV and each trend plot red, green and blue correspond to process corners FFFE, TTTE and SSSE respectively.

Here one can see that Tap 0 settings from 0.7V to 0.84V meet the eye height limit of 0.25V. The optimal tap settings would be Tap 0 = 0.78V and Tap 1 = 0.22V giving the maximum eye height of approximately 0.33V.

To create this trend plot the same steps are performed as with the scatter plot example above. The difference is that before pressing the “Add Trend” button the data has been sorted on the process corner. This was done by pressing the column header for “Corner” which sorts the data and thus it is grouped in rows for FFFE, TTTE and SSSE corners.

Summary

One can look at the tabular results, either in the SLD (Serial Link Designer, channel analysis report) or PLD (Parallel Link Designer, Waveform and Timing report) and try to discern what they mean. One can sort, filter and roll up the data which is advantageous and helpful in finding issues or solutions, but it still may not reveal a key issue with a design. Using Signal Integrity Viewer in Plots mode allows the user to define the dependent and independent variables to plot against each other. Using scatter and trend plots to visualize trends and anomalies can find problems and/or solutions which might otherwise be missed.