source: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_set_signal.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.8 KB
Line 
1#ifdef VHDL
2
3/*
4 * $Id: Vhdl_set_signal.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/ToBase2.h"
12#include <sstream>
13
14namespace morpheo              {
15namespace behavioural          {
16 
17#undef  FUNCTION
18#define FUNCTION "Vhdl::set_signal"
19
20  void Vhdl::set_signal (std::string      name     ,
21                         std::string      type     )
22  {
23    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
24
25    test_architecture();
26
27    set_list(_architecture[_name_architecture]._list_signal, "signal "+ name + "\t: " + type);
28   
29    log_printf(FUNC,Behavioural,FUNCTION,"End");
30  };
31
32  void Vhdl::set_signal (std::string      name     ,
33                         uint32_t         size     )
34  {
35    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
36    set_signal(name,std_logic(size));
37    log_printf(FUNC,Behavioural,FUNCTION,"End");
38  }
39
40  void Vhdl::set_signal (std::string      name     ,
41                         std::string      type     ,
42                         std::string      init)
43  {
44    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
45
46    test_architecture();
47   
48    _architecture[_name_architecture]._list_signal.push_back ("signal "+ name+"\t: "+type+"\t:= "+init);
49
50    log_printf(FUNC,Behavioural,FUNCTION,"End");
51  };
52
53  void Vhdl::set_signal (std::string      name     ,
54                         uint32_t    size     ,
55                         std::string      init     )
56  {
57    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
58    set_signal(name,std_logic(size),init);
59    log_printf(FUNC,Behavioural,FUNCTION,"End");
60  };
61  void Vhdl::set_signal (std::string      name     ,
62                         uint32_t    size     ,
63                         uint32_t    init     )
64  {
65    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
66    set_signal(name,std_logic(size),std_logic_cst(size,init));
67    log_printf(FUNC,Behavioural,FUNCTION,"End");
68  };
69
70 
71}; // end namespace behavioural         
72}; // end namespace morpheo             
73
74#endif
Note: See TracBrowser for help on using the repository browser.