Advanced filters
- Tool
-
- Coverage
-
%%
- Type
-
| Slang | Slang_parse | VerihoggFormat | VerihoggLint | VerihoggLintLax | ||
|---|---|---|---|---|---|---|
| Various sanity checks | sanity | 1/1 | 1/1 | 1/1 | 1/1 | 0/1 |
| Tests imported from UVM | uvm | 160/169 | 166/166 | 7/166 | 3/169 | 166/169 |
| uvm-1.2 | 2/3 | 3/3 | 0/3 | 0/3 | 3/3 | |
| uvm_agent examples | uvm-agents | 3/3 | 3/3 | 0/3 | 0/3 | 3/3 |
| UVM tests using assertions | uvm-assertions | 26/26 | 26/26 | 0/26 | 0/26 | 26/26 |
| Particular UVM classes | uvm-classes | 36/36 | 36/36 | 0/36 | 0/36 | 36/36 |
| UVM examples | uvm-examples | 25/35 | 35/35 | 6/35 | 0/35 | 35/35 |
| uvm-random | 66/66 | 63/63 | 0/63 | 3/66 | 63/66 | |
| UVM Prerequisites | uvm-req | 317/317 | 303/303 | 234/288 | 276/302 | 287/302 |
| uvm_scoreboard examples | uvm-scoreboards | 3/3 | 3/3 | 0/3 | 0/3 | 3/3 |
| White space | 5.3 | 7/7 | 7/7 | 1/1 | 1/1 | 1/1 |
| Comments | 5.4 | 7/7 | 7/7 | 1/1 | 1/1 | 1/1 |
| Identifiers, keywords, and system names | 5.6 | 2/2 | 2/2 | 2/2 | 2/2 | 1/2 |
| Escaped identifiers | 5.6.1 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 |
| Keywords | 5.6.2 | 248/248 | 248/248 | 248/248 | 243/248 | 0/248 |
| System tasks and system functions | 5.6.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Compiler directives | 5.6.4 | 90/90 | 90/90 | 49/66 | 66/66 | 66/66 |
| Integer literal constants | 5.7.1 | 64/64 | 64/64 | 48/64 | 64/64 | 62/64 |
| Real literal constants | 5.7.2 | 58/58 | 58/58 | 42/58 | 58/58 | 57/58 |
| Time literals | 5.8 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| String literals | 5.9 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Special characters in strings | 5.9.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Structure literals | 5.10 | 4/4 | 3/3 | 3/3 | 3/4 | 3/4 |
| Array literals | 5.11 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Attributes | 5.12 | 5/5 | 5/5 | 5/5 | 5/5 | 5/5 |
| Built-in methods | 5.13 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Nets and variables | 6.5 | 4/4 | 1/1 | 1/1 | 1/4 | 1/4 |
| Wire and tri nets | 6.6.1 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 |
| Unresolved nets | 6.6.2 | 1/1 | 1/1 | 0/1 | 1/1 | 1/1 |
| Wired nets | 6.6.3 | 4/4 | 4/4 | 0/4 | 4/4 | 4/4 |
| Trireg net | 6.6.4 | 1/1 | 1/1 | 0/1 | 1/1 | 1/1 |
| Tri0 and tri1 nets | 6.6.5 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 |
| Supply nets | 6.6.6 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 |
| User-defined nettypes | 6.6.7 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Generic interconnect | 6.6.8 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Specifying vectors | 6.9.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Vector net accessibility | 6.9.2 | 3/3 | 3/3 | 3/3 | 3/3 | 2/3 |
| Implicit declarations | 6.10 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Integer data types | 6.11 | 27/27 | 27/27 | 0/27 | 27/27 | 27/27 |
| Real, shortreal, and realtime data types | 6.12 | 6/6 | 3/3 | 3/3 | 3/6 | 3/6 |
| Void data type | 6.13 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Chandle data type | 6.14 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Class | 6.15 | 41/41 | 41/41 | 41/41 | 34/41 | 41/41 |
| String data type | 6.16 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Len() | 6.16.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Putc() | 6.16.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Getc() | 6.16.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Toupper() | 6.16.4 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Tolower() | 6.16.5 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Compare() | 6.16.6 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Icompare() | 6.16.7 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Substr() | 6.16.8 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Atoi(), atohex(), atooct(), atobin() | 6.16.9 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Atoreal() | 6.16.10 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Itoa() | 6.16.11 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Hextoa() | 6.16.12 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Octtoa() | 6.16.13 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Bintoa() | 6.16.14 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Realtoa() | 6.16.15 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Event data type | 6.17 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| User-defined types | 6.18 | 30/30 | 27/27 | 27/27 | 27/30 | 27/30 |
| Enumerations | 6.19 | 5/5 | 2/2 | 2/2 | 2/5 | 2/5 |
| Defining new data types as enumerated types | 6.19.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Enumerated type ranges | 6.19.2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Type checking | 6.19.3 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Enumerated types in numerical expressions | 6.19.4 | 3/3 | 2/2 | 2/2 | 2/3 | 2/3 |
| First() | 6.19.5.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Last() | 6.19.5.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Next() | 6.19.5.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Prev() | 6.19.5.4 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Num() | 6.19.5.5 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Name() | 6.19.5.6 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Value parameters | 6.20.2 | 6/6 | 6/6 | 6/6 | 6/6 | 6/6 |
| Type parameters | 6.20.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Local parameters (localparam) | 6.20.4 | 5/5 | 5/5 | 5/5 | 5/5 | 5/5 |
| Specify parameters | 6.20.5 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Const constants | 6.20.6 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Type operator | 6.23 | 3/3 | 3/3 | 3/3 | 2/3 | 3/3 |
| Cast operator | 6.24.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| $cast dynamic casting | 6.24.2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Bit-stream casting | 6.24.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| General | 7.1 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Structures | 7.2 | 5/5 | 5/5 | 5/5 | 5/5 | 5/5 |
| Packed structures | 7.2.1 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Assigning to structures | 7.2.2 | 2/2 | 1/1 | 1/1 | 2/2 | 1/2 |
| Unions | 7.3 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Packed unions | 7.3.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Tagged unions | 7.3.2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Packed and unpacked arrays | 7.4 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Packed arrays | 7.4.1 | 9/9 | 9/9 | 9/9 | 9/9 | 9/9 |
| Unpacked arrays | 7.4.2 | 13/13 | 13/13 | 13/13 | 13/13 | 13/13 |
| Operations on arrays | 7.4.3 | 14/14 | 13/13 | 13/13 | 13/14 | 13/14 |
| Memories | 7.4.4 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Multidimensional arrays | 7.4.5 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Indexing and slicing of arrays | 7.4.6 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Dynamic arrays | 7.5 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| New[ ] | 7.5.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Size() | 7.5.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Delete() | 7.5.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Array assignments | 7.6 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Arrays as arguments to subroutines | 7.7 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Associative arrays | 7.8 | 7/7 | 7/7 | 7/7 | 7/7 | 7/7 |
| Wildcard index type | 7.8.1 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| String index | 7.8.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Class index | 7.8.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Integral index | 7.8.4 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Accessing invalid indices | 7.8.6 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Allocating associative array elements | 7.8.7 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Associative array methods | 7.9 | 9/9 | 9/9 | 9/9 | 9/9 | 9/9 |
| Num() and size() | 7.9.1 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Delete() | 7.9.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Exists() | 7.9.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| First() | 7.9.4 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Last() | 7.9.5 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Next() | 7.9.6 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Prev() | 7.9.7 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Arguments to traversal methods | 7.9.8 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Associative array assignment | 7.9.9 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Associative array arguments | 7.9.10 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Associative array literals | 7.9.11 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Queues | 7.10 | 13/13 | 13/13 | 13/13 | 13/13 | 13/13 |
| Queue operators | 7.10.1 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Queue methods | 7.10.2 | 9/9 | 9/9 | 9/9 | 9/9 | 9/9 |
| Size() | 7.10.2.1 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Insert() | 7.10.2.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Delete() | 7.10.2.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Pop_front() | 7.10.2.4 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Pop_back() | 7.10.2.5 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Push_front() | 7.10.2.6 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Push_back() | 7.10.2.7 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Persistence of references to elements of a queue | 7.10.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Updating a queue using assignment and unpacked array concatenation | 7.10.4 | 6/6 | 6/6 | 6/6 | 2/6 | 6/6 |
| Bounded queues | 7.10.5 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Array querying functions | 7.11 | 8/8 | 8/8 | 8/8 | 8/8 | 8/8 |
| Array manipulation methods | 7.12 | 10/10 | 10/10 | 10/10 | 10/10 | 10/10 |
| Array locator methods | 7.12.1 | 11/11 | 11/11 | 11/11 | 11/11 | 11/11 |
| Array ordering methods | 7.12.2 | 6/6 | 6/6 | 6/6 | 6/6 | 6/6 |
| Array reduction methods | 7.12.3 | 5/5 | 5/5 | 5/5 | 5/5 | 5/5 |
| Iterator index querying | 7.12.4 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Syntax | 8.3 | 70/70 | 69/69 | 69/69 | 62/70 | 69/70 |
| Objects (class instance) | 8.4 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Object properties and object parameter data | 8.5 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Object methods | 8.6 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Constructors | 8.7 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Typed constructor calls | 8.8 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Static class properties | 8.9 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Static methods | 8.10 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| This | 8.11 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Assignment, renaming, and copying | 8.12 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Inheritance and subclasses | 8.13 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Overridden members | 8.14 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Super | 8.15 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Casting | 8.16 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Chaining constructors | 8.17 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Data hiding and encapsulation | 8.18 | 10/10 | 5/5 | 2/5 | 5/10 | 5/10 |
| Constant class properties | 8.19 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Virtual methods | 8.20 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Abstract classes and pure virtual methods | 8.21 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Polymorphism: dynamic method lookup | 8.22 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Class scope resolution operator :: | 8.23 | 1/1 | 1/1 | 0/1 | 1/1 | 1/1 |
| Out-of-block declarations | 8.24 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Parameterized classes | 8.25 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Class scope resolution operator for parameterized classes | 8.25.1 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Interface classes | 8.26 | 5/5 | 5/5 | 5/5 | 5/5 | 5/5 |
| Extends versus implements | 8.26.2 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Type access | 8.26.3 | 3/3 | 2/2 | 2/2 | 2/3 | 2/3 |
| Type usage restrictions | 8.26.4 | 2/2 | 1/2 | 0/2 | ||
| Casting and object reference assignment | 8.26.5 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Method name conflict resolution | 8.26.6.1 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Parameter and type declaration inheritance conflicts and resolution | 8.26.6.2 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Diamond relationship | 8.26.6.3 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Partial implementation | 8.26.7 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Typedef class | 8.27 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Initial procedures | 9.2.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| General purpose always procedure | 9.2.2.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Combinational logic always_comb procedure | 9.2.2.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Latched logic always_latch procedure | 9.2.2.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Sequential logic always_ff procedure | 9.2.2.4 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Final procedures | 9.2.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Sequential blocks | 9.3.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Parallel blocks | 9.3.2 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Statement block start and finish times | 9.3.3 | 3/3 | 2/2 | 2/2 | 2/3 | 2/3 |
| Block names | 9.3.4 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Statement labels | 9.3.5 | 2/2 | 2/2 | 1/2 | 2/2 | 2/2 |
| Delay control | 9.4.1 | 4/4 | 2/2 | 2/2 | 4/4 | 4/4 |
| Event control | 9.4.2 | 5/5 | 3/3 | 3/3 | 5/5 | 5/5 |
| Event OR operator | 9.4.2.1 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Implicit event_expression list | 9.4.2.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Conditional event controls | 9.4.2.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Sequence events | 9.4.2.4 | 1/1 | 1/1 | 0/1 | 1/1 | 1/1 |
| Level-sensitive event control | 9.4.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Intra-assignment timing controls | 9.4.5 | 7/7 | 7/7 | 7/7 | 7/7 | 7/7 |
| Wait fork statement | 9.6.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Disable statement | 9.6.2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Disable fork statement | 9.6.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Fine-grain process control | 9.7 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Continuous assignments | 10.3 | 1/1 | 0/1 | 0/1 | ||
| The net declaration assignment | 10.3.1 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| The continuous assignment statement | 10.3.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Continuous assignment delays | 10.3.3 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Continuous assignment strengths | 10.3.4 | 24/24 | 24/24 | 0/24 | 24/24 | 24/24 |
| Blocking procedural assignments | 10.4.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Nonblocking procedural assignments | 10.4.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| The assign and deassign procedural statements | 10.6.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| The force and release procedural statements | 10.6.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Operators | 11.3 | 6/6 | 6/6 | 0/6 | 6/6 | 6/6 |
| Operator expression short circuiting | 11.3.5 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Assignment within an expression | 11.3.6 | 11/11 | 10/11 | 10/11 | 11/11 | 10/11 |
| Assignment operators | 11.4.1 | 34/34 | 34/34 | 1/34 | 34/34 | 34/34 |
| Increment and decrement operators | 11.4.2 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Arithmetic operators | 11.4.3 | 24/24 | 24/24 | 0/24 | 24/24 | 24/24 |
| Relational operators | 11.4.4 | 16/16 | 16/16 | 0/16 | 16/16 | 16/16 |
| Equality operators | 11.4.5 | 39/39 | 39/39 | 1/39 | 39/39 | 39/39 |
| Wildcard equality operators | 11.4.6 | 18/18 | 18/18 | 0/18 | 18/18 | 18/18 |
| Logical operators | 11.4.7 | 24/24 | 24/24 | 0/24 | 24/24 | 24/24 |
| Bitwise operators | 11.4.8 | 15/15 | 15/15 | 0/15 | 15/15 | 15/15 |
| Reduction operators | 11.4.9 | 14/14 | 14/14 | 0/14 | 14/14 | 14/14 |
| Shift operators | 11.4.10 | 14/14 | 14/14 | 4/14 | 14/14 | 14/14 |
| Conditional operator | 11.4.11 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Concatenation operators | 11.4.12 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Replication operator | 11.4.12.1 | 5/5 | 5/5 | 5/5 | 5/5 | 5/5 |
| String concatenation | 11.4.12.2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Set membership operator | 11.4.13 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Concatenation of stream_expressions | 11.4.14.1 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Re-ordering of the generic stream | 11.4.14.2 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Streaming concatenation as an assignment target (unpack) | 11.4.14.3 | 6/6 | 5/5 | 5/5 | 5/6 | 5/6 |
| Streaming dynamically sized data | 11.4.14.4 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Vector bit-select and part-select addressing | 11.5.1 | 12/12 | 12/12 | 12/12 | 12/12 | 12/12 |
| Array and memory addressing | 11.5.2 | 5/5 | 5/5 | 5/5 | 5/5 | 5/5 |
| Signed expressions | 11.7 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Tagged union expressions and member access | 11.9 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| String literal expressions | 11.10 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| String literal operations | 11.10.1 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Empty string literal handling | 11.10.3 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Minimum, typical, and maximum delay expressions | 11.11 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Let construct | 11.12 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Conditional if-else statement | 12.4 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 |
| if-else-if construct | 12.4.1 | 1/1 | 1/1 | 0/1 | 1/1 | 1/1 |
| unique-if, unique0-if, and priority-if | 12.4.2 | 3/3 | 3/3 | 0/3 | 3/3 | 3/3 |
| Case statement | 12.5 | 1/1 | 1/1 | 0/1 | 1/1 | 1/1 |
| Case statement with do-not-cares | 12.5.1 | 2/2 | 2/2 | 0/2 | 2/2 | 2/2 |
| Constant expression in case statement | 12.5.2 | 1/1 | 1/1 | 0/1 | 1/1 | 1/1 |
| unique-case, unique0-case, and priority-case | 12.5.3 | 9/9 | 9/9 | 0/9 | 9/9 | 9/9 |
| Set membership case statement | 12.5.4 | 1/1 | 1/1 | 0/1 | 1/1 | 1/1 |
| Pattern matching in case statements | 12.6.1 | 3/3 | 3/3 | 1/3 | 3/3 | 3/3 |
| Pattern matching in if statements | 12.6.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Pattern matching in conditional expressions | 12.6.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| The for-loop | 12.7.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| The repeat loop | 12.7.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| The foreach-loop | 12.7.3 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| The while-loop | 12.7.4 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| The do...while-loop | 12.7.5 | 1/1 | 1/1 | 0/1 | 1/1 | 1/1 |
| The forever-loop | 12.7.6 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Jump statements | 12.8 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Tasks | 13.3 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Static and automatic tasks | 13.3.1 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Functions | 13.4 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Return values and void functions | 13.4.1 | 3/3 | 2/2 | 2/2 | 3/3 | 2/3 |
| Static and automatic functions | 13.4.2 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Constant functions | 13.4.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Background processes spawned by function calls | 13.4.4 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Clocking block declaration | 14.3 | 5/5 | 4/4 | 3/4 | 4/5 | 4/5 |
| Mailboxes | 15.4 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Named Events | 15.5 | 3/3 | 3/3 | 3/3 | 0/3 | 3/3 |
| Overview | 16.2 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Deferred assertions | 16.4 | 6/6 | 6/6 | 6/6 | 6/6 | 6/6 |
| Sequences | 16.7 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Sequence operations | 16.9 | 19/19 | 19/19 | 3/19 | 17/19 | 19/19 |
| Local variables | 16.10 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Declaring properties | 16.12 | 5/5 | 5/5 | 5/5 | 5/5 | 5/5 |
| Concurrent assertions | 16.14 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Disable iff resolution | 16.15 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Expect statement | 16.17 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Rand modifier | 18.4.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Randc modifier | 18.4.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Constraint blocks | 18.5 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| External constraint blocks | 18.5.1 | 4/4 | 3/3 | 3/3 | 2/4 | 3/4 |
| Constraint inheritance | 18.5.2 | 4/4 | 3/3 | 3/3 | 3/4 | 3/4 |
| Set membership | 18.5.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Distribution | 18.5.4 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Uniqueness constraints | 18.5.5 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Implication | 18.5.6 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| if–else constraints | 18.5.7 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| foreach iterative constraints | 18.5.8.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Array reduction iterative constraints | 18.5.8.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Global constraints | 18.5.9 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Variable ordering | 18.5.10 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Static constraint blocks | 18.5.11 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Functions in constraints | 18.5.12 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Constraint guards | 18.5.13 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Soft constraints | 18.5.14 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Soft constraint priorities | 18.5.14.1 | 2/2 | 2/2 | 2/2 | 1/2 | 2/2 |
| Discarding soft constraints | 18.5.14.2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Pre_randomize() and post_randomize() | 18.6.2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Behavior of randomization methods | 18.6.3 | 2/2 | 1/1 | 1/1 | 2/2 | 1/2 |
| In-line constraints—randomize() with | 18.7 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| local:: scope resolution | 18.7.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Disabling random variables with rand_mode() | 18.8 | 2/2 | 2/2 | 0/2 | ||
| Randomization of scope variables—std::randomize() | 18.12 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Adding constraints to scope variables—std::randomize() with | 18.12.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| $urandom | 18.13.1 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| $urandom_range() | 18.13.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Manually seeding randomize | 18.15 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Random weighted case—randcase | 18.16 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Random sequence generation—randsequence | 18.17 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Random production weights | 18.17.1 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| if–else production statements | 18.17.2 | 4/4 | 2/2 | 2/2 | 2/4 | 2/4 |
| Case production statements | 18.17.3 | 2/2 | 1/1 | 1/1 | 1/2 | 1/2 |
| Repeat production statements | 18.17.4 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Interleaving productions—rand join | 18.17.5 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Aborting productions—break and return | 18.17.6 | 3/3 | 2/2 | 2/2 | 2/3 | 2/3 |
| Value passing between productions | 18.17.7 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Simulation control system tasks | 20.2 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Simulation time system functions | 20.3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Timescale system tasks | 20.4 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| Conversion functions | 20.5 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Data query functions | 20.6 | 5/5 | 5/5 | 5/5 | 5/5 | 5/5 |
| Array query functions | 20.7 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Math functions | 20.8 | 22/22 | 22/22 | 10/22 | 22/22 | 22/22 |
| Bit vector system functions | 20.9 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Severity tasks | 20.10 | 4/4 | 4/4 | 4/4 | 4/4 | 4/4 |
| Sampled value system functions | 20.13 | 16/16 | 16/16 | 0/16 | 16/16 | 16/16 |
| Coverage system functions | 20.14 | 1/1 | 1/1 | 1/1 | 0/1 | 1/1 |
| Probabilistic distribution functions | 20.15 | 8/8 | 8/8 | 8/8 | 8/8 | 8/8 |
| Display system tasks | 21.2 | 6/6 | 6/6 | 6/6 | 6/6 | 6/6 |
| File input/output system tasks and system functions | 21.3 | 17/17 | 17/17 | 17/17 | 17/17 | 17/17 |
| Loading memory array data from a file | 21.4 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Command line input | 21.6 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| Value change dump (VCD) files | 21.7 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| resetall | 22.3 | 3/3 | 3/3 | 3/3 | 3/3 | 2/3 |
| include | 22.4 | 8/8 | 8/8 | 5/6 | 6/6 | 6/6 |
| define | 22.5.1 | 29/29 | 29/29 | 1/1 | 1/1 | |
| undef | 22.5.2 | 2/2 | 2/2 | |||
| undefineall | 22.5.3 | 2/2 | 2/2 | |||
| ifdef, else, elsif, endif, ifndef | 22.6 | 3/3 | 3/3 | |||
| timescale | 22.7 | 6/6 | 4/4 | 2/2 | 0/2 | |
| default_nettype | 22.8 | 2/2 | 2/2 | |||
| unconnected_drive and nounconnected_drive | 22.9 | 5/5 | 2/2 | 3/3 | 0/3 | |
| celldefine and endcelldefine | 22.10 | 2/2 | 2/2 | |||
| pragma | 22.11 | 6/6 | 6/6 | |||
| line | 22.12 | 7/7 | 7/7 | |||
| Module definitions | 23.2 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| The program construct | 24.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Interface syntax | 25.3 | 1/1 | 1/1 | 1/1 | 0/1 | 1/1 |
| Package declarations | 26.2 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Referencing data in packages | 26.3 | 1/1 | 1/1 | 1/1 | 1/1 | 1/1 |
| Total tests passed | 1635/1645 | 1581/1582 | 987/1491 | 1315/1555 | 1240/1555 | |
| Total tags passed | 343/346 | 342/343 | 282/333 | 289/339 | 290/339 | |
| Total time elapsed | 30s | 19s | 1112s | 5455s | 5554s | |
| User time elapsed | 27s | 14s | 203s | 5330s | 5425s | |
| System time elapsed | 8s | 8s | 77s | 116s | 118s | |
| Maximum ram usage | 248 MB | 72 MB | 1010 MB | 3455 MB | 3454 MB | |
| Average throughput passed for inputs > 1KiB | 46 KiB/s | 140 KiB/s | 2 KiB/s | 0 KiB/s | 0 KiB/s | |
cores |
Slang | Slang_parse | VerihoggFormat | VerihoggLint | VerihoggLintLax | |
|---|---|---|---|---|---|---|
| Ariane RISC-V core | ariane | 4/5 | 5/5 | 0/5 | 0/5 | 5/5 |
| BlackParrot RISC-V core | black-parrot | 6/6 | 6/6 | 0/6 | 0/6 | 6/6 |
| cva6 | 4/5 | 5/5 | 0/5 | 0/5 | 5/5 | |
| FX68K m68k core | fx68k | 1/1 | 1/1 | 0/1 | 1/1 | 1/1 |
| Ibex RISC-V core | ibex | 1/1 | ||||
| RgGen code generator for configuration and status registers | RgGen | 1/1 | 1/1 | 0/1 | 0/1 | 1/1 |
| RSD RISC-V core | rsd | 1/1 | 1/1 | 0/1 | 0/1 | 1/1 |
| SCR1 RISC-V core | scr1 | 1/1 | 1/1 | 0/1 | 0/1 | 1/1 |
| NoC router and fabric | TNoC | 1/1 | 1/1 | 1/1 | 0/1 | 1/1 |
| VeeR EH1 RISC-V core | veer-eh1 | 1/1 | 1/1 | |||
| VeeR EL2 RISC-V core | veer-el2 | 0/1 | 0/1 | |||
| Total tests passed | 17/19 | 17/18 | 1/16 | 1/16 | 16/16 | |
| Total tags passed | 8/11 | 9/10 | 1/8 | 1/8 | 8/8 | |
| Total time elapsed | 3s | 2s | 19s | 3s | 3s | |
| User time elapsed | 2s | 1s | 11s | 2s | 2s | |
| System time elapsed | 1s | 1s | 3s | 0s | 0s | |
| Maximum ram usage | 213 MB | 125 MB | 1036 MB | 203 MB | 202 MB | |
| Average throughput passed for inputs > 1KiB | 10320 KiB/s | 16217 KiB/s | 233 KiB/s | 93 KiB/s | 12146 KiB/s | |
imported |
Slang | Slang_parse | VerihoggFormat | VerihoggLint | VerihoggLintLax | |
|---|---|---|---|---|---|---|
| Tests imported from Basejump STL | basejump | 360/360 | 360/360 | 0/360 | 0/360 | 360/360 |
| Tests imported from hdlConvertor | hdlconv | 19/19 | 19/19 | 0/19 | 19/19 | 19/19 |
| Tests imported from hdlConvertor (std2012) | hdlconv_std2012 | 20/20 | 20/20 | 0/20 | 20/20 | 20/20 |
| Tests imported from hdlConvertor (std2017) | hdlconv_std2017 | 144/144 | 144/144 | 0/144 | 138/144 | 144/144 |
| Tests imported from ivtest | ivtest | 2528/2529 | 2229/2529 | 1791/2529 | 2106/2529 | 2179/2529 |
| projf-explore | 10/10 | 10/10 | 0/10 | 10/10 | 10/10 | |
| Tests imported from utd-SystemVerilog | utd-sv | 127/127 | 127/127 | 0/127 | 121/127 | 127/127 |
| Tests imported from Yosys | yosys | 216/216 | 210/216 | 28/216 | 212/216 | 207/216 |
| Total tests passed | 3424/3425 | 3119/3425 | 1819/3425 | 2626/3425 | 3066/3425 | |
| Total tags passed | 7/8 | 6/8 | 0/8 | 3/8 | 6/8 | |
| Total time elapsed | 13s | 12s | 310s | 1120s | 1123s | |
| User time elapsed | 9s | 9s | 260s | 1071s | 1074s | |
| System time elapsed | 9s | 8s | 46s | 51s | 51s | |
| Maximum ram usage | 48 MB | 37 MB | 30999 MB | 21385 MB | 21056 MB | |
| Average throughput passed for inputs > 1KiB | 3401 KiB/s | 3870 KiB/s | 167 KiB/s | 21 KiB/s | 134 KiB/s | |