Bladeren bron

new seq_lib file

main
Pooja Das 5 maanden geleden
bovenliggende
commit
fa1e516c70
1 gewijzigde bestanden met toevoegingen van 43 en 0 verwijderingen
  1. +43
    -0
      axi_seq_lib.sv

+ 43
- 0
axi_seq_lib.sv Bestand weergeven

@@ -0,0 +1,43 @@
//base sequence : things common to all sequence
class axi_base_seq extends uvm_sequence #(axi_tx);
uvm_phase phase;
`uvm_object_utils(axi_base_seq)
`NEW_OBJ
task pre_body();
//raise objection
phase = get_starting_phase();
if (phase !=null) begin
phase.raise_objection(this);
phase.phase_done.set_drain_time(this,100);
end
endtask
task post_body();
//drop objection
if (phase !=null) begin
phase.drop_objection(this);
end
endtask
endclass

//functional sequence: things specific to current sequence
class axi_wr_rd_seq extends axi_base_seq;
axi_tx tx;
axi_tx txQ[$];
`uvm_object_utils(axi_wr_rd_seq)
`NEW_OBJ
task body();
//write/read to same loc
repeat(1) begin
`uvm_do_with (req, {req.wr_rd==1;});
tx = new req; //shallow copy
txQ.push_back(tx);
end
//read_tx
repeat(1) begin
tx = txQ.pop_front();
`uvm_do_with (req, {req.wr_rd==0; req.burst_len ==tx.burst_len; req.addr == tx.addr;});
end
endtask
endclass



Laden…
Annuleren
Opslaan