blob: 157dc122db8e9066904745d5dbdc87415c6cea28 [file] [log] [blame] [edit]
#!/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