diff --git a/fpga_flow/configs/fpga_spice/k6_N10_sram_tsmc40nm_TT.conf b/fpga_flow/configs/fpga_spice/k6_N10_sram_tsmc40nm_TT.conf index 69c72afc6..01484fffa 100644 --- a/fpga_flow/configs/fpga_spice/k6_N10_sram_tsmc40nm_TT.conf +++ b/fpga_flow/configs/fpga_spice/k6_N10_sram_tsmc40nm_TT.conf @@ -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: diff --git a/fpga_flow/run_fpga_spice_testbench_study.sh b/fpga_flow/run_fpga_spice_testbench_study.sh index 0b4b60492..bbc9fadc4 100755 --- a/fpga_flow/run_fpga_spice_testbench_study.sh +++ b/fpga_flow/run_fpga_spice_testbench_study.sh @@ -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 diff --git a/fpga_flow/scripts/generate_config.pl b/fpga_flow/scripts/generate_config.pl index 233134e01..ef13e6832 100644 --- a/fpga_flow/scripts/generate_config.pl +++ b/fpga_flow/scripts/generate_config.pl @@ -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; } diff --git a/fpga_flow/scripts/generate_config.sh b/fpga_flow/scripts/generate_config.sh deleted file mode 100755 index 395dbdb47..000000000 --- a/fpga_flow/scripts/generate_config.sh +++ /dev/null @@ -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