Perl script integrated to flow. rm shell one

This commit is contained in:
Baudouin Chauviere 2018-11-20 13:32:11 -07:00
parent 15d69e2bb1
commit 03e902023a
4 changed files with 22 additions and 58 deletions

View File

@ -1,26 +1,26 @@
# Standard Configuration Example
[dir_path]
script_base = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../scripts/
benchmark_dir = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../benchmarks/FPGA_SPICE_bench
odin2_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../not_used_atm/odin2.exe
cirkit_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../not_used_atm/cirkit
abc_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../../abc_with_bb_support/abc
abc_mccl_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../../abc_with_bb_support/abc
abc_with_bb_support_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../../abc_with_bb_support/abc
mpack1_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../not_used_atm/mpack1
m2net_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../not_used_atm/m2net
mpack2_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../not_used_atm/mpack2
vpr_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../../vpr7_x2p/vpr/vpr
rpt_dir = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../results
ace_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../../ace2/ace
script_base = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/
benchmark_dir = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/benchmarks/FPGA_SPICE_bench
odin2_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/not_used_atm/odin2.exe
cirkit_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/not_used_atm/cirkit
abc_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/../abc_with_bb_support/abc
abc_mccl_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/../abc_with_bb_support/abc
abc_with_bb_support_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/../abc_with_bb_support/abc
mpack1_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/not_used_atm/mpack1
m2net_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/not_used_atm/m2net
mpack2_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/not_used_atm/mpack2
vpr_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/../vpr7_x2p/vpr/vpr
rpt_dir = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/results
ace_path = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/../ace2/ace
[flow_conf]
flow_type = standard #standard|mpack2|mpack1|vtr_standard|vtr
vpr_arch = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../arch/fpga_spice/k6_N10_sram_tsmc40nm_TT.xml # Use relative path under VPR folder is OK
vpr_arch = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/arch/fpga_spice/k6_N10_sram_tsmc40nm_TT.xml # Use relative path under VPR folder is OK
mpack1_abc_stdlib = DRLC7T_SiNWFET.genlib # Use relative path under ABC folder is OK
m2net_conf = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../m2net_conf/m2x2_SiNWFET.conf
m2net_conf = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/m2net_conf/m2x2_SiNWFET.conf
mpack2_arch = K6_pattern7_I24.arch
power_tech_xml = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/scripts/../tech/tsmc40nm.xml # Use relative path under VPR folder is OK
power_tech_xml = /research/ece/lnis/USERS/chauviere/OpenFPGA/fpga_flow/tech/tsmc40nm.xml # Use relative path under VPR folder is OK
[csv_tags]
mpack1_tags = Global mapping efficiency:|efficiency:|occupancy wo buf:|efficiency wo buf:

View File

@ -12,6 +12,8 @@ foreach j ($corner_list)
set mc_opt = ()
endif
perl scripts/generate_config.pl
perl scripts/fpga_flow.pl -conf ./configs/fpga_spice/k6_N10_sram_tsmc40nm_$j\.conf -benchmark ./benchmarks/fpga_spice_bench.txt -rpt ./csv_rpts/fpga_spice/k6_N10_sram_tsmc40nm_bench_$j\.csv -N 10 -K 6 -power -remove_designs -multi_thread 1 -vpr_fpga_spice ./vpr_fpga_spice_task_lists/k6_N10_sram_tsmc40nm -vpr_fpga_spice_rename_illegal_port -vpr_fpga_spice_sim_mt_num 16 -vpr_fpga_spice_print_top_tb -vpr_fpga_spice_print_component_tb -vpr_fpga_spice_print_grid_tb #-vpr_fpga_spice_parasitic_net_estimation_off #-vpr_fpga_spice_leakage_only
perl scripts/run_fpga_spice.pl -conf ./vpr_fpga_spice_conf/sample.conf -task ./vpr_fpga_spice_task_lists/k6_N10_sram_tsmc40nm_standard.txt -rpt ./vpr_fpga_spice_csv_rpts/k6_N10_sram_tsmc40_spice_bench_$j\.csv $mc_opt -parse_top_tb -multi_thread 2 -parse_pb_mux_tb -parse_cb_mux_tb -parse_sb_mux_tb -parse_lut_tb -parse_hardlogic_tb -parse_grid_tb -parse_cb_tb -parse_sb_tb

View File

