System Description Language (SDL)

ASIC verification contains three major tasks. They are building verification environment, writing test cases, and debugging. Traditionally, all three tasks involves programming and execution of the code just implemented. As ASICs grow bigger and bigger, the traditional approach can not scale up well.

System Description Language (SDL) is not a programming language. It is a mark-up language similar to popular HTML. We can say SDL is a verification mark-up language that describes instances on the test bench. SDL separates programming from verification. With SDL, the verification environment is coded elegantly and reusable in terms of modules and layers. With SDL, creating test case has a totally different meaning. Traditional programming is no longer required. Finally, with SDL and Assertion Model Builder, debugging is fully automated that compares every transaction between the assertion model and the DUT. All the memory transactions are verified with spare memory models automatically during the runtime. The debugging time with waveform, which is very time consuming, is minimized to within a few error transactions. As a result, we have seen that SDL increases the productivity from 2X to 5X.

As a verification mark-up language, SDL is on top of today's state-of-the-art reference verification methodologies (RVM from Synopsys or OVM from Cadence and Mentor) and any verification languages. In other words, you can adopt SDL with or without them. All the Tarek's tools are driven with SDL. We have also proved many verification tools, regardless of the implementing languages, can be driven with SDL. Any DUT can also be driven with SDL via Automatic Driver Generator (ADG).

Benefits with SDL

  • Easiest User Paradigm

  • Controlling Software Modules via the Data Structures, not the Execution Sequence

  • Creating Sophisticated Tests without Programming Skill

  • Reusable and Portable across Different Simulation and Emulation Platforms, ASICs and Multiple Projects

  • Executable Functional  Coverage

  • Test Case Automation

To see test case examples, click the following examples:

To see how data structures are represented, click the following link