00001 typedef struct s_options t_options; 00002 struct s_options 00003 { 00004 char *ArchFile; 00005 char *NetFile; 00006 char *PlaceFile; 00007 char *RouteFile; 00008 00009 /* General options */ 00010 int GraphPause; 00011 float constant_net_delay; 00012 boolean TimingAnalysis; 00013 char *OutFilePrefix; 00014 00015 /* Placement options */ 00016 enum e_place_algorithm PlaceAlgorithm; 00017 float PlaceInitT; 00018 float PlaceExitT; 00019 float PlaceAlphaT; 00020 float PlaceInnerNum; 00021 int Seed; 00022 float place_cost_exp; 00023 enum place_c_types PlaceCostType; 00024 int PlaceChanWidth; 00025 int PlaceNonlinearRegions; 00026 char *PinFile; 00027 boolean ShowPlaceTiming; 00028 int block_dist; 00029 00030 /* Timing-driven placement options only */ 00031 float PlaceTimingTradeoff; 00032 int RecomputeCritIter; 00033 int inner_loop_recompute_divider; 00034 float place_exp_first; 00035 float place_exp_last; 00036 00037 /* Router Options */ 00038 int max_router_iterations; 00039 int bb_factor; 00040 float initial_pres_fac; 00041 float pres_fac_mult; 00042 float acc_fac; 00043 float first_iter_pres_fac; 00044 float bend_cost; 00045 enum e_route_type RouteType; 00046 int RouteChanWidth; 00047 enum e_router_algorithm RouterAlgorithm; 00048 enum e_base_cost_type base_cost_type; 00049 00050 /* Timing-driven router options only */ 00051 float astar_fac; 00052 float criticality_exp; 00053 float max_criticality; 00054 00055 int Count[OT_BASE_UNKNOWN]; 00056 }; 00057 00058 void ReadOptions(IN int argc, 00059 IN char **argv, 00060 OUT t_options * Options);