forked from letitbe0201/AXI-DMA-master-verification
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsequence_base.svh
More file actions
37 lines (33 loc) · 1.21 KB
/
sequence_base.svh
File metadata and controls
37 lines (33 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
`ifndef SEQUENCE_BASE_SVH
`define SEQUENCE_BASE_SVH
class sequence_base #(
type BASE = uvm_sequence,
type CONFIGURATION = empty_configuration,
type STATUS = empty_status,
type REQ = uvm_sequence_item,
type RSP = REQ,
type PROXY_CONFIGURATION = CONFIGURATION,
type PROXY_STATUS = STATUS
) extends sequence_item_base #(
.BASE(uvm_sequence #(REQ, RSP)), .CONFIGURATION(CONFIGURATION), .STATUS(STATUS), .PROXY_CONFIGURATION(PROXY_CONFIGURATION), .PROXY_STATUS(PROXY_STATUS)
);
// UVM 1.2
protected bit enable_automatic_phase_objection = 0;
function void set_automation_phase_objection(bit value);
enable_automatic_phase_objection = value;
endfunction : set_automation_phase_objection
task pre_body();
if ((starting_phase != null) && enable_automatic_phase_objection) begin
starting_phase.raise_objection(this);
end
endtask : pre_body
task post_body();
if ((starting_phase != null) && enable_automatic_phase_objection) begin
starting_phase.drop_objection(this);
end
endtask : post_body
function new(string name="sequence_base");
super.new(name);
endfunction : new
endclass : sequence_base
`endif