Flow and PDK variables are too many and few of them are usually needed to be modified
Description
Most of the flow and PDK variables in the documentation are not needed to be modified in the usual hardening process of macros. Some users might get lost searching for a variable to fix the usual timing/congestion/pv issues in PnR. So, I created a list of the most common variables to be modified by the users in the flow. Many macros were hardened successfully using these variables only.
Proposal
A short list of the most used variables (flow and PDK) and the issues those variables address would be very useful for OpenLane users. A starting point could be:
1- Required variables for the flow:
DESIGN_NAME VERILOG_FILES CLOCK_PERIOD CLOCK_PORT
2- Variables that are usually needed:
DESIGN_IS_CORE FP_CORE_UTIL FP_ASPECT_RATIO FP_PIN_ORDER_CFG VERILOG_FILES_BLACKBOX EXTRA_LEFS EXTRA_LIBS EXTRA_GDS_FILES BASE_SDC_FILE RCX_SDC_FILE PL_TARGET_DENSITY PL_RESIZER_HOLD_SLACK_MARGIN GLB_RESIZER_HOLD_SLACK_MARGIN
3- Useful in many scenarios:
MAX_TRANSITION_CONSTRAINT MAX_FANOUT_CONSTRAINT CTS_MAX_CAP PL_RESIZER_MAX_SLEW_MARGIN PL_RESIZER_MAX_CAP_MARGIN PL_RESIZER_SETUP_SLACK_MARGIN GLB_RESIZER_MAX_SLEW_MARGIN GLB_RESIZER_MAX_CAP_MARGIN GLB_RESIZER_SETUP_SLACK_MARGIN RUN_HEURISTIC_DIODE_INSERTION GRT_REPAIR_ANTENNAS VSRC_LOC_FILES MAGIC_EXT_USE_GDS FP_PDN_MACRO_HOOKS