// ========== Copyright Header Begin ========================================== // // OpenSPARC T2 Processor File: systemTapClass.vrh // Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved // 4150 Network Circle, Santa Clara, California 95054, U.S.A. // // * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; version 2 of the License. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // For the avoidance of doubt, and except that if any non-GPL license // choice is available it will apply instead, Sun elects to use only // the General Public License version 2 (GPLv2) at this time for any // software where a choice of GPL license versions is made // available with the language indicating that GPLv2 or any later version // may be used, or where a choice of which version of the GPL is applied is // otherwise unspecified. // // Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, // CA 95054 USA or visit www.sun.com if you need additional information or // have any questions. // // ========== Copyright Header End ============================================ #ifndef INC__BASESYSTEMTAPCLASS_VRH #define INC__BASESYSTEMTAPCLASS_VRH extern class BaseSystemTap { protected bit [3:0] tap_state_reg; protected string dispmonScope; protected StandardDisplay dbg; public tap__port tap_port; task new ( StandardDisplay dbgIn ); function string BinToChar ( bit inbit ); function string cnv2str ( bit [127:0] data, integer w ); function string cnv_instr_2_text ( string instr ); function string state_id_2_text ( bit [3:0] id ); function string cnv_domain_2_string ( bit [2:0] domain ); function bit [3:0] advance_tap_state_reg ( bit tms ); function bit [15:0] ieeeTap ( bit [3:0] current_state ); task TapDrive_test_mode ( bit test_mode ); task TapDrive_trst_n ( bit trst_n ); task TapDrive_tms ( bit tms ); task TapDrive_tdi ( bit tdi ); task TapDriveAdvance_tms ( bit tms ); task TapResetType1 ( ); task TapResetType2 ( ); task check_tck_state ( ); task TapGoto ( bit [3:0] next_state ); function bit TapNext ( bit [3:0] advance, bit tdi ); task TapCaptureData ( ); function string TapIRLoad ( string instr, integer len = 8, bit check = 1 ); function bit TapShiftDR_tdi_advance ( bit tdi ); function string TapDRLoad ( string TapIn ); function string TapDRGet ( integer w ); function integer TapWait4DataRdy ( integer time_out_limit ); function integer TapWait4L2DataRdy ( integer time_out_limit ); function integer loadUndef ( string aUndef ); function integer loadBypass ( string aBypass ); function integer loadIdcode ( string aIdcode ); function integer loadExtest ( string aExtest ); function integer checkIdcode ( ); task Delay ( integer count ); task toggleDutTck ( ); task posedge2Dut ( ); task negedge2Dut ( ); task waitVeraRefTapStateRegChange ( ); function bit [3:0] getVeraRefTapStateReg ( ); task enableTlrStateGlitch( ); task disableTlrStateGlitch( ); } #endif