source: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_architecture.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.6 KB
Line 
1#ifdef VHDL
2
3/*
4 * $Id: Vhdl_get_architecture.cpp 113 2009-04-14 18:39:12Z rosiere $
5 *
6 * [ Description ]
7 *
8 */
9
10#include "Behavioural/include/Vhdl.h"
11#include "Common/include/Tabulation.h"
12
13namespace morpheo              {
14namespace behavioural          {
15 
16#undef  FUNCTION
17#define FUNCTION "Vhdl::get_architecture"
18  std::string Vhdl::get_architecture (uint32_t    depth      ,
19                                      std::string entity_name)
20  {
21    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
22
23    std::ostringstream text;
24    std::string name_architecture_old = _name_architecture;
25    std::string tab=morpheo::tab(depth);
26
27    for (std::map<std::string,vhdl_architecture_t>::iterator it = _architecture.begin();
28         it!=_architecture.end();
29         ++it)
30      {
31        std::string name = it->first;
32        set_architecture(name);
33
34        text << tab << "architecture " << name << " of " << entity_name << " is" << std::endl
35             << tab << get_type     (depth+1)                                    << std::endl
36             << tab << get_signal   (depth+1)                                    << std::endl
37             << tab << get_alias    (depth+1)                                    << std::endl
38             << tab << "begin"                                                   << std::endl
39             << tab << get_body     (depth+1)                                    << std::endl
40             << tab << "end " << name << ";"                                     << std::endl;
41      }
42
43    set_architecture (name_architecture_old);
44
45    log_printf(FUNC,Behavioural,FUNCTION,"End");
46
47    return text.str();
48  };
49 
50}; // end namespace behavioural         
51}; // end namespace morpheo             
52
53#endif
Note: See TracBrowser for help on using the repository browser.