source: latest/src/internal.h @ 1

Last change on this file since 1 was 1, checked in by buchmann, 17 years ago

Initial import from CVS repository

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