@ -13,13 +13,14 @@ use FileHandle;
my $CONF_HANDLE;
my ($SCRIPTS_PATH, $CONFIG_PATH, $FPGA_FLOW_PATH);
$SCRIPTS_PATH = getcwd();
$FPGA_FLOW_PATH = "${SCRIPTS_PATH}/..";
# !!! this script is called in the parent folder: fpga_flow. If you use the script in the scripts folder it is not going to work! !!!
$FPGA_FLOW_PATH = getcwd();
$SCRIPTS_PATH = "${FPGA_FLOW_PATH}/scripts";
$CONFIG_PATH = "${FPGA_FLOW_PATH}/configs/fpga_spice/k6_N10_sram_tsmc40nm_TT.conf";
sub print_usage()
{
print "\n The configuration file generates the configuration for the .run_fpga_spice_testbench_study.sh in the parent folder. \nThe output is placed in ../configs/fpga_spice/k6_N10_sram_tsmc40nm_TT.conf\n";
print "\n The configuration file is being generated. \nThe output is placed in ../configs/fpga_spice/k6_N10_sram_tsmc40nm_TT.conf\n";
return 1;
}

View File

@ -1,39 +0,0 @@
#! /bin/sh
cd ..
FPGA_FLOW_PATH=$PWD
DEST=${FPGA_FLOW_PATH}/configs/fpga_spice/k6_N10_sram_tsmc40nm_TT.conf
#DEST=configs/fpga_spice/test.conf
if [ -e "$DEST" ]; then
echo "" > $DEST;
fi
echo "# Standard Configuration Example" >> $DEST
echo "[dir_path]" >> $DEST
echo "script_base = ${FPGA_FLOW_PATH}/scripts/" >> $DEST
echo "benchmark_dir = ${FPGA_FLOW_PATH}/benchmarks/FPGA_SPICE_bench" >> $DEST
echo "odin2_path = ${FPGA_FLOW_PATH}/not_used_atm/odin2.exe" >> $DEST
echo "cirkit_path = ${FPGA_FLOW_PATH}/not_used_atm/cirkit" >> $DEST
echo "abc_path = ${FPGA_FLOW_PATH}/../abc_with_bb_support/abc" >> $DEST
echo "abc_mccl_path = ${FPGA_FLOW_PATH}/../abc_with_bb_support/abc" >> $DEST
echo "abc_with_bb_support_path = ${FPGA_FLOW_PATH}/../abc_with_bb_support/abc" >> $DEST
echo "mpack1_path = ${FPGA_FLOW_PATH}/not_used_atm/mpack1" >> $DEST
echo "m2net_path = ${FPGA_FLOW_PATH}/not_used_atm/m2net" >> $DEST
echo "mpack2_path = ${FPGA_FLOW_PATH}/not_used_atm/mpack2" >> $DEST
echo "vpr_path = ${FPGA_FLOW_PATH}/../vpr7_x2p/vpr/vpr" >> $DEST
echo "rpt_dir = ${FPGA_FLOW_PATH}/results" >> $DEST
echo "ace_path = ${FPGA_FLOW_PATH}/../ace2/ace" >> $DEST
echo "" >> $DEST
echo "[flow_conf]" >> $DEST
echo "flow_type = standard #standard|mpack2|mpack1|vtr_standard|vtr" >> $DEST
echo "vpr_arch = ${FPGA_FLOW_PATH}/arch/fpga_spice/k6_N10_sram_tsmc40nm_TT.xml # Use relative path under VPR folder is OK" >> $DEST
echo "mpack1_abc_stdlib = DRLC7T_SiNWFET.genlib # Use relative path under ABC folder is OK" >> $DEST
echo "m2net_conf = ${FPGA_FLOW_PATH}/m2net_conf/m2x2_SiNWFET.conf" >> $DEST
echo "mpack2_arch = K6_pattern7_I24.arch" >> $DEST
echo "power_tech_xml = ${FPGA_FLOW_PATH}/tech/tsmc40nm.xml # Use relative path under VPR folder is OK" >> $DEST
echo "" >> $DEST
echo "[csv_tags]" >> $DEST
echo "mpack1_tags = Global mapping efficiency:|efficiency:|occupancy wo buf:|efficiency wo buf:" >> $DEST
echo "mpack2_tags = BLE Number:|BLE Fill Rate: " >> $DEST
echo "vpr_tags = Netlist clb blocks:|Final critical path:|Total logic delay:|total net delay:|Total routing area:|Total used logic block area:|Total wirelength:|Packing took|Placement took|Routing took|Average net density:|Median net density:|Recommend no. of clock cycles:" >> $DEST
echo "vpr_power_tags = PB Types|Routing|Switch Box|Connection Box|Primitives|Interc Structures|lut6|ff" >> $DEST