sc_signal.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_SIGNAL_HH__ 3112841Sgabeblack@google.com#define __SYSTEMC_EXT_CHANNEL_SC_SIGNAL_HH__ 3212841Sgabeblack@google.com 3312841Sgabeblack@google.com#include <iostream> 3412841Sgabeblack@google.com 3512841Sgabeblack@google.com#include "../core/sc_module.hh" // for sc_gen_unique_name 3612841Sgabeblack@google.com#include "../core/sc_prim.hh" 3712841Sgabeblack@google.com#include "sc_signal_inout_if.hh" 3812841Sgabeblack@google.com#include "warn_unimpl.hh" // for warn_unimpl 3912841Sgabeblack@google.com 4012841Sgabeblack@google.comnamespace sc_core 4112841Sgabeblack@google.com{ 4212841Sgabeblack@google.com 4312841Sgabeblack@google.comclass sc_port_base; 4412841Sgabeblack@google.com 4512841Sgabeblack@google.comtemplate <class T, sc_writer_policy WRITER_POLICY=SC_ONE_WRITER> 4612841Sgabeblack@google.comclass sc_signal : public sc_signal_inout_if<T>, 4712841Sgabeblack@google.com public sc_prim_channel 4812841Sgabeblack@google.com{ 4912841Sgabeblack@google.com public: 5012841Sgabeblack@google.com sc_signal() : sc_signal_inout_if<T>(), 5112841Sgabeblack@google.com sc_prim_channel(sc_gen_unique_name("signal")) 5212841Sgabeblack@google.com {} 5312841Sgabeblack@google.com explicit sc_signal(const char *name) : sc_signal_inout_if<T>(), 5412841Sgabeblack@google.com sc_prim_channel(name) 5512841Sgabeblack@google.com {} 5612841Sgabeblack@google.com virtual ~sc_signal() {} 5712841Sgabeblack@google.com 5812841Sgabeblack@google.com virtual void 5912841Sgabeblack@google.com register_port(sc_port_base &, const char *) 6012841Sgabeblack@google.com { 6112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 6212841Sgabeblack@google.com } 6312841Sgabeblack@google.com 6412841Sgabeblack@google.com virtual const T& 6512841Sgabeblack@google.com read() const 6612841Sgabeblack@google.com { 6712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 6812841Sgabeblack@google.com return *(const T *)nullptr; 6912841Sgabeblack@google.com } 7012841Sgabeblack@google.com operator const T&() const 7112841Sgabeblack@google.com { 7212841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 7312841Sgabeblack@google.com return *(const T *)nullptr; 7412841Sgabeblack@google.com } 7512841Sgabeblack@google.com 7612841Sgabeblack@google.com virtual sc_writer_policy 7712841Sgabeblack@google.com get_writer_policy() const 7812841Sgabeblack@google.com { 7912841Sgabeblack@google.com return WRITER_POLICY; 8012841Sgabeblack@google.com } 8112841Sgabeblack@google.com virtual void 8212841Sgabeblack@google.com write(const T&) 8312841Sgabeblack@google.com { 8412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 8512841Sgabeblack@google.com } 8612841Sgabeblack@google.com sc_signal<T, WRITER_POLICY> & 8712841Sgabeblack@google.com operator = (const T&) 8812841Sgabeblack@google.com { 8912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 9012841Sgabeblack@google.com return *this; 9112841Sgabeblack@google.com } 9212841Sgabeblack@google.com sc_signal<T, WRITER_POLICY> & 9312841Sgabeblack@google.com operator = (const sc_signal<T, WRITER_POLICY> &) 9412841Sgabeblack@google.com { 9512841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 9612841Sgabeblack@google.com return *this; 9712841Sgabeblack@google.com } 9812841Sgabeblack@google.com 9912841Sgabeblack@google.com virtual const sc_event & 10012841Sgabeblack@google.com default_event() const 10112841Sgabeblack@google.com { 10212841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 10312841Sgabeblack@google.com return *(sc_event *)nullptr; 10412841Sgabeblack@google.com } 10512841Sgabeblack@google.com virtual const sc_event & 10612841Sgabeblack@google.com value_changed_event() const 10712841Sgabeblack@google.com { 10812841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 10912841Sgabeblack@google.com return *(sc_event *)nullptr; 11012841Sgabeblack@google.com } 11112841Sgabeblack@google.com virtual bool 11212841Sgabeblack@google.com event() const 11312841Sgabeblack@google.com { 11412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 11512841Sgabeblack@google.com return false; 11612841Sgabeblack@google.com } 11712841Sgabeblack@google.com 11812841Sgabeblack@google.com virtual void 11912841Sgabeblack@google.com print(std::ostream & =std::cout) const 12012841Sgabeblack@google.com { 12112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 12212841Sgabeblack@google.com } 12312841Sgabeblack@google.com virtual void 12412841Sgabeblack@google.com dump(std::ostream & =std::cout) const 12512841Sgabeblack@google.com { 12612841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 12712841Sgabeblack@google.com } 12812841Sgabeblack@google.com virtual const char *kind() const { return "sc_signal"; } 12912841Sgabeblack@google.com 13012841Sgabeblack@google.com protected: 13112841Sgabeblack@google.com virtual void 13212841Sgabeblack@google.com update() 13312841Sgabeblack@google.com { 13412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 13512841Sgabeblack@google.com } 13612841Sgabeblack@google.com 13712841Sgabeblack@google.com private: 13812841Sgabeblack@google.com // Disabled 13912841Sgabeblack@google.com sc_signal(const sc_signal<T, WRITER_POLICY> &) : 14012841Sgabeblack@google.com sc_signal_inout_if<T>(), sc_prim_channel("") 14112841Sgabeblack@google.com {} 14212841Sgabeblack@google.com}; 14312841Sgabeblack@google.com 14412841Sgabeblack@google.comtemplate <class T, sc_writer_policy WRITER_POLICY> 14512841Sgabeblack@google.cominline std::ostream & 14612841Sgabeblack@google.comoperator << (std::ostream &os, const sc_signal<T, WRITER_POLICY> &) 14712841Sgabeblack@google.com{ 14812841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 14912841Sgabeblack@google.com return os; 15012841Sgabeblack@google.com} 15112841Sgabeblack@google.com 15212841Sgabeblack@google.comtemplate <sc_writer_policy WRITER_POLICY> 15312841Sgabeblack@google.comclass sc_signal<bool, WRITER_POLICY> : 15412841Sgabeblack@google.com public sc_signal_inout_if<bool>, public sc_prim_channel 15512841Sgabeblack@google.com{ 15612841Sgabeblack@google.com public: 15712841Sgabeblack@google.com sc_signal() 15812841Sgabeblack@google.com { 15912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 16012841Sgabeblack@google.com } 16112841Sgabeblack@google.com explicit sc_signal(const char *) 16212841Sgabeblack@google.com { 16312841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 16412841Sgabeblack@google.com } 16512841Sgabeblack@google.com virtual ~sc_signal() 16612841Sgabeblack@google.com { 16712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 16812841Sgabeblack@google.com } 16912841Sgabeblack@google.com 17012841Sgabeblack@google.com virtual void 17112841Sgabeblack@google.com register_port(sc_port_base &, const char *) 17212841Sgabeblack@google.com { 17312841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 17412841Sgabeblack@google.com } 17512841Sgabeblack@google.com 17612841Sgabeblack@google.com virtual const bool & 17712841Sgabeblack@google.com read() const 17812841Sgabeblack@google.com { 17912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 18012841Sgabeblack@google.com return *(const bool *)nullptr; 18112841Sgabeblack@google.com } 18212841Sgabeblack@google.com operator const bool &() const 18312841Sgabeblack@google.com { 18412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 18512841Sgabeblack@google.com return *(const bool *)nullptr; 18612841Sgabeblack@google.com } 18712841Sgabeblack@google.com 18812841Sgabeblack@google.com virtual sc_writer_policy 18912841Sgabeblack@google.com get_writer_policy() const 19012841Sgabeblack@google.com { 19112841Sgabeblack@google.com return WRITER_POLICY; 19212841Sgabeblack@google.com } 19312841Sgabeblack@google.com virtual void 19412841Sgabeblack@google.com write(const bool &) 19512841Sgabeblack@google.com { 19612841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 19712841Sgabeblack@google.com } 19812841Sgabeblack@google.com sc_signal<bool, WRITER_POLICY> & 19912841Sgabeblack@google.com operator = (const bool &) 20012841Sgabeblack@google.com { 20112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 20212841Sgabeblack@google.com return *this; 20312841Sgabeblack@google.com } 20412841Sgabeblack@google.com sc_signal<bool, WRITER_POLICY> & 20512841Sgabeblack@google.com operator = (const sc_signal<bool, WRITER_POLICY> &) 20612841Sgabeblack@google.com { 20712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 20812841Sgabeblack@google.com return *this; 20912841Sgabeblack@google.com } 21012841Sgabeblack@google.com 21112841Sgabeblack@google.com virtual const sc_event & 21212841Sgabeblack@google.com default_event() const 21312841Sgabeblack@google.com { 21412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 21512841Sgabeblack@google.com return *(sc_event *)nullptr; 21612841Sgabeblack@google.com } 21712841Sgabeblack@google.com 21812841Sgabeblack@google.com virtual const sc_event & 21912841Sgabeblack@google.com value_changed_event() const 22012841Sgabeblack@google.com { 22112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 22212841Sgabeblack@google.com return *(sc_event *)nullptr; 22312841Sgabeblack@google.com } 22412841Sgabeblack@google.com virtual const sc_event & 22512841Sgabeblack@google.com posedge_event() const 22612841Sgabeblack@google.com { 22712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 22812841Sgabeblack@google.com return *(sc_event *)nullptr; 22912841Sgabeblack@google.com } 23012841Sgabeblack@google.com virtual const sc_event & 23112841Sgabeblack@google.com negedge_event() const 23212841Sgabeblack@google.com { 23312841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 23412841Sgabeblack@google.com return *(sc_event *)nullptr; 23512841Sgabeblack@google.com } 23612841Sgabeblack@google.com 23712841Sgabeblack@google.com virtual bool 23812841Sgabeblack@google.com event() const 23912841Sgabeblack@google.com { 24012841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 24112841Sgabeblack@google.com return false; 24212841Sgabeblack@google.com } 24312841Sgabeblack@google.com virtual bool 24412841Sgabeblack@google.com posedge() const 24512841Sgabeblack@google.com { 24612841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 24712841Sgabeblack@google.com return false; 24812841Sgabeblack@google.com } 24912841Sgabeblack@google.com virtual bool 25012841Sgabeblack@google.com negedge() const 25112841Sgabeblack@google.com { 25212841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 25312841Sgabeblack@google.com return false; 25412841Sgabeblack@google.com } 25512841Sgabeblack@google.com 25612841Sgabeblack@google.com virtual void 25712841Sgabeblack@google.com print(std::ostream & =std::cout) const 25812841Sgabeblack@google.com { 25912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 26012841Sgabeblack@google.com } 26112841Sgabeblack@google.com virtual void 26212841Sgabeblack@google.com dump(std::ostream & =std::cout) const 26312841Sgabeblack@google.com { 26412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 26512841Sgabeblack@google.com } 26612841Sgabeblack@google.com virtual const char *kind() const { return "sc_signal"; } 26712841Sgabeblack@google.com 26812841Sgabeblack@google.com protected: 26912841Sgabeblack@google.com virtual void 27012841Sgabeblack@google.com update() 27112841Sgabeblack@google.com { 27212841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 27312841Sgabeblack@google.com } 27412841Sgabeblack@google.com 27512841Sgabeblack@google.com private: 27612841Sgabeblack@google.com // Disabled 27712841Sgabeblack@google.com sc_signal(const sc_signal<bool, WRITER_POLICY> &) : 27812841Sgabeblack@google.com sc_signal_inout_if<bool>(), sc_prim_channel("") 27912841Sgabeblack@google.com {} 28012841Sgabeblack@google.com}; 28112841Sgabeblack@google.com 28212841Sgabeblack@google.comtemplate <sc_writer_policy WRITER_POLICY> 28312841Sgabeblack@google.comclass sc_signal<sc_dt::sc_logic, WRITER_POLICY> : 28412841Sgabeblack@google.com public sc_signal_inout_if<sc_dt::sc_logic>, public sc_prim_channel 28512841Sgabeblack@google.com{ 28612841Sgabeblack@google.com public: 28712841Sgabeblack@google.com sc_signal() 28812841Sgabeblack@google.com { 28912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 29012841Sgabeblack@google.com } 29112841Sgabeblack@google.com explicit sc_signal(const char *) 29212841Sgabeblack@google.com { 29312841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 29412841Sgabeblack@google.com } 29512841Sgabeblack@google.com virtual ~sc_signal() 29612841Sgabeblack@google.com { 29712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 29812841Sgabeblack@google.com } 29912841Sgabeblack@google.com 30012841Sgabeblack@google.com virtual void 30112841Sgabeblack@google.com register_port(sc_port_base &, const char *) 30212841Sgabeblack@google.com { 30312841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 30412841Sgabeblack@google.com } 30512841Sgabeblack@google.com 30612841Sgabeblack@google.com virtual const sc_dt::sc_logic & 30712841Sgabeblack@google.com read() const 30812841Sgabeblack@google.com { 30912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 31012841Sgabeblack@google.com return *(const sc_dt::sc_logic *)nullptr; 31112841Sgabeblack@google.com } 31212841Sgabeblack@google.com operator const sc_dt::sc_logic &() const 31312841Sgabeblack@google.com { 31412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 31512841Sgabeblack@google.com return *(const sc_dt::sc_logic *)nullptr; 31612841Sgabeblack@google.com } 31712841Sgabeblack@google.com 31812841Sgabeblack@google.com virtual sc_writer_policy 31912841Sgabeblack@google.com get_writer_policy() const 32012841Sgabeblack@google.com { 32112841Sgabeblack@google.com return WRITER_POLICY; 32212841Sgabeblack@google.com } 32312841Sgabeblack@google.com virtual void 32412841Sgabeblack@google.com write(const sc_dt::sc_logic &) 32512841Sgabeblack@google.com { 32612841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 32712841Sgabeblack@google.com } 32812841Sgabeblack@google.com sc_signal<sc_dt::sc_logic, WRITER_POLICY> & 32912841Sgabeblack@google.com operator = (const sc_dt::sc_logic &) 33012841Sgabeblack@google.com { 33112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 33212841Sgabeblack@google.com return *this; 33312841Sgabeblack@google.com } 33412841Sgabeblack@google.com sc_signal<sc_dt::sc_logic, WRITER_POLICY> & 33512841Sgabeblack@google.com operator = (const sc_signal<sc_dt::sc_logic, WRITER_POLICY> &) 33612841Sgabeblack@google.com { 33712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 33812841Sgabeblack@google.com return *this; 33912841Sgabeblack@google.com } 34012841Sgabeblack@google.com 34112841Sgabeblack@google.com virtual const sc_event & 34212841Sgabeblack@google.com default_event() const 34312841Sgabeblack@google.com { 34412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 34512841Sgabeblack@google.com return *(sc_event *)nullptr; 34612841Sgabeblack@google.com } 34712841Sgabeblack@google.com 34812841Sgabeblack@google.com virtual const sc_event & 34912841Sgabeblack@google.com value_changed_event() const 35012841Sgabeblack@google.com { 35112841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 35212841Sgabeblack@google.com return *(sc_event *)nullptr; 35312841Sgabeblack@google.com } 35412841Sgabeblack@google.com virtual const sc_event & 35512841Sgabeblack@google.com posedge_event() const 35612841Sgabeblack@google.com { 35712841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 35812841Sgabeblack@google.com return *(sc_event *)nullptr; 35912841Sgabeblack@google.com } 36012841Sgabeblack@google.com virtual const sc_event & 36112841Sgabeblack@google.com negedge_event() const 36212841Sgabeblack@google.com { 36312841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 36412841Sgabeblack@google.com return *(sc_event *)nullptr; 36512841Sgabeblack@google.com } 36612841Sgabeblack@google.com 36712841Sgabeblack@google.com virtual bool 36812841Sgabeblack@google.com event() const 36912841Sgabeblack@google.com { 37012841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 37112841Sgabeblack@google.com return false; 37212841Sgabeblack@google.com } 37312841Sgabeblack@google.com virtual bool 37412841Sgabeblack@google.com posedge() const 37512841Sgabeblack@google.com { 37612841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 37712841Sgabeblack@google.com return false; 37812841Sgabeblack@google.com } 37912841Sgabeblack@google.com virtual bool 38012841Sgabeblack@google.com negedge() const 38112841Sgabeblack@google.com { 38212841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 38312841Sgabeblack@google.com return false; 38412841Sgabeblack@google.com } 38512841Sgabeblack@google.com 38612841Sgabeblack@google.com virtual void 38712841Sgabeblack@google.com print(std::ostream & =std::cout) const 38812841Sgabeblack@google.com { 38912841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 39012841Sgabeblack@google.com } 39112841Sgabeblack@google.com virtual void 39212841Sgabeblack@google.com dump(std::ostream & =std::cout) const 39312841Sgabeblack@google.com { 39412841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 39512841Sgabeblack@google.com } 39612841Sgabeblack@google.com virtual const char *kind() const { return "sc_signal"; } 39712841Sgabeblack@google.com 39812841Sgabeblack@google.com protected: 39912841Sgabeblack@google.com virtual void 40012841Sgabeblack@google.com update() 40112841Sgabeblack@google.com { 40212841Sgabeblack@google.com sc_channel_warn_unimpl(__PRETTY_FUNCTION__); 40312841Sgabeblack@google.com } 40412841Sgabeblack@google.com 40512841Sgabeblack@google.com private: 40612841Sgabeblack@google.com // Disabled 40712841Sgabeblack@google.com sc_signal(const sc_signal<sc_dt::sc_logic, WRITER_POLICY> &) : 40812841Sgabeblack@google.com sc_signal_inout_if<sc_dt::sc_logic>(), sc_prim_channel("") 40912841Sgabeblack@google.com {} 41012841Sgabeblack@google.com}; 41112841Sgabeblack@google.com 41212841Sgabeblack@google.com} // namespace sc_core 41312841Sgabeblack@google.com 41412841Sgabeblack@google.com#endif //__SYSTEMC_EXT_CHANNEL_SC_SIGNAL_HH__ 415