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
RevLine 
[1]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>
[11]17#include <string>
[12]18#include <vector>
[59]19//#include <stdint.h>
[1]20
21namespace sc_core {
22
23// Method Process List
[52]24extern method_process_t * method;
[1]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;
[59]30extern std::vector<const char *> allocated_names;
[1]31
32// Hash Table Port -> Module
[52]33typedef std::map</*const */sc_port_base *, const sc_module *> port2module_t;
[1]34extern port2module_t port2module;
35
36// Functions for Elaboration step
[52]37void sort_equi_list();
38void create_signals_table();
39void bind_to_table();
[1]40
41// Debug Functions
[52]42void print_table(std::ostream&);
43void print_table_stats(std::ostream&);
44void print_registers_writing_stats(std::ostream&);
[1]45
[52]46extern bool is_clock(const sc_interface &inter);
[1]47
48// Flags
[52]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;
[65]62extern const bool use_openmp;
[1]63
[52]64#define NO_SCHEDULING       0
65#define BUCHMANN_SCHEDULING 1
66#define MOUCHARD_SCHEDULING 2
67#define CASS_SCHEDULING     4
[1]68
69// More
[52]70
[1]71extern uint64 trace_start;
[52]72
[1]73}
74
75#endif
76
Note: See TracBrowser for help on using the repository browser.