2018-07-26 12:28:21 -05:00
|
|
|
#ifndef OPTIONTOKENS_H
|
|
|
|
#define OPTIONTOKENS_H
|
|
|
|
|
|
|
|
/* The order of this does NOT matter, but do not give things specific values
|
|
|
|
* or you will screw up the ability to count things properly */
|
|
|
|
enum e_OptionBaseToken {
|
|
|
|
OT_SETTINGS_FILE,
|
|
|
|
OT_NODISP,
|
|
|
|
OT_AUTO,
|
|
|
|
OT_RECOMPUTE_CRIT_ITER,
|
|
|
|
OT_INNER_LOOP_RECOMPUTE_DIVIDER,
|
|
|
|
OT_FIX_PINS,
|
|
|
|
OT_FULL_STATS,
|
|
|
|
OT_READ_PLACE_ONLY,
|
|
|
|
OT_FAST,
|
|
|
|
OT_CREATE_ECHO_FILE,
|
|
|
|
OT_TIMING_ANALYSIS,
|
|
|
|
OT_TIMING_ANALYZE_ONLY_WITH_NET_DELAY,
|
|
|
|
OT_GENERATE_POST_SYNTHESIS_NETLIST,
|
|
|
|
OT_INIT_T,
|
|
|
|
OT_ALPHA_T,
|
|
|
|
OT_EXIT_T,
|
|
|
|
OT_INNER_NUM,
|
|
|
|
OT_SEED,
|
|
|
|
OT_PLACE_COST_EXP,
|
|
|
|
OT_TD_PLACE_EXP_FIRST,
|
|
|
|
OT_TD_PLACE_EXP_LAST,
|
|
|
|
OT_PLACE_ALGORITHM,
|
|
|
|
OT_TIMING_TRADEOFF,
|
|
|
|
OT_ENABLE_TIMING_COMPUTATIONS,
|
|
|
|
OT_BLOCK_DIST,
|
|
|
|
OT_PLACE_CHAN_WIDTH,
|
|
|
|
OT_MAX_ROUTER_ITERATIONS,
|
|
|
|
OT_BB_FACTOR,
|
|
|
|
OT_ROUTER_ALGORITHM,
|
|
|
|
OT_FIRST_ITER_PRES_FAC,
|
|
|
|
OT_INITIAL_PRES_FAC,
|
|
|
|
OT_PRES_FAC_MULT,
|
|
|
|
OT_ACC_FAC,
|
|
|
|
OT_ASTAR_FAC,
|
|
|
|
OT_MAX_CRITICALITY,
|
|
|
|
OT_CRITICALITY_EXP,
|
|
|
|
OT_BASE_COST_TYPE,
|
|
|
|
OT_BEND_COST,
|
|
|
|
OT_ROUTE_TYPE,
|
|
|
|
OT_ROUTE_CHAN_WIDTH,
|
|
|
|
OT_ROUTE,
|
|
|
|
OT_PLACE,
|
|
|
|
OT_VERIFY_BINARY_SEARCH,
|
|
|
|
OT_OUTFILE_PREFIX,
|
|
|
|
OT_BLIF_FILE,
|
|
|
|
OT_NET_FILE,
|
|
|
|
OT_PLACE_FILE,
|
|
|
|
OT_ROUTE_FILE,
|
|
|
|
OT_SDC_FILE,
|
|
|
|
OT_GLOBAL_CLOCKS,
|
|
|
|
OT_HILL_CLIMBING_FLAG,
|
|
|
|
OT_SWEEP_HANGING_NETS_AND_INPUTS,
|
|
|
|
OT_SKIP_CLUSTERING,
|
|
|
|
OT_ALLOW_UNRELATED_CLUSTERING,
|
|
|
|
OT_ALLOW_EARLY_EXIT,
|
|
|
|
OT_CONNECTION_DRIVEN_CLUSTERING,
|
|
|
|
OT_TIMING_DRIVEN_CLUSTERING,
|
|
|
|
OT_CLUSTER_SEED,
|
|
|
|
OT_ALPHA_CLUSTERING,
|
|
|
|
OT_BETA_CLUSTERING,
|
|
|
|
OT_RECOMPUTE_TIMING_AFTER,
|
|
|
|
OT_CLUSTER_BLOCK_DELAY,
|
|
|
|
OT_INTRA_CLUSTER_NET_DELAY,
|
|
|
|
OT_INTER_CLUSTER_NET_DELAY,
|
|
|
|
OT_PACK,
|
|
|
|
OT_PACKER_ALGORITHM,
|
|
|
|
OT_POWER,
|
|
|
|
OT_ACTIVITY_FILE,
|
|
|
|
OT_POWER_OUT_FILE,
|
|
|
|
OT_CMOS_TECH_BEHAVIOR_FILE,
|
|
|
|
/* Xifan TANG: FPGA SPICE Support */
|
|
|
|
OT_FPGA_SPICE, /* Xifan TANG: FPGA SPICE Model Support */
|
2018-09-27 15:26:08 -05:00
|
|
|
OT_FPGA_SPICE_RENAME_ILLEGAL_PORT,
|
|
|
|
OT_FPGA_SPICE_SIGNAL_DENSITY_WEIGHT, /* The weight of signal density in determining number of clock cycles in simulation */
|
|
|
|
OT_FPGA_SPICE_SIM_WINDOW_SIZE, /* Window size in determining number of clock cycles in simulation */
|
|
|
|
OT_FPGA_SPICE_SIM_MT_NUM, /* number of multi-thread used in simulation */
|
2018-07-26 12:28:21 -05:00
|
|
|
OT_SPICE_DIR, /* Xifan TANG: FPGA SPICE Model Support */
|
|
|
|
OT_SPICE_PRINT_TOP_TESTBENCH, /* Xifan TANG: Print Top-level SPICE Testbench */
|
|
|
|
OT_SPICE_PRINT_PB_MUX_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for MUXes */
|
|
|
|
OT_SPICE_PRINT_CB_MUX_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for MUXes */
|
|
|
|
OT_SPICE_PRINT_SB_MUX_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for MUXes */
|
|
|
|
OT_SPICE_PRINT_CB_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for CBs */
|
|
|
|
OT_SPICE_PRINT_SB_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for SBs */
|
|
|
|
OT_SPICE_PRINT_GRID_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for Grids */
|
|
|
|
OT_SPICE_PRINT_LUT_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for LUTs */
|
|
|
|
OT_SPICE_PRINT_HARDLOGIC_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for hard logic s */
|
|
|
|
OT_FPGA_SPICE_LEAKAGE_ONLY, /* Xifan TANG: Print SPICE Testbench for MUXes */
|
|
|
|
OT_FPGA_SPICE_PARASITIC_NET_ESTIMATION_OFF, /* Xifan TANG: turn off the parasitic net estimation*/
|
|
|
|
OT_FPGA_SPICE_TESTBENCH_LOAD_EXTRACTION_OFF, /* Xifan TANG: turn off the testbench load extraction */
|
|
|
|
/* Xifan TANG: Verilog Generation */
|
|
|
|
OT_FPGA_VERILOG_SYN, /* Xifan TANG: Synthesizable Verilog Dump */
|
|
|
|
OT_FPGA_VERILOG_SYN_DIR, /* Xifan TANG: Synthesizable Verilog Dump */
|
2018-09-27 15:26:08 -05:00
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_TOP_TB, /* Xifan TANG: Synthesizable Verilog Dump */
|
2018-12-08 18:19:12 -06:00
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_TOP_AUTO_TB, /* Xifan TANG: Synthesizable Verilog Dump */
|
2018-09-27 15:26:08 -05:00
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_INPUT_BLIF_TB, /* Xifan TANG: Synthesizable Verilog Dump */
|
2018-07-26 12:28:21 -05:00
|
|
|
OT_FPGA_VERILOG_SYN_TB_SERIAL_CONFIG_MODE, /* Xifan TANG: Synthesizable Verilog Dump */
|
2018-12-04 18:32:09 -06:00
|
|
|
OT_FPGA_VERILOG_SYN_INCLUDE_TIMING, /* Include timing constraint in Verilog*/
|
|
|
|
OT_FPGA_VERILOG_INIT_SIM, /* AA: to allow initialization in simulation */
|
2018-12-05 10:20:47 -06:00
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_MODELSIM_AUTODECK, // To allow modelsim script generation
|
|
|
|
OT_FPGA_VERILOG_SYN_MODELSIM_INI_PATH, // To set modelsim script path
|
2018-07-26 12:28:21 -05:00
|
|
|
/* mrFPGA: Xifan TANG */
|
|
|
|
OT_SHOW_SRAM,
|
|
|
|
OT_SHOW_PASS_TRANS,
|
|
|
|
/* CLB PIN REMAP */
|
|
|
|
OT_PACK_CLB_PIN_REMAP,
|
|
|
|
OT_PLACE_CLB_PIN_REMAP,
|
|
|
|
/* END */
|
|
|
|
OT_BASE_UNKNOWN /* Must be last since used for counting enum items */
|
|
|
|
};
|
|
|
|
|
|
|
|
enum e_OptionArgToken {
|
|
|
|
OT_ON,
|
|
|
|
OT_OFF,
|
|
|
|
OT_RANDOM,
|
|
|
|
OT_BOUNDING_BOX,
|
|
|
|
OT_NET_TIMING_DRIVEN,
|
|
|
|
OT_PATH_TIMING_DRIVEN,
|
|
|
|
OT_BREADTH_FIRST,
|
|
|
|
OT_TIMING_DRIVEN,
|
|
|
|
OT_NO_TIMING,
|
|
|
|
OT_INTRINSIC_DELAY,
|
|
|
|
OT_DELAY_NORMALIZED,
|
|
|
|
OT_DEMAND_ONLY,
|
|
|
|
OT_GLOBAL,
|
|
|
|
OT_DETAILED,
|
|
|
|
OT_TIMING,
|
|
|
|
OT_MAX_INPUTS,
|
|
|
|
OT_GREEDY,
|
|
|
|
OT_LP,
|
|
|
|
OT_BRUTE_FORCE,
|
|
|
|
OT_ARG_UNKNOWN /* Must be last since used for counting enum items */
|
|
|
|
};
|
|
|
|
|
|
|
|
extern struct s_TokenPair OptionBaseTokenList[];
|
|
|
|
extern struct s_TokenPair OptionArgTokenList[];
|
|
|
|
|
|
|
|
#endif
|