Skip to content

Conversation

robluo
Copy link

@robluo robluo commented Sep 12, 2025

Analytical placement update clustering global context later compared to original placement, but the graphic resources are initialized earlier in vpr flow. This causes a segmentation fault when enabling both display on and analytical place.
This PR fixes the issue.

Description

Resized graphic resources (block_color and net_color) in post_place_sync().

Related Issue

Motivation and Context

How Has This Been Tested?

Types of changes

  • Bug fix (change which fixes an issue)
  • New feature (change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My change requires a change to the documentation
  • I have updated the documentation accordingly
  • I have added tests to cover my changes
  • All new and existing tests passed

updated the size of some graphics resources after ap
@github-actions github-actions bot added VPR VPR FPGA Placement & Routing Tool lang-cpp C/C++ code labels Sep 12, 2025
#ifndef NO_GRAPHICS
// update graphic resources incase of clustering changes
if (get_draw_state_vars()) {
get_draw_state_vars()->refresh_graphic_resources_after_cluster_change();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not think this bit of code belongs in this function. I recommend moving it somewhere else. Perhaps even into its own function. Post-place sync is not doing things related to drawing directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lang-cpp C/C++ code VPR VPR FPGA Placement & Routing Tool
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants