forked from Github_Repos/cvw
Fixing loads and wire loading for physical synthesis. Also put Milkyway library in each run directory so they don't conflict across runs
This commit is contained in:
parent
41fbe32489
commit
1f9d425eab
@ -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
|
||||
}
|
||||
-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 \
|
||||
@ -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
|
||||
|
@ -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()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user