草榴社区

How to Achieve 2X Faster Waveform Dumping in 草榴社区 Verdi with VCS

Taruna Reddy

Dec 15, 2022 / 2 min read

If you are a 草榴社区 Verdi user, what simulator are you using? The answer could have a significant impact on your verification productivity. For example, if you use a non-草榴社区 simulator, you may experience longer than normal regression runs when signals are dumped, and in some scenarios the time to load the Fast Signal Database (FSDB) into Verdi increases too. In this blog we’ll share the native integrations that the 草榴社区 Verdi? debug solution and 草榴社区 VCS? functional verification solution share that will improve your designs performance and debug productivity. Let’s explore these Verdi and VCS optimizations a bit more.

What is Dynamic Aliasing?

Dynamic aliasing is used to optimize clock intensive designs where multiple clock signals like reset or power related signals have the same activity 90% of the time and the two signals are then aliased for that 90% . This is a distinguishing activity that can reduce unnecessary saved raw data also resulting in increased performance. The integration between 草榴社区 Verdi and VCS as it applies to dynamic aliasing has been proven to help simulations run 1.5X faster and reduce the FSDB size by 5X.

Native Integrations

A native integration between 草榴社区 Verdi and VCS includes sharing a common parser and elaborator as seen in the image below. This means that when designers compile for Verdi and VCS, they don’t observe any inconsistencies or need to maintain two separate flows. The simulator and debugger databases are generated in parallel leading to better performance and accuracy. These benefits cannot be leveraged in flows where Verdi is used with other simulators. Verdi used with another simulator will warrant two compile flows leading to inconsistencies (e.g. filelist, compile errors etc.) and additional cycles wasted in debug.

Native integration

An example of a native integration between 草榴社区 Verdi and 草榴社区 VCS

Other benefits of the natively integrated 草榴社区 Verdi and VCS include:

  • Multithreading for dumping
  • Native DPI integration
  • Enhanced X prop debugging
  • UVM transaction dumping and a reduction in the number of callbacks reducing the overall FSDB size by 50% and generating the FSDB 2X faster

Debugging Your Design

Interactive debug of the testbench including classes, UVM based debug like phases, factory and sequences and constraint debug are some of the powerful debug tools that are exclusive to a 草榴社区 VCS and Verdi flow. Interactive debug with VCS allows you to go back in time without restarting simulations, enabling the ability to run what-if analysis and achieve full visibility into the testbench.

One of the primary challenges with constraint debug is root-causing the failing constraint, especially in cases where the user is unfamiliar with the source code or the constraint is deep in the code. Using 草榴社区 Verdi allows its powerful constraint debug solution to provide on-the-fly randomization, eventually evaluating the distribution of stimuli and their impact on coverage closure.

To learn more about the benefits of the unique native integrations between these two tools related to debug, refer to our whitepaper – The Next Generation of Testbench Debug Productivity

草榴社区 Verification 草榴社区

The tight integration between 草榴社区’ functional verification solutions – 草榴社区 VCS草榴社区 Verdi, and 草榴社区 VC Formal? –  delivers the speed, capacity, and flexibility to verify today’s complex SoCs and get to the bottom of root causes of design bugs.

草榴社区 silicon design and verification solutions share common technologies and consistent design interpretation that provide verification engineers with a seamless user experience, higher performance, and increased productivity. Continued innovation in “value links” across 草榴社区 products enables companies to efficiently design the next wave of transformative products.

Stay tuned for future blog posts exploring how the connections between 草榴社区’ functional verification solutions help to improve and productivity.

Continue Reading