## ✅ **VLSI Physical Design Automation: Comprehensive Deep Dive** --- ### **1. Overview** * **Goal:** Convert netlist into manufacturable layout. * **Flow:** 1. Partitioning 2. Floorplanning 3. Placement 4. Routing (Global & Detailed) 5. Compaction * **Key Note:** Each stage is NP-hard and deeply interdependent. --- ### **2. Partitioning Algorithms** | Algorithm | Strategy | Complexity | | ----------------------- | -------------------------------- | ---------- | | **Kernighan-Lin (KL)** | Pair swaps to reduce cutsize | $O(n^3)$ | | **Fiduccia-Mattheyses** | Gain buckets + single-node moves | $O(n)$ | | **Simulated Annealing** | Randomized optimization | Heuristic | | **Genetic Algorithms** | Evolutionary search | Heuristic | 🔹 **Key Structure:** Graphs, gain buckets 🔹 **Output Quality Impacts:** Placement & routing 🔹 **Visual Aid:** Graph cut animation with live cutsize update 🔹 **Code:** [KL Algorithm Pseudocode](f) --- ### **3. Floorplanning & Pin Assignment** | Method | Representation | Notes | | ------------------ | ------------------------------ | ----------------------------- | | **Slicing** | Binary slicing trees | Recursive rectangular cuts | | **Sequence Pair** | Two permutations | Non-slicing, efficient | | **B*-Tree*\* | Hierarchical block placement | Optimal for small-to-mid size | | **Pin Assignment** | Greedy / constraint algorithms | Reduces net congestion | 🔹 **Key Structure:** Sequence pairs, slicing trees 🔹 **Visual Aid:** Block arrangement diagram with trees 🔹 **Tip:** Floorplanning output constrains placement --- ### **4. Placement Algorithms** | Algorithm | Principle | | ----------------------- | --------------------------------------- | | **Min-Cut Placement** | Recursive bisection using partitioning | | **Force-Directed** | Cells modeled with electrostatic forces | | **Simulated Annealing** | Randomized global optimization | | **ML-Based** | Learned placement cost prediction | 🔹 **Metrics Optimized:** Wirelength, timing, congestion 🔹 **Visual Aid:** Force simulation with repulsion/attraction arrows 🔹 **Code Tip:** Integrate FM for hierarchical min-cut 🔹 **Modern Example:** [Google TPU placement via RL](f) --- ### **5. Routing Algorithms** #### A. **Global Routing** | Method | Notes | | ------------------- | --------------------------------- | | **Lee’s Algorithm** | BFS maze routing, guaranteed path | | **Steiner Tree** | Minimal total wirelength | | **Line-Probe** | Fast heuristics | #### B. **Detailed Routing** | Method | Notes | | -------------------- | ------------------------------------------- | | **Channel Routing** | Between rows/columns of cells | | **Switchbox** | Complex junctions between multiple nets | | **Rip-up & Reroute** | Conflict resolution and optimization cycles | 🔹 **Structures:** Grid graphs, cost maps 🔹 **Visual Aid:** Routing animation with congestion map overlay 🔹 **Code Sample:** [Maze Routing BFS logic](f) --- ### **6. Compaction** | Method | Strategy | | ----------------- | ------------------------------------- | | **1D Compaction** | Shadow propagation in X or Y | | **2D Compaction** | Simultaneous X-Y minimization | | **Hierarchical** | Recursive compaction of layout blocks | 🔹 **Goal:** Reduce layout area under design rules 🔹 **Constraint:** Maintain spacing, no DRC violations 🔹 **Visual Aid:** Before/after compaction layout overlay --- ### **7. Key Data Structures** * **Graphs:** All netlists and connectivity * **Gain Buckets:** Efficient node scoring (FM) * **Slicing Trees / B*-Trees / Sequence Pairs:*\* Floorplanning * **Grid Maps:** Routing algorithms * **Forces (Vectors):** Placement modeling 🔹 **Tip:** Master these to understand and implement any PD algorithm --- ### **8. Research Problems** | Area | Problem Description | | -------------------------- | -------------------------------------------- | | **General-Area Routing** | Gridless, multi-layer modern routing | | **Cross-Stage Feedback** | How early-stage changes affect later phases | | **ML/RL Approaches** | Trainable heuristics for layout optimization | | **Parallelism in Routing** | Scalability across multi-core systems | 🔹 **Reference Work:** Google’s RL for chip floorplanning 🔹 **Open Challenge:** Global cost function across PD stages --- ### **9. Visuals and Implementation Tips** * **Flowchart** of entire PD automation pipeline * **Live Graph Cuts & Partitions** * **Animated Routing Paths** * **Force-Directed Placement Simulations** * **Before/After Compaction Animations** 🔹 **Tooling Suggestion:** Integrate into GUI (e.g., Tkinter or web-based CAD) 🔹 **Benchmark Datasets:** ISPD, MCNC, OpenROAD --- ### **10. References for Study** * 📘 **Textbook:** Naveed Sherwani, *Algorithms for VLSI Physical Design Automation* * 🎓 **Courses:** [NPTEL VLSI Physical Design](https://archive.nptel.ac.in/courses/106/105/106105161/) * 📚 **GitHub:** [VLSI PDA Demos and Code](https://github.com/twweeb/VLSI-Physical-Design-Automation) * 🧠 **Papers:** ACM Digital Library, IEEE Xplore on ML/VLSI --- This version is **ready for course slides**, **video scripting**, or **coding implementation**. Let me know if you'd like [interactive visuals](f), [code examples](f), or [research paper summaries](f) to complement it.

视频信息