Skip to content

Instantly share code, notes, and snippets.

View sagar5258's full-sized avatar

Sagar Shah sagar5258

  • einfochips Ltd
  • Ahmedabad-India
View GitHub Profile
class fibonacci;
rand int unsigned f_ary[];
rand int unsigned fibonacci_length;
constraint f_ary_size_cn {
f_ary.size() == fibonacci_length;
}
constraint f_ary_cn {
foreach (f_ary[i]) {
static function bit from_name(
string name, // String which will be converted into enumerated value
ref T value // enumerated value
);
function automatic void uvm_split_string (
string str, // Actual string which users wants to split into substring
byte sep, // Delimeter
ref string values[$] // Reference queue of substring
);
typedef enum {VAL0, VAL1, VAL2, VAL3, VAL4} val_e;
typedef uvm_enum_wrapper#(val_e) uvm_vt;
module top();
val_e vt;
string str;
val_e vt_q[$];
string str_q[$];
initial begin
typedef enum {VAL0, VAL1, VAL2, VAL3, VAL4} val_e;
typedef uvm_enum_wrapper#(val_e) uvm_vt;
module top();
val_e vt;
string str;
initial begin
#5;
if ($value$plusargs("VAL_E=%0s", str)) begin
typedef enum {VAL0, VAL1, VAL2, VAL3, VAL4} val_e;
module top();
val_e vt;
string str;
bit match;
initial begin
#5;
if ($value$plusargs("VAL_E=%0s", str)) begin
class my_seq_item extends uvm_sequence_item;
rand bit [31:0] data;
rand bit [7:0] addr;
`uvm_object_utils_begin(my_seq_item)
`uvm_field_int(addr, UVM_DEFAULT | UVM_HEX)
`uvm_field_int(data, UVM_DEFAULT | UVM_HEX)
`uvm_object_utils_end
function new (string name = "my_seq_item");
class my_seq_item extends uvm_sequence_item;
rand bit [31:0] data;
rand bit [7:0] addr;
`uvm_object_utils_begin(my_seq_item)
`uvm_field_int(addr, UVM_DEFAULT | UVM_HEX)
`uvm_field_int(data, UVM_DEFAULT | UVM_HEX)
`uvm_object_utils_end
function new (string name = "my_seq_item");
class my_seq_item extends uvm_sequence_item;
rand bit [31:0] data;
rand bit [7:0] addr;
`uvm_object_utils_begin(my_seq_item)
`uvm_field_int(addr, UVM_DEFAULT | UVM_HEX)
`uvm_field_int(data, UVM_DEFAULT | UVM_HEX)
`uvm_object_utils_end
function new (string name = "my_seq_item");
class my_object extends uvm_object;
integer a;
`uvm_object_utils_begin(my_object)
`uvm_field_int(a, UVM_DEFAULT | UVM_DEC)
`uvm_object_utils_end
function new(string name = "my_object");
super.new(name);
endfunction : new