@@ -17,7 +17,7 @@ proc find_macros {} {
1717if {[find_macros] != " " } {
1818# If wrappers defined replace macros with their wrapped version
1919# # ----------------------------------------------------------------------------
20- if {[info exists ::env( MACRO_WRAPPERS) ]} {
20+ if {[env_var_exists_and_non_empty MACRO_WRAPPERS]} {
2121 source $::env(MACRO_WRAPPERS)
2222
2323 set wrapped_macros [dict keys [dict get $wrapper around]]
@@ -40,92 +40,48 @@ if {[find_macros] != ""} {
4040 set blockage_width [expr max($halo_max , $channel_max /2)]
4141
4242
43- if {[info exists ::env( MACRO_BLOCKAGE_HALO) ]} {
43+ if {[env_var_exists_and_non_empty MACRO_BLOCKAGE_HALO]} {
4444 set blockage_width $::env(MACRO_BLOCKAGE_HALO)
4545 }
4646
47- if {[info exists ::env( MACRO_PLACEMENT_TCL) ]} {
47+ if {[env_var_exists_and_non_empty MACRO_PLACEMENT_TCL]} {
4848 source $::env(MACRO_PLACEMENT_TCL)
4949 puts " Using manual macro placement file $::env(MACRO_PLACEMENT_TCL) "
50- } elseif {[info exists ::env( MACRO_PLACEMENT) ]} {
50+ } elseif {[env_var_exists_and_non_empty MACRO_PLACEMENT]} {
5151 source $::env(SCRIPTS_DIR) /read_macro_placement.tcl
5252 puts " Using manual macro placement file $::env(MACRO_PLACEMENT) "
5353 read_macro_placement $::env(MACRO_PLACEMENT)
54- } elseif {[info exists ::env( RTLMP_FLOW) ]} {
54+ } 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