Ignore:
Timestamp:
Apr 20, 2009, 11:29:17 PM (15 years ago)
Author:
rosiere
Message:

1) Write queue with mealy
2) Network : fix bug
3) leak memory

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Types.h

    r97 r115  
    1919namespace write_unit {
    2020namespace write_queue {
     21
     22  typedef enum
     23    {
     24       WRITE_QUEUE_SCHEME_MOORE // Write register and pop is not in same cycle
     25      ,WRITE_QUEUE_SCHEME_MEALY // Write register and pop can be in same cycle
     26    } Twrite_queue_scheme_t;
    2127
    2228  class write_queue_entry_t
     
    7884}; // end namespace multi_execute_loop
    7985}; // end namespace core
     86}; // end namespace behavioural
    8087
    81 }; // end namespace behavioural
     88  template<> inline std::string toString<morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue::Twrite_queue_scheme_t>(const morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue::Twrite_queue_scheme_t& x)
     89  {
     90    switch (x)
     91      {
     92      case morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue::WRITE_QUEUE_SCHEME_MOORE : return "moore"; break;
     93      case morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue::WRITE_QUEUE_SCHEME_MEALY : return "mealy"; break;
     94      default : return ""; break;
     95      }
     96  };
     97
     98  template<> inline morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue::Twrite_queue_scheme_t fromString<morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue::Twrite_queue_scheme_t>(const std::string& x)
     99  {
     100    if ( (x.compare(toString(static_cast<uint32_t>(morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue::WRITE_QUEUE_SCHEME_MOORE))) == 0) or
     101         (x.compare("moore") == 0))
     102      return morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue::WRITE_QUEUE_SCHEME_MOORE;
     103    if ( (x.compare(toString(static_cast<uint32_t>(morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue::WRITE_QUEUE_SCHEME_MEALY))) == 0) or
     104         (x.compare("mealy") == 0))
     105      return morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_write_unit::write_unit::write_queue::WRITE_QUEUE_SCHEME_MEALY;
     106   
     107    throw (ErrorMorpheo ("<fromString> : Unknow string : \""+x+"\""));
     108  };
     109
    82110}; // end namespace morpheo             
    83111
Note: See TracChangeset for help on using the changeset viewer.