| // SURELOG | |
| // Builtin SystemVerilog classes | |
| class mailbox; | |
| function new (int bound = 0); | |
| endfunction | |
| function int num(); | |
| endfunction | |
| task put (message); | |
| endtask | |
| function try_put (message); | |
| endfunction | |
| task get (ref message); | |
| endtask | |
| function int try_get (ref message); | |
| endfunction | |
| task peek (ref message); | |
| endtask | |
| function int try_peek(ref message); | |
| endfunction | |
| endclass | |
| class process; | |
| typedef enum { FINISHED, RUNNING, WAITING, SUSPENDED, KILLED } state; | |
| static function process self(); | |
| endfunction | |
| function state status(); | |
| endfunction | |
| task kill(); | |
| endtask | |
| task await(); | |
| endtask | |
| task suspend(); | |
| endtask | |
| task resume(); | |
| endtask | |
| endclass | |
| class semaphore; | |
| function new(int keyCount = 0 ); | |
| endfunction | |
| task put(int keyCount = 1); | |
| endtask | |
| task get(int keyCount = 1); | |
| endtask | |
| function int try_get(int keyCount = 1); | |
| endfunction | |
| endclass | |