@@ -105,22 +105,6 @@ static e_packer_state get_next_packer_state(e_packer_state current_packer_state,
105
105
return e_packer_state::SUCCESS;
106
106
}
107
107
108
- // Check if the utilizaion of any block types is over 100%
109
- if (!fits_on_device) {
110
- // The utilization of some block types are too high. Need to increase the
111
- // density of the block types available.
112
-
113
- // Check if we can turn on unrelated cluster and/or balanced block type
114
- // utilization.
115
- if (packer_opts.allow_unrelated_clustering == e_unrelated_clustering::AUTO && packer_opts.balance_block_type_utilization == e_balance_block_type_util::AUTO) {
116
-
117
- // Check if they are not already on. If not, set the next state to turn them on.
118
- if (!using_unrelated_clustering || !using_balanced_block_type_util) {
119
- return e_packer_state::SET_UNRELATED_AND_BALANCED;
120
- }
121
- }
122
- }
123
-
124
108
// Check if there are overfilled floorplan regions.
125
109
if (floorplan_regions_overfull) {
126
110
// If there are overfilled region constraints, try to use attraction
@@ -152,6 +136,22 @@ static e_packer_state get_next_packer_state(e_packer_state current_packer_state,
152
136
}
153
137
}
154
138
139
+ // Check if the utilizaion of any block types is over 100%
140
+ if (!fits_on_device) {
141
+ // The utilization of some block types are too high. Need to increase the
142
+ // density of the block types available.
143
+
144
+ // Check if we can turn on unrelated cluster and/or balanced block type
145
+ // utilization.
146
+ if (packer_opts.allow_unrelated_clustering == e_unrelated_clustering::AUTO && packer_opts.balance_block_type_utilization == e_balance_block_type_util::AUTO) {
147
+
148
+ // Check if they are not already on. If not, set the next state to turn them on.
149
+ if (!using_unrelated_clustering || !using_balanced_block_type_util) {
150
+ return e_packer_state::SET_UNRELATED_AND_BALANCED;
151
+ }
152
+ }
153
+ }
154
+
155
155
// Check if we can increase the target density of the overused block types.
156
156
// This is a last resort since increasing the target pin density can have
157
157
// bad affects on quality and routability.
0 commit comments