sc_trace_file.cc revision 13245
112852Sgabeblack@google.com/* 212852Sgabeblack@google.com * Copyright 2018 Google, Inc. 312852Sgabeblack@google.com * 412852Sgabeblack@google.com * Redistribution and use in source and binary forms, with or without 512852Sgabeblack@google.com * modification, are permitted provided that the following conditions are 612852Sgabeblack@google.com * met: redistributions of source code must retain the above copyright 712852Sgabeblack@google.com * notice, this list of conditions and the following disclaimer; 812852Sgabeblack@google.com * redistributions in binary form must reproduce the above copyright 912852Sgabeblack@google.com * notice, this list of conditions and the following disclaimer in the 1012852Sgabeblack@google.com * documentation and/or other materials provided with the distribution; 1112852Sgabeblack@google.com * neither the name of the copyright holders nor the names of its 1212852Sgabeblack@google.com * contributors may be used to endorse or promote products derived from 1312852Sgabeblack@google.com * this software without specific prior written permission. 1412852Sgabeblack@google.com * 1512852Sgabeblack@google.com * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1612852Sgabeblack@google.com * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1712852Sgabeblack@google.com * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1812852Sgabeblack@google.com * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1912852Sgabeblack@google.com * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2012852Sgabeblack@google.com * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2112852Sgabeblack@google.com * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2212852Sgabeblack@google.com * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2312852Sgabeblack@google.com * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2412852Sgabeblack@google.com * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2512852Sgabeblack@google.com * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2612852Sgabeblack@google.com * 2712852Sgabeblack@google.com * Authors: Gabe Black 2812852Sgabeblack@google.com */ 2912852Sgabeblack@google.com 3013245Sgabeblack@google.com#include <vector> 3113245Sgabeblack@google.com 3212852Sgabeblack@google.com#include "base/logging.hh" 3313245Sgabeblack@google.com#include "systemc/core/scheduler.hh" 3413245Sgabeblack@google.com#include "systemc/ext/channel/sc_signal_in_if.hh" 3513245Sgabeblack@google.com#include "systemc/ext/core/sc_event.hh" 3613245Sgabeblack@google.com#include "systemc/ext/core/sc_time.hh" 3713245Sgabeblack@google.com#include "systemc/ext/dt/bit/sc_bv_base.hh" 3813245Sgabeblack@google.com#include "systemc/ext/dt/bit/sc_logic.hh" 3913245Sgabeblack@google.com#include "systemc/ext/dt/bit/sc_lv_base.hh" 4013245Sgabeblack@google.com#include "systemc/ext/dt/fx/sc_fxnum.hh" 4113245Sgabeblack@google.com#include "systemc/ext/dt/fx/sc_fxval.hh" 4213245Sgabeblack@google.com#include "systemc/ext/dt/int/sc_int_base.hh" 4313245Sgabeblack@google.com#include "systemc/ext/dt/int/sc_signed.hh" 4413245Sgabeblack@google.com#include "systemc/ext/dt/int/sc_uint_base.hh" 4513245Sgabeblack@google.com#include "systemc/ext/dt/int/sc_unsigned.hh" 4612852Sgabeblack@google.com#include "systemc/ext/utils/sc_trace_file.hh" 4713245Sgabeblack@google.com#include "systemc/utils/vcd.hh" 4812852Sgabeblack@google.com 4912852Sgabeblack@google.comnamespace sc_core 5012852Sgabeblack@google.com{ 5112852Sgabeblack@google.com 5213245Sgabeblack@google.comsc_trace_file::sc_trace_file() {} 5313245Sgabeblack@google.comsc_trace_file::~sc_trace_file() {} 5413245Sgabeblack@google.com 5512852Sgabeblack@google.comsc_trace_file * 5612852Sgabeblack@google.comsc_create_vcd_trace_file(const char *name) 5712852Sgabeblack@google.com{ 5813245Sgabeblack@google.com auto tf = new ::sc_gem5::VcdTraceFile(name); 5913245Sgabeblack@google.com ::sc_gem5::scheduler.registerTraceFile(tf); 6013245Sgabeblack@google.com return tf; 6112852Sgabeblack@google.com} 6212852Sgabeblack@google.com 6312852Sgabeblack@google.comvoid 6412852Sgabeblack@google.comsc_close_vcd_trace_file(sc_trace_file *tf) 6512852Sgabeblack@google.com{ 6613245Sgabeblack@google.com ::sc_gem5::scheduler.unregisterTraceFile( 6713245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)); 6813245Sgabeblack@google.com delete tf; 6912852Sgabeblack@google.com} 7012852Sgabeblack@google.com 7112852Sgabeblack@google.comvoid 7212852Sgabeblack@google.comsc_write_comment(sc_trace_file *tf, const std::string &comment) 7312852Sgabeblack@google.com{ 7413245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->writeComment(comment); 7512852Sgabeblack@google.com} 7612852Sgabeblack@google.com 7712852Sgabeblack@google.comvoid 7813245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const bool &v, const std::string &name) 7912852Sgabeblack@google.com{ 8013245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 8112852Sgabeblack@google.com} 8212852Sgabeblack@google.com 8312852Sgabeblack@google.comvoid 8413245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const bool *v, const std::string &name) 8512852Sgabeblack@google.com{ 8613245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 8712852Sgabeblack@google.com} 8812852Sgabeblack@google.com 8912852Sgabeblack@google.comvoid 9013245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const float &v, const std::string &name) 9112852Sgabeblack@google.com{ 9213245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 9312852Sgabeblack@google.com} 9412852Sgabeblack@google.com 9512852Sgabeblack@google.comvoid 9613245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const float *v, const std::string &name) 9712852Sgabeblack@google.com{ 9813245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 9912852Sgabeblack@google.com} 10012852Sgabeblack@google.com 10112852Sgabeblack@google.comvoid 10213245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const double &v, const std::string &name) 10312852Sgabeblack@google.com{ 10413245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 10512852Sgabeblack@google.com} 10612852Sgabeblack@google.com 10712852Sgabeblack@google.comvoid 10813245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const double *v, const std::string &name) 10912852Sgabeblack@google.com{ 11013245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 11112852Sgabeblack@google.com} 11212852Sgabeblack@google.com 11312852Sgabeblack@google.comvoid 11413245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_logic &v, const std::string &name) 11512852Sgabeblack@google.com{ 11613245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 11712852Sgabeblack@google.com} 11812852Sgabeblack@google.com 11912852Sgabeblack@google.comvoid 12013245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_logic *v, const std::string &name) 12112852Sgabeblack@google.com{ 12213245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 12312852Sgabeblack@google.com} 12412852Sgabeblack@google.com 12512852Sgabeblack@google.comvoid 12613245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_int_base &v, 12713245Sgabeblack@google.com const std::string &name) 12812852Sgabeblack@google.com{ 12913245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 13012852Sgabeblack@google.com} 13112852Sgabeblack@google.com 13212852Sgabeblack@google.comvoid 13313245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_int_base *v, 13413245Sgabeblack@google.com const std::string &name) 13512852Sgabeblack@google.com{ 13613245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 13712852Sgabeblack@google.com} 13812852Sgabeblack@google.com 13912852Sgabeblack@google.comvoid 14013245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_uint_base &v, 14113245Sgabeblack@google.com const std::string &name) 14212852Sgabeblack@google.com{ 14313245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 14412852Sgabeblack@google.com} 14512852Sgabeblack@google.com 14612852Sgabeblack@google.comvoid 14713245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_uint_base *v, 14813245Sgabeblack@google.com const std::string &name) 14912852Sgabeblack@google.com{ 15013245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 15112852Sgabeblack@google.com} 15212852Sgabeblack@google.com 15312852Sgabeblack@google.comvoid 15413245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_signed &v, 15513245Sgabeblack@google.com const std::string &name) 15612852Sgabeblack@google.com{ 15713245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 15812852Sgabeblack@google.com} 15912852Sgabeblack@google.com 16012852Sgabeblack@google.comvoid 16113245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_signed *v, 16213245Sgabeblack@google.com const std::string &name) 16312852Sgabeblack@google.com{ 16413245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 16512852Sgabeblack@google.com} 16612852Sgabeblack@google.com 16712852Sgabeblack@google.comvoid 16813245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_unsigned &v, 16913245Sgabeblack@google.com const std::string &name) 17012852Sgabeblack@google.com{ 17113245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 17212852Sgabeblack@google.com} 17312852Sgabeblack@google.com 17412852Sgabeblack@google.comvoid 17513245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_unsigned *v, 17613245Sgabeblack@google.com const std::string &name) 17712852Sgabeblack@google.com{ 17813245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 17912852Sgabeblack@google.com} 18012852Sgabeblack@google.com 18112852Sgabeblack@google.comvoid 18213245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_bv_base &v, 18313245Sgabeblack@google.com const std::string &name) 18412852Sgabeblack@google.com{ 18513245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 18612852Sgabeblack@google.com} 18712852Sgabeblack@google.com 18812852Sgabeblack@google.comvoid 18913245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_bv_base *v, 19013245Sgabeblack@google.com const std::string &name) 19112852Sgabeblack@google.com{ 19213245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 19312852Sgabeblack@google.com} 19412852Sgabeblack@google.com 19512852Sgabeblack@google.comvoid 19613245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_lv_base &v, 19713245Sgabeblack@google.com const std::string &name) 19812852Sgabeblack@google.com{ 19913245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 20012852Sgabeblack@google.com} 20112852Sgabeblack@google.com 20212852Sgabeblack@google.comvoid 20313245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_lv_base *v, 20413245Sgabeblack@google.com const std::string &name) 20512852Sgabeblack@google.com{ 20613245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 20712852Sgabeblack@google.com} 20812852Sgabeblack@google.com 20912852Sgabeblack@google.comvoid 21013245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_fxval &v, const std::string &name) 21112852Sgabeblack@google.com{ 21213245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 21312852Sgabeblack@google.com} 21412852Sgabeblack@google.com 21512852Sgabeblack@google.comvoid 21613245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_fxval *v, const std::string &name) 21712852Sgabeblack@google.com{ 21813245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 21912852Sgabeblack@google.com} 22012852Sgabeblack@google.com 22112852Sgabeblack@google.comvoid 22213245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_fxval_fast &v, 22313245Sgabeblack@google.com const std::string &name) 22412852Sgabeblack@google.com{ 22513245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 22612852Sgabeblack@google.com} 22712852Sgabeblack@google.com 22812852Sgabeblack@google.comvoid 22913245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_fxval_fast *v, 23013245Sgabeblack@google.com const std::string &name) 23112852Sgabeblack@google.com{ 23213245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 23312852Sgabeblack@google.com} 23412852Sgabeblack@google.com 23512852Sgabeblack@google.comvoid 23613245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_fxnum &v, const std::string &name) 23712852Sgabeblack@google.com{ 23813245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 23912852Sgabeblack@google.com} 24012852Sgabeblack@google.com 24112852Sgabeblack@google.comvoid 24213245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_fxnum *v, const std::string &name) 24312852Sgabeblack@google.com{ 24413245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 24512852Sgabeblack@google.com} 24612852Sgabeblack@google.com 24712852Sgabeblack@google.comvoid 24813245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_fxnum_fast &v, 24913245Sgabeblack@google.com const std::string &name) 25012852Sgabeblack@google.com{ 25113245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 25212852Sgabeblack@google.com} 25312852Sgabeblack@google.com 25412852Sgabeblack@google.comvoid 25513245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::sc_fxnum_fast *v, 25613245Sgabeblack@google.com const std::string &name) 25712852Sgabeblack@google.com{ 25813245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 25912852Sgabeblack@google.com} 26012852Sgabeblack@google.com 26112852Sgabeblack@google.comvoid 26213245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_event &v, const std::string &name) 26312905Sgabeblack@google.com{ 26413245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 26512905Sgabeblack@google.com} 26612905Sgabeblack@google.com 26712905Sgabeblack@google.comvoid 26813245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_event *v, const std::string &name) 26912905Sgabeblack@google.com{ 27013245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 27112905Sgabeblack@google.com} 27212905Sgabeblack@google.com 27312905Sgabeblack@google.comvoid 27413245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_time &v, const std::string &name) 27512905Sgabeblack@google.com{ 27613245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name); 27712905Sgabeblack@google.com} 27812905Sgabeblack@google.com 27912905Sgabeblack@google.comvoid 28013245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_time *v, const std::string &name) 28112905Sgabeblack@google.com{ 28213245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name); 28312905Sgabeblack@google.com} 28412905Sgabeblack@google.com 28512905Sgabeblack@google.comvoid 28613245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const unsigned char &v, 28713245Sgabeblack@google.com const std::string &name, int width) 28812877Sgabeblack@google.com{ 28913245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name, width); 29012877Sgabeblack@google.com} 29112877Sgabeblack@google.com 29212877Sgabeblack@google.comvoid 29313245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const unsigned char *v, 29413245Sgabeblack@google.com const std::string &name, int width) 29512877Sgabeblack@google.com{ 29613245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name, width); 29712877Sgabeblack@google.com} 29812877Sgabeblack@google.com 29912877Sgabeblack@google.comvoid 30013245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const unsigned short &v, 30113245Sgabeblack@google.com const std::string &name, int width) 30212877Sgabeblack@google.com{ 30313245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name, width); 30412877Sgabeblack@google.com} 30512877Sgabeblack@google.com 30612877Sgabeblack@google.comvoid 30713245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const unsigned short *v, 30813245Sgabeblack@google.com const std::string &name, int width) 30912877Sgabeblack@google.com{ 31013245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name, width); 31112877Sgabeblack@google.com} 31212877Sgabeblack@google.com 31312877Sgabeblack@google.comvoid 31413245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const unsigned int &v, 31513245Sgabeblack@google.com const std::string &name, int width) 31612877Sgabeblack@google.com{ 31713245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name, width); 31812877Sgabeblack@google.com} 31912877Sgabeblack@google.com 32012877Sgabeblack@google.comvoid 32113245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const unsigned int *v, 32213245Sgabeblack@google.com const std::string &name, int width) 32312877Sgabeblack@google.com{ 32413245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name, width); 32512877Sgabeblack@google.com} 32612877Sgabeblack@google.com 32712877Sgabeblack@google.comvoid 32813245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const unsigned long &v, 32913245Sgabeblack@google.com const std::string &name, int width) 33012877Sgabeblack@google.com{ 33113245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name, width); 33212877Sgabeblack@google.com} 33312877Sgabeblack@google.com 33412877Sgabeblack@google.comvoid 33513245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const unsigned long *v, 33613245Sgabeblack@google.com const std::string &name, int width) 33712877Sgabeblack@google.com{ 33813245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name, width); 33912877Sgabeblack@google.com} 34012877Sgabeblack@google.com 34112877Sgabeblack@google.comvoid 34213245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const char &v, const std::string &name, int width) 34312852Sgabeblack@google.com{ 34413245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name, width); 34512852Sgabeblack@google.com} 34612852Sgabeblack@google.com 34712852Sgabeblack@google.comvoid 34813245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const char *v, const std::string &name, int width) 34912852Sgabeblack@google.com{ 35013245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name, width); 35112852Sgabeblack@google.com} 35212852Sgabeblack@google.com 35312852Sgabeblack@google.comvoid 35413245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const short &v, 35513245Sgabeblack@google.com const std::string &name, int width) 35612852Sgabeblack@google.com{ 35713245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name, width); 35812852Sgabeblack@google.com} 35912852Sgabeblack@google.com 36012852Sgabeblack@google.comvoid 36113245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const short *v, 36213245Sgabeblack@google.com const std::string &name, int width) 36312852Sgabeblack@google.com{ 36413245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name, width); 36512852Sgabeblack@google.com} 36612852Sgabeblack@google.com 36712852Sgabeblack@google.comvoid 36813245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const int &v, const std::string &name, int width) 36912852Sgabeblack@google.com{ 37013245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name, width); 37112852Sgabeblack@google.com} 37212852Sgabeblack@google.com 37312852Sgabeblack@google.comvoid 37413245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const int *v, const std::string &name, int width) 37512852Sgabeblack@google.com{ 37613245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name, width); 37712852Sgabeblack@google.com} 37812852Sgabeblack@google.com 37912852Sgabeblack@google.comvoid 38013245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const long &v, const std::string &name, int width) 38112852Sgabeblack@google.com{ 38213245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name, width); 38312852Sgabeblack@google.com} 38412852Sgabeblack@google.com 38512852Sgabeblack@google.comvoid 38613245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const long *v, const std::string &name, int width) 38712852Sgabeblack@google.com{ 38813245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name, width); 38912852Sgabeblack@google.com} 39012852Sgabeblack@google.com 39112852Sgabeblack@google.comvoid 39213245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::int64 &v, 39313245Sgabeblack@google.com const std::string &name, int width) 39412852Sgabeblack@google.com{ 39513245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name, width); 39612852Sgabeblack@google.com} 39712852Sgabeblack@google.com 39812852Sgabeblack@google.comvoid 39913245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::int64 *v, 40013245Sgabeblack@google.com const std::string &name, int width) 40112852Sgabeblack@google.com{ 40213245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name, width); 40312852Sgabeblack@google.com} 40412852Sgabeblack@google.com 40512852Sgabeblack@google.comvoid 40613245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::uint64 &v, 40713245Sgabeblack@google.com const std::string &name, int width) 40812852Sgabeblack@google.com{ 40913245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(&v, name, width); 41012852Sgabeblack@google.com} 41112852Sgabeblack@google.com 41212852Sgabeblack@google.comvoid 41313245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_dt::uint64 *v, 41413245Sgabeblack@google.com const std::string &name, int width) 41512852Sgabeblack@google.com{ 41613245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->addTraceVal(v, name, width); 41712852Sgabeblack@google.com} 41812852Sgabeblack@google.com 41912852Sgabeblack@google.comvoid 42013245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_signal_in_if<char> &v, 42113245Sgabeblack@google.com const std::string &name, int width) 42212852Sgabeblack@google.com{ 42313245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)-> 42413245Sgabeblack@google.com addTraceVal(&v.read(), name, width); 42512852Sgabeblack@google.com} 42612852Sgabeblack@google.com 42712852Sgabeblack@google.comvoid 42813245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_signal_in_if<short> &v, 42913245Sgabeblack@google.com const std::string &name, int width) 43012852Sgabeblack@google.com{ 43113245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)-> 43213245Sgabeblack@google.com addTraceVal(&v.read(), name, width); 43312852Sgabeblack@google.com} 43412852Sgabeblack@google.com 43512852Sgabeblack@google.comvoid 43613245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_signal_in_if<int> &v, 43713245Sgabeblack@google.com const std::string &name, int width) 43812852Sgabeblack@google.com{ 43913245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)-> 44013245Sgabeblack@google.com addTraceVal(&v.read(), name, width); 44112852Sgabeblack@google.com} 44212852Sgabeblack@google.com 44312852Sgabeblack@google.comvoid 44413245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const sc_signal_in_if<long> &v, 44513245Sgabeblack@google.com const std::string &name, int width) 44612852Sgabeblack@google.com{ 44713245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)-> 44813245Sgabeblack@google.com addTraceVal(&v.read(), name, width); 44912852Sgabeblack@google.com} 45012852Sgabeblack@google.com 45112877Sgabeblack@google.comvoid 45213245Sgabeblack@google.comsc_trace(sc_trace_file *tf, const unsigned int &v, 45313245Sgabeblack@google.com const std::string &name, const char **enum_literals) 45412877Sgabeblack@google.com{ 45513245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)-> 45613245Sgabeblack@google.com addTraceVal(&v, name, enum_literals); 45712877Sgabeblack@google.com} 45812877Sgabeblack@google.com 45912913Sgabeblack@google.comvoid 46013245Sgabeblack@google.comsc_trace_delta_cycles(sc_trace_file *tf, bool on) 46112913Sgabeblack@google.com{ 46213245Sgabeblack@google.com static_cast<::sc_gem5::TraceFile *>(tf)->traceDeltas(on); 46312913Sgabeblack@google.com} 46412913Sgabeblack@google.com 46512852Sgabeblack@google.com} // namespace sc_core 466