source: sources/src/internal.h @ 65

Last change on this file since 65 was 65, checked in by bouyer, 5 years ago

Various performance improvements for the parallel systemcass: cache-aligned
data structures, write only when needed, disable some unneeded barriers.

Fix bug in the non-openmp case: a pointer was not initialized

various style updates

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//#include <stdint.h>
20
21namespace sc_core {
22
23// Method Process List
24extern method_process_t * method;
25extern method_process_list_t method_process_list;
26
27// Module Naming Stack
28typedef std::vector<std::string> module_name_stack_t;
29extern module_name_stack_t module_name_stack;
30extern std::vector<const char *> allocated_names;
31
32// Hash Table Port -> Module
33typedef std::map</*const */sc_port_base *, const sc_module *> port2module_t;
34extern port2module_t port2module;
35
36// Functions for Elaboration step
37void sort_equi_list();
38void create_signals_table();
39void bind_to_table();
40
41// Debug Functions
42void print_table(std::ostream&);
43void print_table_stats(std::ostream&);
44void print_registers_writing_stats(std::ostream&);
45
46extern bool is_clock(const sc_interface &inter);
47
48// Flags
49extern bool check_port_dependencies;
50extern bool dump_all_graph;
51extern const char * dump_module_hierarchy;
52extern bool dump_netlist_info;
53extern bool dump_funclist_info;
54extern bool dynamic_link_of_scheduling_code;
55extern bool keep_generated_code;
56extern bool nosimulation;
57extern bool notrace;
58extern bool print_user_resources;
59extern char * save_on_exit;
60extern int scheduling_method;
61extern bool use_port_dependency;
62extern const bool use_openmp;
63
64#define NO_SCHEDULING       0
65#define BUCHMANN_SCHEDULING 1
66#define MOUCHARD_SCHEDULING 2
67#define CASS_SCHEDULING     4
68
69// More
70
71extern uint64 trace_start;
72
73}
74
75#endif
76
Note: See TracBrowser for help on using the repository browser.