init
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
/****************************************************************************
|
||||
+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+ +-+-+-+-+-+-+-+-+
|
||||
|F|u|n|c|t|i|o|n|a|l| |V|e|r|i|f|i|c|a|t|i|o|n| |o|f| |H|a|r|d|w|a|r|e|
|
||||
+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+ +-+-+-+-+-+-+-+-+
|
||||
|
||||
FILE reset_seq.sv
|
||||
|
||||
DESCRIPTION sequence for assertion reset
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
`ifndef RESET_SEQ_SV
|
||||
`define RESET_SEQ_SV
|
||||
|
||||
/**
|
||||
* Class: reset_seq
|
||||
*/
|
||||
class reset_seq extends reset_base_seq;
|
||||
|
||||
// delay before asserting reset (#clk cycles)
|
||||
rand int unsigned transmit_del;
|
||||
// duration of reset (#clk cycles)
|
||||
rand int unsigned duration_time;
|
||||
|
||||
// UVM factory registration
|
||||
`uvm_object_utils(reset_seq)
|
||||
|
||||
// constraints
|
||||
constraint c_transmit_delay { transmit_del <= 10; }
|
||||
constraint c_duration_time { duration_time inside {[1:5]}; }
|
||||
|
||||
// new - constructor
|
||||
function new(string name = "reset_seq");
|
||||
super.new(name);
|
||||
endfunction : new
|
||||
|
||||
// sequence generation logic in body
|
||||
virtual task body();
|
||||
// send one transaction
|
||||
`uvm_do_with(req, { req.duration == duration_time;
|
||||
req.transmit_delay == transmit_del; } )
|
||||
endtask : body
|
||||
|
||||
endclass : reset_seq
|
||||
|
||||
`endif
|
||||
|
||||
Reference in New Issue
Block a user