You are on page 1of 2

// ********************************************************************

//
// Your use of this software code (the "Code") is subject to your compliance
// with all of the terms of the applicable Tabula software license agreement
// (the "License Agreement"). If you have not received the License Agreement,
// please contact Tabula at https://customer.tabula.com/contact/ to obtain a
// copy. Without limiting the foregoing, your use of the Code is subject to
// the following:
//
// USE RESTRICTIONS. You may not use or otherwise exploit in any manner any
// portion of the Code in connection with any device other than a Tabula Device.
// A "Tabula Device" is a programmable logic device that is manufactured and
// marketed by or for Tabula, Inc. Further, you may not: (i) disclose any
// portion of the Code to any third party except as expressly authorized in
// the License Agreement; or (ii) remove or obscure this header or any other
// proprietary notices or use restrictions from the Code.
//
// DISCLAIMER. TABULA PROVIDES THE CODE "AS IS" AND WITHOUT WARRANTY OF ANY KIN
D,
// AND HEREBY DISCLAIMS ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT
// LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
// PERFORMANCE, ACCURACY, RELIABILITY, AND NON-INFRINGEMENT.
//
// LIMITATION OF LIABILITY. IN NO EVENT WILL TABULA OR ITS SUPPLIERS OR RESELLE
RS
// BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF
// ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS O
F
// GOODWILL, WORK STOPPAGE, ACCURACY OF RESULTS, COMPUTER FAILURE OR MALFUNCTION
,
// OR DAMAGES RESULTING FROM YOUR USE OF THE CODE. THE FOREGOING LIMITATIONS SHA
LL
// APPLY EVEN IF TABULA SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMA
GES.
//
// Copyright (c) 2015 Tabula, Inc.
// This Code is confidential and proprietary of Tabula, Inc. All rights reserve
d.
//
// Synopsis
[ ]
// Description [
//
qmngr_tx_agent
//
|
//
|-- qmngr_tx_agent encapsulates qmngr_sequencer, qmngr_drive
r and tx_monitor
//
//
]
// Release Note [ $$RELEASENOTE$$ ]
//
// **********************************************************************
class qmngr_agent extends uvm_agent;
uvm_active_passive_enum is_active=UVM_ACTIVE;
qmngr_driver drv;
qmngr_sequencer seq;
qmngr_monitor mntr;
`uvm_component_utils_begin(qmngr_agent)

`uvm_field_enum(uvm_active_passive_enum, is_active, UVM_ALL_ON)


`uvm_component_utils_end
function new(string name,uvm_component parent);
super.new(name,parent);
endfunction:new
virtual function void build_phase (uvm_phase phase);
super.build_phase(phase);
mntr=new("mntr",this);
if(is_active == UVM_ACTIVE) begin
seq = new("seq", this);
drv = new("drv", this);
end
endfunction: build_phase
function void connect_phase(uvm_phase phase);
if(is_active == UVM_ACTIVE) begin
drv.seq_item_port.connect(seq.seq_item_export);
end
endfunction: connect_phase
endclass: qmngr_agent

You might also like