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 std::set<SgFunctionDefinition*>& get_sc_next_trigger_funcs()
422  {
423  if (!is_initialized_) initialize();
424  return sc_next_trigger_funcs_;
425  }
426 
431  static const SgMemberFunctionDeclaration* get_interface()
432  {
433  if (!is_initialized_) initialize();
434  return get_interface_;
435  }
436 
441  static const SgMemberFunctionDeclaration* get_base_interface()
442  {
443  if (!is_initialized_) initialize();
444  return get_base_interface_;
445  }
446 
451  static const SgMemberFunctionDeclaration* get_base_port()
452  {
453  if (!is_initialized_) initialize();
454  return get_base_port_;
455  }
456 
457 
458 
459 private:
460 
466  static void initialize();
467 
468  /*
469  * \brief Pointer to the sc_module definition in the rose ast tree
470  */
471  static SgClassDefinition *sc_module_;
472  static SgClassDefinition *sc_port_;
473  static SgClassDefinition *sc_port_base_;
474  static SgClassDefinition *sc_in_;
475  static SgClassDefinition *sc_out_;
476  static SgClassDefinition *sc_inout_;
477  static SgClassDefinition *sc_event_;
478  static SgClassDefinition *sc_event_and_list_;
479  static SgClassDefinition *sc_event_or_list_;
480  static SgClassDefinition *sc_prim_channel_;
481  static SgClassDefinition *sc_interface_;
482  static SgClassDefinition *sc_fifo_;
483  static SgClassDefinition *sc_fifo_in_;
484  static SgClassDefinition *sc_fifo_out_;
485  static SgClassDefinition *sc_simcontext_;
486  static SgClassDefinition *sc_segid_;
487  static SgClassDefinition *sc_time_;
488  static SgClassDefinition *sc_process_b_;
489 
490  // This is a hack. Please see the comment in the source file.
491  static SgClassDefinition *sc_channel_;
492  static SgClassDefinition *sc_in_clk_;
493  static SgClassDefinition *sc_out_clk_;
494  static SgClassDefinition *sc_inout_clk_;
495 
496  static SgClassDefinition *tlm_base_initiator_socket_b_;
497  static SgClassDefinition *tlm_base_target_socket_b_;
498 
499  static SgFunctionDefinition *sc_main_;
500  static SgFunctionDeclaration *sc_get_curr_simcontext_;
501  static SgFunctionDeclaration *sc_stop_;
502  static SgMemberFunctionDeclaration *sc_get_curr_proc_;
503  static SgMemberFunctionDeclaration *sc_segid_ctor_;
504  static SgMemberFunctionDeclaration *get_upcoming_segment_ids_;
505  static SgMemberFunctionDeclaration *set_upcoming_segment_ids_;
506  static SgMemberFunctionDeclaration *get_upcoming_socket_id_;
507  static SgMemberFunctionDeclaration *set_upcoming_socket_id_;
508 
509  static SgMemberFunctionDeclaration *increase_offset_;
510  static SgMemberFunctionDeclaration *decrease_offset_;
511  static SgMemberFunctionDeclaration *get_offset_;
512 
513  static SgMemberFunctionDeclaration *get_interface_;
514  static SgMemberFunctionDeclaration *get_base_interface_;
515  static SgMemberFunctionDeclaration *get_base_port_;
516 
517  // Namespace of systemc
518  static std::vector<SgNamespaceDefinitionStatement*> sc_core_;
519  static std::vector<SgNamespaceDefinitionStatement*> sc_dt_;
520 
521  // Wait functions
522  static std::set<SgFunctionDefinition*> sc_wait_funcs_;
523  // Next_trigger functions
524  static std::set<SgFunctionDefinition*> sc_next_trigger_funcs_;
525 
526  static bool is_initialized_;
527 };
528 
529 // NEW: efficient type comparison functions (RD, 07/14/18)
530 
531 inline bool is_type_sc_module(SgType *type)
532 {
533  return type->stripTypedefsAndModifiers() ==
535  ->get_declaration()->get_type();
536 }
537 
542 inline bool is_type_sc_port(SgType *type)
543 {
544  return type->stripTypedefsAndModifiers() ==
546  ->get_declaration()->get_type();
547 }
548 
553 inline bool is_type_sc_port_base(SgType *type)
554 {
555  return type->stripTypedefsAndModifiers() ==
557  ->get_declaration()->get_type();
558 }
559 
564 inline bool is_type_sc_in(SgType *type)
565 {
566  return type->stripTypedefsAndModifiers() ==
568  ->get_declaration()->get_type();
569 }
570 
575 inline bool is_type_sc_out(SgType *type)
576 {
577  return type->stripTypedefsAndModifiers() ==
579  ->get_declaration()->get_type();
580 }
581 
586 inline bool is_type_sc_inout(SgType *type)
587 {
588  return type->stripTypedefsAndModifiers() ==
590  ->get_declaration()->get_type();
591 }
592 
597 inline bool is_type_sc_event(SgType *type)
598 {
599  return type->stripTypedefsAndModifiers() ==
601  ->get_declaration()->get_type();
602 }
603 
608 inline bool is_type_sc_event_and_list(SgType *type)
609 {
610  return type->stripTypedefsAndModifiers() ==
612  ->get_declaration()->get_type();
613 }
614 
619 inline bool is_type_sc_event_or_list(SgType *type)
620 {
621  return type->stripTypedefsAndModifiers() ==
623  ->get_declaration()->get_type();
624 }
625 
630 inline bool is_type_sc_prim_channel(SgType *type)
631 {
632  return type->stripTypedefsAndModifiers() ==
634  ->get_declaration()->get_type();
635 }
636 
641 inline bool is_type_sc_interface(SgType *type)
642 {
643  return type->stripTypedefsAndModifiers() ==
645  ->get_declaration()->get_type();
646 }
647 
652 inline bool is_type_sc_fifo(SgType *type)
653 {
654  return type->stripTypedefsAndModifiers() ==
656  ->get_declaration()->get_type();
657 }
658 
663 inline bool is_type_sc_fifo_in(SgType *type)
664 {
665  return type->stripTypedefsAndModifiers() ==
667  ->get_declaration()->get_type();
668 }
669 
674 inline bool is_type_sc_fifo_out(SgType *type)
675 {
676  return type->stripTypedefsAndModifiers() ==
678  ->get_declaration()->get_type();
679 }
680 
685 inline bool is_type_sc_simcontext(SgType *type)
686 {
687  return type->stripTypedefsAndModifiers() ==
689  ->get_declaration()->get_type();
690 }
691 
696 inline bool is_type_sc_segid(SgType *type)
697 {
698  return type->stripTypedefsAndModifiers() ==
700  ->get_declaration()->get_type();
701 }
702 
707 inline bool is_type_sc_time(SgType *type)
708 {
709  return type->stripTypedefsAndModifiers() ==
711  ->get_declaration()->get_type();
712 }
713 
718 inline bool is_type_sc_process_b(SgType *type)
719 {
720  return type->stripTypedefsAndModifiers() ==
722  ->get_declaration()->get_type();
723 }
724 
729 inline bool is_type_sc_channel(SgType *type)
730 {
731  return type->stripTypedefsAndModifiers() ==
733  ->get_declaration()->get_type();
734 }
735 
740 inline bool is_type_sc_in_clk(SgType *type)
741 {
742  return type->stripTypedefsAndModifiers() ==
744  ->get_declaration()->get_type();
745 }
746 
751 inline bool is_type_sc_out_clk(SgType *type)
752 {
753  return type->stripTypedefsAndModifiers() ==
755  ->get_declaration()->get_type();
756 }
757 
762 inline bool is_type_sc_inout_clk(SgType *type)
763 {
764  return type->stripTypedefsAndModifiers() ==
766  ->get_declaration()->get_type();
767 }
768 
769 }; // end of namespace tools
770 
771 }; // end of namespace risc
772 
773 #endif /* SYSTEMC_DEFINITION_H_INCLUDED_ */
774 
775 /* 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:503
static SgClassDefinition * sc_time_
Definition: systemc_definitions.h:487
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:501
static SgMemberFunctionDeclaration * get_offset_
Definition: systemc_definitions.h:511
static SgMemberFunctionDeclaration * set_upcoming_segment_ids_
Definition: systemc_definitions.h:505
bool is_type_sc_event(SgType *type)
Check if the type is a sc_event.
Definition: systemc_definitions.h:597
static SgClassDefinition * sc_module_
Definition: systemc_definitions.h:471
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:475
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:483
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:509
static SgClassDefinition * sc_event_
Definition: systemc_definitions.h:477
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:431
bool is_type_sc_port(SgType *type)
Check if the type is a sc_port.
Definition: systemc_definitions.h:542
static SgMemberFunctionDeclaration * get_base_interface_
Definition: systemc_definitions.h:514
bool is_type_sc_segid(SgType *type)
Check if the type is a sc_segid.
Definition: systemc_definitions.h:696
bool is_type_sc_fifo(SgType *type)
Check if the type is a sc_fifo.
Definition: systemc_definitions.h:652
static SgMemberFunctionDeclaration * decrease_offset_
Definition: systemc_definitions.h:510
static SgClassDefinition * sc_out_clk_
Definition: systemc_definitions.h:493
bool is_type_sc_inout_clk(SgType *type)
Check if the type is a sc_inout_clk.
Definition: systemc_definitions.h:762
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:496
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:531
bool is_type_sc_simcontext(SgType *type)
Check if the type is a sc_simcontext.
Definition: systemc_definitions.h:685
bool is_type_sc_time(SgType *type)
Check if the type is a sc_time.
Definition: systemc_definitions.h:707
bool is_type_sc_interface(SgType *type)
Check if the type is a sc_interface.
Definition: systemc_definitions.h:641
static SgClassDefinition * sc_simcontext_
Definition: systemc_definitions.h:485
static SgFunctionDeclaration * sc_get_curr_simcontext_
Definition: systemc_definitions.h:500
static SgClassDefinition * sc_in_
Definition: systemc_definitions.h:474
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:488
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:575
static SgMemberFunctionDeclaration * sc_get_curr_proc_
Definition: systemc_definitions.h:502
static bool is_initialized_
Definition: systemc_definitions.h:526
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:564
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:608
static SgClassDefinition * sc_fifo_out_
Definition: systemc_definitions.h:484
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:718
static SgClassDefinition * tlm_base_target_socket_b_
Definition: systemc_definitions.h:497
static void initialize()
Initialize all the needed SystemC class definitions and function declarations.
Definition: systemc_definitions.cpp:62
static SgClassDefinition * sc_inout_
Definition: systemc_definitions.h:476
static const SgMemberFunctionDeclaration * get_base_port()
Get the get_base_port_ function declaration in SystemC library.
Definition: systemc_definitions.h:451
static SgMemberFunctionDeclaration * get_base_port_
Definition: systemc_definitions.h:515
static SgClassDefinition * sc_event_and_list_
Definition: systemc_definitions.h:478
bool is_type_sc_out_clk(SgType *type)
Check if the type is a sc_out_clk.
Definition: systemc_definitions.h:751
static SgClassDefinition * sc_prim_channel_
Definition: systemc_definitions.h:480
static std::vector< SgNamespaceDefinitionStatement * > sc_core_
Definition: systemc_definitions.h:518
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:482
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:507
bool is_type_sc_fifo_in(SgType *type)
Check if the type is a sc_fifo_in.
Definition: systemc_definitions.h:663
bool is_type_sc_channel(SgType *type)
Check if the type is a sc_port.
Definition: systemc_definitions.h:729
static std::set< SgFunctionDefinition * > sc_wait_funcs_
Definition: systemc_definitions.h:522
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:553
static SgClassDefinition * sc_inout_clk_
Definition: systemc_definitions.h:494
static std::vector< SgNamespaceDefinitionStatement * > sc_dt_
Definition: systemc_definitions.h:519
static const SgMemberFunctionDeclaration * get_base_interface()
Get the get_base_interface_ function declaration in SystemC library.
Definition: systemc_definitions.h:441
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:740
static SgClassDefinition * sc_segid_
Definition: systemc_definitions.h:486
static SgClassDefinition * sc_interface_
Definition: systemc_definitions.h:481
static SgFunctionDefinition * sc_main_
Definition: systemc_definitions.h:499
bool is_type_sc_fifo_out(SgType *type)
Check if the type is a sc_fifo_out.
Definition: systemc_definitions.h:674
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:630
static SgClassDefinition * sc_event_or_list_
Definition: systemc_definitions.h:479
static SgClassDefinition * sc_in_clk_
Definition: systemc_definitions.h:492
static SgClassDefinition * sc_channel_
Definition: systemc_definitions.h:491
static SgMemberFunctionDeclaration * get_interface_
Definition: systemc_definitions.h:513
bool is_type_sc_event_or_list(SgType *type)
Check if the type is a sc_event_or_list.
Definition: systemc_definitions.h:619
static SgClassDefinition * sc_port_
Definition: systemc_definitions.h:472
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:586
static SgMemberFunctionDeclaration * get_upcoming_segment_ids_
Definition: systemc_definitions.h:504
static const std::set< SgFunctionDefinition * > & get_sc_next_trigger_funcs()
Definition: systemc_definitions.h:421
static SgMemberFunctionDeclaration * get_upcoming_socket_id_
Definition: systemc_definitions.h:506
static SgClassDefinition * sc_port_base_
Definition: systemc_definitions.h:473
static std::set< SgFunctionDefinition * > sc_next_trigger_funcs_
Definition: systemc_definitions.h:524
static SgFunctionDeclaration * get_get_upcoming_socket_id()
Get the get_upcoming_socket_id_ function declaration in SystemC library.
Definition: systemc_definitions.h:341