See it to Place it: Evolving Macro Placements with Vision-Language Models
Organizations: Harvard University, Cambridge, MA, USA · Kempner Institute for the Study of Natural and Artificial Intelligence, Harvard University, Cambridge, MA, USA · Google DeepMind
Abstract
We propose using Vision-Language Models (VLMs) for macro placement in chip floorplanning, a complex optimization task that has recently shown promising advancements through machine learning methods. Because human designers rely heavily on spatial reasoning to arrange components on the chip canvas, we hypothesize that VLMs with strong spatial reasoning capabilities can effectively complement existing placement algorithms. We introduce VeoPlace (Visual Evolutionary Optimization Placement), a novel framework that uses a VLM, without any fine-tuning, to guide the actions of a base placer by constraining it to subregions of the chip canvas. The VLM proposals are iteratively optimized through an evolutionary search strategy with respect to resulting placement quality. Using global half-perimeter wirelength (gHPWL) after standard-cell placement and legalization as the evaluation metric, VeoPlace boosts ChiPFormer performance on 9 of 10 benchmarks with peak reductions exceeding 32%. We further demonstrate that VeoPlace generalizes to analytical placers, improving DREAMPlace on all 8 evaluated Superblue benchmarks with gains up to 4.4%. Our approach opens new possibilities for electronic design automation tools that leverage foundation models to solve complex physical design problems.
Figures & tables
| Method | Category |
|---|---|
| DREAMPlace [ 25 ] | Analytical |
| NTUPlace3 [ 7 ] | Analytical |
| RePlace [ 8 ] | Analytical |
| SP-SA [ 29 ] | Packing |
| ChiPFormer [ 20 ] | IL |
| DeepPR [ 9 ] | RL |
| Component | Description |
|---|---|
| Grid Repr. | • 84 84 grid for ChiPFormer experiments (matching [ 20 ] ); 512 512 grid for DREAMPlace experiments. • Macros positioned by bottom-left corner coordinates. • Origin (0,0) at the bottom-left. |
| Visual Repr. | • Image of canvas showing placed macros and colors. • Visual context for spatial relationships and patterns. |
| Context | • Grid specs and macro properties (dimensions, color). • History of prior placements with performance metrics. • Current state (locations) of placed macros. |
| Benchmark | VP+DP | DP 4.3.0 | DP 4.0 | AutoDMP | WireMask-EA | MaskPlace | MaskRegulate |
|---|---|---|---|---|---|---|---|
| superblue1 | 37.29 0.03 ( 1.0%) | 37.66 0.01 | 89.6 8.4 | 81.3 1.7 | 80.7 3.8 | 79.3 0.6 | 57.7 0.5 |
| superblue3 | 43.81 0.04 ( 3.4%) | 45.38 0.03 | 128.7 17.3 | 81.3 6.9 | 93.7 8.1 | 89.0 1.7 | 70.5 0.3 |
| superblue4 | 28.68 0.06 ( 1.4%) | 29.09 0.03 | 68.1 2.3 | 45.7 7.8 | 55.1 0.7 | 52.8 0.3 | 41.5 0.6 |
| superblue5 | 39.79 0.04 ( 0.7%) | 40.09 0.03 | 87.8 14.7 | 126.7 40.9 | 102.3 6.8 | 98.1 0.3 | 69.4 0.0 |
| superblue7 | 53.88 0.09 ( 1.0%) | 54.45 0.04 | 227.0 9.1 | 100.4 16.3 | 100.5 3.4 | 99.9 0.5 | 79.0 0.3 |
| superblue10 | 68.33 0.12 ( 4.4%) | 71.45 0.12 | 148.1 13.3 | 114.8 17.8 | 135.2 22.5 | 109.4 2.1 | 112.3 3.8 |
| VP+CF | CF | ||
| Benchmark | No-FT | FT | |
| adaptec1 | 15.97 0.80 (+12.2%) | 14.23 0.77 | 14.99 0.55 |
| adaptec2 | 11.82 0.89 ( 13.8%) | 15.03 0.59 | 13.71 0.33 |
| adaptec3 | 24.10 0.21 ( 6.0%) | 25.64 0.43 | 26.31 0.97 |
| adaptec4 | 19.63 0.20 ( 8.7%) | 22.65 1.69 | 21.50 0.50 |
| ibm01 | 0.31 0.01 ( 22.5%) | 0.44 0.04 | 0.40 0.01 |
| VLM (VP+DP) | sb1 | sb3 | sb4 | sb5 | sb7 | sb10 | sb16 | sb18 |
|---|---|---|---|---|---|---|---|---|
| DP 4.3.0 | 376.63 0.13 | 453.75 0.33 | 290.92 0.26 | 400.88 0.30 | 544.45 0.35 | 714.47 1.18 | 366.34 0.12 | 219.24 0.07 |
| Gemini 3.6 Flash | 372.85 0.34 | 438.14 0.42 | 286.82 0.55 | 397.90 0.41 | 538.76 0.86 | 683.25 1.22 | 364.43 0.09 | 217.50 1.09 |
| Qwen3-VL 8B Instruct | 374.52 0.41 | 437.04 0.93 | 284.03 0.75 | 400.50 0.26 | 539.85 0.38 | 686.85 0.51 | 364.46 0.38 | 217.25 0.28 |
| Qwen3-VL 30B A3B Instruct | 375.54 0.59 | 432.98 1.35 | 283.40 0.84 | 400.29 0.34 | 539.58 0.74 | 686.25 1.26 | 364.40 0.39 | 217.59 0.32 |
| Method | Metric | Ariane-133 | Ariane-136 | BlackParrot | BP-Quad |
|---|---|---|---|---|---|
| Hier-RTLMP | Routed WL | 6.91 | 7.46 | 6.11 | 52.56 |
| WNS | -0.411 | 0.432 | -2.991 | -150.056 | |
| TNS | -0.719 | 0.000 | -0.003 | -38511.600 | |
| Power | 254.3 | 162.1 | 147.0 | 2008.7 | |
| DP 4.3.0 | Routed WL | 5.93 0.19 | 6.43 0.05 | 5.71 0.02 | 45.91 0.16 |
| WNS | -0.368 0.041 | 0.268 0.055 | -2.990 0.028 | -149.712 0.087 |
Appendix figures & tables18 assets
Supplementary material from the paper’s appendix.
Appendix
| Benchmark | # Objects | # Macros | # Nets | # Pins |
| ISPD 2005 | ||||
| adaptec1 | 211K | 63 | 221K | 944K |
| adaptec2 | 255K | 127 | 266K | 1.1M |
| adaptec3 | 452K | 58 | 467K | 1.9M |
| adaptec4 | 496K | 69 | 516K | 1.9M |
| ICCAD 2004 | ||||
| Benchmark | DP rollout (s) | DP (h) | VP+DP (h) | Overhead |
|---|---|---|---|---|
| superblue1 | 83 | 46 | 48 | +5% |
| superblue3 | 168 | 93 | 95 | +2% |
| superblue4 | 127 | 70 | 72 | +3% |
| superblue5 | 95 | 53 | 55 | +4% |
| superblue7 | 122 | 68 | 70 | +3% |
| superblue10 | 190 | 106 | 108 | +2% |
| Parameter | Value |
|---|---|
| Temperature | 0.7 |
| Top- | 64 |
| Top- | 0.95 |
| Candidates | 8 |
| Parameter | Value | Description |
|---|---|---|
| Number of Groups | 2000 | The fixed number of clusters to group all standard cells into. |
| Cell Area Utilization | 1.25 | A target for the density of cells within a cluster. |
| Enable Group Breakup | True | A boolean flag that allows the algorithm to split larger groups. |
| Netlist | Return-to-go |
|---|---|
| adaptec1 | -2.86E+06 |
| adaptec2 | -2.91E+06 |
| adaptec3 | -5.90E+06 |
| adaptec4 | -6.37E+06 |
| ibm01 | -7.00E+04 |
| ibm02 | -1.67E+05 |
| Benchmark | Target Density | Stop Overflow | Density Weight | Num Bins (X) | Num Bins (Y) | Iterations |
|---|---|---|---|---|---|---|
| ICCAD 2015 Superblue | ||||||
| superblue1 | 1.00 | 0.10 | 1024 | 1024 | 1000 | |
| superblue3 | 1.00 | 0.10 | 2048 | 2048 | 1000 | |
| superblue4 | 1.00 | 0.10 | 512 | 512 | 1000 | |
| superblue5 | 1.00 | 0.10 | 1024 | 1024 | 1000 | |
| superblue7 | 1.00 | 0.10 | 512 | 512 | 1000 | |
| Benchmark | VP+DP 2.5 Flash | DP 4.3.0 |
|---|---|---|
| superblue1 | 0.93 0.01 | 0.92 0.00 |
| superblue3 | 1.06 0.02 | 1.04 0.00 |
| superblue4 | 0.91 0.02 | 0.93 0.00 |
| superblue5 | 0.85 0.02 | 0.80 0.00 |
| superblue7 | 1.03 0.00 | 1.06 0.00 |
| superblue10 | 1.08 0.02 | 1.09 0.01 |
| Benchmark | Seed 1 | Seed 2 | Seed 3 | Seed 4 | Seed 5 |
|---|---|---|---|---|---|
| superblue1 | 4.26 | 4.37 | 2.41 | 4.01 | 3.86 |
| superblue3 | 15.93 | 13.53 | 17.84 | 16.00 | 14.72 |
| superblue4 | 2.47 | 3.91 | 4.36 | 4.55 | 5.18 |
| superblue5 | 4.93 | 3.39 | 2.27 | 2.51 | 1.80 |
| superblue7 | 6.39 | 9.14 | 6.59 | 3.09 | 3.25 |
| superblue10 | 33.92 | 32.16 | 27.10 | 32.07 | 30.86 |
| Method | Metric | Ariane-133 | Ariane-136 | BlackParrot | BP-Quad |
|---|---|---|---|---|---|
| Hier-RTLMP | Routed WL | 6.91 | 7.46 | 6.11 | 52.56 |
| WNS | -0.411 | 0.432 | -2.991 | -150.056 | |
| TNS | -0.719 | 0.000 | -0.003 | -38511.600 | |
| NVP | 2894 | 0 | 1 | 259747 | |
| Power | 254.3 | 162.1 | 147.0 | 2008.7 | |
| Area | 727.7 | 748.6 | 645.2 | 5402.6 |
| Method (rollouts) | superblue1 | superblue3 | superblue4 | superblue5 | superblue7 | superblue10 | superblue16 | superblue18 |
|---|---|---|---|---|---|---|---|---|
| DP 4.3.0 (4,000) | 376.61 0.12 | 453.64 0.27 | 290.90 0.25 | 399.94 0.25 | 544.36 0.31 | 714.05 1.30 | 366.21 0.07 | 219.13 0.05 |
| VP+DP 3.6 Flash (2,000) | 372.85 0.34 | 438.14 0.42 | 286.82 0.55 | 397.90 0.41 | 538.76 0.86 | 683.25 1.22 | 364.43 0.09 | 217.50 1.09 |
| Random regions (4,000) | 496.75 3.99 | 584.81 2.88 | 352.41 0.34 | 599.84 2.41 | 712.07 2.53 | 748.64 2.23 | 406.88 1.27 | 236.62 0.49 |
| Best-so-far anchor (4,000) | 382.79 0.72 | 451.09 1.20 | 289.09 0.43 | 406.20 0.74 | 544.93 0.28 | 702.34 2.69 | 366.55 0.11 | 221.35 0.31 |
| Greedy Prompt | Default Prompt | Exploratory Prompt |
|---|---|---|
| Preamble addition: “Use the previous examples as a strong prior. Stay very close to the best known historical arrangements and prefer small, low-risk refinements over novel departures.” Strategy section: “Refinement on Best Archetype: Propose exactly one small, low-risk improvement to the best known pattern. Stay very close to the successful historical arrangement and explain why this minimal change should help.” | Preamble addition: none. Strategy section: “Improvement on Best Archetype: Propose exactly one concrete change to the best pattern (e.g., shift position, adjust spacing, try different canvas region); if evidence is weak, label it ‘exploratory’ but still commit.” | Preamble addition: “Use the previous examples as context only, not as a constraint. Favor novel, diverse, and deliberately exploratory region proposals when they could plausibly lead to a better floorplan.” Strategy section: “Deliberate Departure from Best Archetype: Propose exactly one concrete way your plan intentionally differs from the best known pattern. Explain why this novel configuration could outperform it; if evidence is weak, label it an ‘exploratory hypothesis’ but still commit.” |
| Benchmark | Method | Greedy | Default | Exploratory |
|---|---|---|---|---|
| superblue1 | VP+DP 2.5 Flash | 37.51 0.09 | 37.47 0.11 | 37.64 0.11 |
| DP 4.3.0 (Baseline) | 37.95 0.16 | |||
| Benchmark | DP 4.3.0 | VP+DP Full | VP+DP NoImg | VP+DP NoTxt | VP+DP Shuffled |
|---|---|---|---|---|---|
| superblue1 | 376.63 0.13 | 372.85 0.34 | 374.18 0.36 | 372.73 0.39 | 373.54 0.38 |
| superblue3 | 453.75 0.33 | 438.14 0.42 | 438.31 0.73 | 436.81 0.22 | 438.01 0.72 |
| superblue4 | 290.92 0.26 | 286.82 0.55 | 285.88 0.22 | 284.64 0.59 | 285.91 0.21 |
| superblue5 | 400.88 0.30 | 397.90 0.41 | 397.91 0.53 | 397.99 0.96 | 398.42 0.39 |
| superblue7 | 544.45 0.35 | 538.76 0.86 | 537.35 0.57 | 541.32 0.57 | 537.64 0.90 |
| superblue10 | 714.47 1.18 | 683.25 1.22 | 684.01 1.31 | 682.72 0.51 | 681.75 1.06 |