Author:
- Gordon Allan - Mentor, A Siemens Business
Introduction:
Abstract- Directing a team of engineering staff to design, verify and deliver a product as complex as today's System-on-Chip (SoC) devices is a risky business. That risk comes sharply into focus as the verification activity comes to a close and the investment in silicon production is finally initiated. There are many things we can do to mitigate that risk, but until some future date where we replace our human designers (or their designs), with a collection of nanobots, we have to make the most out of our human limitations of focus, motivation, innovation, objectivity and accuracy. Some of those limitations even apply to verification professionals!
We postulate that data is the key to success and provide concrete examples that illustrate the value of data. Collection, analysis and visualization of design and verification data is what we do, in our daily design/verification workflows, helped along by our favorite D/V methodologies and EDA tools. This author has observed that successful teams get more out of the data they capture and how they use it, and avoid being overwhelmed by too much of the wrong data or the wrong kinds of processing. Recognizing that value, and amplifying it, is the next step to process maturity.
This is not just another paper listing useful metrics from the 1990s – instead we describe the challenge of maximizing utilization of the best design/verification tool we possess - our engineering brains. Their performance is limited by the rate we feed them with meaningful data - data at the right level of detail or abstraction to solve the problem at hand, and ideally data which is presented in a fluid, visual form to make the most of our parallel processing superpowers.
We explore data visualization techniques which are becoming standard practice in other industries and which can be leveraged in ours. We must pay heed to the challenges of managing 'Big Data' in our domain, so that it works for us rather than overwhelming us.
Practical examples are described of both low-level and top-down visualizations representing situations that occur during a typical SoC design/verification flow, such as debug situations, or the need to view a complex design in a particular abstraction or aspect. Real examples are illustrated using the increasingly popular D3.js graphics library, providing rich visualization of Big Data.
Design/Verification Data:
Data drives all of our engineering decisions, at least all the good ones. Especially useful is hard, scientifically gatheredand carefully analyzed data. That way we are more confident of its value, and more likely to trust it to make decisions on directions to take when defining our project, within our project or when migrating from one project to the next. Series of data add even more value than isolated data points, as they demonstrate consistency, become self-validating and provide trend and anomaly insight or cause/effect insight backed up by numbers.
In SoC design/verification engineering, our challenge is comprehension and analysis. How to make sense of and get the value out of data in a field that by definition is pushing the boundaries of technology and complexity with every project. It’s a different kind of problem from measuring and evaluating a production line, or a scientific field study, or financial indices evaluation and prediction, or weather prediction.
However, we should first try to leverage the well-established techniques and tools used by those other industries.
We will discuss first the different shapes and sizes of data captured from SoC design/verification processes at low level and high level, then explore the varying degrees of ‘magnification’ that we need to interpret results from within different kinds of datasets and techniques we can employ to aid that search and zoom activity. Finally we look at ways to cut through the excess information and ‘filter’ to find the interesting data amongst the mundane. After all we are normally looking for data to validate our quality or completeness, by carefully looking for exceptions to the expected results. Most of our data analysis and visualization challenges use a combination of the above three things, summarized as data management, data scoping, and data filtering.
View & Download:
Read the entire The Big Brain Theory: Visualizing SoC Design and Verification Data technical paper.
|