source: sources/src/internal.h @ 38

Last change on this file since 38 was 38, checked in by buchmann, 15 years ago

Now detects if SystemCASS correctly handles runtime compilation with the current architecture. SystemCASS exits if runtime compilation is not supported. Use --nodynamiclink options if it exits. This may occur on 64 bits machines.

Usage help is more readable.

Code cleanup.

Add some code for the coming soon openMP feature.

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;
60extern bool        use_openmp;
61
62#define NO_SCHEDULING          0
63#define BUCHMANN_SCHEDULING    1
64#define MOUCHARD_SCHEDULING    2
65#define CASS_SCHEDULING        4
66
67// More
68extern uint64 trace_start;
69}
70
71#endif
72
Note: See TracBrowser for help on using the repository browser.