Skip to content

Commit 1b48670

Browse files
committed
scripts: more consistent setup of arguments from variables
Signed-off-by: Øyvind Harboe <[email protected]>
1 parent cfc9d7d commit 1b48670

File tree

2 files changed

+29
-92
lines changed

2 files changed

+29
-92
lines changed

flow/scripts/detail_route.tcl

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,15 @@ load_design 5_1_grt.odb 4_cts.sdc
1010
set_propagated_clock [all_clocks]
1111

1212
set additional_args ""
13-
if { [info exists ::env(dbProcessNode)]} {
14-
append additional_args " -db_process_node $::env(dbProcessNode)"
15-
}
16-
if { [info exists ::env(OR_SEED)]} {
17-
append additional_args " -or_seed $::env(OR_SEED)"
18-
}
19-
if { [info exists ::env(OR_K)]} {
20-
append additional_args " -or_k $::env(OR_K)"
21-
}
22-
23-
if { [info exists ::env(MIN_ROUTING_LAYER)]} {
24-
append additional_args " -bottom_routing_layer $::env(MIN_ROUTING_LAYER)"
25-
}
26-
if { [info exists ::env(MAX_ROUTING_LAYER)]} {
27-
append additional_args " -top_routing_layer $::env(MAX_ROUTING_LAYER)"
28-
}
29-
if { [info exists ::env(VIA_IN_PIN_MIN_LAYER)]} {
30-
append additional_args " -via_in_pin_bottom_layer $::env(VIA_IN_PIN_MIN_LAYER)"
31-
}
32-
if { [info exists ::env(VIA_IN_PIN_MAX_LAYER)]} {
33-
append additional_args " -via_in_pin_top_layer $::env(VIA_IN_PIN_MAX_LAYER)"
34-
}
35-
if { [info exists ::env(DISABLE_VIA_GEN)]} {
36-
append additional_args " -disable_via_gen"
37-
}
38-
if { [info exists ::env(REPAIR_PDN_VIA_LAYER)]} {
39-
append additional_args " -repair_pdn_vias $::env(REPAIR_PDN_VIA_LAYER)"
40-
}
13+
append_env_var additional_args dbProcessNode -db_process_node 1
14+
append_env_var additional_args OR_SEED -or_seed 1
15+
append_env_var additional_args OR_K -or_k 1
16+
append_env_var additional_args MIN_ROUTING_LAYER -bottom_routing_layer 1
17+
append_env_var additional_args MAX_ROUTING_LAYER -top_routing_layer 1
18+
append_env_var additional_args VIA_IN_PIN_MIN_LAYER -via_in_pin_bottom_layer 1
19+
append_env_var additional_args VIA_IN_PIN_MAX_LAYER -via_in_pin_top_layer 1
20+
append_env_var additional_args DISABLE_VIA_GEN -disable_via_gen 0
21+
append_env_var additional_args REPAIR_PDN_VIA_LAYER -repair_pdn_vias 1
4122

4223
append additional_args " -save_guide_updates -verbose 1"
4324

flow/scripts/macro_place_util.tcl

