graph LR subgraph "Analytical" AP[Convex Opt] APR["Wire-length driven\n Fast โก"] end subgraph "Simulated Annealing" SA[Non-convex Opt] SAR["Timing-driven\n Slow ๐ข"] end style AP fill:#e3f2fd,stroke:#1565c0,color:#2e3440,stroke-width:3px style APR fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px style SA fill:#fff3e0,stroke:#e65100,color:#2e3440,stroke-width:3px style SAR fill:#ffcdd2,stroke:#c62828,color:#2e3440,stroke-width:3px
graph LR BB[Bounding Box] --> XHPW[xHPWL = max x - min x] BB --> YHPW[yHPWL = max y - min y] XHPW --> HPWL[HPWL = xHPWL + yHPWL] YHPW --> HPWL HPWL --> ACC{Accurate?} ACC -->|n โค 3| YES[Yes โ ] ACC -->|n > 3| NO[Underestimates โ] style BB fill:#fff3e0,stroke:#e65100,color:#2e3440,stroke-width:3px style HPWL fill:#e3f2fd,stroke:#1565c0,color:#2e3440,stroke-width:3px style ACC fill:#ffcdd2,stroke:#c62828,color:#2e3440,stroke-width:3px style YES fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px style NO fill:#ffcdd2,stroke:#c62828,color:#2e3440,stroke-width:3px
graph TD HPWL[HPWL Objective] --> APPROX{Approximation} APPROX -->|Quadratic| QWL[QWL: Conjugate Gradient] APPROX -->|Log-Sum-Exp| LSE[Smooth Convex] QWL --> GRAD[Analytical Gradients] LSE --> GRAD GRAD --> OPT[Optimization] OPT --> CONS[Constraints] CONS --> FIX[Fixed Positions] CONS --> DENS[Density] style HPWL fill:#fff3e0,stroke:#e65100,color:#2e3440,stroke-width:3px style APPROX fill:#ffcdd2,stroke:#c62828,color:#2e3440,stroke-width:3px style QWL fill:#e3f2fd,stroke:#1565c0,color:#2e3440,stroke-width:3px style LSE fill:#e3f2fd,stroke:#1565c0,color:#2e3440,stroke-width:3px style GRAD fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px style FIX fill:#f3e5f5,stroke:#7b1fa2,color:#2e3440,stroke-width:3px style DENS fill:#f3e5f5,stroke:#7b1fa2,color:#2e3440,stroke-width:3px
graph LR P[1D Placement] --> D[Dual Flow Problem] D --> ADV[Faster than LP ๐] D --> DIS[Hard constraints ๐] D --> SOL[Discrete Solution ๐๐๐] P --> EXT[2D/3D Extension] EXT --> X[X-direction] EXT --> Y[Y-direction] style P fill:#fff3e0,stroke:#e65100,color:#2e3440,stroke-width:3px style D fill:#e3f2fd,stroke:#1565c0,color:#2e3440,stroke-width:3px style ADV fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px style DIS fill:#ffcdd2,stroke:#c62828,color:#2e3440,stroke-width:3px style SOL fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px style EXT fill:#f3e5f5,stroke:#7b1fa2,color:#2e3440,stroke-width:3px style X fill:#e3f2fd,stroke:#1565c0,color:#2e3440,stroke-width:3px style Y fill:#e3f2fd,stroke:#1565c0,color:#2e3440,stroke-width:3px