System Description Language (SDL)

System Description Language (SDL) is designed for representing test cases in ASIC pre-silicon verifications and post-silicon validations. Up to now, creating test cases means writing computer programs in a variety of computer languages, such as C, Verilog, System C, Vera, Perl, or Specman. SDL represents a new way of creating test cases without traditional programming work.

In SDL, a system and its possible behavior are modeled and described using a set of objects. Each object is modeled and described using a set of property and value pairs. Default objects and properties can be omitted.

If we use a logic analyzer as an analogy, all the knobs and switches on the front panel are objects and properties in SDL. By setting the knobs and switches in different ways, we can set up the logic analyzer to perform its designed functions for different purposes. One particular setting represents a certain usage (purpose) of the logic analyzer. Similarly, property assignments in SDL represent a test case that verifies one or more functions of your Asics.

Once objects and properties are defined, SDL can be used to describe very complex scenarios. For example, SDL has been adopted to create any kind of networking flows and packets. SDL does not define the semantics of an object, properties, nor property values. It is the lower layer software that interprets the meaning of an object, its properties and property values. The SDL parser provides a rich set of functions to compile the data provided in the objects and their property assignments into optimized data structures.

One of the powerful features in SDL depends on how the objects and/or properties are grouped to form certain relationships. For example, several objects can be grouped together to form a tree structure and represent a particular configuration. Grouping certain properties can form a linked list or array. SDL has been proven with many ASICs' tape-out. No more programming is required to represent any complex test scenario.