Skip to content

Commit afaf6d0

Browse files
authored
Merge pull request #787 from os-fpga/merge_patched_vpr_context
merge patched vpr_context.h, vpr_types.h
2 parents e6d4685 + 68a5ede commit afaf6d0

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

include/base_fix/PATCHED/vpr_context.h

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ struct ClusteringHelperContext : public Context {
356356
t_ext_pin_util_targets target_external_pin_util;
357357

358358
// 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
360360
// high_fanout_thresholds stores the threshold for nets to a block type to be considered high fanout
361361
t_pack_high_fanout_thresholds high_fanout_thresholds;
362362

@@ -403,6 +403,12 @@ struct PlacementContext : public Context {
403403
///@brief The pl_macros array stores all the placement macros (usually carry chains).
404404
std::vector<t_pl_macro> pl_macros;
405405

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+
406412
/**
407413
* @brief Compressed grid space for each block type
408414
*
@@ -528,6 +534,17 @@ struct FloorplanningContext : public Context {
528534
*/
529535
vtr::vector<ClusterBlockId, PartitionRegion> cluster_constraints;
530536

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+
531548
std::vector<Region> overfull_regions;
532549
};
533550

include/base_fix/PATCHED/vpr_types.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1583,6 +1583,7 @@ struct t_det_routing_arch {
15831583

15841584
/* Xifan Tang: tileable routing */
15851585
bool tileable;
1586+
bool perimeter_cb;
15861587
bool shrink_boundary;
15871588
bool through_channel;
15881589
bool opin2all_sides;

0 commit comments

Comments
 (0)