Serial link speeds have increased 25X in under 20 years, thus increasing the complexity of the IBIS- Algorithmic Modeling Interface (AMI) models used in simulating these links. With the increased speed and complexity of designs, it is crucial to analyze channels to ensure sufficient margin for error-free data transmission. An exhaustive manual search method is typically used to find the best set of parameters for a given channel, but given the increased number of model parameters and ranges, this approach can quickly become computationally expensive, even with parallel execution.
Machine learning (ML) techniques1 have proven effective in modeling complex systems with numerous interacting components and nonlinear relationships. Some of these techniques can be employed to optimize the parameters of a complex system more efficiently than the exhaustive search method typically used in serial link simulations.
This article describes the use of Cadence’s SigrityTM signal and power integrity solution ML optimization algorithm to quickly and efficiently converge on the best set of parameters in a set of IBIS-AMI models. The application of Sigrity was investigated for refining IBIS- AMI parameters to find the optimal set of values to maximize a specific metric.
- An initial random sampling is collected by applying random parameter values to the objective functions. The size of this sampling can be scaled based on the number of parameters.
- The surrogate model is trained on the initial random sampling.
- Create updated sets of parameters that would:
- Move closer to the maximum (or minimum) of the acquisition function.
- Further random sampling of the acquisition function.
- Evaluate the objective function based on the updated parameters from the surrogate model.
- Update the surrogate model based on the latest samples of the objective function.
- Repeat steps 3-5 until a stopping criterion has been met.
Figure 1. Machine learning optimization process.
The Rx AMI model is a two-stage continuous time linear equalization (CTLE) receiver with a 12-tap decision feedback equalizer (DFE). The two stages of CTLE, shown in Figure 2, were based on the pole-zero pairs shown in Table 1, along with the various gain steps. The taps of the DFE were adapted and limited based on the command parameters. Had the brute force method been used, there were a total of six different parameters that could be optimized between the Rx and Tx models, translating to 636,804 simulations for complete coverage of the solution space.

