sc_sensitive.cpp
来自「基于4个mips核的noc设计」· C++ 代码 · 共 743 行 · 第 1/2 页
CPP
743 行
sc_sensitive_pos::operator () ( const in_port_b_type& port_ ){ // check if( m_module->simcontext()->is_running() ) { SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_POS_, "simulation running" ); } // make sensitive switch( m_mode ) { case SC_METHOD_: { port_.make_sensitive( as_method_handle( m_handle ), &port_.pos() ); break; } case SC_THREAD_: { port_.make_sensitive( as_thread_handle( m_handle ), &port_.pos() ); break; } case SC_NONE_: /* do nothing */ break; } return *this;}sc_sensitive_pos&sc_sensitive_pos::operator () ( const in_port_l_type& port_ ){ // check if( m_module->simcontext()->is_running() ) { SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_POS_, "simulation running" ); } // make sensitive switch( m_mode ) { case SC_METHOD_: { port_.make_sensitive( as_method_handle( m_handle ), &port_.pos() ); break; } case SC_THREAD_: { port_.make_sensitive( as_thread_handle( m_handle ), &port_.pos() ); break; } case SC_NONE_: /* do nothing */ break; } return *this;}sc_sensitive_pos&sc_sensitive_pos::operator () ( const inout_port_b_type& port_ ){ // check if( m_module->simcontext()->is_running() ) { SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_POS_, "simulation running" ); } // make sensitive switch( m_mode ) { case SC_METHOD_: { port_.make_sensitive( as_method_handle( m_handle ), &port_.pos() ); break; } case SC_THREAD_: { port_.make_sensitive( as_thread_handle( m_handle ), &port_.pos() ); break; } case SC_NONE_: /* do nothing */ break; } return *this;}sc_sensitive_pos&sc_sensitive_pos::operator () ( const inout_port_l_type& port_ ){ // check if( m_module->simcontext()->is_running() ) { SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_POS_, "simulation running" ); } // make sensitive switch( m_mode ) { case SC_METHOD_: { port_.make_sensitive( as_method_handle( m_handle ), &port_.pos() ); break; } case SC_THREAD_: { port_.make_sensitive( as_thread_handle( m_handle ), &port_.pos() ); break; } case SC_NONE_: /* do nothing */ break; } return *this;}sc_sensitive_pos&sc_sensitive_pos::operator << ( const in_if_b_type& interface_ ){ return operator () ( interface_ );}sc_sensitive_pos&sc_sensitive_pos::operator << ( const in_if_l_type& interface_ ){ return operator () ( interface_ );}sc_sensitive_pos&sc_sensitive_pos::operator << ( const in_port_b_type& port_ ){ return operator () ( port_ );}sc_sensitive_pos&sc_sensitive_pos::operator << ( const in_port_l_type& port_ ){ return operator () ( port_ );}sc_sensitive_pos&sc_sensitive_pos::operator << ( const inout_port_b_type& port_ ){ return operator () ( port_ );}sc_sensitive_pos&sc_sensitive_pos::operator << ( const inout_port_l_type& port_ ){ return operator () ( port_ );}// ----------------------------------------------------------------------------// CLASS : sc_sensitive_neg//// Static sensitivity class for negative edge events.// ----------------------------------------------------------------------------// constructorsc_sensitive_neg::sc_sensitive_neg( sc_module* module_ ): m_module( module_ ), m_mode( SC_NONE_ ), m_handle( 0 ){}// destructorsc_sensitive_neg::~sc_sensitive_neg(){}// changing between process handlessc_sensitive_neg&sc_sensitive_neg::operator << ( sc_method_handle handle_ ){ m_mode = SC_METHOD_; m_handle = handle_; return *this;}sc_sensitive_neg&sc_sensitive_neg::operator << ( sc_thread_handle handle_ ){ m_mode = SC_THREAD_; m_handle = handle_; return *this;}sc_sensitive_neg&sc_sensitive_neg::operator () ( const in_if_b_type& interface_ ){ // check if( m_module->simcontext()->is_running() ) { SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_NEG_, "simulation running" ); } // make sensitive switch( m_mode ) { case SC_METHOD_: case SC_THREAD_: { m_handle->add_static_event( interface_.negedge_event() ); break; } case SC_NONE_: /* do nothing */ break; } return *this;}sc_sensitive_neg&sc_sensitive_neg::operator () ( const in_if_l_type& interface_ ){ // check if( m_module->simcontext()->is_running() ) { SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_NEG_, "simulation running" ); } // make sensitive switch( m_mode ) { case SC_METHOD_: case SC_THREAD_: { m_handle->add_static_event( interface_.negedge_event() ); break; } case SC_NONE_: /* do nothing */ break; } return *this;}sc_sensitive_neg&sc_sensitive_neg::operator () ( const in_port_b_type& port_ ){ // check if( m_module->simcontext()->is_running() ) { SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_NEG_, "simulation running" ); } // make sensitive switch( m_mode ) { case SC_METHOD_: { port_.make_sensitive( as_method_handle( m_handle ), &port_.neg() ); break; } case SC_THREAD_: { port_.make_sensitive( as_thread_handle( m_handle ), &port_.neg() ); break; } case SC_NONE_: /* do nothing */ break; } return *this;}sc_sensitive_neg&sc_sensitive_neg::operator () ( const in_port_l_type& port_ ){ // check if( m_module->simcontext()->is_running() ) { SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_NEG_, "simulation running" ); } // make sensitive switch( m_mode ) { case SC_METHOD_: { port_.make_sensitive( as_method_handle( m_handle ), &port_.neg() ); break; } case SC_THREAD_: { port_.make_sensitive( as_thread_handle( m_handle ), &port_.neg() ); break; } case SC_NONE_: /* do nothing */ break; } return *this;}sc_sensitive_neg&sc_sensitive_neg::operator () ( const inout_port_b_type& port_ ){ // check if( m_module->simcontext()->is_running() ) { SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_NEG_, "simulation running" ); } // make sensitive switch( m_mode ) { case SC_METHOD_: { port_.make_sensitive( as_method_handle( m_handle ), &port_.neg() ); break; } case SC_THREAD_: { port_.make_sensitive( as_thread_handle( m_handle ), &port_.neg() ); break; } case SC_NONE_: /* do nothing */ break; } return *this;}sc_sensitive_neg&sc_sensitive_neg::operator () ( const inout_port_l_type& port_ ){ // check if( m_module->simcontext()->is_running() ) { SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_NEG_, "simulation running" ); } // make sensitive switch( m_mode ) { case SC_METHOD_: { port_.make_sensitive( as_method_handle( m_handle ), &port_.neg() ); break; } case SC_THREAD_: { port_.make_sensitive( as_thread_handle( m_handle ), &port_.neg() ); break; } case SC_NONE_: /* do nothing */ break; } return *this;}sc_sensitive_neg&sc_sensitive_neg::operator << ( const in_if_b_type& interface_ ){ return operator () ( interface_ );}sc_sensitive_neg&sc_sensitive_neg::operator << ( const in_if_l_type& interface_ ){ return operator () ( interface_ );}sc_sensitive_neg&sc_sensitive_neg::operator << ( const in_port_b_type& port_ ){ return operator () ( port_ );}sc_sensitive_neg&sc_sensitive_neg::operator << ( const in_port_l_type& port_ ){ return operator () ( port_ );}sc_sensitive_neg&sc_sensitive_neg::operator << ( const inout_port_b_type& port_ ){ return operator () ( port_ );}sc_sensitive_neg&sc_sensitive_neg::operator << ( const inout_port_l_type& port_ ){ return operator () ( port_ );}// Taf!
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?