クラス sc_core::sc_port_base

#include <sc_port.h>

sc_core::sc_port_baseに対する継承グラフ

Inheritance graph
[凡例]

すべてのメンバ一覧

Public 型

typedef sc_port_base this_type

Public メソッド

virtual sc_interfaceget_interface ()=0
virtual const sc_interfaceget_interface () const =0
virtual const char * kind () const

Protected メソッド

 sc_port_base (int max_size_, sc_port_policy policy=SC_ONE_OR_MORE_BOUND)
 sc_port_base (const char *name_, int max_size_, sc_port_policy policy=SC_ONE_OR_MORE_BOUND)
virtual ~sc_port_base ()
void bind (sc_interface &interface_)
void bind (this_type &parent_)
virtual int vbind (sc_interface &)=0
virtual int vbind (sc_port_base &)=0
virtual void add_interface (sc_interface *)=0
virtual int interface_count ()=0
virtual const char * if_typename () const =0
virtual void before_end_of_elaboration ()
virtual void end_of_elaboration ()
virtual void start_of_simulation ()
virtual void end_of_simulation ()
void report_error (const char *id, const char *add_msg=0) const
virtual void make_sensitive (sc_thread_handle, sc_event_finder *=0) const
virtual void make_sensitive (sc_method_handle, sc_event_finder *=0) const
void add_static_event (sc_method_handle process_p, const sc_event &event) const
void add_static_event (sc_thread_handle process_p, const sc_event &event) const

Protected 変数

sc_bind_infom_bind_info

Private メソッド

int pbind (sc_interface &)
int pbind (sc_port_base &)
int first_parent ()
void insert_parent (int)
void construction_done ()
void complete_binding ()
void elaboration_done ()
void start_simulation ()
void simulation_done ()
 sc_port_base ()
 sc_port_base (const this_type &)
this_typeoperator= (const this_type &)

フレンド

class sc_module
class sc_port_registry
class sc_sensitive
class sc_sensitive_pos
class sc_sensitive_neg


説明

sc_port.h114 行で定義されています。


型定義

sc_core::sc_fifo_in< T >, sc_core::sc_fifo_out< T >, sc_core::sc_port_b< IF >, sc_core::sc_port< IF, N, P >, sc_core::sc_in< T >, sc_core::sc_in< bool >, sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_inout< T >, sc_core::sc_inout< bool >, sc_core::sc_inout< sc_dt::sc_logic >, sc_core::sc_out< T >, sc_core::sc_in_resolved, sc_core::sc_inout_resolved, sc_core::sc_out_resolved, sc_core::sc_in_rv< W >, sc_core::sc_inout_rv< W >, sc_core::sc_out_rv< W >, sc_core::sc_port_b< sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >, sc_core::sc_port< sc_core::sc_signal_inout_if< bool >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< sc_dt::sc_logic >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< bool >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< sc_dt::sc_logic >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< T >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< T >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_fifo_out_if< T >, 0, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_fifo_in_if< T >, 0, SC_ONE_OR_MORE_BOUND >, sc_core::sc_in< sc_dt::sc_lv< W > >, と sc_core::sc_inout< sc_dt::sc_lv< W > >で再定義されています。

sc_port.h127 行で定義されています。


コンストラクタとデストラクタ

sc_core::sc_port_base::sc_port_base ( int  max_size_,
sc_port_policy  policy = SC_ONE_OR_MORE_BOUND 
) [explicit, protected]

sc_port.cpp271 行で定義されています。

00273   : 
00274     sc_object( sc_gen_unique_name( "port" ) ),
00275     m_bind_info( new sc_bind_info( max_size_, policy ) )
00276 {
00277     simcontext()->get_port_registry()->insert( this );
00278 }

sc_core::sc_port_base::sc_port_base ( const char *  name_,
int  max_size_,
sc_port_policy  policy = SC_ONE_OR_MORE_BOUND 
) [protected]

sc_port.cpp280 行で定義されています。

00282   : 
00283     sc_object( name_ ),
00284     m_bind_info( new sc_bind_info( max_size_, policy ) )
00285 {
00286     simcontext()->get_port_registry()->insert( this );
00287 }

