|
@@ -0,0 +1,63 @@ |
|
|
|
|
|
class axi_wrap_sequence extends uvm_sequence #(axi_seq_item);
|
|
|
|
|
|
|
|
|
|
|
|
`uvm_object_utills(axi_wrap_sequence)
|
|
|
|
|
|
axi_wrap_sequence wrap_xtn;
|
|
|
|
|
|
|
|
|
|
|
|
function new(string name ="axi_wrap_sequene")
|
|
|
|
|
|
super.new(name);
|
|
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
|
|
|
|
task body();
|
|
|
|
|
|
repeat(10)
|
|
|
|
|
|
begin
|
|
|
|
|
|
wrap_xtn=axi_seq_item::type_id::create("wrap_xtn");
|
|
|
|
|
|
start_item(wrap_xtn);
|
|
|
|
|
|
assert(wrap_xtn.randomize() with {AWBURST==2;});
|
|
|
|
|
|
wrap_xtn.write=1;
|
|
|
|
|
|
finish_item(wrap_xtn);
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
endclass
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class axi_incr_sequence extends uvm_sequence #(axi_seq_item);
|
|
|
|
|
|
|
|
|
|
|
|
`uvm_object_utills(axi_incr_sequence)
|
|
|
|
|
|
axi_seq_item incr_xtn;
|
|
|
|
|
|
|
|
|
|
|
|
function new(string name ="axi_incr_sequene")
|
|
|
|
|
|
super.new(name);
|
|
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
|
|
|
|
task body();
|
|
|
|
|
|
repeat(10)
|
|
|
|
|
|
begin
|
|
|
|
|
|
incr_xtn=axi_seq_item::type_id::create("incr_xtn");
|
|
|
|
|
|
start_item(incr_xtn);
|
|
|
|
|
|
assert(wrap_xtn.randomize() with {AWBURST==1;});
|
|
|
|
|
|
incr_xtn.write=1;
|
|
|
|
|
|
finish_item(incr_xtn);
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
endclass
|
|
|
|
|
|
|
|
|
|
|
|
class axi_fixed_sequence extends uvm_sequence #(axi_seq_item);
|
|
|
|
|
|
|
|
|
|
|
|
`uvm_object_utills(axi_fixed_sequence)
|
|
|
|
|
|
axi_seq_item fixed_xtn;
|
|
|
|
|
|
|
|
|
|
|
|
function new(string name ="axi_fixed_sequene")
|
|
|
|
|
|
super.new(name);
|
|
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
|
|
|
|
task body();
|
|
|
|
|
|
repeat(10)
|
|
|
|
|
|
begin
|
|
|
|
|
|
fixed_xtn=axi_seq_item::type_id::create("fixed_xtn");
|
|
|
|
|
|
start_item(fixed_xtn);
|
|
|
|
|
|
assert(fixed_xtn.randomize() with {AWBURST==0;});
|
|
|
|
|
|
fixed_xtn.write=1;
|
|
|
|
|
|
finish_item(fixed_xtn);
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
endclass
|