summaryrefslogtreecommitdiff
path: root/src/systemc/ext/tlm_core/tlm_1/tlm_analysis
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/ext/tlm_core/tlm_1/tlm_analysis')
-rw-r--r--src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h16
-rw-r--r--src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h46
-rw-r--r--src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h19
-rw-r--r--src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_port.h88
-rw-r--r--src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_triple.h60
-rw-r--r--src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_write_if.h24
6 files changed, 118 insertions, 135 deletions
diff --git a/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h b/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h
index 777f7141a..661399c60 100644
--- a/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h
+++ b/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h
@@ -17,17 +17,13 @@
*****************************************************************************/
-#ifndef __TLM_ANALYSIS_H__
-#define __TLM_ANALYSIS_H__
+#ifndef __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_H__
+#define __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_H__
-
-#include "tlm_core/tlm_1/tlm_analysis/tlm_write_if.h"
+#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h"
#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h"
-
-#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_triple.h"
#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_port.h"
-#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h"
-
-#endif
-
+#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_triple.h"
+#include "tlm_core/tlm_1/tlm_analysis/tlm_write_if.h"
+#endif /* __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_H__ */
diff --git a/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h b/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h
index 1f01b2a8e..84807031f 100644
--- a/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h
+++ b/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h
@@ -17,38 +17,30 @@
*****************************************************************************/
-#ifndef __TLM_ANALYSIS_FIFO_H__
-#define __TLM_ANALYSIS_FIFO_H__
+#ifndef __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_FIFO_H__
+#define __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_FIFO_H__
-#include "tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo.h"
#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h"
#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_triple.h"
+#include "tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo.h"
-namespace tlm {
-
-template< typename T >
-class tlm_analysis_fifo :
- public tlm_fifo< T > ,
- public virtual tlm_analysis_if< T > ,
- public virtual tlm_analysis_if< tlm_analysis_triple< T > > {
-
- public:
-
- // analysis fifo is an unbounded tlm_fifo
-
- tlm_analysis_fifo( const char *nm ) : tlm_fifo<T>( nm , -16 ) {}
- tlm_analysis_fifo() : tlm_fifo<T>( -16 ) {}
-
- void write( const tlm_analysis_triple<T> &t ) {
- nb_put( t );
- }
-
- void write( const T &t ) {
- nb_put( t );
- }
-
+namespace tlm
+{
+
+template <typename T>
+class tlm_analysis_fifo : public tlm_fifo<T>,
+ public virtual tlm_analysis_if<T>,
+ public virtual tlm_analysis_if<tlm_analysis_triple<T>>
+{
+ public:
+ // analysis fifo is an unbounded tlm_fifo
+ tlm_analysis_fifo(const char *nm) : tlm_fifo<T>(nm, -16) {}
+ tlm_analysis_fifo() : tlm_fifo<T>(-16) {}
+
+ void write(const tlm_analysis_triple<T> &t) { nb_put(t); }
+ void write(const T &t) { nb_put(t); }
};
} // namespace tlm
-#endif
+#endif /* __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_FIFO_H__ */
diff --git a/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h b/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h
index bc24fee54..d1b91effc 100644
--- a/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h
+++ b/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h
@@ -17,23 +17,22 @@
*****************************************************************************/
-#ifndef __TLM_ANALYSIS_IF_H__
-#define __TLM_ANALYSIS_IF_H__
+#ifndef __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_IF_H__
+#define __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_IF_H__
#include "tlm_core/tlm_1/tlm_analysis/tlm_write_if.h"
-namespace tlm {
+namespace tlm
+{
-template < typename T >
+template <typename T>
class tlm_analysis_if : public virtual tlm_write_if<T>
-{
-};
+{};
-template < typename T >
+template <typename T>
class tlm_delayed_analysis_if : public virtual tlm_delayed_write_if<T>
-{
-};
+{};
} // namespace tlm
-#endif
+#endif /* __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_IF_H__ */
diff --git a/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_port.h b/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_port.h
index 999092538..5195417a8 100644
--- a/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_port.h
+++ b/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_port.h
@@ -17,68 +17,62 @@
*****************************************************************************/
-#ifndef __TLM_ANALYSIS_PORT_H__
-#define __TLM_ANALYSIS_PORT_H__
+#ifndef __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_PORT_H__
+#define __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_PORT_H__
-#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h"
-#include <deque>
#include <algorithm>
+#include <deque>
-namespace tlm {
-
+#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h"
-template < typename T>
-class tlm_analysis_port :
- public sc_core::sc_object ,
- public virtual tlm_analysis_if< T >
+namespace tlm
{
- public:
- tlm_analysis_port() : sc_core::sc_object() {}
- tlm_analysis_port( const char *nm ) : sc_core::sc_object( nm ) {}
- // bind and () work for both interfaces and analysis ports, since
- // analysis ports implement the analysis interface
-
- virtual void bind( tlm_analysis_if<T> &_if ) {
- m_interfaces.push_back( &_if );
- }
-
- void operator() ( tlm_analysis_if<T> &_if ) { bind( _if ); }
-
- virtual bool unbind( tlm_analysis_if<T> &_if ) {
+template <typename T>
+class tlm_analysis_port : public sc_core::sc_object,
+ public virtual tlm_analysis_if<T>
+{
+ public:
+ tlm_analysis_port() : sc_core::sc_object() {}
+ tlm_analysis_port(const char *nm) : sc_core::sc_object(nm) {}
- typename std::deque< tlm_analysis_if<T> * >::iterator i
- = std::remove( m_interfaces.begin(), m_interfaces.end(), &_if );
+ // bind and () work for both interfaces and analysis ports, since
+ // analysis ports implement the analysis interface.
- if( i != m_interfaces.end() ) {
- m_interfaces.erase(i, m_interfaces.end() );
- return 1;
+ virtual void
+ bind(tlm_analysis_if<T> &_if)
+ {
+ m_interfaces.push_back(&_if);
}
- return 0;
-
- }
-
- void write( const T &t ) {
- typename std::deque< tlm_analysis_if<T> * >::iterator i;
-
- for( i = m_interfaces.begin();
- i != m_interfaces.end();
- i++ ) {
-
- (*i)->write( t );
-
+ void operator() (tlm_analysis_if<T> &_if) { bind(_if); }
+ virtual bool
+ unbind(tlm_analysis_if<T> &_if)
+ {
+ typename std::deque<tlm_analysis_if<T> *>::iterator i =
+ std::remove(m_interfaces.begin(), m_interfaces.end(), &_if);
+
+ if (i != m_interfaces.end()) {
+ m_interfaces.erase(i, m_interfaces.end());
+ return 1;
+ }
+ return 0;
}
- }
+ void
+ write(const T &t)
+ {
+ typename std::deque<tlm_analysis_if<T> *>::iterator i;
- private:
- std::deque< tlm_analysis_if<T> * > m_interfaces;
+ for (i = m_interfaces.begin(); i != m_interfaces.end(); i++) {
+ (*i)->write(t);
+ }
+ }
+ private:
+ std::deque<tlm_analysis_if<T> *> m_interfaces;
};
} // namespace tlm
-#endif
-
-
+#endif /* __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_PORT_H__ */
diff --git a/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_triple.h b/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_triple.h
index f65a25a2e..9727f23e5 100644
--- a/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_triple.h
+++ b/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_analysis_triple.h
@@ -17,37 +17,37 @@
*****************************************************************************/
-#ifndef __TLM_ANALYSIS_TRIPLE_H__
-#define __TLM_ANALYSIS_TRIPLE_H__
-
-//#include <systemc>
-
-namespace tlm {
-
-template< typename T>
-struct tlm_analysis_triple {
-
- sc_core::sc_time start_time;
- T transaction;
- sc_core::sc_time end_time;
-
- tlm_analysis_triple() {}
-
- tlm_analysis_triple( const tlm_analysis_triple &triple ) {
- start_time = triple.start_time;
- transaction = triple.transaction;
- end_time = triple.end_time;
- }
-
- tlm_analysis_triple( const T &t ) {
- transaction = t;
- }
-
- operator T() { return transaction; }
- operator const T &() const { return transaction; }
-
+#ifndef __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_TRIPLE_H__
+#define __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_TRIPLE_H__
+
+namespace tlm
+{
+
+template <typename T>
+struct tlm_analysis_triple
+{
+ sc_core::sc_time start_time;
+ T transaction;
+ sc_core::sc_time end_time;
+
+ tlm_analysis_triple() {}
+
+ tlm_analysis_triple(const tlm_analysis_triple &triple)
+ {
+ start_time = triple.start_time;
+ transaction = triple.transaction;
+ end_time = triple.end_time;
+ }
+
+ tlm_analysis_triple(const T &t)
+ {
+ transaction = t;
+ }
+
+ operator T() { return transaction; }
+ operator const T &() const { return transaction; }
};
} // namespace tlm
-#endif
+#endif /* __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_ANALYSIS_TRIPLE_H__ */
diff --git a/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_write_if.h b/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_write_if.h
index b66a591bc..3d77f880d 100644
--- a/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_write_if.h
+++ b/src/systemc/ext/tlm_core/tlm_1/tlm_analysis/tlm_write_if.h
@@ -17,26 +17,28 @@
*****************************************************************************/
-#ifndef __TLM_WRITE_IF_H__
-#define __TLM_WRITE_IF_H__
+#ifndef __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_WRITE_IF_H__
+#define __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_WRITE_IF_H__
#include <systemc>
-namespace tlm {
+namespace tlm
+{
template <typename T>
-class tlm_write_if : public virtual sc_core::sc_interface {
-public:
- virtual void write(const T& t) = 0;
+class tlm_write_if : public virtual sc_core::sc_interface
+{
+ public:
+ virtual void write(const T &t) = 0;
};
template <typename T>
-class tlm_delayed_write_if : public virtual sc_core::sc_interface {
-public:
- virtual void write(const T& t, const sc_core::sc_time& time) = 0;
+class tlm_delayed_write_if : public virtual sc_core::sc_interface
+{
+ public:
+ virtual void write(const T &t, const sc_core::sc_time &time) = 0;
};
} // namespace tlm
-
-#endif
+#endif /* __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_ANALYSIS_TLM_WRITE_IF_H__ */