source: sources/src/internal.h @ 29

Last change on this file since 29 was 12, checked in by buchmann, 16 years ago

Changes:

  • Convert some includes like <stdlib.h> into <cstdlib>
  • Remove some unused includes
File size: 2.2 KB
Line 
1/*------------------------------------------------------------\
2|                                                             |
3| Tool    :                  systemcass                       |
4|                                                             |
5| File    :                   internal.h                      |
6|                                                             |
7| Author  :                 Buchmann Richard                  |
8|                                                             |
9| Date    :                   09_07_2004                      |
10|                                                             |
11\------------------------------------------------------------*/
12#ifndef __INTERNAL_H__
13#define __INTERNAL_H__
14
15#include "internal_ext.h"
16#include <map>
17#include <string>
18#include <vector>
19
20namespace sc_core {
21
22// Method Process List
23extern method_process_t *method;
24extern method_process_list_t method_process_list;
25
26// Module Naming Stack
27typedef std::vector<std::string> module_name_stack_t;
28extern module_name_stack_t module_name_stack;
29
30// Hash Table Port -> Module
31typedef std::map</*const */sc_port_base*, const sc_module*> port2module_t;
32extern port2module_t port2module;
33
34// Functions for Elaboration step
35void sort_equi_list ();
36void create_signals_table ();
37void bind_to_table ();
38
39// Debug Functions
40void print_table (std::ostream&);
41void print_table_stats (std::ostream&);
42void print_registers_writing_stats (std::ostream&);
43
44extern bool   is_clock (const sc_interface &inter);
45
46// Flags
47extern bool        check_port_dependencies;
48extern bool        dump_all_graph;
49extern const char* dump_module_hierarchy;
50extern bool        dump_netlist_info;
51extern bool        dump_funclist_info;
52extern bool        dynamic_link_of_scheduling_code;
53extern bool        keep_generated_code;
54extern bool        nosimulation;
55extern bool        notrace;
56extern bool        print_user_resources;
57extern char*       save_on_exit;
58extern int         scheduling_method;
59extern bool        use_port_dependency;
60
61#define NO_SCHEDULING          0
62#define BUCHMANN_SCHEDULING    1
63#define MOUCHARD_SCHEDULING    2
64#define CASS_SCHEDULING        4
65
66// More
67extern uint64 trace_start;
68}
69
70#endif
71
Note: See TracBrowser for help on using the repository browser.