VPR-6.0
|
00001 #ifndef READOPTIONS_H 00002 #define READOPTIONS_H 00003 00004 typedef struct s_options t_options; 00005 struct s_options 00006 { 00007 /**@{*/ 00008 /** File names */ 00009 char *ArchFile; 00010 char *CircuitName; 00011 char *NetFile; 00012 char *PlaceFile; 00013 char *RouteFile; 00014 char *BlifFile; 00015 char *OutFilePrefix; 00016 /**@}*/ 00017 00018 /**@{*/ 00019 /** General options */ 00020 int GraphPause; 00021 float constant_net_delay; 00022 boolean TimingAnalysis; 00023 /**@}*/ 00024 00025 /**@{*/ 00026 /** Clustering options */ 00027 boolean global_clocks; 00028 int cluster_size; 00029 int inputs_per_cluster; 00030 int lut_size; 00031 boolean hill_climbing_flag; 00032 boolean sweep_hanging_nets_and_inputs; 00033 boolean timing_driven; 00034 enum e_cluster_seed cluster_seed_type; 00035 float alpha; 00036 float beta; 00037 int recompute_timing_after; 00038 float block_delay; 00039 float intra_cluster_net_delay; 00040 float inter_cluster_net_delay; 00041 boolean skip_clustering; 00042 boolean allow_unrelated_clustering; 00043 boolean allow_early_exit; 00044 boolean connection_driven; 00045 enum e_packer_algorithm packer_algorithm; 00046 /**@}*/ 00047 00048 /**@{*/ 00049 /** Placement options */ 00050 enum e_place_algorithm PlaceAlgorithm; 00051 float PlaceInitT; 00052 float PlaceExitT; 00053 float PlaceAlphaT; 00054 float PlaceInnerNum; 00055 int Seed; 00056 float place_cost_exp; 00057 enum place_c_types PlaceCostType; 00058 int PlaceChanWidth; 00059 int PlaceNonlinearRegions; 00060 char *PinFile; 00061 boolean ShowPlaceTiming; 00062 int block_dist; 00063 /**@}*/ 00064 00065 /**@{*/ 00066 /* Timing-driven placement options only */ 00067 float PlaceTimingTradeoff; 00068 int RecomputeCritIter; 00069 int inner_loop_recompute_divider; 00070 float place_exp_first; 00071 float place_exp_last; 00072 /**@}*/ 00073 00074 /**@{*/ 00075 /* Router Options */ 00076 int max_router_iterations; 00077 int bb_factor; 00078 float initial_pres_fac; 00079 float pres_fac_mult; 00080 float acc_fac; 00081 float first_iter_pres_fac; 00082 float bend_cost; 00083 enum e_route_type RouteType; 00084 int RouteChanWidth; 00085 enum e_router_algorithm RouterAlgorithm; 00086 enum e_base_cost_type base_cost_type; 00087 /**@}*/ 00088 00089 /**@{*/ 00090 /* Timing-driven router options only */ 00091 float astar_fac; 00092 float criticality_exp; 00093 float max_criticality; 00094 /**@}*/ 00095 00096 int Count[OT_BASE_UNKNOWN]; 00097 }; 00098 00099 void ReadOptions(INP int argc, 00100 INP char **argv, 00101 OUTP t_options * Options); 00102 00103 #endif 00104