Skip to content

Commit e7081c9

Browse files
committed
synth: map adders with synth -extra-map
1 parent 1626ec5 commit e7081c9

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

flow/scripts/synth.tcl

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,13 @@ set synth_full_args $::env(SYNTH_ARGS)
2222
if {[env_var_exists_and_non_empty SYNTH_OPERATIONS_ARGS]} {
2323
set synth_full_args [concat $synth_full_args $::env(SYNTH_OPERATIONS_ARGS)]
2424
} else {
25+
# Coarse LCU -> Kogge-Stone
2526
set synth_full_args [concat $synth_full_args "-extra-map $::env(FLOW_HOME)/platforms/common/lcu_kogge_stone.v"]
27+
28+
if {[env_var_exists_and_non_empty ADDER_MAP_FILE]} {
29+
# Coarse FA -> PDK FA
30+
set synth_full_args [concat $synth_full_args "-extra-map $::env(ADDER_MAP_FILE)"]
31+
}
2632
}
2733

2834
if {![env_var_equals SYNTH_HIERARCHICAL 1]} {
@@ -70,16 +76,6 @@ renames -wire
7076
# Optimize the design
7177
opt -purge
7278

73-
# Technology mapping of adders
74-
if {[env_var_exists_and_non_empty ADDER_MAP_FILE]} {
75-
# default map all but full adders
76-
techmap -dont_map \$fa
77-
# custom map full adders
78-
techmap -map $::env(ADDER_MAP_FILE)
79-
# Quick optimization
80-
opt -fast -purge
81-
}
82-
8379
# Technology mapping of latches
8480
if {[env_var_exists_and_non_empty LATCH_MAP_FILE]} {
8581
techmap -map $::env(LATCH_MAP_FILE)

0 commit comments

Comments
 (0)