VPR-7.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
ReadOptions.h
Go to the documentation of this file.
1 #ifndef READOPTIONS_H
2 #define READOPTIONS_H
3 
4 #include "OptionTokens.h"
5 
6 typedef struct s_options t_options;
7 struct s_options {
8  /* File names */
9  char *ArchFile;
10  char *SettingsFile;
11  char *CircuitName;
12  char *NetFile;
13  char *PlaceFile;
14  char *RouteFile;
15  char *BlifFile;
16  char *ActFile;
17  char *PowerFile;
18  char *CmosTechFile;
20  char *SDCFile;
21 
22  /* General options */
25  boolean TimingAnalysis;
26  boolean CreateEchoFile;
28  /* Clustering options */
29  boolean global_clocks;
32  int lut_size;
35  boolean timing_driven;
37  float alpha;
38  float beta;
40  float block_delay;
43  boolean skip_clustering;
48 
49  /* Placement options */
51  float PlaceInitT;
52  float PlaceExitT;
53  float PlaceAlphaT;
55  int Seed;
58  char *PinFile;
59  boolean ShowPlaceTiming;
61 
62  /* Timing-driven placement options only */
68 
69  /* Router Options */
71  int bb_factor;
74  float acc_fac;
76  float bend_cost;
81 
82  /* Timing-driven router options only */
83  float astar_fac;
86 
87  /* State and metadata about various settings */
90 
91  /* Last read settings file */
93 };
94 
134 };
135 
136 
142 };
143 
144 
145 void ReadOptions(INP int argc,
146  INP char **argv,
147  OUTP t_options * Options);
148 
149 boolean getEchoEnabled(void);
150 void setEchoEnabled(boolean echo_enabled);
151 
152 void setAllEchoFileEnabled(boolean value);
153 void setEchoFileEnabled(enum e_echo_files echo_option, boolean value);
154 void setEchoFileName(enum e_echo_files echo_option, const char *name);
155 
156 boolean isEchoFileEnabled(enum e_echo_files echo_option);
157 char *getEchoFileName(enum e_echo_files echo_option);
158 
160 void free_echo_file_info();
161 
162 void setOutputFileName(enum e_output_files ename, const char *name, const char* default_name);
163 char *getOutputFileName(enum e_output_files ename);
164 void alloc_and_load_output_file_names(const char* default_name);
166 
167 boolean IsTimingEnabled(INP t_options *Options);
168 boolean IsEchoEnabled(INP t_options *Options);
169 
170 boolean GetPostSynthesisOption(void);
171 void SetPostSynthesisOption(boolean post_synthesis_enabled);
172 
173 boolean IsPostSynthesisEnabled(INP t_options *Options);
174 #endif
enum e_router_algorithm RouterAlgorithm
Definition: ReadOptions.h:79
float acc_fac
Definition: ReadOptions.h:74
boolean hill_climbing_flag
Definition: ReadOptions.h:33
void free_echo_file_info()
Definition: ReadOptions.c:171
int block_dist
Definition: ReadOptions.h:60
float block_delay
Definition: ReadOptions.h:40
int RouteChanWidth
Definition: ReadOptions.h:78
int Count[OT_BASE_UNKNOWN]
Definition: ReadOptions.h:88
char * SDCFile
Definition: ReadOptions.h:20
char * getOutputFileName(enum e_output_files ename)
Definition: ReadOptions.c:196
float PlaceTimingTradeoff
Definition: ReadOptions.h:63
void setEchoEnabled(boolean echo_enabled)
Definition: ReadOptions.c:71
char * CmosTechFile
Definition: ReadOptions.h:18
char * NetFile
Definition: ReadOptions.h:12
char * ArchFile
Definition: ReadOptions.h:9
boolean Generate_Post_Synthesis_Netlist
Definition: ReadOptions.h:27
char * PlaceFile
Definition: ReadOptions.h:13
float PlaceInnerNum
Definition: ReadOptions.h:54
void setEchoFileName(enum e_echo_files echo_option, const char *name)
Definition: ReadOptions.c:108
e_cluster_seed
Definition: vpr_types.h:112
float PlaceInitT
Definition: ReadOptions.h:51
int inputs_per_cluster
Definition: ReadOptions.h:31
e_echo_files
Definition: ReadOptions.h:95
boolean IsPostSynthesisEnabled(INP t_options *Options)
Definition: ReadOptions.c:88
float PlaceExitT
Definition: ReadOptions.h:52
int read_settings
Definition: ReadOptions.h:92
float place_cost_exp
Definition: ReadOptions.h:56
void setOutputFileName(enum e_output_files ename, const char *name, const char *default_name)
Definition: ReadOptions.c:186
boolean sweep_hanging_nets_and_inputs
Definition: ReadOptions.h:34
float initial_pres_fac
Definition: ReadOptions.h:72
void setAllEchoFileEnabled(boolean value)
Definition: ReadOptions.c:97
char * PowerFile
Definition: ReadOptions.h:17
boolean TimingAnalysis
Definition: ReadOptions.h:25
float intra_cluster_net_delay
Definition: ReadOptions.h:41
char * BlifFile
Definition: ReadOptions.h:15
enum e_cluster_seed cluster_seed_type
Definition: ReadOptions.h:36
int Provenance[OT_BASE_UNKNOWN]
Definition: ReadOptions.h:89
float astar_fac
Definition: ReadOptions.h:83
void setEchoFileEnabled(enum e_echo_files echo_option, boolean value)
Definition: ReadOptions.c:104
int PlaceChanWidth
Definition: ReadOptions.h:57
void free_output_file_names()
Definition: ReadOptions.c:221
#define INP
Definition: util.h:19
int GraphPause
Definition: ReadOptions.h:23
boolean CreateEchoFile
Definition: ReadOptions.h:26
int lut_size
Definition: ReadOptions.h:32
boolean isEchoFileEnabled(enum e_echo_files echo_option)
Definition: ReadOptions.c:115
int bb_factor
Definition: ReadOptions.h:71
boolean connection_driven
Definition: ReadOptions.h:46
char * ActFile
Definition: ReadOptions.h:16
float pres_fac_mult
Definition: ReadOptions.h:73
boolean getEchoEnabled(void)
Definition: ReadOptions.c:67
enum e_packer_algorithm packer_algorithm
Definition: ReadOptions.h:47
boolean IsTimingEnabled(INP t_options *Options)
Definition: ReadOptions.c:47
float beta
Definition: ReadOptions.h:38
char * SettingsFile
Definition: ReadOptions.h:10
char * CircuitName
Definition: ReadOptions.h:11
int max_router_iterations
Definition: ReadOptions.h:70
boolean allow_unrelated_clustering
Definition: ReadOptions.h:44
e_output_files
Definition: ReadOptions.h:137
e_base_cost_type
Definition: vpr_types.h:688
void ReadOptions(INP int argc, INP char **argv, OUTP t_options *Options)
Definition: ReadOptions.c:239
boolean GetPostSynthesisOption(void)
Definition: ReadOptions.c:80
e_router_algorithm
Definition: vpr_types.h:685
enum e_route_type RouteType
Definition: ReadOptions.h:77
int recompute_timing_after
Definition: ReadOptions.h:39
float place_exp_first
Definition: ReadOptions.h:66
int RecomputeCritIter
Definition: ReadOptions.h:64
float PlaceAlphaT
Definition: ReadOptions.h:53
boolean allow_early_exit
Definition: ReadOptions.h:45
float max_criticality
Definition: ReadOptions.h:85
enum e_place_algorithm PlaceAlgorithm
Definition: ReadOptions.h:50
char * getEchoFileName(enum e_echo_files echo_option)
Definition: ReadOptions.c:122
int cluster_size
Definition: ReadOptions.h:30
boolean skip_clustering
Definition: ReadOptions.h:43
char * PinFile
Definition: ReadOptions.h:58
float bend_cost
Definition: ReadOptions.h:76
char * RouteFile
Definition: ReadOptions.h:14
float alpha
Definition: ReadOptions.h:37
#define OUTP
Definition: util.h:20
enum e_base_cost_type base_cost_type
Definition: ReadOptions.h:80
e_route_type
Definition: vpr_types.h:682
float first_iter_pres_fac
Definition: ReadOptions.h:75
float constant_net_delay
Definition: ReadOptions.h:24
boolean timing_driven
Definition: ReadOptions.h:35
char * out_file_prefix
Definition: ReadOptions.h:19
e_packer_algorithm
Definition: vpr_types.h:590
float place_exp_last
Definition: ReadOptions.h:67
boolean global_clocks
Definition: ReadOptions.h:29
void SetPostSynthesisOption(boolean post_synthesis_enabled)
Definition: ReadOptions.c:84
float criticality_exp
Definition: ReadOptions.h:84
void alloc_and_load_echo_file_info()
Definition: ReadOptions.c:126
float inter_cluster_net_delay
Definition: ReadOptions.h:42
boolean ShowPlaceTiming
Definition: ReadOptions.h:59
e_place_algorithm
Definition: vpr_types.h:632
void alloc_and_load_output_file_names(const char *default_name)
Definition: ReadOptions.c:200
int inner_loop_recompute_divider
Definition: ReadOptions.h:65
boolean IsEchoEnabled(INP t_options *Options)
Definition: ReadOptions.c:58