All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
systemc_definitions.h
Go to the documentation of this file.
1 #ifndef SYSTEMC_DEFINITION_H_INCLUDED_
2 #define SYSTEMC_DEFINITION_H_INCLUDED_
3 
4 #include "rose.h"
5 
6 #include "rose_nodes.h"
7 
8 namespace risc {
9 
10 namespace tools {
11 
17 
18 public:
19 
24  static SgClassDefinition* get_sc_module()
25  {
27  return sc_module_;
28  }
29 
34  static SgClassDefinition* get_sc_port()
35  {
37  return sc_port_;
38  }
39 
44  static SgClassDefinition* get_sc_port_base()
45  {
47  return sc_port_base_;
48  }
49 
54  static SgClassDefinition* get_tlm_base_initiator_socket_b()
55  {
58  }
59 
64  static SgClassDefinition* get_tlm_base_target_socket_b()
65  {
68  }
69 
74  static SgClassDefinition* get_sc_in()
75  {
77  return sc_in_;
78  }
79 
84  static SgClassDefinition* get_sc_out()
85  {
87  return sc_out_;
88  }
89 
94  static SgClassDefinition* get_sc_inout()
95  {
97  return sc_inout_;
98  }
99 
104  static SgClassDefinition* get_sc_event()
105  {
106  if (!is_initialized_) initialize();
107  return sc_event_;
108  }
109 
114  static SgClassDefinition* get_sc_event_and_list()
115  {
116  if (!is_initialized_) initialize();
117  return sc_event_and_list_;
118  }
119 
124  static SgClassDefinition* get_sc_event_or_list()
125  {
126  if (!is_initialized_) initialize();
127  return sc_event_or_list_;
128  }
129 
134  static SgClassDefinition* get_sc_prim_channel()
135  {
136  if (!is_initialized_) initialize();
137  return sc_prim_channel_;
138  }
139 
144  static SgClassDefinition* get_sc_interface()
145  {
146  if (!is_initialized_) initialize();
147  return sc_interface_;
148  }
149 
154  static SgClassDefinition* get_sc_channel()
155  {
156  if (!is_initialized_) initialize();
157  return sc_channel_;
158  }
159 
164  static SgClassDefinition* get_sc_in_clk()
165  {
166  if (!is_initialized_) initialize();
167  return sc_in_clk_;
168  }
169 
174  static SgClassDefinition* get_sc_out_clk()
175  {
176  if (!is_initialized_) initialize();
177  return sc_out_clk_;
178  }
179 
184  static SgClassDefinition* get_sc_inout_clk()
185  {
186  if (!is_initialized_) initialize();
187  return sc_inout_clk_;
188  }
189 
194  static SgClassDefinition* get_sc_fifo()
195  {
196  if (!is_initialized_) initialize();
197  return sc_fifo_;
198  }
199 
204  static SgClassDefinition* get_sc_fifo_in()
205  {
206  if (!is_initialized_) initialize();
207  return sc_fifo_in_;
208  }
209 
214  static SgClassDefinition* get_sc_fifo_out()
215  {
216  if (!is_initialized_) initialize();
217  return sc_fifo_out_;
218  }
219 
224  static SgFunctionDefinition* get_sc_main()
225  {
226  if (!is_initialized_) initialize();
227 // RD: in PSG mode, this won't be found, so we delay the error until it's needed
228  if (!sc_main_) { // complain if not found (RD, 07/06/18)
229  std::cerr << std::endl << "ERROR: Cannot find definition of function '"
230  << "sc_main" << "' (in source code). Aborting."
231  << std::endl;
232  exit(10);
233  }
234  return sc_main_;
235  }
236 
241  static SgClassDefinition* get_sc_simcontext()
242  {
243  if (!is_initialized_) initialize();
244  return sc_simcontext_;
245  }
246 
251  static SgClassDefinition* get_sc_segid()
252  {
253  if (!is_initialized_) initialize();
254  return sc_segid_;
255  }
256 
261  static SgClassDefinition* get_sc_time()
262  {
263  if (!is_initialized_) initialize();
264  return sc_time_;
265  }
266 
271  static SgClassDefinition* get_sc_process_b()
272  {
273  if (!is_initialized_) initialize();
274  return sc_process_b_;
275  }
276 
281  static SgFunctionDeclaration* get_sc_curr_proc()
282  {
283  if (!is_initialized_) initialize();
284  return sc_get_curr_proc_;
285  }
286 
291  static SgFunctionDeclaration* get_sc_segid_ctor()
292  {
293  if (!is_initialized_) initialize();
294  return sc_segid_ctor_;
295  }
296 
301  static SgFunctionDeclaration* get_sc_get_curr_simcontext()
302  {
303  if (!is_initialized_) initialize();
305  }
306 
311  static SgFunctionDeclaration* get_sc_stop()
312  {
313  if (!is_initialized_) initialize();
314  return sc_stop_;
315  }
316 
321  static SgFunctionDeclaration* get_get_upcoming_segment_ids()
322  {
323  if (!is_initialized_) initialize();
325  }
326 
331  static SgFunctionDeclaration* get_set_upcoming_segment_ids()
332  {
333  if (!is_initialized_) initialize();
335  }
336 
341  static SgFunctionDeclaration* get_get_upcoming_socket_id()
342  {
343  if (!is_initialized_) initialize();
345  }
346 
351  static SgFunctionDeclaration* get_set_upcoming_socket_id()
352  {
353  if (!is_initialized_) initialize();
355  }
356 
361  static SgFunctionDeclaration* get_increase_offset()
362  {
363  if (!is_initialized_) initialize();
364  return increase_offset_;
365  }
366 
371  static SgFunctionDeclaration* get_decrease_offset()
372  {
373  if (!is_initialized_) initialize();
374  return decrease_offset_;
375  }
376 
381  static SgFunctionDeclaration* get_get_offset()
382  {
383  if (!is_initialized_) initialize();
384  return get_offset_;
385  }
386 
391  static const std::vector<SgNamespaceDefinitionStatement*>& get_sc_core()
392  {
393  if (!is_initialized_) initialize();
394  return sc_core_;
395  }
396 
401  static const std::vector<SgNamespaceDefinitionStatement*>& get_sc_dt()
402  {
403  if (!is_initialized_) initialize();
404  return sc_dt_;
405  }
406 
411  static const std::set<SgFunctionDefinition*>& get_sc_wait_funcs()
412  {
413  if (!is_initialized_) initialize();
414  return sc_wait_funcs_;
415  }
416 
421  static const SgMemberFunctionDeclaration* get_interface()
422  {
423  if (!is_initialized_) initialize();
424  return get_interface_;
425  }
426 
431  static const SgMemberFunctionDeclaration* get_base_interface()
432  {
433  if (!is_initialized_) initialize();
434  return get_base_interface_;
435  }
436 
441  static const SgMemberFunctionDeclaration* get_base_port()
442  {
443  if (!is_initialized_) initialize();
444  return get_base_port_;
445  }
446 
447 
448 
449 private:
450 
456  static void initialize();
457 
458  /*
459  * \brief Pointer to the sc_module definition in the rose ast tree
460  */
461  static SgClassDefinition *sc_module_;
462  static SgClassDefinition *sc_port_;
463  static SgClassDefinition *sc_port_base_;
464  static SgClassDefinition *sc_in_;
465  static SgClassDefinition *sc_out_;
466  static SgClassDefinition *sc_inout_;
467  static SgClassDefinition *sc_event_;
468  static SgClassDefinition *sc_event_and_list_;
469  static SgClassDefinition *sc_event_or_list_;
470  static SgClassDefinition *sc_prim_channel_;
471  static SgClassDefinition *sc_interface_;
472  static SgClassDefinition *sc_fifo_;
473  static SgClassDefinition *sc_fifo_in_;
474  static SgClassDefinition *sc_fifo_out_;
475  static SgClassDefinition *sc_simcontext_;
476  static SgClassDefinition *sc_segid_;
477  static SgClassDefinition *sc_time_;
478  static SgClassDefinition *sc_process_b_;
479 
480  // This is a hack. Please see the comment in the source file.
481  static SgClassDefinition *sc_channel_;
482  static SgClassDefinition *sc_in_clk_;
483  static SgClassDefinition *sc_out_clk_;
484  static SgClassDefinition *sc_inout_clk_;
485 
486  static SgClassDefinition *tlm_base_initiator_socket_b_;
487  static SgClassDefinition *tlm_base_target_socket_b_;
488 
489  static SgFunctionDefinition *sc_main_;
490  static SgFunctionDeclaration *sc_get_curr_simcontext_;
491  static SgFunctionDeclaration *sc_stop_;
492  static SgMemberFunctionDeclaration *sc_get_curr_proc_;
493  static SgMemberFunctionDeclaration *sc_segid_ctor_;
494  static SgMemberFunctionDeclaration *get_upcoming_segment_ids_;
495  static SgMemberFunctionDeclaration *set_upcoming_segment_ids_;
496  static SgMemberFunctionDeclaration *get_upcoming_socket_id_;
497  static SgMemberFunctionDeclaration *set_upcoming_socket_id_;
498 
499  static SgMemberFunctionDeclaration *increase_offset_;
500  static SgMemberFunctionDeclaration *decrease_offset_;
501  static SgMemberFunctionDeclaration *get_offset_;
502 
503  static SgMemberFunctionDeclaration *get_interface_;
504  static SgMemberFunctionDeclaration *get_base_interface_;
505  static SgMemberFunctionDeclaration *get_base_port_;
506 
507  // Namespace of systemc
508  static std::vector<SgNamespaceDefinitionStatement*> sc_core_;
509  static std::vector<SgNamespaceDefinitionStatement*> sc_dt_;
510 
511  // Wait functions
512  static std::set<SgFunctionDefinition*> sc_wait_funcs_;
513 
514  static bool is_initialized_;
515 };
516 
517 // NEW: efficient type comparison functions (RD, 07/14/18)
518 
519 inline bool is_type_sc_module(SgType *type)
520 {
521  return type->stripTypedefsAndModifiers() ==
523  ->get_declaration()->get_type();
524 }
525 
530 inline bool is_type_sc_port(SgType *type)
531 {
532  return type->stripTypedefsAndModifiers() ==
534  ->get_declaration()->get_type();
535 }
536 
541 inline bool is_type_sc_port_base(SgType *type)
542 {
543  return type->stripTypedefsAndModifiers() ==
545  ->get_declaration()->get_type();
546 }
547 
552 inline bool is_type_sc_in(SgType *type)
553 {
554  return type->stripTypedefsAndModifiers() ==
556  ->get_declaration()->get_type();
557 }
558 
563 inline bool is_type_sc_out(SgType *type)
564 {
565  return type->stripTypedefsAndModifiers() ==
567  ->get_declaration()->get_type();
568 }
569 
574 inline bool is_type_sc_inout(SgType *type)
575 {
576  return type->stripTypedefsAndModifiers() ==
578  ->get_declaration()->get_type();
579 }
580 
585 inline bool is_type_sc_event(SgType *type)
586 {
587  return type->stripTypedefsAndModifiers() ==
589  ->get_declaration()->get_type();
590 }
591 
596 inline bool is_type_sc_event_and_list(SgType *type)
597 {
598  return type->stripTypedefsAndModifiers() ==
600  ->get_declaration()->get_type();
601 }
602 
607 inline bool is_type_sc_event_or_list(SgType *type)
608 {
609  return type->stripTypedefsAndModifiers() ==
611  ->get_declaration()->get_type();
612 }
613 
618 inline bool is_type_sc_prim_channel(SgType *type)
619 {
620  return type->stripTypedefsAndModifiers() ==
622  ->get_declaration()->get_type();
623 }
624 
629 inline bool is_type_sc_interface(SgType *type)
630 {
631  return type->stripTypedefsAndModifiers() ==
633  ->get_declaration()->get_type();
634 }
635 
640 inline bool is_type_sc_fifo(SgType *type)
641 {
642  return type->stripTypedefsAndModifiers() ==
644  ->get_declaration()->get_type();
645 }
646 
651 inline bool is_type_sc_fifo_in(SgType *type)
652 {
653  return type->stripTypedefsAndModifiers() ==
655  ->get_declaration()->get_type();
656 }
657 
662 inline bool is_type_sc_fifo_out(SgType *type)
663 {
664  return type->stripTypedefsAndModifiers() ==
666  ->get_declaration()->get_type();
667 }
668 
673 inline bool is_type_sc_simcontext(SgType *type)
674 {
675  return type->stripTypedefsAndModifiers() ==
677  ->get_declaration()->get_type();
678 }
679 
684 inline bool is_type_sc_segid(SgType *type)
685 {
686  return type->stripTypedefsAndModifiers() ==
688  ->get_declaration()->get_type();
689 }
690 
695 inline bool is_type_sc_time(SgType *type)
696 {
697  return type->stripTypedefsAndModifiers() ==
699  ->get_declaration()->get_type();
700 }
701 
706 inline bool is_type_sc_process_b(SgType *type)
707 {
708  return type->stripTypedefsAndModifiers() ==
710  ->get_declaration()->get_type();
711 }
712 
717 inline bool is_type_sc_channel(SgType *type)
718 {
719  return type->stripTypedefsAndModifiers() ==
721  ->get_declaration()->get_type();
722 }
723 
728 inline bool is_type_sc_in_clk(SgType *type)
729 {
730  return type->stripTypedefsAndModifiers() ==
732  ->get_declaration()->get_type();
733 }
734 
739 inline bool is_type_sc_out_clk(SgType *type)
740 {
741  return type->stripTypedefsAndModifiers() ==
743  ->get_declaration()->get_type();
744 }
745 
750 inline bool is_type_sc_inout_clk(SgType *type)
751 {
752  return type->stripTypedefsAndModifiers() ==
754  ->get_declaration()->get_type();
755 }
756 
757 }; // end of namespace tools
758 
759 }; // end of namespace risc
760 
761 #endif /* SYSTEMC_DEFINITION_H_INCLUDED_ */
762 
763 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */
static SgClassDefinition * get_sc_module()
Get the sc_module_ class definition in SystemC library.
Definition: systemc_definitions.h:24
static SgClassDefinition * get_sc_prim_channel()
Get the sc_prim_channel_ class definition in SystemC library.
Definition: systemc_definitions.h:134
static SgFunctionDefinition * get_sc_main()
Get the sc_main function definition.
Definition: systemc_definitions.h:224
static SgClassDefinition * get_sc_event_or_list()
Get the sc_event_or_list_ class definition in SystemC library.
Definition: systemc_definitions.h:124
static SgMemberFunctionDeclaration * sc_segid_ctor_
Definition: systemc_definitions.h:493
static SgClassDefinition * sc_time_
Definition: systemc_definitions.h:477
static SgFunctionDeclaration * get_sc_curr_proc()
Get the sc_get_curr_proc_ function declaration in SystemC library.
Definition: systemc_definitions.h:281
static SgClassDefinition * get_sc_process_b()
Get the sc_process_b_ class definition in SystemC library.
Definition: systemc_definitions.h:271
static SgFunctionDeclaration * get_get_offset()
Get the get_offset_ function declaration in SystemC library.
Definition: systemc_definitions.h:381
static SgFunctionDeclaration * sc_stop_
Definition: systemc_definitions.h:491
static SgMemberFunctionDeclaration * get_offset_
Definition: systemc_definitions.h:501
static SgMemberFunctionDeclaration * set_upcoming_segment_ids_
Definition: systemc_definitions.h:495
bool is_type_sc_event(SgType *type)
Check if the type is a sc_event.
Definition: systemc_definitions.h:585
static SgClassDefinition * sc_module_
Definition: systemc_definitions.h:461
static SgFunctionDeclaration * get_sc_segid_ctor()
Get the sc_segid_ctor_ function declaration in SystemC library.
Definition: systemc_definitions.h:291
static const std::vector< SgNamespaceDefinitionStatement * > & get_sc_core()
Get the sc_core_ namespace in SystemC library.
Definition: systemc_definitions.h:391
static SgClassDefinition * get_sc_inout()
Get the sc_inout_ class definition in SystemC library.
Definition: systemc_definitions.h:94
static SgFunctionDeclaration * get_set_upcoming_segment_ids()
Get the set_upcoming_segment_ids_ function declaration in SystemC library.
Definition: systemc_definitions.h:331
static SgClassDefinition * get_sc_event_and_list()
Get the sc_event_and_list_ class definition in SystemC library.
Definition: systemc_definitions.h:114
static SgClassDefinition * get_sc_fifo_out()
Get the sc_fifo_out_ class definition in SystemC library.
Definition: systemc_definitions.h:214
static SgClassDefinition * sc_out_
Definition: systemc_definitions.h:465
static SgFunctionDeclaration * get_set_upcoming_socket_id()
Get the set_upcoming_socket_id_ function declaration in SystemC library.
Definition: systemc_definitions.h:351
static SgClassDefinition * get_sc_fifo()
Get the sc_fifo_ class definition in SystemC library.
Definition: systemc_definitions.h:194
static SgFunctionDeclaration * get_get_upcoming_segment_ids()
Get the get_upcoming_segment_ids_ function declaration in SystemC library.
Definition: systemc_definitions.h:321
static SgClassDefinition * sc_fifo_in_
Definition: systemc_definitions.h:473
static SgClassDefinition * get_tlm_base_initiator_socket_b()
Get the tlm_base_initiator_socket_b_ class definition in SystemC library.
Definition: systemc_definitions.h:54
static SgClassDefinition * get_sc_event()
Get the sc_event_ class definition in SystemC library.
Definition: systemc_definitions.h:104
static SgMemberFunctionDeclaration * increase_offset_
Definition: systemc_definitions.h:499
static SgClassDefinition * sc_event_
Definition: systemc_definitions.h:467
static SgClassDefinition * get_sc_out_clk()
Get the sc_out_clk_ class definition in SystemC library.
Definition: systemc_definitions.h:174
static SgClassDefinition * get_sc_in_clk()
Get the sc_in_clk_ class definition in SystemC library.
Definition: systemc_definitions.h:164
static SgClassDefinition * get_sc_time()
Get the sc_time_ class definition in SystemC library.
Definition: systemc_definitions.h:261
static const SgMemberFunctionDeclaration * get_interface()
Get the get_interface_ function declaration in SystemC library.
Definition: systemc_definitions.h:421
bool is_type_sc_port(SgType *type)
Check if the type is a sc_port.
Definition: systemc_definitions.h:530
static SgMemberFunctionDeclaration * get_base_interface_
Definition: systemc_definitions.h:504
bool is_type_sc_segid(SgType *type)
Check if the type is a sc_segid.
Definition: systemc_definitions.h:684
bool is_type_sc_fifo(SgType *type)
Check if the type is a sc_fifo.
Definition: systemc_definitions.h:640
static SgMemberFunctionDeclaration * decrease_offset_
Definition: systemc_definitions.h:500
static SgClassDefinition * sc_out_clk_
Definition: systemc_definitions.h:483
bool is_type_sc_inout_clk(SgType *type)
Check if the type is a sc_inout_clk.
Definition: systemc_definitions.h:750
static SgClassDefinition * get_sc_segid()
Get the sc_segid_ class definition in SystemC library.
Definition: systemc_definitions.h:251
static SgClassDefinition * get_sc_in()
Get the sc_in_ class definition in SystemC library.
Definition: systemc_definitions.h:74
static SgClassDefinition * tlm_base_initiator_socket_b_
Definition: systemc_definitions.h:486
static SgClassDefinition * get_sc_inout_clk()
Get the sc_inout_clk_ class definition in SystemC library.
Definition: systemc_definitions.h:184
bool is_type_sc_module(SgType *type)
Definition: systemc_definitions.h:519
bool is_type_sc_simcontext(SgType *type)
Check if the type is a sc_simcontext.
Definition: systemc_definitions.h:673
bool is_type_sc_time(SgType *type)
Check if the type is a sc_time.
Definition: systemc_definitions.h:695
bool is_type_sc_interface(SgType *type)
Check if the type is a sc_interface.
Definition: systemc_definitions.h:629
static SgClassDefinition * sc_simcontext_
Definition: systemc_definitions.h:475
static SgFunctionDeclaration * sc_get_curr_simcontext_
Definition: systemc_definitions.h:490
static SgClassDefinition * sc_in_
Definition: systemc_definitions.h:464
static SgFunctionDeclaration * get_sc_get_curr_simcontext()
Get the sc_get_curr_simcontext_ function declaration in SystemC library.
Definition: systemc_definitions.h:301
static SgFunctionDeclaration * get_decrease_offset()
Get the decrease_offset_ function declaration in SystemC library.
Definition: systemc_definitions.h:371
static SgClassDefinition * sc_process_b_
Definition: systemc_definitions.h:478
This class stores all SystemC definition pointers This class does not need any initialization.
Definition: systemc_definitions.h:16
static SgClassDefinition * get_sc_channel()
Get the sc_channel_ class definition in SystemC library.
Definition: systemc_definitions.h:154
bool is_type_sc_out(SgType *type)
Check if the type is a sc_out.
Definition: systemc_definitions.h:563
static SgMemberFunctionDeclaration * sc_get_curr_proc_
Definition: systemc_definitions.h:492
static bool is_initialized_
Definition: systemc_definitions.h:514
static SgFunctionDeclaration * get_increase_offset()
Get the increase_offset_ function declaration in SystemC library.
Definition: systemc_definitions.h:361
bool is_type_sc_in(SgType *type)
Check if the type is a sc_in.
Definition: systemc_definitions.h:552
static SgClassDefinition * get_sc_port_base()
Get the sc_port_base_ class definition in SystemC library.
Definition: systemc_definitions.h:44
bool is_type_sc_event_and_list(SgType *type)
Check if the type is a sc_event_and_list.
Definition: systemc_definitions.h:596
static SgClassDefinition * sc_fifo_out_
Definition: systemc_definitions.h:474
static SgFunctionDeclaration * get_sc_stop()
Get the sc_stop function declaration in SystemC library.
Definition: systemc_definitions.h:311
bool is_type_sc_process_b(SgType *type)
Check if the type is a sc_process_b.
Definition: systemc_definitions.h:706
static SgClassDefinition * tlm_base_target_socket_b_
Definition: systemc_definitions.h:487
static void initialize()
Initialize all the needed SystemC class definitions and function declarations.
Definition: systemc_definitions.cpp:61
static SgClassDefinition * sc_inout_
Definition: systemc_definitions.h:466
static const SgMemberFunctionDeclaration * get_base_port()
Get the get_base_port_ function declaration in SystemC library.
Definition: systemc_definitions.h:441
static SgMemberFunctionDeclaration * get_base_port_
Definition: systemc_definitions.h:505
static SgClassDefinition * sc_event_and_list_
Definition: systemc_definitions.h:468
bool is_type_sc_out_clk(SgType *type)
Check if the type is a sc_out_clk.
Definition: systemc_definitions.h:739
static SgClassDefinition * sc_prim_channel_
Definition: systemc_definitions.h:470
static std::vector< SgNamespaceDefinitionStatement * > sc_core_
Definition: systemc_definitions.h:508
static SgClassDefinition * get_sc_interface()
Get the sc_interface_ class definition in SystemC library.
Definition: systemc_definitions.h:144
static SgClassDefinition * sc_fifo_
Definition: systemc_definitions.h:472
static SgClassDefinition * get_sc_out()
Get the sc_out_ class definition in SystemC library.
Definition: systemc_definitions.h:84
static SgMemberFunctionDeclaration * set_upcoming_socket_id_
Definition: systemc_definitions.h:497
bool is_type_sc_fifo_in(SgType *type)
Check if the type is a sc_fifo_in.
Definition: systemc_definitions.h:651
bool is_type_sc_channel(SgType *type)
Check if the type is a sc_port.
Definition: systemc_definitions.h:717
static std::set< SgFunctionDefinition * > sc_wait_funcs_
Definition: systemc_definitions.h:512
static SgClassDefinition * get_sc_fifo_in()
Get the sc_fifo_in_ class definition in SystemC library.
Definition: systemc_definitions.h:204
bool is_type_sc_port_base(SgType *type)
Check if the type is a sc_port_base.
Definition: systemc_definitions.h:541
static SgClassDefinition * sc_inout_clk_
Definition: systemc_definitions.h:484
static std::vector< SgNamespaceDefinitionStatement * > sc_dt_
Definition: systemc_definitions.h:509
static const SgMemberFunctionDeclaration * get_base_interface()
Get the get_base_interface_ function declaration in SystemC library.
Definition: systemc_definitions.h:431
static SgClassDefinition * get_tlm_base_target_socket_b()
Get the tlm_base_target_socket_b_ class definition in SystemC library.
Definition: systemc_definitions.h:64
bool is_type_sc_in_clk(SgType *type)
Check if the type is a sc_in_clk.
Definition: systemc_definitions.h:728
static SgClassDefinition * sc_segid_
Definition: systemc_definitions.h:476
static SgClassDefinition * sc_interface_
Definition: systemc_definitions.h:471
static SgFunctionDefinition * sc_main_
Definition: systemc_definitions.h:489
bool is_type_sc_fifo_out(SgType *type)
Check if the type is a sc_fifo_out.
Definition: systemc_definitions.h:662
static const std::vector< SgNamespaceDefinitionStatement * > & get_sc_dt()
Get the sc_dt_ namespace in SystemC library.
Definition: systemc_definitions.h:401
bool is_type_sc_prim_channel(SgType *type)
Check if the type is a sc_prim_channel.
Definition: systemc_definitions.h:618
static SgClassDefinition * sc_event_or_list_
Definition: systemc_definitions.h:469
static SgClassDefinition * sc_in_clk_
Definition: systemc_definitions.h:482
static SgClassDefinition * sc_channel_
Definition: systemc_definitions.h:481
static SgMemberFunctionDeclaration * get_interface_
Definition: systemc_definitions.h:503
bool is_type_sc_event_or_list(SgType *type)
Check if the type is a sc_event_or_list.
Definition: systemc_definitions.h:607
static SgClassDefinition * sc_port_
Definition: systemc_definitions.h:462
static SgClassDefinition * get_sc_port()
Get the sc_port_ class definition in SystemC library.
Definition: systemc_definitions.h:34
static const std::set< SgFunctionDefinition * > & get_sc_wait_funcs()
Get the sc_wait_funcs_ namespace in SystemC library.
Definition: systemc_definitions.h:411
static SgClassDefinition * get_sc_simcontext()
Get the sc_simcontext_ class definition in SystemC library.
Definition: systemc_definitions.h:241
bool is_type_sc_inout(SgType *type)
Check if the type is a sc_inout.
Definition: systemc_definitions.h:574
static SgMemberFunctionDeclaration * get_upcoming_segment_ids_
Definition: systemc_definitions.h:494
static SgMemberFunctionDeclaration * get_upcoming_socket_id_
Definition: systemc_definitions.h:496
static SgClassDefinition * sc_port_base_
Definition: systemc_definitions.h:463
static SgFunctionDeclaration * get_get_upcoming_socket_id()
Get the get_upcoming_socket_id_ function declaration in SystemC library.
Definition: systemc_definitions.h:341