rc_reconfigurable_module< Module, true > Class Template Reference

#include <rc_reconfigurable_module.h>

Inheritance diagram for rc_reconfigurable_module< Module, true >:

rc_reconfigurable begin_construction

List of all members.


Detailed Description

template<class Module>
class ReChannel::rc_reconfigurable_module< Module, true >

Class of a reconfigurable module.

rc_reconfigurable_module represents a reconfigurable module, as it encapsulates an SC_MODULE and an rc_reconfigurable.

Using rc_reconfigurable_module for the creation of reconfigurable modules is more convenient and, furthermore, also is a requirement for some more advanced ReChannel features to work.

The first template parameter specified the module that has to be derived from, as described in Rendering a Given Module Reconfigurable and Creating a Reconfigurable Module from Scratch.

The second boolean template paramter is internally used to detect whether the inherited module already implements rc_resettable, or not. The rc_reconfigurable_module is guaranteed to implement rc_resettable and therefore always is "resettable".

rc_reconfigurable_module automatically inherits all constructors of M with up to ten arguments. This is made possible by ten templated constructor variants with different parameter count.

Remarks:
The class is additionally derived from internals::reconfigurable::begin_contruction to allow the identification of the current reconfigurable context during a subsequent base class and member construction.
Note:
Resettable processes may be created within a module of this type.
See also:
rc_reconfigurable, RC_RECONFIGURABLE_MODULE(), RC_RECONFIGURABLE_CTOR(), RC_RECONFIGURABLE_MODULE_DERIVED(), RC_RECONFIGURABLE_CTOR_DERIVED(), RC_HAS_PROCESS()

Definition at line 96 of file rc_reconfigurable_module.h.


Public Types

typedef Module module_type
 The type of the inherited module.

Public Member Functions

 rc_reconfigurable_module ()
 Default constructor.
 rc_reconfigurable_module (sc_module_name module_name)
 Default module constructor.
template<class A1>
 rc_reconfigurable_module (A1 a1)
template<class A1, class A2>
 rc_reconfigurable_module (A1 a1, A2 a2)
template<class A1, class A2, class A3>
 rc_reconfigurable_module (A1 a1, A2 a2, A3 a3)
template<class A1, class A2, class A3, class A4>
 rc_reconfigurable_module (A1 a1, A2 a2, A3 a3, A4 a4)