sc_core::sc_port_base::~sc_port_base (  )  [protected, virtual]

sc_port.cpp292 行で定義されています。

00293 {
00294     simcontext()->get_port_registry()->remove( this );
00295     if( m_bind_info != 0 ) {
00296         delete m_bind_info;
00297     }
00298 }

sc_core::sc_port_base::sc_port_base (  )  [private]

sc_core::sc_port_base::sc_port_base ( const this_type  )  [private]


関数

virtual sc_interface* sc_core::sc_port_base::get_interface (  )  [pure virtual]

virtual const sc_interface* sc_core::sc_port_base::get_interface (  )  const [pure virtual]

virtual const char* sc_core::sc_port_base::kind (  )  const [inline, virtual]

sc_core::sc_objectを再定義しています。

sc_core::sc_fifo_in< T >, sc_core::sc_fifo_out< T >, sc_core::sc_port< IF, N, P >, sc_core::sc_in< T >, sc_core::sc_in< bool >, sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_inout< T >, sc_core::sc_inout< bool >, sc_core::sc_inout< sc_dt::sc_logic >, sc_core::sc_out< T >, sc_core::sc_in_resolved, sc_core::sc_inout_resolved, sc_core::sc_out_resolved, sc_core::sc_in_rv< W >, sc_core::sc_inout_rv< W >, sc_core::sc_out_rv< W >, sc_core::sc_port< sc_core::sc_signal_inout_if< bool >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< sc_dt::sc_logic >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< bool >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< sc_dt::sc_logic >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< T >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< T >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_fifo_out_if< T >, 0, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_fifo_in_if< T >, 0, SC_ONE_OR_MORE_BOUND >, sc_core::sc_in< sc_dt::sc_lv< W > >, と sc_core::sc_inout< sc_dt::sc_lv< W > >で再定義されています。

sc_port.h135 行で定義されています。

00136         { return "sc_port_base"; }

void sc_core::sc_port_base::bind ( sc_interface interface_  )  [protected]

sc_port.cpp304 行で定義されています。

00305 {
00306     if( m_bind_info == 0 ) {
00307         // cannot bind an interface after elaboration
00308         report_error( SC_ID_BIND_IF_TO_PORT_, "simulation running" );
00309     }
00310 
00311     m_bind_info->vec.push_back( new sc_bind_elem( &interface_ ) );
00312     
00313     if( ! m_bind_info->has_parent ) {
00314         // add (cache) the interface
00315         add_interface( &interface_ );
00316         m_bind_info->last_add ++;
00317     }
00318 }

void sc_core::sc_port_base::bind ( this_type parent_  )  [protected]

sc_core::sc_port_b< IF >, sc_core::sc_in< T >, sc_core::sc_in< bool >, sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_port_b< sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >, と sc_core::sc_in< sc_dt::sc_lv< W > >で再定義されています。

sc_port.cpp324 行で定義されています。

00325 {
00326     if( m_bind_info == 0 ) {
00327         // cannot bind a parent port after elaboration
00328         report_error( SC_ID_BIND_PORT_TO_PORT_, "simulation running" );
00329     }
00330 
00331     if( &parent_ == this ) {
00332         report_error( SC_ID_BIND_PORT_TO_PORT_, "same port" );
00333     }
00334 
00335     // check if parent port is already bound to this port
00336 #if 0
00337     for( int i = m_bind_info->size() - 1; i >= 0; -- i ) {
00338         if( &parent_ == m_bind_info->vec[i]->parent ) {
00339             report_error( SC_ID_BIND_PORT_TO_PORT_, "already bound" );
00340         }
00341     }
00342 #endif // 
00343 
00344     m_bind_info->vec.push_back( new sc_bind_elem( &parent_ ) );
00345     m_bind_info->has_parent = true;
00346     parent_.m_bind_info->is_leaf = false;
00347 }

virtual int sc_core::sc_port_base::vbind ( sc_interface  )  [protected, pure virtual]

