source: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_list.cpp

Last change on this file was 113, checked in by rosiere, 15 years ago

1) Add modelsim simulation systemC
2) Modelsim cosimulation systemC / VHDL is not finish !!!! (cf execute_queue and write_unit)
3) Add multi architecture
5) Add template for comparator, multiplier and divider
6) Change Message
Warning) Various test macro have change, many selftest can't compile

  • Property svn:keywords set to Id
File size: 1.2 KB
Line 
1#ifdef VHDL
2
3/*
4 * $Id: Vhdl_get_list.cpp 113 2009-04-14 18:39:12Z rosiere $
5 *
6 * [ Description ]
7 *
8 */
9
10#include "Behavioural/include/Vhdl.h"
11
12#include <sstream>
13
14namespace morpheo              {
15namespace behavioural          {
16 
17#undef  FUNCTION
18#define FUNCTION "Vhdl::get_list"
19  std::string Vhdl::get_list (std::list<std::string> liste         ,
20                              uint32_t               depth         ,
21                              std::string            separator     ,
22                              bool                   last_separator)
23  {
24    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
25
26    std::list<std::string>::iterator i     = liste.begin();
27    bool                             empty = liste.empty();
28
29    std::string                 tab   = std::string(depth,'\t');
30    std::ostringstream          text;
31
32    if (not empty)
33      {
34        // First
35        if (i != liste.end())
36          {
37            text << tab << *i;
38            ++i;
39          }
40       
41        while (i != liste.end())
42          {
43            text << separator << std::endl;
44            text << tab << *i;
45            ++i;
46          }
47       
48        if (last_separator)
49          text << separator << std::endl;
50      }
51
52    log_printf(FUNC,Behavioural,FUNCTION,"End");
53
54    return text.str();
55  };
56 
57}; // end namespace behavioural         
58}; // end namespace morpheo             
59
60#endif
Note: See TracBrowser for help on using the repository browser.