@@ -356,7 +356,7 @@ struct ClusteringHelperContext : public Context {
356
356
t_ext_pin_util_targets target_external_pin_util;
357
357
358
358
// During clustering, a block is related to un-clustered primitives with nets.
359
- // This relation has three types: low fanout, high fanout, and trasitive
359
+ // This relation has three types: low fanout, high fanout, and transitive
360
360
// high_fanout_thresholds stores the threshold for nets to a block type to be considered high fanout
361
361
t_pack_high_fanout_thresholds high_fanout_thresholds;
362
362
@@ -403,6 +403,12 @@ struct PlacementContext : public Context {
403
403
// /@brief The pl_macros array stores all the placement macros (usually carry chains).
404
404
std::vector<t_pl_macro> pl_macros;
405
405
406
+ // /@brief Stores ClusterBlockId of all movable clustered blocks (blocks that are not locked down to a single location)
407
+ std::vector<ClusterBlockId> movable_blocks;
408
+
409
+ // /@brief Stores ClusterBlockId of all movable clustered of each block type
410
+ std::vector<std::vector<ClusterBlockId>> movable_blocks_per_type;
411
+
406
412
/* *
407
413
* @brief Compressed grid space for each block type
408
414
*
@@ -528,6 +534,17 @@ struct FloorplanningContext : public Context {
528
534
*/
529
535
vtr::vector<ClusterBlockId, PartitionRegion> cluster_constraints;
530
536
537
+ /* *
538
+ * @brief Floorplanning constraints in the compressed grid coordinate system.
539
+ *
540
+ * Each clustered block has a logical type with a corresponding compressed grid.
541
+ * Compressed floorplanning constraints are calculated by translating the grid locations
542
+ * of floorplanning regions to compressed grid locations. To ensure regions do not enlarge:
543
+ * - The bottom left corner is rounded up to the nearest compressed location.
544
+ * - The top right corner is rounded down to the nearest compressed location.
545
+ */
546
+ vtr::vector<ClusterBlockId, PartitionRegion> compressed_cluster_constraints;
547
+
531
548
std::vector<Region> overfull_regions;
532
549
};
533
550
0 commit comments