virtual int sc_core::sc_port_base::vbind ( sc_port_base  )  [protected, pure virtual]

virtual void sc_core::sc_port_base::add_interface ( sc_interface  )  [protected, pure virtual]

virtual int sc_core::sc_port_base::interface_count (  )  [protected, pure virtual]

virtual const char* sc_core::sc_port_base::if_typename (  )  const [protected, pure virtual]

void sc_core::sc_port_base::before_end_of_elaboration (  )  [protected, virtual]

sc_port.cpp351 行で定義されています。

00352 {}

void sc_core::sc_port_base::end_of_elaboration (  )  [protected, virtual]

void sc_core::sc_port_base::start_of_simulation (  )  [protected, virtual]

sc_port.cpp362 行で定義されています。

00363 {}

void sc_core::sc_port_base::end_of_simulation (  )  [protected, virtual]

sc_port.cpp367 行で定義されています。

00368 {}

void sc_core::sc_port_base::report_error ( const char *  id,
const char *  add_msg = 0 
) const [protected]

sc_port.cpp257 行で定義されています。

00258 {
00259     char msg[BUFSIZ];
00260     if( add_msg != 0 ) {
00261         std::sprintf( msg, "%s: port '%s' (%s)", add_msg, name(), kind() );
00262     } else {
00263         std::sprintf( msg, "port '%s' (%s)", name(), kind() );
00264     }
00265     SC_REPORT_ERROR( id, msg );
00266 }

void sc_core::sc_port_base::make_sensitive ( sc_thread_handle  handle_,
sc_event_finder event_finder_ = 0 
) const [protected, virtual]

void sc_core::sc_port_base::make_sensitive ( sc_method_handle  handle_,
sc_event_finder event_finder_ = 0 
) const [protected, virtual]

void sc_core::sc_port_base::add_static_event ( sc_method_handle  process_p,
const sc_event event 
) const [protected]

sc_port.cpp241 行で定義されています。

00243 {
00244     process_p->add_static_event( event );
00245 }

void sc_core::sc_port_base::add_static_event ( sc_thread_handle  process_p,
const sc_event event 
) const [protected]

sc_port.cpp247 行で定義されています。

00249 {
00250     process_p->add_static_event( event );
00251 }

int sc_core::sc_port_base::pbind ( sc_interface interface_  )  [private]

sc_port.cpp374 行で定義されています。

00375 {
00376     if( m_bind_info == 0 ) {
00377         // cannot bind an interface after elaboration
00378         report_error( SC_ID_BIND_IF_TO_PORT_, "simulation running" );
00379     }
00380     
00381     if( m_bind_info->size() != 0 ) {
00382         // first interface already bound
00383         return 1;
00384     }
00385 
00386     return vbind( interface_ );
00387 }

int sc_core::sc_port_base::pbind ( sc_port_base parent_  )  [private]

sc_port.cpp390 行で定義されています。

00391 {
00392     if( m_bind_info == 0 ) {
00393         // cannot bind a parent port after elaboration
00394         report_error( SC_ID_BIND_PORT_TO_PORT_, "simulation running" );
00395     }
00396     
00397     if( m_bind_info->size() != 0 ) {
00398         // first interface already bound
00399         return 1;
00400     }
00401 
00402     return vbind( parent_ );
00403 }

int sc_core::sc_port_base::first_parent (  )  [private]

sc_port.cpp430 行で定義されています。

00431 {
00432     for( int i = 0; i < m_bind_info->size(); ++ i ) {
00433         if( m_bind_info->vec[i]->parent != 0 ) {
00434             return i;
00435         }
00436     }
00437     return -1;
00438 }

void sc_core::sc_port_base::insert_parent ( int  i  )  [private]

sc_port.cpp441 行で定義されています。

