blob: 148f38d93919d3fac959b32a5980550a639e9ed6 [file] [log] [blame]
// 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