Figure 3. Testbench schematic.To ensure that the optimization algorithm would perform for different setups, three different channels were selected based on the insertion loss mask from the OIF-CEI-112G-LR spec4 shown in Figure 4. The channels were selected for a short, medium, and long channel, based on the loss at the fundamental frequency (28 GHz), as labeled in the figure.
Figure 4. Insertion loss mask.For the optimization to run correctly, the algorithm needed to know which parameters could be adjusted and which outputs could be maximized for the best result. The CTLE control was set up as a list of numbers, while the Tx pre- and post-cursor were set up as a range of float numbers, with the upper and lower bound based on values from Table 1. Figure 5 shows the parameter setup details. It was assumed the impact of the parameters would have a continuous impact on the simulation output when increased or decreased. Placing the parameter values in a random order could create discontinuities in the output, causing the algorithm to possibly not converge on a solution.
Figure 5. Optimization parameter setup details.As stated in the previous section, the sum of the Tx pre- and post-cursor needed be 0.5 or less. The main cursor was calculated by summing the pre- and post-cursor values together and subtracting that number from 1.0. During the optimization process, it was not possible to allow the ML algorithm to skip these simulations, as they were not valid. This issue was solved by creating a custom code for the Tx AMI model to set all pre- and post-cursor coefficients to zero and set the main cursor to a very small value (0.01) whenever the sum of the coefficients was more than 0.5. This had the result of presenting a very poor result to the ML algorithm, forcing the adaptation of the parameters away from the invalid set of parameters. The output to be maximized should have been an output that would increase as the simulation result improved. This could be a combination of an eye height and eye width, or a relative measurement like COM. However, these types of measurements suffer from the fact that they are always zero for a closed eye simulation result, which should not be an issue if, across the global solution space, there are few closed eye simulation results. It has been found that for non-return-to-zero (NRZ) signaling simulations, this turns out to be true for most channels except for the most difficult. However, for four-level pulse amplitude modulated (PAM4) signaling simulations, the opposite is true; there are many more closed eye simulation results than open eye results.
This is an important detail, as the ML algorithm needs a gradient of results to help find a maximum/minimum value; known as gradient descent,5 a common optimizing algorithm in the ML field. If the algorithm observes mostly zeros from the simulation results, the algorithm will have a gradient of zero and will be unable to find the best solution. Therefore, a measurement that will provide a non-zero result for all simulations is needed, including closed eye simulation results. This measurement should work for any signaling type (NRZ, PAM4, etc.). The signal-to-noise ratio (SNR) measurement would meet these requirements. A SNR measurement is defined as a ratio of the desired signal level to the level of background noise, plus any distortion.6 For serial link simulations, the desired signal is defined as the difference between the high and low level of an eye diagram. The background noise and any distortions are measured by the sum of the one sigma of the high level and one sigma of the low level. This definition will work for an NRZ eye diagram, as well as a PAM4 eye diagram. The details of this measurement can be found in Figure 6.
Figure 6. SNR measurement details.Figure 7 shows SNR measurement for various PAM4 eye density plots. While the lower plots had some eye opening, the upper plots had no eye opening and returned a zero for typical eye measurements, providing useless information for the ML algorithm. Also, the SNR measurement increased as the eye plot improved, even for the closed eye measurements.
Figure 7. SNR comparison for various PAM4 eye density plots.As stated earlier, the optimization process can find a minimum or maximum value of the evaluation function. For this study, the ML algorithm was set up to find a minimum value. To accompany this, the SNR value was inverted because the ML algorithm needed to know what the stopping criterion should be. This could be either an output value below a target value, in which case the simulations would stop once this value was reached or a maximum number of simulations were run, or the finding of the best result after a specific number of simulations were run. For this study, the best SNR value was to be found within 100 simulation runs.
Parallel execution of the simulations was used, and due to the way in which the ML model is updated, the number of parallel simulations was limited to four. This may seem to be a disadvantage when compared to the almost unlimited number of cores that could be used for an exhaustive search; however, the results reflected that this limitation had a minimal impact on the time to convergence when measured by the number of simulations needed.
The optimization was run on the three different channels, as shown in Figure 6. For each channel, the following steps were performed:
- Based on the number of parameters to be optimized (six), 30 initial simulations were run with random parameter settings. The SNR of each simulation is recorded.
- The surrogate model is trained on the SNR output from the initial set of simulations.
- The surrogate model is then queried for the next set of simulations.
- The results from the next set of simulations are used to update the surrogate model.
- Steps 3 and 4 are repeated until no parameter sets are available, or if the total number of simulations has been reached (100 simulations).
Figure 8. A) short channel results, B) medium channel results, and C) long channel results.Based on the flow described in the previous section, it can be observed that after the initial 30 simulations, the algorithm quickly converged to a good result, with the following simulations used to refine the result to a better answer. In addition, the algorithm was able to converge for three different lossy channels, showing the robustness of the process.
The results clearly show that the ML optimization found parameters that resulted in good open eye results at the Rx. While these results were good, it was necessary to verify that they were the best results, or at a minimum, close to the best results. To confirm that the algorithm converged on the best set of parameters, the parameters from the best result of the medium channel were locally swept around to see if a better result could be found. Due to the difficulty of showing more than four parameter sweeps in a single graph, it was decided to keep the values for C(-3) and C(-2) constant, while C(-1), C(+1), and the two CTLE stage settings were swept around the best result found by the ML algorithm. Assuming the algorithm came close to the best result, this sweeping methodology should confirm the algorithm’s result.
Figure 9. Heatmap grid of the parameter sweep.
- M. Kashyap, K. Keshavan, and A. Varma, “A novel use of deep learning to optimize solution space exploration for signal integrity analysis,” IEEE, April 5, 2018.
- “Implementation of Exhaustive Search Algorithm for Set Packing."
- W. Wang, “Bayesian Optimization Concept Explained in Layman Terms,” March 18, 2020, https://medium.com/data-science/bayesian-optimization- concept-explained-in-layman-terms-1d2bcdeaf12f.
- “Common Electrical I/O (CEI) - Electrical and Jitter Interoperability agreements for 6G+ bps, 11G+ bps, 25G+ bps, 56G+ bps and 112G+ bps I/O,” Optical Internetworking Forum, May 5, 2022.
- J. Brownlee, “Gradient Descent for Machine Learning,” Machine Learning Algorithms, August 12, 2019.
- “Understanding Eye Pattern Measurements,” Anritsu.