For the latest incremental improvements to its Riviera-PRO functional verification platform, Aldec has turned to streamlining random constraint performance. The new Riviera-PRO 2016.02 release also is now fully supported on Windows 10 and adds a new debugger tool.
As SoC design complexity continues to grow, generating enough test vectors becomes more difficult. Teams are faced with either manually creating vectors or relying on SystemVerilog constraint randomization. However, while randomization reduces human labor, it is not free – the workload on the simulator increases dramatically as the solver churns away on bigger pattern sets.
To cut the time in simulation, Aldec teams went after two specific expression constructs in random constraints. The first seems simple enough – they optimized the division operator (/). (Every elementary school kid knows just how messy long division is, right? It’s one of the more hostile operations on a CPU as well.) The second opportunity was linear equations. Aldec is claiming a significant performance gain of as much as 30% in the simulation of SystemVerilog designs using random constraints from just optimizing these two things.
One has to appreciate the approach of focusing on just a couple of operators and getting randomization solver optimization right. I’m pretty sure Aldec has a person or two specifically assigned to researching and delivering SystemVerilog performance enhancements like this in each release cycle for Riviera-PRO.
In this Riviera-PRO 2016.02 release, there are also many debugger improvements – another area where it seems the Aldec Riviera-PRO R&D team has people focused for every release. A new capability is being introduced in this latest version: the Design Units window. It presents a list of units instantiated in the design hierarchy and any processes associated with those units. It also breaks down coverage data associated with that unit, and the cumulative coverage of the entire verification run. This can help quickly evaluate coverage in a specific area where changes were made, rather than sifting through the entire coverage result set.
Other new debug features include a Rebuild Structure command, when files and folders change, and improvements to the Hierarchy Viewer and Object Viewer. Two libraries have been updated, SystemC to 2.3.1 and OSVVM to 2016.01. Simulink M-Files handling has also been improved, as well as more support for floating point, integer, and real data types. Per usual, the release also contains a sizable list of resolved technical support requests from customers.
For more on the news, and access to a free evaluation version download of Riviera-PRO, a What’s New file and release notes in the registered area of the Aldec website, visit:
Riviera-PRO is a great example of agile development in EDA tools, continuously evolving and combining the best ideas from R&D and customer feedback. Transparency is a good thing, and sometimes reading the press release for this and other products doesn’t provide the entire story (and it shouldn’t – that’s why we are here). I appreciate the level of detail from Aldec in their release notes, and I’m sure their customers do as well.