00442 {
00443     std::vector<sc_bind_elem*>& vec = m_bind_info->vec;
00444 
00445     this_type* parent = vec[i]->parent;
00446 
00447 
00448     // IF OUR PARENT HAS NO BINDING THEN IGNORE IT:
00449     //
00450     // Note that the zeroing of the parent pointer must occur before this
00451     // test
00452 
00453     vec[i]->parent = 0;
00454     if ( parent->m_bind_info->vec.size() == 0 ) return;
00455 
00456     vec[i]->iface = parent->m_bind_info->vec[0]->iface;
00457     int n = parent->m_bind_info->size() - 1;
00458     if( n > 0 ) {
00459         // resize the bind vector (by adding new elements)
00460         for( int k = 0; k < n; ++ k ) {
00461             vec.push_back( new sc_bind_elem() );
00462         }
00463         // move elements in the bind vector
00464         for( int k = m_bind_info->size() - n - 1; k > i; -- k ) {
00465             vec[k + n]->iface = vec[k]->iface;
00466             vec[k + n]->parent = vec[k]->parent;
00467         }
00468         // insert parent interfaces into the bind vector
00469         for( int k = i + 1; k <= i + n; ++ k ) {
00470             vec[k]->iface = parent->m_bind_info->vec[k - i]->iface;
00471             vec[k]->parent = 0;
00472         }
00473     }
00474 }

void sc_core::sc_port_base::construction_done (  )  [private]

sc_port.cpp589 行で定義されています。

00590 {
00591     before_end_of_elaboration();
00592 }

void sc_core::sc_port_base::complete_binding (  )  [private]

sc_port.cpp480 行で定義されています。

00481 {
00482     char msg_buffer[128]; // For error message construction.
00483 
00484     // IF BINDING HAS ALREADY BEEN COMPLETED IGNORE THIS CALL:
00485 
00486     assert( m_bind_info != 0 );
00487     if( m_bind_info->complete ) {
00488         return;
00489     }
00490 
00491     // COMPLETE BINDING OF OUR PARENT PORTS SO THAT WE CAN USE THAT INFORMATION:
00492 
00493     int i = first_parent();
00494     while( i >= 0 ) {
00495         m_bind_info->vec[i]->parent->complete_binding();
00496         insert_parent( i );
00497         i = first_parent();
00498     }
00499 
00500     // LOOP OVER BINDING INFORMATION TO COMPLETE THE BINDING PROCESS:
00501 
00502     int size;
00503     for( int j = 0; j < m_bind_info->size(); ++ j ) {
00504         sc_interface* iface = m_bind_info->vec[j]->iface;
00505 
00506         // if the interface is zero this was for an unbound port.
00507         if ( iface == 0 ) continue;
00508 
00509         // add (cache) the interface
00510         if( j > m_bind_info->last_add ) {
00511             add_interface( iface );
00512         }
00513         
00514         // only register "leaf" ports (ports without children)
00515         if( m_bind_info->is_leaf ) {
00516             iface->register_port( *this, if_typename() );
00517         }
00518 
00519         // complete static sensitivity for methods
00520         size = m_bind_info->method_vec.size();
00521         for( int k = 0; k < size; ++ k ) {
00522             sc_bind_ef* p = m_bind_info->method_vec[k];
00523             const sc_event& event = ( p->event_finder != 0 )
00524                                   ? p->event_finder->find_event(iface)
00525                                   : iface->default_event();
00526             p->handle->add_static_event( event );
00527         }
00528 
00529         // complete static sensitivity for threads
00530         size = m_bind_info->thread_vec.size();
00531         for( int k = 0; k < size; ++ k ) {
00532             sc_bind_ef* p = m_bind_info->thread_vec[k];
00533             const sc_event& event = ( p->event_finder != 0 )
00534                                   ? p->event_finder->find_event(iface)
00535                                   : iface->default_event();
00536             p->handle->add_static_event( event );
00537         }
00538 
00539     }
00540 
00541     // MAKE SURE THE PROPER NUMBER OF BINDINGS OCCURRED:
00542     //
00543     // Make sure there are enough bindings, and not too many.
00544 
00545     int actual_binds = interface_count();
00546 
00547     if ( actual_binds > m_bind_info->max_size() )
00548     {
00549         sprintf(msg_buffer, "%d binds exceeds maximum of %d allowed",
00550             actual_binds, m_bind_info->max_size() );
00551         report_error( SC_ID_COMPLETE_BINDING_, msg_buffer );
00552     }
00553     switch ( m_bind_info->policy() )
00554     {
00555       case SC_ONE_OR_MORE_BOUND:
00556         if ( actual_binds < 1 ) {
00557             report_error( SC_ID_COMPLETE_BINDING_, "port not bound" );
00558         }
00559         break;
00560       case SC_ALL_BOUND:
00561         if ( actual_binds < m_bind_info->max_size() || actual_binds < 1 ) {
00562             sprintf(msg_buffer, "%d actual binds is less than required %d",
00563                 actual_binds, m_bind_info->max_size() ); 
00564             report_error( SC_ID_COMPLETE_BINDING_, msg_buffer );
00565         }
00566         break;
00567       default:  // SC_ZERO_OR_MORE_BOUND:
00568         break;
00569     }
00570 
00571 
00572     // CLEAN UP: FREE BINDING STORAGE:
00573 
00574     size = m_bind_info->method_vec.size();
00575     for( int k = 0; k < size; ++ k ) {
00576         delete m_bind_info->method_vec[k];
00577     }
00578     m_bind_info->method_vec.resize(0);
00579 
00580     size = m_bind_info->thread_vec.size();
00581     for( int k = 0; k < size; ++ k ) {
00582         delete m_bind_info->thread_vec[k];
00583     }
00584     m_bind_info->thread_vec.resize(0);
00585 
00586     m_bind_info->complete = true;
00587 }

