diff --git a/synthDC/scripts/synth.tcl b/synthDC/scripts/synth.tcl index 83020352..fe1e31fa 100755 --- a/synthDC/scripts/synth.tcl +++ b/synthDC/scripts/synth.tcl @@ -54,18 +54,20 @@ set MY_LIB_NAME $my_toplevel # Create MW if { [shell_is_in_topographical_mode] } { echo "In Topographical Mode...processing\n" - if {[file isdirectory $MY_LIB_NAME]} { - echo "MW directory already here, deleting/readdding." - [exec rm -rf $my_toplevel] - create_mw_lib -technology $MW_REFERENCE_LIBRARY/$MW_TECH_FILE.tf \ - -mw_reference_library $mw_reference_library $MY_LIB_NAME - } else { - create_mw_lib -technology $MW_REFERENCE_LIBRARY/$MW_TECH_FILE.tf \ - -mw_reference_library $mw_reference_library $MY_LIB_NAME - } + create_mw_lib -technology $MW_REFERENCE_LIBRARY/$MW_TECH_FILE.tf \ + -mw_reference_library $mw_reference_library $outputDir/$MY_LIB_NAME +# if {[file isdirectory $MY_LIB_NAME]} { + #echo "MW directory already here, deleting/reading." + #[exec rm -rf $my_toplevel] +# create_mw_lib -technology $MW_REFERENCE_LIBRARY/$MW_TECH_FILE.tf \ +# -mw_reference_library $mw_reference_library $MY_LIB_NAME +# } else { +# create_mw_lib -technology $MW_REFERENCE_LIBRARY/$MW_TECH_FILE.tf \ +# -mw_reference_library $mw_reference_library $MY_LIB_NAME +# } # Open MW - open_mw_lib $MY_LIB_NAME + open_mw_lib $outputDir/$MY_LIB_NAME # TLU+ set_tlu_plus_files -max_tluplus $MAX_TLU_FILE -min_tluplus $MIN_TLU_FILE \ @@ -73,7 +75,7 @@ if { [shell_is_in_topographical_mode] } { } else { if {[file isdirectory $MY_LIB_NAME]} { - [exec rm -rf $my_toplevel] + [exec rm -rf $my_toplevel] echo "MW directory already here, deleting." } echo "In normal DC mode...processing\n" @@ -152,7 +154,7 @@ if {$tech == "sky130"} { } elseif {$drive == "FLOP"} { set_driving_cell -lib_cell scc9gena_dfxbp_1 -pin Q $all_in_ex_clk } -} elseif {$tech == "tsmc28"} { +} elseif {$tech == "tsmc28" || $tech="tsmc28psyn"} { if {$drive == "INV"} { set_driving_cell -lib_cell INVD1BWP30P140 -pin ZN $all_in_ex_clk } elseif {$drive == "FLOP"} { @@ -178,7 +180,7 @@ if {$tech == "sky130"} { } elseif {$drive == "FLOP"} { set_load [expr [load_of scc9gena_tt_1.2v_25C/scc9gena_dfxbp_1/D] * 1] [all_outputs] } -} elseif {$tech == "tsmc28"} { +} elseif {$tech == "tsmc28" || $tech = "tsmc28psyn"} { if {$drive == "INV"} { set_load [expr [load_of tcbn28hpcplusbwp30p140tt0p9v25c/INVD4BWP30P140/I] * 1] [all_outputs] } elseif {$drive == "FLOP"} { @@ -186,8 +188,10 @@ if {$tech == "sky130"} { } } -# Set the wire load model -set_wire_load_mode "top" +if ($tech != "tsmc28psyn") { + # Set the wire load model + set_wire_load_mode "top" +} # Set switching activities # default activity factors are 1 for clocks, 0.1 for others diff --git a/synthDC/wallySynth.py b/synthDC/wallySynth.py index 426f4a12..e2918620 100755 --- a/synthDC/wallySynth.py +++ b/synthDC/wallySynth.py @@ -19,6 +19,7 @@ if __name__ == '__main__': techs = ['sky90', 'tsmc28', 'tsmc28psyn'] allConfigs = ['rv32gc', 'rv32imc', 'rv64gc', 'rv64imc', 'rv32e', 'rv32i', 'rv64i'] freqVaryPct = [-20, -12, -8, -6, -4, -2, 0, 2, 4, 6, 8, 12, 20] + freqVaryPct = [0, 10] pool = Pool()