Focused formal-based structural code analysis
Detecting design errors as early as possible in the development flow is key in reducing overall verification effort and time. One obvious technology in the designer’s toolbox is Linting, a static check, often performed as sign-off procedure long after it is written, to comply with coding guidelines and industry standards. It provides an efficient and pragmatic method to perform syntax and semantic analysis of RTL code.
The OneSpin’s low noise Structural Analysis App is applied early in the process and quickly identifies questionable language use in otherwise syntactically correct code that can often be unintended and hide design errors that later become larger problems.
Ease of Use and Clear Focus
With the OneSpin Structural Analysis App, users need to provide only minimal setup to read, elaborate and compile RTL blocks. A comprehensive list of relevant checks is applied without further user interaction. More focused than standard linting, the App performs a relevant set of RTL checks that spot obvious problems and provide a fast and easy reporting mechanism.
Focusing on potentially dangerous coding, and by applying a formal based filter, the App eliminates the huge reports of unnecessary warnings, or “noise,” which otherwise lead to so many issues. Typical issues that are identified by the Structural Analysis App are multiple drivers, incomplete sensitivity lists, combinational feedback loops, undriven outputs and nets without sink. In the case of Verilog, that is not strongly typed, this app detects scenarios where incompatible assignments are made or bits are selected out of address range.
Coding issues can be easily analyzed through a link to the source code location that is causing it.
A dedicated browser GUI enables users to intuitively organize and prioritize warnings, and quickly review them. Message filters can be used to waive warnings that are deemed to be acceptable. Often, however, only few simple filters are typically necessary due to the low noise level of the App. Structural Analysis results can be saved and compared using the GUI with new results from subsequent design revisions, thus enabling designers to review only differential results.
The OneSpin Structural Analysis App can be used by design and verification engineers at module or SoC level and the typical run time goes from seconds to minutes even for large SoCs.
The OneSpin 360 Structural Analysis App is included in all OneSpin 360 DV and OneSpin 360 EC products.