feature article
Subscribe Now

Verifying Today’s SoCs Requires a New Approach

As is well known, the system-on-chip (SoC) verification problem grows faster than design size, so it takes more time and effort to verify a complete SoC than an individual IP block. However, the problems with SoC verification are deeper than just the increase in size.

The biggest new wrinkle introduced by today’s large multicore SoC is the greater number of shared resources, sometimes called “points of convergence” by verification engineers. Every level of the bus structure is hammered by multiple master agents vying for access. Every memory is accessed by multiple processors, processing engines, and peripherals, with complex rules to protect regions from being corrupted. The SoC usually has multiple high-performance interfaces, likely using a mix of standard and proprietary protocols. The activity on these interfaces is intimately connected with the processors. All this presents a major challenge for traditional verification.

Many functional verification tools and methodologies are well proven at the level of an IP component or a functional unit within the SoC. Formal analysis works well for IP and smaller units; the Universal Verification Methodology (UVM) provides a solution for simulation of large, complex functional units. However, UVM is not widely used for full-SoC simulation since it does not coordinate with the software running in the embedded processors. Clearly, a new and better approach is required.

The illustration shows the concept behind this new approach, based on the automatic generation of self-verifying C test cases that run on the embedded processors. Given the central role that processors play in production operation of the SoC, it is not at all surprising that leveraging these same processors yields more efficient and more effective verification. Generated test cases do all the sorts of operations that the SoC would do in production usage, including moving data to and from memory and various processing engines.

Breker_EE-Journal-Illustration.png

The new approach to SoC verification is based on the automatic generation of
self-verifying C test cases that run on embedded processors.

 

The key is that the automatic C test cases stress-test the design in ways that would be unlikely to occur with production code. Multiple threads from each of the embedded processors pound on the bus, the memories, the interfaces, and other shared resources. Types of operations, data values, assigned memory regions, and other aspects of SoC behavior are randomized. This approach is effective at finding corner-case bugs in the design, but it also provides valuable performance metrics such as operation latencies and bus utilization.

Since some of the operations performed by embedded processors read and write data over external interfaces, the generated C tests interface with the testbench so that required input data can be provided and the results of these operations can be checked. Existing testbench components, including those compliant with UVM, are leveraged to the fullest extent possible. However, this new approach is not just an add-on to UVM, but a fundamentally different way of addressing full-chip verification.

The process of test case generation is driven by scenario models that describe the intended operation of the SoC. Such scenario models promote productivity if they use an intuitive format and are visualized in a way that looks much like diagrams created by design and verification engineers to describe chip functionality. These models are created by “beginning with the end in mind” and working backwards from desired results to the setup conditions in the SoC needed to produce those results.

The scenario models, provided by the verification team, describe a hierarchy of functionality, from basic operations through system-level scenarios such as turning off and on power domains in a low-power design. Finally, the visualization of the scenario models includes coverage results entirely complementary to existing code and functional coverage metrics.

No other can provide the same level of verification for SoCs or even appropriate IP blocks. Testbenches alone are insufficient since they don’t leverage the embedded processors. Hand writing C tests is much too difficult: humans have a hard time visualizing and thinking about multiple threads on multiple processors. Running production code in simulation or hardware acceleration is important for other reasons but is not effective at stressing corner-case conditions.

The size, complexity, and large number of shared resources in a contemporary SoC demand a new and innovative approach to verification. Leveraging scenario models to automatically generate self-verifying C test cases with connections to the testbench exercises both regular production operation and corner cases. As more and more chips cross the SoC threshold, this approach will become the preferred method for verification.

 

About Thomas Anderson

Thomas L. Anderson is vice president of Marketing for Breker Verification Systems. His previous positions include Product Management Group director of Advanced Verification Systems at Cadence, director of Technical Marketing in the Verification Group at Synopsys, vice president of Applications Engineering at 0-In Design Automation, and vice president of Engineering at Virtual Chips. Anderson has presented more than 100 conference talks and published more than 150 papers and technical articles on such topics as advanced verification, formal analysis, SystemVerilog and design reuse. He holds a Master of Science degree in Electrical Engineering and Computer Science from MIT and a Bachelor of Science degree in Computer Systems Engineering from the University of Massachusetts at Amherst.

One thought on “Verifying Today’s SoCs Requires a New Approach”

  1. Breker says that special C routines are needed to stress the architecture of an SoC before it is built. What do you think? How do you do this now?

Leave a Reply

featured blogs
Sep 21, 2021
Placing component leads accurately as per the datasheet is an important task while creating a package footprint symbol. As the pin pitch goes down, the size and location of the component lead play a... [[ Click on the title to access the full blog on the Cadence Community si...
Sep 21, 2021
Learn how our high-performance FPGA prototyping tools enable RTL debug for chip validation teams, eliminating simulation/emulation during hardware debugging. The post High Debug Productivity Is the FPGA Prototyping Game Changer: Part 1 appeared first on From Silicon To Softw...
Sep 18, 2021
Projects with a steampunk look-and-feel incorporate retro-futuristic technology and aesthetics inspired by 19th-century industrial steam-powered machinery....
Aug 5, 2021
Megh Computing's Video Analytics Solution (VAS) portfolio implements a flexible and scalable video analytics pipeline consisting of the following elements: Video Ingestion Video Transformation Object Detection and Inference Video Analytics Visualization   Because Megh's ...

featured video

Digital Design Technology Symposium

Sponsored by Synopsys

Are you an SoC designer or manager facing new design challenges driven by rapidly growing and emerging vertical segments for HPC, 5G, mobile, automotive and AI applications?

Join us at the Digital Design Technology Symposium.

featured paper

An Engineer's Guide to Designing with Precision Amplifiers

Sponsored by Texas Instruments

This e-book contains years of circuit design recommendations and insights from Texas Instruments industry experts and covers many common topics and questions you may encounter while designing with precision amplifiers.

Click to read more

featured chalk talk

ROHM's KX132-1211 & KX134-1211 Accelerometers

Sponsored by Mouser Electronics and ROHM Semiconductor

Machine health monitoring is a key benefit in the Industry 4.0 revolution. Integrating data from sensors for vibration detection, motion detection, angle measurement and more can give a remarkably accurate picture of machine health, and timely warning of impending failure. In this episode of Chalk Talk, Amelia Dalton chats with Alex Chernyakov of ROHM Semiconductor about the key considerations in machine health monitoring, and how a new line of accelerometers for industrial applications can help.

Click here for more information about Kionix / ROHM Semiconductor KX134 & KX132 Tri-axis Digital Accelerometers