Nokia Creates Machine Learning System to Optimize Hardware Design Tests

Solution Significantly Reduces Time Needed to Achieve Coverage Closure

“The assistance provided by the MathWorks team was very useful, as they allowed me to seamlessly transition from my usual Python® workflow to the one presented by Deep Learning Toolbox and Statistics and Machine Learning Toolbox.”

Key Outcomes

  • MATLAB enabled up to a 2x reduction (43%) in the number of tests needed in coverage closure
  • Verification quality improved through the reduction of redundant test cases
  • Cumulative simulation time greatly decreased, leading to reduced computational resource usage
A workflow model showing how MATLAB is used in the basic cosimulation environment.

The basic cosimulation environment.

As a leading manufacturer of telecommunications technology, Nokia must constantly develop and test new hardware designs. The traditional way to test new designs is to use constrained random testing. But as designs become more complex, random testing techniques become limited in providing functional coverage closure in a reasonable time frame. To solve this problem, Nokia’s research team used MATLAB® to develop a neural network–based machine learning algorithm to support functional coverage that significantly reduces the time needed to achieve coverage closure for a real-life 5G radio receiver algorithm. 

The team used Deep Learning Toolbox™ and Statistics and Machine Learning Toolbox™ to test a series of supervised learning algorithms including SVM, decision trees, random forests, and neural networks with LSTM layers. They then reformulated the task as an unsupervised anomaly detection problem and used an autoencoder model that was integrated with the circuit verification flow. The autoencoder model helps to filter out a subset of tests that can provide coverage closure by targeting new, previously unchecked functionalities.

Nokia used a UVM-based testbench with a 5G processing simulator written in MATLAB as a reference model, connected via a C/C++ interface layer. This deep learning system allowed the team to quickly develop and test different solutions. The results show that this new approach achieves up to a 2x reduction in the number of tests needed in coverage closure compared to the traditional approach, while also improving overall verification quality by reducing the number of redundant test cases.