qmngr agent.sv

Upload: ankit-goel

Post on 04-Nov-2015

215 views

Category:

Documents


0 download

DESCRIPTION

vdf

TRANSCRIPT

// ********************************************************************//// 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 KIND, // 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 RESELLERS // BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF // ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF // GOODWILL, WORK STOPPAGE, ACCURACY OF RESULTS, COMPUTER FAILURE OR MALFUNCTION, // OR DAMAGES RESULTING FROM YOUR USE OF THE CODE. THE FOREGOING LIMITATIONS SHALL // APPLY EVEN IF TABULA SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.//// Copyright (c) 2015 Tabula, Inc. // This Code is confidential and proprietary of Tabula, Inc. All rights reserved.//// Synopsis [ ]// Description [ // qmngr_tx_agent// |// |-- qmngr_tx_agent encapsulates qmngr_sequencer, qmngr_driver 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_phaseendclass: qmngr_agent