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,
|
2019-07-03 13:11:48 -05:00
|
|
|
/* Xifan Tang: Tileable routing support !!! */
|
|
|
|
OT_USE_TILEABLE_ROUTE_CHAN_WIDTH,
|
2019-04-26 13:23:47 -05:00
|
|
|
/* General FPGA_X2P: FPGA-SPICE/Verilog/Bitstream Options */
|
|
|
|
OT_FPGA_X2P_RENAME_ILLEGAL_PORT,
|
|
|
|
OT_FPGA_X2P_SIGNAL_DENSITY_WEIGHT, /* The weight of signal density in determining number of clock cycles in simulation */
|
|
|
|
OT_FPGA_X2P_SIM_WINDOW_SIZE, /* Window size in determining number of clock cycles in simulation */
|
2019-05-08 21:49:21 -05:00
|
|
|
OT_FPGA_X2P_COMPACT_ROUTING_HIERARCHY, /* use a compact routing hierarchy in SPICE/Verilog generation */
|
2019-05-28 16:19:10 -05:00
|
|
|
OT_FPGA_X2P_OUTPUT_SB_XML, /* output switch blocks to XML files */
|
2018-07-26 12:28:21 -05:00
|
|
|
/* Xifan TANG: FPGA SPICE Support */
|
|
|
|
OT_FPGA_SPICE, /* Xifan TANG: FPGA SPICE Model Support */
|
2019-04-26 13:23:47 -05:00
|
|
|
OT_FPGA_SPICE_DIR, /* Xifan TANG: FPGA SPICE Model Support */
|
|
|
|
OT_FPGA_SPICE_PRINT_TOP_TESTBENCH, /* Xifan TANG: Print Top-level SPICE Testbench */
|
|
|
|
OT_FPGA_SPICE_PRINT_PB_MUX_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for MUXes */
|
|
|
|
OT_FPGA_SPICE_PRINT_CB_MUX_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for MUXes */
|
|
|
|
OT_FPGA_SPICE_PRINT_SB_MUX_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for MUXes */
|
|
|
|
OT_FPGA_SPICE_PRINT_CB_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for CBs */
|
|
|
|
OT_FPGA_SPICE_PRINT_SB_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for SBs */
|
|
|
|
OT_FPGA_SPICE_PRINT_GRID_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for Grids */
|
|
|
|
OT_FPGA_SPICE_PRINT_LUT_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for LUTs */
|
|
|
|
OT_FPGA_SPICE_PRINT_HARDLOGIC_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for hard logic s */
|
|
|
|
OT_FPGA_SPICE_PRINT_IO_TESTBENCH, /* Xifan TANG: Print SPICE Testbench for hard logic s */
|
2018-07-26 12:28:21 -05:00
|
|
|
OT_FPGA_SPICE_LEAKAGE_ONLY, /* Xifan TANG: Print SPICE Testbench for MUXes */
|
2019-04-26 13:23:47 -05:00
|
|
|
OT_FPGA_SPICE_PARASITIC_NET_ESTIMATION, /* Xifan TANG: turn on/off the parasitic net estimation*/
|
|
|
|
OT_FPGA_SPICE_TESTBENCH_LOAD_EXTRACTION, /* Xifan TANG: turn on/off the testbench load extraction */
|
|
|
|
OT_FPGA_SPICE_SIMULATOR_PATH,
|
|
|
|
OT_FPGA_SPICE_SIM_MT_NUM, /* number of multi-thread used in simulation */
|
2018-07-26 12:28:21 -05:00
|
|
|
/* Xifan TANG: Verilog Generation */
|
|
|
|
OT_FPGA_VERILOG_SYN, /* Xifan TANG: Synthesizable Verilog Dump */
|
|
|
|
OT_FPGA_VERILOG_SYN_DIR, /* Xifan TANG: Synthesizable Verilog Dump */
|
2019-06-26 17:54:41 -05:00
|
|
|
OT_FPGA_VERILOG_SYN_EXPLICIT_MAPPING, /* Baudouin Chauviere: explicit pin mapping during verilog generation */
|
2019-04-26 13:23:47 -05:00
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_TOP_TESTBENCH, /* Xifan Tang: Synthesizable Verilog, turn on option: output testbench for top-level netlist */
|
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_AUTOCHECK_TOP_TESTBENCH, /* Xifan Tang: Synthesizable Verilog, turn on option: output testbench for top-level netlist */
|
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_INPUT_BLIF_TESTBENCH, /* Xifan Tang: Synthesizable Verilog, turn on option: output testbench for the orignial input blif */
|
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_FORMAL_VERIFICATION_TOP_NETLIST, /* Xifan Tang: Synthesizable Verilog, turn on option: output netlists in a compact way */
|
|
|
|
OT_FPGA_VERILOG_SYN_INCLUDE_TIMING, /* Xifan TANG: Include timing constraints in Verilog */
|
|
|
|
OT_FPGA_VERILOG_SYN_INCLUDE_SIGNAL_INIT, /* Xifan TANG: Include timing constraints in Verilog */
|
|
|
|
OT_FPGA_VERILOG_SYN_INCLUDE_ICARUS_SIMULATOR,
|
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_MODELSIM_AUTODECK,
|
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_USER_DEFINED_TEMPLATE,
|
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_REPORT_TIMING_TCL,
|
|
|
|
OT_FPGA_VERILOG_SYN_REPORT_TIMING_RPT_PATH,
|
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_SDC_PNR,
|
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_SDC_ANALYSIS,
|
2019-11-02 10:46:12 -05:00
|
|
|
OT_FPGA_VERILOG_SYN_PRINT_SIMULATION_INI,
|
2019-11-13 13:55:57 -06:00
|
|
|
OT_FPGA_VERILOG_SYN_SIMULATION_INI_FILE,
|
2019-04-26 13:23:47 -05:00
|
|
|
/* Xifan Tang: Bitstream generator */
|
|
|
|
OT_FPGA_BITSTREAM_GENERATOR,
|
|
|
|
OT_FPGA_BITSTREAM_OUTPUT_FILE,
|
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
|