Lines changed: 20 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -54,78 +54,34 @@ if {[find_macros] != ""} {
5454
} elseif {[env_var_equals RTLMP_FLOW 1]} {
5555
puts "HierRTLMP Flow enabled..."
5656
set additional_rtlmp_args ""
57-
if { [info exists ::env(RTLMP_MAX_LEVEL)]} {
58-
append additional_rtlmp_args " -max_num_level $env(RTLMP_MAX_LEVEL)"
59-
}
60-
if { [info exists ::env(RTLMP_MAX_INST)]} {
61-
append additional_rtlmp_args " -max_num_inst $env(RTLMP_MAX_INST)"
62-
}
63-
if { [info exists ::env(RTLMP_MIN_INST)]} {
64-
append additional_rtlmp_args " -min_num_inst $env(RTLMP_MIN_INST)"
65-
}
66-
if { [info exists ::env(RTLMP_MAX_MACRO)]} {
67-
append additional_rtlmp_args " -max_num_macro $env(RTLMP_MAX_MACRO)"
68-
}
69-
if { [info exists ::env(RTLMP_MIN_MACRO)]} {
70-
append additional_rtlmp_args " -min_num_macro $env(RTLMP_MIN_MACRO)"
71-
}
72-
57+
append_env_var additional_rtlmp_args RTLMP_MAX_LEVEL -max_num_level 1
58+
append_env_var additional_rtlmp_args RTLMP_MAX_INST -max_num_inst 1
59+
append_env_var additional_rtlmp_args RTLMP_MIN_INST -min_num_inst 1
60+
append_env_var additional_rtlmp_args RTLMP_MAX_MACRO -max_num_macro 1
61+
append_env_var additional_rtlmp_args RTLMP_MIN_MACRO -min_num_macro 1
7362
append additional_rtlmp_args " -halo_width $halo_x"
7463
append additional_rtlmp_args " -halo_height $halo_y"
75-
76-
if { [info exists ::env(RTLMP_MIN_AR)]} {
77-
append additional_rtlmp_args " -min_ar $env(RTLMP_MIN_AR)"
78-
}
79-
if { [info exists ::env(RTLMP_SIGNATURE_NET_THRESHOLD)]} {
80-
append additional_rtlmp_args \
81-
" -signature_net_threshold $env(RTLMP_SIGNATURE_NET_THRESHOLD)"
82-
}
83-
if { [info exists ::env(RTLMP_AREA_WT)]} {
84-
append additional_rtlmp_args " -area_weight $env(RTLMP_AREA_WT)"
85-
}
86-
if { [info exists ::env(RTLMP_WIRELENGTH_WT)]} {
87-
append additional_rtlmp_args " -wirelength_weight $env(RTLMP_WIRELENGTH_WT)"
88-
}
89-
if { [info exists ::env(RTLMP_OUTLINE_WT)]} {
90-
append additional_rtlmp_args " -outline_weight $env(RTLMP_OUTLINE_WT)"
91-
}
92-
if { [info exists ::env(RTLMP_BOUNDARY_WT)]} {
93-
append additional_rtlmp_args " -boundary_weight $env(RTLMP_BOUNDARY_WT)"
94-
}
95-
96-
if { [info exists ::env(RTLMP_NOTCH_WT)]} {
97-
append additional_rtlmp_args " -notch_weight $env(RTLMP_NOTCH_WT)"
98-
}
99-
100-
if { [info exists ::env(RTLMP_DEAD_SPACE)]} {
101-
append additional_rtlmp_args " -dead_space $env(RTLMP_DEAD_SPACE)"
102-
}
103-
if { [info exists ::env(RTLMP_CONFIG_FILE)]} {
104-
append additional_rtlmp_args " -config_file $env(RTLMP_CONFIG_FILE)"
105-
}
106-
if { [info exists ::env(RTLMP_RPT_DIR)]} {
107-
append additional_rtlmp_args " -report_directory $env(RTLMP_RPT_DIR)"
108-
}
109-
110-
if { [info exists ::env(RTLMP_FENCE_LX)]} {
111-
append additional_rtlmp_args " -fence_lx $env(RTLMP_FENCE_LX)"
112-
}
113-
if { [info exists ::env(RTLMP_FENCE_LY)]} {
114-
append additional_rtlmp_args " -fence_ly $env(RTLMP_FENCE_LY)"
115-
}
116-
if { [info exists ::env(RTLMP_FENCE_UX)]} {
117-
append additional_rtlmp_args " -fence_ux $env(RTLMP_FENCE_UX)"
118-
}
119-
if { [info exists ::env(RTLMP_FENCE_UY)]} {
120-
append additional_rtlmp_args " -fence_uy $env(RTLMP_FENCE_UY)"
121-
}
64+
append_env_var additional_rtlmp_args RTLMP_MIN_AR -min_ar 1
65+
append_env_var additional_rtlmp_args RTLMP_SIGNATURE_NET_THRESHOLD -signature_net_threshold 1
66+
append_env_var additional_rtlmp_args RTLMP_AREA_WT -area_weight 1
67+
append_env_var additional_rtlmp_args RTLMP_WIRELENGTH_WT -wirelength_weight 1
68+
append_env_var additional_rtlmp_args RTLMP_OUTLINE_WT -outline_weight 1
69+
append_env_var additional_rtlmp_args RTLMP_BOUNDARY_WT -boundary_weight 1
70+
append_env_var additional_rtlmp_args RTLMP_NOTCH_WT -notch_weight 1
71+
append_env_var additional_rtlmp_args RTLMP_DEAD_SPACE -dead_space 1
72+
append_env_var additional_rtlmp_args RTLMP_CONFIG_FILE -config_file 1
73+
append_env_var additional_rtlmp_args RTLMP_RPT_DIR -report_directory 1
74+
append_env_var additional_rtlmp_args RTLMP_FENCE_LX -fence_lx 1
75+
append_env_var additional_rtlmp_args RTLMP_FENCE_LY -fence_ly 1
76+
append_env_var additional_rtlmp_args RTLMP_FENCE_UX -fence_ux 1
77+
append_env_var additional_rtlmp_args RTLMP_FENCE_UY -fence_uy 1
12278

12379
source $::env(SCRIPTS_DIR)/set_place_density.tcl
12480
append additional_rtlmp_args " -target_util $place_density"
12581

12682
set all_args $additional_rtlmp_args
12783

128-
if { [info exists ::env(RTLMP_ARGS)] } {
84+
if { [env_var_exists_and_non_empty RTLMP_ARGS] } {
12985
set all_args $::env(RTLMP_ARGS)
13086
}
13187

0 commit comments

Comments
 (0)