A critical stage in creating a custom ASIC is verifying that it does what it is supposed to do and in the best way possible. Typically, this is done by synthesising RTL and running it to see how well it performs against the performance specification that were defined at the start of the design. By adjusting the design, the performance is improved with each RTL run but each iteration can take weeks to affect.
Sondrel has developed a methodology that it calls its Performance Verification Environment (PVE) that enables it to create a Synopsys® SystemC simulation model where various parameters can be easily tweaked to see what effect this has on the meeting of the desired performance specification. Each variant does not take long to set up on the model and run in a few hours whereas trying to do each one with RTL simulations would take weeks for each variant. There is a trade-off between accuracy and speed as RTL simulations are more accurate but the speed of this new modelling approach in reaching an optimal configuration in only days far outweighs this. This enables Sondrel to successfully create many ASIC projects for customers as it is easy to deploy, faster and with less risk.
The methodology starts with using the Exploration Platform to capture and export all the transaction traces into Sondrel’s PVE that uses a Python-in-SystemC embedding technology built on top of Synopsys VCS®, Synopsis DVE and Synopsys Verdi® products. It is also capable of supporting tools from other EDA vendors, namely, Mentor ® Questa™ and Cadence® Xcelium™.
The testbench compilation flow for PVE is shown on the left of the PVE illustration shown below and uses an RTL Compiler from one of the established EDA vendors, that takes the Sondrel PVE (formed from SystemC and Python code) and combines it with Generated RTL and Python 3.9 binary (that is available as Opensource). This creates a simulator snapshot as a single application, which is the final executable that is run to perform the test.