File tree Expand file tree Collapse file tree 3 files changed +18
-10
lines changed Expand file tree Collapse file tree 3 files changed +18
-10
lines changed Original file line number Diff line number Diff line change 59
59
60
60
#include " setup_grid.h"
61
61
#include " stats.h"
62
+ #ifndef NO_GRAPHICS
63
+ #include " draw_global.h"
64
+ #endif
62
65
63
66
std::unique_ptr<FullLegalizer> make_full_legalizer (e_ap_full_legalizer full_legalizer_type,
64
67
const APNetlist& ap_netlist,
@@ -1003,6 +1006,7 @@ void FlatRecon::legalize(const PartialPlacement& p_placement) {
1003
1006
1004
1007
// Perform the initial placement on created clusters.
1005
1008
place_clusters (p_placement);
1009
+ update_drawing_data_structures ();
1006
1010
}
1007
1011
1008
1012
void NaiveFullLegalizer::create_clusters (const PartialPlacement& p_placement) {
@@ -1219,6 +1223,7 @@ void NaiveFullLegalizer::legalize(const PartialPlacement& p_placement) {
1219
1223
// made part of the placement and verify placement should check for
1220
1224
// it.
1221
1225
post_place_sync ();
1226
+ update_drawing_data_structures ();
1222
1227
}
1223
1228
1224
1229
void APPack::legalize (const PartialPlacement& p_placement) {
@@ -1304,4 +1309,14 @@ void APPack::legalize(const PartialPlacement& p_placement) {
1304
1309
1305
1310
// Synchronize the pins in the clusters after placement.
1306
1311
post_place_sync ();
1312
+ update_drawing_data_structures ();
1307
1313
}
1314
+
1315
+ void FullLegalizer::update_drawing_data_structures () {
1316
+ #ifndef NO_GRAPHICS
1317
+ // update graphic resources incase of clustering changes
1318
+ if (get_draw_state_vars ()) {
1319
+ get_draw_state_vars ()->refresh_graphic_resources_after_cluster_change ();
1320
+ }
1321
+ #endif
1322
+ }
Original file line number Diff line number Diff line change @@ -59,6 +59,9 @@ class FullLegalizer {
59
59
* device grid and fixed blocks are observed.
60
60
*/
61
61
virtual void legalize (const PartialPlacement& p_placement) = 0;
62
+
63
+ // / @brief Update drawing data structure for current placement
64
+ void update_drawing_data_structures ();
62
65
63
66
protected:
64
67
// / @brief The AP Netlist to fully legalize the flat placement of.
Original file line number Diff line number Diff line change 20
20
#include " route.h"
21
21
#include " route_export.h"
22
22
#include " draw.h"
23
- #ifndef NO_GRAPHICS
24
- #include " draw_global.h"
25
- #endif
26
23
#include " rr_graph.h"
27
24
#include " read_xml_arch_file.h"
28
25
#include " route_common.h"
@@ -607,11 +604,4 @@ void post_place_sync() {
607
604
for (const ClusterBlockId block_id : cluster_ctx.clb_nlist .blocks ()) {
608
605
blk_loc_registry.place_sync_external_block_connections (block_id);
609
606
}
610
-
611
- #ifndef NO_GRAPHICS
612
- // update graphic resources incase of clustering changes
613
- if (get_draw_state_vars ()) {
614
- get_draw_state_vars ()->refresh_graphic_resources_after_cluster_change ();
615
- }
616
- #endif
617
607
}
You can’t perform that action at this time.
0 commit comments