A Software Shift Left by Utilizing Model-Based Design and MathWorks Code Generation Tools
Jouni Sillanpää, Nokia
The development of digital front-end SoCs for 5G and beyond faces time-to-market pressure. This imposes strong pressure for pre-silicon verification before an RTL freeze, finally building confidence for a tapeout. Software availability is the key enabler for testing large and complex integrated SoCs as one whole system. Unfortunately, the software is often on a critical path, leading to verification shortcuts like test scripts. This leads to wasted labor and wasted opportunity in software shift-left testing.
Model-Based Design was used for both hardware and software reference design of a digital front-end subsystem, implementing an algorithmically complex closed-loop control system. This model offered a virtual platform to start software development even before any hardware was available. The software development was further reinforced with MathWorks code generation tools for fast code deployment and reduced software rewrites.
As a result, the design was verified with key test cases in a pre-silicon environment before an RTL freeze, for the first time, using real production software. This led to a considerable software shift left compared to earlier projects. Also, collaboration between algorithm, hardware, and software teams was improved because of the model-centric approach. Using Model-Based Design also enabled cross-team debugging of the problems found in pre-silicon verification directly in the reference model—for example, by finding more suitable parameter sets for test cases.
Adopting a new workflow and mindset is always challenging, but the transition was supported by targeted training held by MathWorks as well as technical support. The key takeaway from the challenges experienced is that dependencies from the model should be kept to a minimum, ensuring fast turnaround time in bug fixes and releases.
Published: 30 May 2022