- Timestamp:
- Feb 16, 2010, 1:35:48 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Debug_signal.h
r129 r137 11 11 # ifdef DEBUG_SIGNAL 12 12 13 #include <set> 14 #include "Common/include/Message.h" 13 #include <map> 14 #include <list> 15 #include <string> 15 16 16 17 namespace morpheo { 17 18 namespace behavioural { 18 19 19 extern std::set<void *> _debug_signal; 20 class debug_signal 21 { 22 private : std::map <void *,std::string> _signal; 23 private : std::list<std::string> _signal_access; 24 25 public : void add (void * signal, 26 std::string name); 27 public : void write (void * signal); 28 public : void end_cycle (void); 29 public : void print (void); 30 }; 20 31 21 # define DEBUG_SIGNAL_ADD(signal) \ 32 extern debug_signal _debug_signal; 33 34 # define DEBUG_SIGNAL_ADD(signal,name) \ 22 35 do \ 23 36 { \ 24 morpheo::behavioural::_debug_signal. insert(static_cast<void *>( signal));\37 morpheo::behavioural::_debug_signal.add(signal,name); \ 25 38 } while(0) 39 40 // Test if signal is previously define 26 41 27 # define DEBUG_SIGNAL_ ACCESS(signal)\42 # define DEBUG_SIGNAL_WRITE(signal) \ 28 43 do \ 29 44 { \ 30 if (morpheo::behavioural::_debug_signal.find(static_cast<void *>(signal)) == morpheo::behavioural::_debug_signal.end()) \ 31 msgError("At file %s, in line %d, invalid signal.\n",__FILE__,__LINE__); \ 45 morpheo::behavioural::_debug_signal.write(signal); \ 32 46 } while(0) 47 48 # define DEBUG_SIGNAL_END_CYCLE() \ 49 do \ 50 { \ 51 morpheo::behavioural::_debug_signal.end_cycle(); \ 52 } while (0) 53 54 # define DEBUG_SIGNAL_PRINT() \ 55 do \ 56 { \ 57 morpheo::behavioural::_debug_signal.print(); \ 58 } while (0) 33 59 34 60 }; // end namespace behavioural 35 61 }; // end namespace morpheo 36 62 # else 37 # define DEBUG_SIGNAL_ADD(signal) do {} while (0) 38 # define DEBUG_SIGNAL_ACCESS(signal) do {} while (0) 63 # define DEBUG_SIGNAL_ADD(signal,name) do {} while (0) 64 # define DEBUG_SIGNAL_WRITE(signal) do {} while (0) 65 # define DEBUG_SIGNAL_END_CYCLE() do {} while (0) 66 # define DEBUG_SIGNAL_PRINT() do {} while (0) 39 67 # endif 40 68
Note: See TracChangeset
for help on using the changeset viewer.