| #!/bin/bash |
| |
| DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" |
| source $4 |
| |
| generate_design_config () { |
| local base_config_file=$1 |
| local output_path=$2 |
| local tag=$3 |
| |
| local idx=0 |
| for gr_af in "${adjustment_factor[@]}"; do |
| for util in "${utilization[@]}"; do |
| for densit in "${density[@]}"; do |
| for strat in "${synth_strategy[@]}"; do |
| for fanout in "${max_fanout[@]}"; do |
| for pdn_v in "${pdn_v_pitch[@]}"; do |
| for pdn_h in "${pdn_h_pitch[@]}"; do |
| for ar in "${aspect_ratio[@]}"; do |
| |
| config_regession="\ |
| set ::env(SYNTH_MAX_FANOUT) $fanout |
| set ::env(SYNTH_STRATEGY) $strat |
| set ::env(PL_TARGET_DENSITY) $densit |
| set ::env(FP_CORE_UTIL) $util |
| set ::env(FP_PDN_VPITCH) $pdn_v |
| set ::env(FP_PDN_HPITCH) $pdn_h |
| set ::env(FP_ASPECT_RATIO) $ar |
| set ::env(GLB_RT_ADJUSTMENT) $gr_af \ |
| " |
| local output_file=$output_path/${tag}_${idx}.tcl |
| echo "# Design" > $output_file |
| echo "$(cat $base_config_file)" >> $output_file |
| echo "" >> $output_file |
| echo "# Regression" >> $output_file |
| echo "$config_regession" >> $output_file |
| echo "" >> $output_file |
| echo "# Extra" >> $output_file |
| echo $extra >> $output_file |
| echo "" >> $output_file |
| local idx=$(( $idx + 1 )) |
| done |
| done |
| done |
| done |
| done |
| done |
| done |
| done |
| echo "$idx" |
| } |
| |
| generate_design_config $1 $2 $3 $4 |