template<class A1, class A2, class A3, class A4, class A5>
 rc_reconfigurable_module (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
template<class A1, class A2, class A3, class A4, class A5, class A6>
 rc_reconfigurable_module (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7>
 rc_reconfigurable_module (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
 rc_reconfigurable_module (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
 rc_reconfigurable_module (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10>
 rc_reconfigurable_module (A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10)

Protected Member Functions

sc_object * rc_find_object (const char *obj_name, const sc_object *rel_obj=NULL)
 Finds SystemC objects by their name.
void next_trigger ()
 Calls ReChannel::rc_next_trigger().
void next_trigger (const sc_event &e)
void next_trigger (sc_event_or_list &el)
void next_trigger (sc_event_and_list &el)
void next_trigger (const sc_time &t)
void next_trigger (double v, sc_time_unit tu)
void next_trigger (const sc_time &t, const sc_event &e)
void next_trigger (double v, sc_time_unit tu, const sc_event &e)
void next_trigger (const sc_time &t, sc_event_or_list &el)
void next_trigger (double v, sc_time_unit t, sc_event_or_list &el)
void next_trigger (const sc_time &t, sc_event_and_list &el)
void next_trigger (double v, sc_time_unit tu, sc_event_and_list &el)
void wait ()
 Calls ReChannel::rc_wait().
void wait (int n)
void wait (const sc_event &e)
void wait (sc_event_or_list &el)
void wait (sc_event_and_list &el)
void wait (const sc_time &t)
void wait (double v, sc_time_unit tu)
void wait (const sc_time &t, const sc_event &e)
void wait (double v, sc_time_unit tu, const sc_event &e)
void wait (const sc_time &t, sc_event_or_list &el)
void wait (double v, sc_time_unit t, sc_event_or_list &el)
void wait (const sc_time &t, sc_event_and_list &el)
void wait (double v, sc_time_unit tu, sc_event_and_list &el)

Private Types

typedef
internals::reconfigurable::begin_construction 
begin_construction

Private Member Functions

 RC_STATIC_ASSERT_VALID_MODULE (Module)
 Static assertion to check if Module is a valid module.

Member Typedef Documentation

typedef internals::reconfigurable::begin_construction begin_construction [private]

Definition at line 110 of file rc_reconfigurable_module.h.

typedef Module module_type

The type of the inherited module.

Definition at line 116 of file rc_reconfigurable_module.h.


Constructor & Destructor Documentation

rc_reconfigurable_module (  )  [inline]

Default constructor.

Definition at line 497 of file rc_reconfigurable_module.h.

rc_reconfigurable_module ( sc_module_name  module_name  )  [inline]

Default module constructor.

Definition at line 503 of file rc_reconfigurable_module.h.

rc_reconfigurable_module ( A1  a1  )  [inline]

Definition at line 511 of file rc_reconfigurable_module.h.

rc_reconfigurable_module ( A1  a1,
A2  a2 
) [inline]

Definition at line 518 of file rc_reconfigurable_module.h.

rc_reconfigurable_module ( A1  a1,
A2  a2,
A3  a3 
) [inline]

Definition at line 526 of file rc_reconfigurable_module.h.

rc_reconfigurable_module ( A1  a1,
A2  a2,
A3  a3,
A4  a4 
) [inline]

Definition at line 534 of file rc_reconfigurable_module.h.

rc_reconfigurable_module ( A1  a1,
A2  a2,
A3  a3,
A4  a4,
A5  a5 
) [inline]

Definition at line 542 of file rc_reconfigurable_module.h.

rc_reconfigurable_module ( A1  a1,
A2  a2,
A3  a3,
A4  a4,
A5  a5,
A6  a6 
) [inline]

Definition at line 550 of file rc_reconfigurable_module.h.

rc_reconfigurable_module ( A1  a1,
A2  a2,
A3  a3,
A4  a4,
A5  a5,
A6  a6,
A7  a7 
) [inline]

Definition at line 559 of file rc_reconfigurable_module.h.

rc_reconfigurable_module ( A1  a1,
A2  a2,
A3  a3,
A4  a4,
A5  a5,
A6  a6,
A7  a7,
A8  a8 
) [inline]

Definition at line 568 of file rc_reconfigurable_module.h.

rc_reconfigurable_module ( A1  a1,
A2  a2,
A3  a3,
A4  a4,
A5  a5,
A6  a6,
A7  a7,
A8  a8,
A9  a9 
) [inline]

Definition at line 577 of file rc_reconfigurable_module.h.

rc_reconfigurable_module ( A1  a1,
A2  a2,
A3  a3,
A4  a4,
A5  a5,
A6  a6,
A7  a7,
A8  a8,
A9  a9,
A10  a10 
) [inline]

Definition at line 586 of file rc_reconfigurable_module.h.


Member Function Documentation

RC_STATIC_ASSERT_VALID_MODULE ( Module   )  [private]

Static assertion to check if Module is a valid module.

A valid module has to be derived from sc_core::sc_module.

sc_object * rc_find_object ( const char *  obj_name,
const sc_object *  rel_obj = NULL 
) [inline, protected]

Finds SystemC objects by their name.

This method redirects to the global rc_find_object() function. Relative name resolution is supported. If rel_obj is not provided or equals NULL, the rc_reconfigurable_module instance, this method is called for, is specified as the name resolution base.

See also:
rc_find_object()

Definition at line 596 of file rc_reconfigurable_module.h.

void next_trigger (  )  [inline, protected]

Calls ReChannel::rc_next_trigger().

Definition at line 191 of file rc_reconfigurable_module.h.

void next_trigger ( const sc_event &  e  )  [inline, protected]

Definition at line 194 of file rc_reconfigurable_module.h.

void next_trigger ( sc_event_or_list &  el  )  [inline, protected]

Definition at line 197 of file rc_reconfigurable_module.h.

void next_trigger ( sc_event_and_list &  el  )  [inline, protected]

Definition at line 200 of file rc_reconfigurable_module.h.

void next_trigger ( const sc_time &  t  )  [inline, protected]

Definition at line 203 of file rc_reconfigurable_module.h.

void next_trigger ( double  v,
sc_time_unit  tu 
) [inline, protected]

Definition at line 206 of file rc_reconfigurable_module.h.

void next_trigger ( const sc_time &  t,
const sc_event &  e 
) [inline, protected]

Definition at line 209 of file rc_reconfigurable_module.h.

void next_trigger ( double  v,
sc_time_unit  tu,
const sc_event &  e 
) [inline, protected]

Definition at line 212 of file rc_reconfigurable_module.h.

void next_trigger ( const sc_time &  t,
sc_event_or_list &  el 
) [inline, protected]

Definition at line 215 of file rc_reconfigurable_module.h.

void next_trigger ( double  v,
sc_time_unit  t,
sc_event_or_list &  el 
) [inline, protected]

Definition at line 218 of file rc_reconfigurable_module.h.

void next_trigger ( const sc_time &  t,
sc_event_and_list &  el 
) [inline, protected]

Definition at line 222 of file rc_reconfigurable_module.h.

void next_trigger ( double  v,
sc_time_unit  tu,
sc_event_and_list &  el 
) [inline, protected]

Definition at line 225 of file rc_reconfigurable_module.h.

void wait (  )  [inline, protected]

Calls ReChannel::rc_wait().

Definition at line 234 of file rc_reconfigurable_module.h.

void wait ( int  n  )  [inline, protected]

Definition at line 237 of file rc_reconfigurable_module.h.

void wait ( const sc_event &  e  )  [inline, protected]

Definition at line 240 of file rc_reconfigurable_module.h.

void wait ( sc_event_or_list &  el  )  [inline, protected]

Definition at line 243 of file rc_reconfigurable_module.h.

void wait ( sc_event_and_list &  el  )  [inline, protected]

Definition at line 246 of file rc_reconfigurable_module.h.

void wait ( const sc_time &  t  )  [inline, protected]

Definition at line 249 of file rc_reconfigurable_module.h.

void wait ( double  v,
sc_time_unit  tu 
) [inline, protected]

Definition at line 252 of file rc_reconfigurable_module.h.

void wait ( const sc_time &  t,
const sc_event &  e 
) [inline, protected]

Definition at line 255 of file rc_reconfigurable_module.h.

void wait ( double  v,
sc_time_unit  tu,
const sc_event &  e 
) [inline, protected]

Definition at line 258 of file rc_reconfigurable_module.h.

void wait ( const sc_time &  t,
sc_event_or_list &  el 
) [inline, protected]

Definition at line 261 of file rc_reconfigurable_module.h.

void wait ( double  v,
sc_time_unit  t,
sc_event_or_list &  el 
) [inline, protected]

Definition at line 264 of file rc_reconfigurable_module.h.

void wait ( const sc_time &  t,
sc_event_and_list &  el 
) [inline, protected]

Definition at line 267 of file rc_reconfigurable_module.h.

void wait ( double  v,
sc_time_unit  tu,
sc_event_and_list &  el 
) [inline, protected]

Definition at line 270 of file rc_reconfigurable_module.h.


The documentation for this class was generated from the following file:
Generated on Tue Jan 1 23:14:14 2008 for ReChannel by  doxygen 1.5.3