blob: f47b448f2a997455e04cd83dc26298ebddcbba47 [file] [log] [blame]
#include "util.h"
#include "vpr_types.h"
#include "OptionTokens.h"
/* OptionBaseTokenList is for command line arg tokens. We will track how
* many times each of these things exist in a file */
struct s_TokenPair OptionBaseTokenList[] = {
{ "settings_file", OT_SETTINGS_FILE },
{ "nodisp", OT_NODISP },
{ "congestion_analysis", OT_CONGESTION_ANALYSIS },
{ "fanout_analysis", OT_FANOUT_ANALYSIS },
{ "switch_stats", OT_SWITCH_USAGE_ANALYSIS },
{ "auto", OT_AUTO },
{ "recompute_crit_iter", OT_RECOMPUTE_CRIT_ITER },
{ "inner_loop_recompute_divider", OT_INNER_LOOP_RECOMPUTE_DIVIDER },
{ "fix_pins", OT_FIX_PINS },
{ "full_stats", OT_FULL_STATS },
{ "fast", OT_FAST },
{ "gen_netlist_as_blif", OT_GEN_NELIST_AS_BLIF},
{ "echo_file", OT_CREATE_ECHO_FILE },
{ "gen_postsynthesis_netlist", OT_GENERATE_POST_SYNTHESIS_NETLIST },
{ "timing_analysis", OT_TIMING_ANALYSIS },
{ "timing_analyze_only_with_net_delay", OT_TIMING_ANALYZE_ONLY_WITH_NET_DELAY },
{ "slack_definition", OT_SLACK_DEFINITION },
{ "init_t", OT_INIT_T },
{ "alpha_t", OT_ALPHA_T },
{ "exit_t", OT_EXIT_T },
{ "inner_num", OT_INNER_NUM },
{ "seed", OT_SEED },
{ "place_cost_exp", OT_PLACE_COST_EXP },
{ "td_place_exp_first", OT_TD_PLACE_EXP_FIRST },
{ "td_place_exp_last", OT_TD_PLACE_EXP_LAST },
{ "place_algorithm", OT_PLACE_ALGORITHM },
{ "timing_tradeoff", OT_TIMING_TRADEOFF },
{ "enable_timing_computations", OT_ENABLE_TIMING_COMPUTATIONS },
{ "block_dist", OT_BLOCK_DIST },
{ "place_chan_width", OT_PLACE_CHAN_WIDTH },
{ "max_router_iterations", OT_MAX_ROUTER_ITERATIONS },
{ "bb_factor", OT_BB_FACTOR },
{ "router_algorithm", OT_ROUTER_ALGORITHM },
{ "first_iter_pres_fac", OT_FIRST_ITER_PRES_FAC },
{ "initial_pres_fac", OT_INITIAL_PRES_FAC },
{ "pres_fac_mult", OT_PRES_FAC_MULT },
{ "acc_fac", OT_ACC_FAC },
{ "astar_fac", OT_ASTAR_FAC },
{ "max_criticality", OT_MAX_CRITICALITY },
{ "criticality_exp", OT_CRITICALITY_EXP },
{ "base_cost_type", OT_BASE_COST_TYPE },
{ "bend_cost", OT_BEND_COST },
{ "route_type", OT_ROUTE_TYPE },
{ "route_chan_width", OT_ROUTE_CHAN_WIDTH },
{ "trim_empty_chan", OT_TRIM_EMPTY_CHAN },
{ "trim_obs_chan", OT_TRIM_OBS_CHAN },
{ "route", OT_ROUTE },
{ "place", OT_PLACE },
{ "verify_binary_search", OT_VERIFY_BINARY_SEARCH },
{ "outfile_prefix", OT_OUTFILE_PREFIX },
{ "blif_file", OT_BLIF_FILE },
{ "net_file", OT_NET_FILE },
{ "place_file", OT_PLACE_FILE },
{ "route_file", OT_ROUTE_FILE },
{ "sdc_file", OT_SDC_FILE },
{ "global_clocks", OT_GLOBAL_CLOCKS },
{ "hill_climbing", OT_HILL_CLIMBING_FLAG },
{ "sweep_hanging_nets_and_inputs", OT_SWEEP_HANGING_NETS_AND_INPUTS },
{ "no_clustering", OT_SKIP_CLUSTERING },
{ "allow_unrelated_clustering", OT_ALLOW_UNRELATED_CLUSTERING },
{ "allow_early_exit", OT_ALLOW_EARLY_EXIT },
{ "connection_driven_clustering", OT_CONNECTION_DRIVEN_CLUSTERING },
{ "timing_driven_clustering", OT_TIMING_DRIVEN_CLUSTERING },
{ "cluster_seed_type", OT_CLUSTER_SEED },
{ "alpha_clustering", OT_ALPHA_CLUSTERING },
{ "beta_clustering", OT_BETA_CLUSTERING },
{ "recompute_timing_after", OT_RECOMPUTE_TIMING_AFTER },
{ "cluster_block_delay", OT_CLUSTER_BLOCK_DELAY },
{ "intra_cluster_net_delay", OT_INTRA_CLUSTER_NET_DELAY },
{ "inter_cluster_net_delay", OT_INTER_CLUSTER_NET_DELAY },
{ "pack", OT_PACK },
{ "packer_algorithm", OT_PACKER_ALGORITHM }, /**/
{ "activity_file", OT_ACTIVITY_FILE }, /* Activity file */
{ "power_output_file", OT_POWER_OUT_FILE }, /* Output file for power results */
{ "power", OT_POWER }, /* Run power estimation? */
{ "tech_properties", OT_CMOS_TECH_BEHAVIOR_FILE }, /* Technology properties */
{ "routing_failure_predictor", OT_ROUTING_FAILURE_PREDICTOR }, /* Routing failure predictor */
{ "dump_rr_structs_file", OT_DUMP_RR_STRUCTS_FILE },
#ifdef INTERPOSER_BASED_ARCHITECTURE
{ "percent_wires_cut", OT_PERCENT_WIRES_CUT },
{ "num_cuts", OT_NUM_CUTS },
{ "delay_increase", OT_DELAY_INCREASE },
{ "placer_cost_constant", OT_PLACER_COST_CONSTANT },
{ "constant_type", OT_CONSTANT_TYPE },
{ "allow_chanx_conn", OT_ALLOW_CHANX_CONN },
{ "allow_fanin_transfer", OT_ALLOW_FANIN_TRANSFER },
{ "allow_additional_fanin", OT_ALLOW_ADDITIONAL_FANIN },
{ "allow_fanout_transfer", OT_ALLOW_FANOUT_TRANSFER },
{ "allow_additional_fanout", OT_ALLOW_ADDITIONAL_FANOUT },
{ "pct_interp_to_drive", OT_PCT_INTERP_TO_DRIVE },
{ "pct_interp_to_be_driven_by", OT_PCT_INTERP_TO_BE_DRIVEN_BY },
#endif
{ NULL, OT_BASE_UNKNOWN } /* End of list marker */
};
struct s_TokenPair OptionArgTokenList[] = {
{ "on", OT_ON },
{ "off", OT_OFF },
{ "random", OT_RANDOM },
{ "bounding_box", OT_BOUNDING_BOX },
{ "net_timing_driven", OT_NET_TIMING_DRIVEN },
{ "path_timing_driven", OT_PATH_TIMING_DRIVEN },
{ "breadth_first", OT_BREADTH_FIRST },
{ "timing_driven", OT_TIMING_DRIVEN },
{ "NO_TIMING", OT_NO_TIMING },
{ "intrinsic_delay", OT_INTRINSIC_DELAY },
{ "delay_normalized", OT_DELAY_NORMALIZED },
{ "demand_only", OT_DEMAND_ONLY },
{ "global", OT_GLOBAL },
{ "detailed", OT_DETAILED },
{ "timing", OT_TIMING },
{ "max_inputs", OT_MAX_INPUTS },
{ "blend", OT_BLEND },
{ "greedy", OT_GREEDY },
{ "lp", OT_LP },
{ "brute_force", OT_BRUTE_FORCE },
{ "safe", OT_ROUTING_FAILURE_SAFE },
{ "aggressive", OT_ROUTING_FAILURE_AGGRESSIVE },
{ NULL, OT_BASE_UNKNOWN } /* End of list marker */
};