sc_in.hh revision 12841
112841Sgabeblack@google.com/* 212841Sgabeblack@google.com * Copyright 2018 Google, Inc. 312841Sgabeblack@google.com * 412841Sgabeblack@google.com * Redistribution and use in source and binary forms, with or without 512841Sgabeblack@google.com * modification, are permitted provided that the following conditions are 612841Sgabeblack@google.com * met: redistributions of source code must retain the above copyright 712841Sgabeblack@google.com * notice, this list of conditions and the following disclaimer; 812841Sgabeblack@google.com * redistributions in binary form must reproduce the above copyright 912841Sgabeblack@google.com * notice, this list of conditions and the following disclaimer in the 1012841Sgabeblack@google.com * documentation and/or other materials provided with the distribution; 1112841Sgabeblack@google.com * neither the name of the copyright holders nor the names of its 1212841Sgabeblack@google.com * contributors may be used to endorse or promote products derived from 1312841Sgabeblack@google.com * this software without specific prior written permission. 1412841Sgabeblack@google.com * 1512841Sgabeblack@google.com * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1612841Sgabeblack@google.com * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1712841Sgabeblack@google.com * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1812841Sgabeblack@google.com * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1912841Sgabeblack@google.com * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2012841Sgabeblack@google.com * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2112841Sgabeblack@google.com * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2212841Sgabeblack@google.com * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2312841Sgabeblack@google.com * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2412841Sgabeblack@google.com * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2512841Sgabeblack@google.com * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2612841Sgabeblack@google.com * 2712841Sgabeblack@google.com * Authors: Gabe Black 2812841Sgabeblack@google.com */ 2912841Sgabeblack@google.com 3012841Sgabeblack@google.com#ifndef __SYSTEMC_EXT_CHANNEL_SC_IN_HH__ 3112841Sgabeblack@google.com#define __SYSTEMC_EXT_CHANNEL_SC_IN_HH__ 3212841Sgabeblack@google.com 3312841Sgabeblack@google.com#include <string> 3412841Sgabeblack@google.com 3512841Sgabeblack@google.com#include "../core/sc_port.hh" 3612841Sgabeblack@google.com#include "sc_signal_in_if.hh" 3712841Sgabeblack@google.com#include "sc_signal_inout_if.hh" 3812841Sgabeblack@google.com#include "warn_unimpl.hh" 3912841Sgabeblack@google.com 4012841Sgabeblack@google.comnamespace sc_core 4112841Sgabeblack@google.com{ 4212841Sgabeblack@google.com 4312841Sgabeblack@google.comclass sc_event; 4412841Sgabeblack@google.comclass sc_event_finder; 4512841Sgabeblack@google.comclass sc_trace_file; 4612841Sgabeblack@google.com 4712841Sgabeblack@google.comtemplate <class T> 4812841Sgabeblack@google.comclass sc_in : public sc_port<sc_signal_in_if<T>, 1> 4912841Sgabeblack@google.com{ 5012841Sgabeblack@google.com public: 5112841Sgabeblack@google.com sc_in() : sc_port<sc_signal_in_if<T>, 1>() {} 5212841Sgabeblack@google.com explicit sc_in(const char *name) : sc_port<sc_signal_in_if<T>, 1>(name) {} 5312841Sgabeblack@google.com virtual ~sc_in() {} 5412841Sgabeblack@google.com 5512841Sgabeblack@google.com virtual void 5612841Sgabeblack@google.com bind(const sc_signal_in_if<T> &) 5712841Sgabeblack@google.com { 5812841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 5912841Sgabeblack@google.com } 6012841Sgabeblack@google.com void 6112841Sgabeblack@google.com operator () (const sc_signal_in_if<T> &) 6212841Sgabeblack@google.com { 6312841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 6412841Sgabeblack@google.com } 6512841Sgabeblack@google.com 6612841Sgabeblack@google.com virtual void 6712841Sgabeblack@google.com bind(sc_port<sc_signal_in_if<T>, 1> &) 6812841Sgabeblack@google.com { 6912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 7012841Sgabeblack@google.com } 7112841Sgabeblack@google.com void 7212841Sgabeblack@google.com operator () (sc_port<sc_signal_in_if<T>, 1> &) 7312841Sgabeblack@google.com { 7412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 7512841Sgabeblack@google.com } 7612841Sgabeblack@google.com 7712841Sgabeblack@google.com virtual void 7812841Sgabeblack@google.com bind(sc_port<sc_signal_inout_if<T>, 1> &) 7912841Sgabeblack@google.com { 8012841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 8112841Sgabeblack@google.com } 8212841Sgabeblack@google.com void 8312841Sgabeblack@google.com operator () (sc_port<sc_signal_inout_if<T>, 1> &) 8412841Sgabeblack@google.com { 8512841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 8612841Sgabeblack@google.com } 8712841Sgabeblack@google.com 8812841Sgabeblack@google.com virtual void 8912841Sgabeblack@google.com end_of_elaboration() 9012841Sgabeblack@google.com { 9112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 9212841Sgabeblack@google.com } 9312841Sgabeblack@google.com 9412841Sgabeblack@google.com const T & 9512841Sgabeblack@google.com read() const 9612841Sgabeblack@google.com { 9712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 9812841Sgabeblack@google.com return *(const T *)nullptr; 9912841Sgabeblack@google.com } 10012841Sgabeblack@google.com operator const T& () const 10112841Sgabeblack@google.com { 10212841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 10312841Sgabeblack@google.com return *(const T *)nullptr; 10412841Sgabeblack@google.com } 10512841Sgabeblack@google.com 10612841Sgabeblack@google.com const sc_event & 10712841Sgabeblack@google.com default_event() const 10812841Sgabeblack@google.com { 10912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 11012841Sgabeblack@google.com return *(const sc_event *)nullptr; 11112841Sgabeblack@google.com } 11212841Sgabeblack@google.com const sc_event & 11312841Sgabeblack@google.com value_changed_event() const 11412841Sgabeblack@google.com { 11512841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 11612841Sgabeblack@google.com return *(const sc_event *)nullptr; 11712841Sgabeblack@google.com } 11812841Sgabeblack@google.com bool 11912841Sgabeblack@google.com event() const 12012841Sgabeblack@google.com { 12112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 12212841Sgabeblack@google.com return false; 12312841Sgabeblack@google.com } 12412841Sgabeblack@google.com sc_event_finder & 12512841Sgabeblack@google.com value_changed() const 12612841Sgabeblack@google.com { 12712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 12812841Sgabeblack@google.com return *(sc_event_finder *)nullptr; 12912841Sgabeblack@google.com } 13012841Sgabeblack@google.com 13112841Sgabeblack@google.com virtual const char *kind() const { return "sc_in"; } 13212841Sgabeblack@google.com 13312841Sgabeblack@google.com private: 13412841Sgabeblack@google.com // Disabled 13512841Sgabeblack@google.com sc_in(const sc_in<T> &) : sc_port<sc_signal_in_if<T>, 1>() {} 13612841Sgabeblack@google.com sc_in<T> &operator = (const sc_in<T> &) { return *this; } 13712841Sgabeblack@google.com}; 13812841Sgabeblack@google.com 13912841Sgabeblack@google.comtemplate <class T> 14012841Sgabeblack@google.cominline void 14112841Sgabeblack@google.comsc_trace(sc_trace_file *, const sc_in<T> &, const std::string &) 14212841Sgabeblack@google.com{ 14312841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 14412841Sgabeblack@google.com} 14512841Sgabeblack@google.com 14612841Sgabeblack@google.comtemplate <> 14712841Sgabeblack@google.comclass sc_in<bool> : public sc_port<sc_signal_in_if<bool>, 1> 14812841Sgabeblack@google.com{ 14912841Sgabeblack@google.com public: 15012841Sgabeblack@google.com sc_in() : sc_port<sc_signal_in_if<bool>, 1>() {} 15112841Sgabeblack@google.com explicit sc_in(const char *name) : 15212841Sgabeblack@google.com sc_port<sc_signal_in_if<bool>, 1>(name) {} 15312841Sgabeblack@google.com virtual ~sc_in() {} 15412841Sgabeblack@google.com 15512841Sgabeblack@google.com virtual void 15612841Sgabeblack@google.com bind(const sc_signal_in_if<bool> &) 15712841Sgabeblack@google.com { 15812841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 15912841Sgabeblack@google.com } 16012841Sgabeblack@google.com void 16112841Sgabeblack@google.com operator () (const sc_signal_in_if<bool> &) 16212841Sgabeblack@google.com { 16312841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 16412841Sgabeblack@google.com } 16512841Sgabeblack@google.com 16612841Sgabeblack@google.com virtual void 16712841Sgabeblack@google.com bind(sc_port<sc_signal_in_if<bool>, 1> &) 16812841Sgabeblack@google.com { 16912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 17012841Sgabeblack@google.com } 17112841Sgabeblack@google.com void 17212841Sgabeblack@google.com operator () (sc_port<sc_signal_in_if<bool>, 1> &) 17312841Sgabeblack@google.com { 17412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 17512841Sgabeblack@google.com } 17612841Sgabeblack@google.com 17712841Sgabeblack@google.com virtual void 17812841Sgabeblack@google.com bind(sc_port<sc_signal_inout_if<bool>, 1> &) 17912841Sgabeblack@google.com { 18012841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 18112841Sgabeblack@google.com } 18212841Sgabeblack@google.com void 18312841Sgabeblack@google.com operator () (sc_port<sc_signal_inout_if<bool>, 1> &) 18412841Sgabeblack@google.com { 18512841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 18612841Sgabeblack@google.com } 18712841Sgabeblack@google.com 18812841Sgabeblack@google.com virtual void 18912841Sgabeblack@google.com end_of_elaboration() 19012841Sgabeblack@google.com { 19112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 19212841Sgabeblack@google.com } 19312841Sgabeblack@google.com 19412841Sgabeblack@google.com const bool & 19512841Sgabeblack@google.com read() const 19612841Sgabeblack@google.com { 19712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 19812841Sgabeblack@google.com return *(const bool *)nullptr; 19912841Sgabeblack@google.com } 20012841Sgabeblack@google.com operator const bool& () const 20112841Sgabeblack@google.com { 20212841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 20312841Sgabeblack@google.com return *(const bool *)nullptr; 20412841Sgabeblack@google.com } 20512841Sgabeblack@google.com 20612841Sgabeblack@google.com const sc_event & 20712841Sgabeblack@google.com default_event() const 20812841Sgabeblack@google.com { 20912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 21012841Sgabeblack@google.com return *(const sc_event *)nullptr; 21112841Sgabeblack@google.com } 21212841Sgabeblack@google.com const sc_event & 21312841Sgabeblack@google.com value_changed_event() const 21412841Sgabeblack@google.com { 21512841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 21612841Sgabeblack@google.com return *(const sc_event *)nullptr; 21712841Sgabeblack@google.com } 21812841Sgabeblack@google.com const sc_event & 21912841Sgabeblack@google.com posedge_event() const 22012841Sgabeblack@google.com { 22112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 22212841Sgabeblack@google.com return *(const sc_event *)nullptr; 22312841Sgabeblack@google.com } 22412841Sgabeblack@google.com const sc_event & 22512841Sgabeblack@google.com negedge_event() const 22612841Sgabeblack@google.com { 22712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 22812841Sgabeblack@google.com return *(const sc_event *)nullptr; 22912841Sgabeblack@google.com } 23012841Sgabeblack@google.com 23112841Sgabeblack@google.com bool 23212841Sgabeblack@google.com event() const 23312841Sgabeblack@google.com { 23412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 23512841Sgabeblack@google.com return false; 23612841Sgabeblack@google.com } 23712841Sgabeblack@google.com bool 23812841Sgabeblack@google.com posedge() const 23912841Sgabeblack@google.com { 24012841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 24112841Sgabeblack@google.com return false; 24212841Sgabeblack@google.com } 24312841Sgabeblack@google.com bool 24412841Sgabeblack@google.com negedge() const 24512841Sgabeblack@google.com { 24612841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 24712841Sgabeblack@google.com return false; 24812841Sgabeblack@google.com } 24912841Sgabeblack@google.com 25012841Sgabeblack@google.com sc_event_finder & 25112841Sgabeblack@google.com value_changed() const 25212841Sgabeblack@google.com { 25312841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 25412841Sgabeblack@google.com return *(sc_event_finder *)nullptr; 25512841Sgabeblack@google.com } 25612841Sgabeblack@google.com sc_event_finder & 25712841Sgabeblack@google.com pos() const 25812841Sgabeblack@google.com { 25912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 26012841Sgabeblack@google.com return *(sc_event_finder *)nullptr; 26112841Sgabeblack@google.com } 26212841Sgabeblack@google.com sc_event_finder & 26312841Sgabeblack@google.com neg() const 26412841Sgabeblack@google.com { 26512841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 26612841Sgabeblack@google.com return *(sc_event_finder *)nullptr; 26712841Sgabeblack@google.com } 26812841Sgabeblack@google.com 26912841Sgabeblack@google.com virtual const char *kind() const { return "sc_in"; } 27012841Sgabeblack@google.com 27112841Sgabeblack@google.com private: 27212841Sgabeblack@google.com // Disabled 27312841Sgabeblack@google.com sc_in(const sc_in<bool> &) : sc_port<sc_signal_in_if<bool>, 1>() {} 27412841Sgabeblack@google.com sc_in<bool> &operator = (const sc_in<bool> &) { return *this; } 27512841Sgabeblack@google.com}; 27612841Sgabeblack@google.com 27712841Sgabeblack@google.comtemplate <> 27812841Sgabeblack@google.cominline void 27912841Sgabeblack@google.comsc_trace<bool>(sc_trace_file *, const sc_in<bool> &, const std::string &) 28012841Sgabeblack@google.com{ 28112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 28212841Sgabeblack@google.com} 28312841Sgabeblack@google.com 28412841Sgabeblack@google.comtemplate <> 28512841Sgabeblack@google.comclass sc_in<sc_dt::sc_logic> : 28612841Sgabeblack@google.com public sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1> 28712841Sgabeblack@google.com{ 28812841Sgabeblack@google.com public: 28912841Sgabeblack@google.com sc_in() : sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1>() {} 29012841Sgabeblack@google.com explicit sc_in(const char *name) : 29112841Sgabeblack@google.com sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1>(name) 29212841Sgabeblack@google.com {} 29312841Sgabeblack@google.com virtual ~sc_in() {} 29412841Sgabeblack@google.com 29512841Sgabeblack@google.com virtual void 29612841Sgabeblack@google.com bind(const sc_signal_in_if<sc_dt::sc_logic> &) 29712841Sgabeblack@google.com { 29812841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 29912841Sgabeblack@google.com } 30012841Sgabeblack@google.com void 30112841Sgabeblack@google.com operator () (const sc_signal_in_if<sc_dt::sc_logic> &) 30212841Sgabeblack@google.com { 30312841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 30412841Sgabeblack@google.com } 30512841Sgabeblack@google.com 30612841Sgabeblack@google.com virtual void 30712841Sgabeblack@google.com bind(sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1> &) 30812841Sgabeblack@google.com { 30912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 31012841Sgabeblack@google.com } 31112841Sgabeblack@google.com void 31212841Sgabeblack@google.com operator () (sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1> &) 31312841Sgabeblack@google.com { 31412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 31512841Sgabeblack@google.com } 31612841Sgabeblack@google.com 31712841Sgabeblack@google.com virtual void 31812841Sgabeblack@google.com bind(sc_port<sc_signal_inout_if<sc_dt::sc_logic>, 1> &) 31912841Sgabeblack@google.com { 32012841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 32112841Sgabeblack@google.com } 32212841Sgabeblack@google.com void 32312841Sgabeblack@google.com operator () (sc_port<sc_signal_inout_if<sc_dt::sc_logic>, 1> &) 32412841Sgabeblack@google.com { 32512841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 32612841Sgabeblack@google.com } 32712841Sgabeblack@google.com 32812841Sgabeblack@google.com virtual void 32912841Sgabeblack@google.com end_of_elaboration() 33012841Sgabeblack@google.com { 33112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 33212841Sgabeblack@google.com } 33312841Sgabeblack@google.com 33412841Sgabeblack@google.com const sc_dt::sc_logic & 33512841Sgabeblack@google.com read() const 33612841Sgabeblack@google.com { 33712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 33812841Sgabeblack@google.com return *(const sc_dt::sc_logic *)nullptr; 33912841Sgabeblack@google.com } 34012841Sgabeblack@google.com operator const sc_dt::sc_logic& () const 34112841Sgabeblack@google.com { 34212841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 34312841Sgabeblack@google.com return *(const sc_dt::sc_logic *)nullptr; 34412841Sgabeblack@google.com } 34512841Sgabeblack@google.com 34612841Sgabeblack@google.com const sc_event & 34712841Sgabeblack@google.com default_event() const 34812841Sgabeblack@google.com { 34912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 35012841Sgabeblack@google.com return *(const sc_event *)nullptr; 35112841Sgabeblack@google.com } 35212841Sgabeblack@google.com const sc_event & 35312841Sgabeblack@google.com value_changed_event() const 35412841Sgabeblack@google.com { 35512841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 35612841Sgabeblack@google.com return *(const sc_event *)nullptr; 35712841Sgabeblack@google.com } 35812841Sgabeblack@google.com const sc_event & 35912841Sgabeblack@google.com posedge_event() const 36012841Sgabeblack@google.com { 36112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 36212841Sgabeblack@google.com return *(const sc_event *)nullptr; 36312841Sgabeblack@google.com } 36412841Sgabeblack@google.com const sc_event & 36512841Sgabeblack@google.com negedge_event() const 36612841Sgabeblack@google.com { 36712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 36812841Sgabeblack@google.com return *(const sc_event *)nullptr; 36912841Sgabeblack@google.com } 37012841Sgabeblack@google.com 37112841Sgabeblack@google.com bool 37212841Sgabeblack@google.com event() const 37312841Sgabeblack@google.com { 37412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 37512841Sgabeblack@google.com return false; 37612841Sgabeblack@google.com } 37712841Sgabeblack@google.com bool 37812841Sgabeblack@google.com posedge() const 37912841Sgabeblack@google.com { 38012841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 38112841Sgabeblack@google.com return false; 38212841Sgabeblack@google.com } 38312841Sgabeblack@google.com bool 38412841Sgabeblack@google.com negedge() const 38512841Sgabeblack@google.com { 38612841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 38712841Sgabeblack@google.com return false; 38812841Sgabeblack@google.com } 38912841Sgabeblack@google.com 39012841Sgabeblack@google.com sc_event_finder & 39112841Sgabeblack@google.com value_changed() const 39212841Sgabeblack@google.com { 39312841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 39412841Sgabeblack@google.com return *(sc_event_finder *)nullptr; 39512841Sgabeblack@google.com } 39612841Sgabeblack@google.com sc_event_finder & 39712841Sgabeblack@google.com pos() const 39812841Sgabeblack@google.com { 39912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 40012841Sgabeblack@google.com return *(sc_event_finder *)nullptr; 40112841Sgabeblack@google.com } 40212841Sgabeblack@google.com sc_event_finder & 40312841Sgabeblack@google.com neg() const 40412841Sgabeblack@google.com { 40512841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 40612841Sgabeblack@google.com return *(sc_event_finder *)nullptr; 40712841Sgabeblack@google.com } 40812841Sgabeblack@google.com 40912841Sgabeblack@google.com virtual const char *kind() const { return "sc_in"; } 41012841Sgabeblack@google.com 41112841Sgabeblack@google.com private: 41212841Sgabeblack@google.com // Disabled 41312841Sgabeblack@google.com sc_in(const sc_in<sc_dt::sc_logic> &) : 41412841Sgabeblack@google.com sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1>() 41512841Sgabeblack@google.com {} 41612841Sgabeblack@google.com sc_in<sc_dt::sc_logic> & 41712841Sgabeblack@google.com operator = (const sc_in<sc_dt::sc_logic> &) 41812841Sgabeblack@google.com { 41912841Sgabeblack@google.com return *this; 42012841Sgabeblack@google.com } 42112841Sgabeblack@google.com}; 42212841Sgabeblack@google.com 42312841Sgabeblack@google.comtemplate <> 42412841Sgabeblack@google.cominline void 42512841Sgabeblack@google.comsc_trace<sc_dt::sc_logic>( 42612841Sgabeblack@google.com sc_trace_file *, const sc_in<sc_dt::sc_logic> &, const std::string &) 42712841Sgabeblack@google.com{ 42812841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 42912841Sgabeblack@google.com} 43012841Sgabeblack@google.com 43112841Sgabeblack@google.com} // namespace sc_core 43212841Sgabeblack@google.com 43312841Sgabeblack@google.com#endif //__SYSTEMC_EXT_CHANNEL_SC_IN_HH__ 434