void sc_core::sc_port_base::elaboration_done (  )  [private]

sc_port.cpp595 行で定義されています。

00596 {
00597     assert( m_bind_info != 0 && m_bind_info->complete );
00598     delete m_bind_info;
00599     m_bind_info = 0;
00600 
00601     end_of_elaboration();
00602 }

void sc_core::sc_port_base::start_simulation (  )  [private]

sc_port.cpp605 行で定義されています。

00606 {
00607     start_of_simulation();
00608 }

void sc_core::sc_port_base::simulation_done (  )  [private]

sc_port.cpp611 行で定義されています。

00612 {
00613     end_of_simulation();
00614 }

this_type& sc_core::sc_port_base::operator= ( const this_type  )  [private]

sc_core::sc_port_b< IF >, sc_core::sc_port< IF, N, P >, sc_core::sc_in< T >, sc_core::sc_in< bool >, sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_inout< T >, sc_core::sc_inout< T >, sc_core::sc_inout< bool >, sc_core::sc_inout< bool >, sc_core::sc_inout< sc_dt::sc_logic >, sc_core::sc_inout< sc_dt::sc_logic >, sc_core::sc_out< T >, sc_core::sc_out< T >, sc_core::sc_in_resolved, sc_core::sc_inout_resolved, sc_core::sc_inout_resolved, sc_core::sc_out_resolved, sc_core::sc_out_resolved, sc_core::sc_in_rv< W >, sc_core::sc_inout_rv< W >, sc_core::sc_out_rv< W >, sc_core::sc_port_b< sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >, sc_core::sc_port< sc_core::sc_signal_inout_if< bool >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< sc_dt::sc_logic >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< bool >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< sc_dt::sc_logic >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< T >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< T >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_fifo_out_if< T >, 0, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_fifo_in_if< T >, 0, SC_ONE_OR_MORE_BOUND >, sc_core::sc_in< sc_dt::sc_lv< W > >, sc_core::sc_inout< sc_dt::sc_lv< W > >, と sc_core::sc_inout< sc_dt::sc_lv< W > >で再定義されています。


フレンドと関連する関数

friend class sc_module [friend]

sc_port.h117 行で定義されています。

friend class sc_port_registry [friend]

sc_port.h118 行で定義されています。

friend class sc_sensitive [friend]

friend class sc_sensitive_pos [friend]

friend class sc_sensitive_neg [friend]


変数

sc_port.h214 行で定義されています。


このクラスの説明は次のファイルから生成されました:

SystemCに対してFri Jun 6 20:11:46 2008に生成されました。  doxygen 1.5.6