PLACEMENT USING DON’T CARE WIRES Fan Mo Don’t Care Wire Group: P.Chong, Y-J.Jiang, S.Singha and R.K.Brayton.

Slides:



Advertisements
Similar presentations
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
Advertisements

BSPlace: A BLE Swapping technique for placement Minsik Hong George Hwang Hemayamini Kurra Minjun Seo 1.
3D-STAF: Scalable Temperature and Leakage Aware Floorplanning for Three-Dimensional Integrated Circuits Pingqiang Zhou, Yuchun Ma, Zhouyuan Li, Robert.
A Size Scaling Approach for Mixed-size Placement Kalliopi Tsota, Cheng-Kok Koh, Venkataramanan Balakrishnan School of Electrical and Computer Engineering.
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Ripple: An Effective Routability-Driven Placer by Iterative Cell Movement Xu He, Tao Huang, Linfu Xiao, Haitong Tian, Guxin Cui and Evangeline F.Y. Young.
Paul Falkenstern and Yuan Xie Yao-Wen Chang Yu Wang Three-Dimensional Integrated Circuits (3D IC) Floorplan and Power/Ground Network Co-synthesis ASPDAC’10.
Coupling-Aware Length-Ratio- Matching Routing for Capacitor Arrays in Analog Integrated Circuits Kuan-Hsien Ho, Hung-Chih Ou, Yao-Wen Chang and Hui-Fang.
FastPlace: Efficient Analytical Placement using Cell Shifting, Iterative Local Refinement and a Hybrid Net Model FastPlace: Efficient Analytical Placement.
1 Optimization of Routing Algorithms Summer Science Research By: Kumar Chheda Research Mentor: Dr. Sean McCulloch.
Early Days of Circuit Placement Martin D. F. Wong Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign.
1 SPFDs - A new method for specifying flexibility Sets of Pairs of Functions to be Distinguished From the paper: “A new Method to Express Functional Permissibilities.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: March 4, 2008 Placement (Intro, Constructive)
Multiobjective VLSI Cell Placement Using Distributed Simulated Evolution Algorithm Sadiq M. Sait, Mustafa I. Ali, Ali Zaidi.
Localized Techniques for Power Minimization and Information Gathering in Sensor Networks EE249 Final Presentation David Tong Nguyen Abhijit Davare Mentor:
© University of Minnesota Data Mining for the Discovery of Ocean Climate Indices 1 CSci 8980: Data Mining (Fall 2002) Vipin Kumar Army High Performance.
Generating Supply Voltage Islands In Core-based System-on-Chip Designs Final Presentation Steven Beigelmacher Gall Gotfried 04/26/2005.
SPFD-Based Wire Removal in a Network of PLAs Sunil P. Khatri* Subarnarekha Sinha* Andreas Kuehlmann** Robert K. Brayton* Alberto Sangiovanni-Vincentelli*
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
A Tool for Partitioning and Pipelined Scheduling of Hardware-Software Systems Karam S Chatha and Ranga Vemuri Department of ECECS University of Cincinnati.
More Graph Algorithms Weiss ch Exercise: MST idea from yesterday Alternative minimum spanning tree algorithm idea Idea: Look at smallest edge not.
Triple Patterning Aware Detailed Placement With Constrained Pattern Assignment Haitong Tian, Yuelin Du, Hongbo Zhang, Zigang Xiao, Martin D.F. Wong.
Applying Edge Partitioning to SPFD's 1 Applying Edge Partitioning to SPFD’s 219B Project Presentation Trevor Meyerowitz Mentor: Subarna Sinha Professor:
Chip Planning 1. Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some.
1 ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical Verification and.
1 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
Improved results for a memory allocation problem Rob van Stee University of Karlsruhe Germany Leah Epstein University of Haifa Israel WADS 2007 WAOA 2007.
MGR: Multi-Level Global Router Yue Xu and Chris Chu Department of Electrical and Computer Engineering Iowa State University ICCAD
Area-I/O Flip-Chip Routing for Chip-Package Co-Design Progress Report 方家偉、張耀文、何冠賢 The Electronic Design Automation Laboratory Graduate Institute of Electronics.
Authors: Jia-Wei Fang,Chin-Hsiung Hsu,and Yao-Wen Chang DAC 2007 speaker: sheng yi An Integer Linear Programming Based Routing Algorithm for Flip-Chip.
Primal-Dual Meets Local Search: Approximating MST’s with Non-uniform Degree Bounds Author: Jochen Könemann R. Ravi From CMU CS 3150 Presentation by Dan.
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science.
CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.
Power Reduction for FPGA using Multiple Vdd/Vth
TSV-Aware Analytical Placement for 3D IC Designs Meng-Kai Hsu, Yao-Wen Chang, and Valerity Balabanov GIEE and EE department of NTU DAC 2011.
Solving Hard Instances of FPGA Routing with a Congestion-Optimal Restrained-Norm Path Search Space Keith So School of Computer Science and Engineering.
1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.
March 20, 2007 ISPD An Effective Clustering Algorithm for Mixed-size Placement Jianhua Li, Laleh Behjat, and Jie Huang Jianhua Li, Laleh Behjat,
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Elementary Sorting Algorithms Many of the slides are from Prof. Plaisted’s resources at University of North Carolina at Chapel Hill.
05/04/06 1 Integrating Logic Synthesis, Tech mapping and Retiming Presented by Atchuthan Perinkulam Based on the above paper by A. Mishchenko et al, UCAL.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Jason Cong‡†, Guojie Luo*†, Kalliopi Tsota‡, and Bingjun Xiao‡ ‡Computer Science Department, University of California, Los Angeles, USA *School of Electrical.
Quadratic VLSI Placement Manolis Pantelias. General Various types of VLSI placement  Simulated-Annealing  Quadratic or Force-Directed  Min-Cut  Nonlinear.
1 Combinatorial Algorithms Local Search. A local search algorithm starts with an arbitrary feasible solution to the problem, and then check if some small,
Clock-Tree Aware Placement Based on Dynamic Clock-Tree Building Yanfeng Wang, Qiang Zhou, Xianlong Hong, and Yici Cai Department of Computer Science and.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
1 A Min-Cost Flow Based Detailed Router for FPGAs Seokjin Lee *, Yongseok Cheon *, D. F. Wong + * The University of Texas at Austin + University of Illinois.
Timing-Driven Routing for FPGAs Based on Lagrangian Relaxation
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Improving Voltage Assignment by Outlier Detection and Incremental Placement Huaizhi Wu* and Martin D.F. Wong** * Atoptech, Inc. ** University of Illinois.
CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
Timing Model Reduction for Hierarchical Timing Analysis Shuo Zhou Synopsys November 7, 2006.
A Novel Timing-Driven Global Routing Algorithm Considering Coupling Effects for High Performance Circuit Design Jingyu Xu, Xianlong Hong, Tong Jing, Yici.
1 Double-Patterning Aware DSA Template Guided Cut Redistribution for Advanced 1-D Gridded Designs Zhi-Wen Lin and Yao-Wen Chang National Taiwan University.
Midwestern State University Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm 1.
CALTECH CS137 Winter DeHon 1 CS137: Electronic Design Automation Day 8: January 27, 2006 Cellular Placement.
RTL Design Flow RTL Synthesis HDL netlist logic optimization netlist Library/ module generators physical design layout manual design a b s q 0 1 d clk.
Greedy Algorithms.
Greedy Algorithms / Interval Scheduling Yin Tat Lee
Hidden Markov Models Part 2: Algorithms
SAT-Based Optimization with Don’t-Cares Revisited
Placement and Routing With Congestion Control
3.4 Push-Relabel(Preflow-Push) Maximum Flow Alg.
Xilinx CPLD Fitter Advanced Optimization
Topics Logic synthesis. Placement and routing..
EDA Lab., Tsinghua University
Multi-Commodity Flow-Based Spreading in a Commercial Analytic Placer
Fast Min-Register Retiming Through Binary Max-Flow
Presentation transcript:

PLACEMENT USING DON’T CARE WIRES Fan Mo Don’t Care Wire Group: P.Chong, Y-J.Jiang, S.Singha and R.K.Brayton

OUTLINE Design flow overview What is don’t care wire? What is our macro-cell placer? How to use don’t care wires in placement? Experiment, results and conclusion

DESIGN FLOW OVERVIEW PLA-based Decomposition SPFD-based Don’t Care Wire Generation Placement based on Wire Choices Resynthesis Netlist Layout Final Placement pins with wire choices Cell area and net connection determined wire choice made

SPFD Yamashita and etc., “A new method to express functional permissibility for LUT based FPGAs and its applications”, ICCAD96 Brayton, “Understanding SPFDs: A new method for specifying flexibility”, IWLS97 Sinha and Brayton, “Implementation and use of SPFD”, ICCAD98 y1y1y1y1 y2y2y2y2 y5y5y5y5 y4y4y4y4 YAYA y2y2y2y2 y3y3y3y3 y5y5y5y5 y4y4y4y4 YBYB y1y1y1y1 y3y3y3y3 y4y4y4y4 y5y5y5y5 YCYC Y-space Z-space Primary Inputs YAYA YBYB YCYC

SPFD 11 Y-space 00 22 55 33 77 99 44 66 88  10 need SPFD Y A provide at least SPFD Y A need SPFD Y B provide at least SPFD Y B need SPFD Y C provide at least SPFD Y C Each input pin of a node needs information described by its SPFD, and some other non-TFO nodes provide the required information.

DON’T CARE WIRES Denition 1 Given a set of sets of nodes R={R k }, a selection is an ordered set of nodes {  1, …,  |R| } such that  k  R k. Denition 2 A set of sets R={R k } is compatible if for each selection, there exist logic functions at each node such that the implied netlist for that selection can implement the specications at the primary outputs. Theorem Any set of sets of nodes {R k } satisfying 1. For any selection, the resulting netlist is acyclic, and 2.  ’  R k  SPFD k  SPFD  ’ is compatible.

DON’T CARE WIRES Procedure (Constructing a compatible set, but still acyclic network) 1. Starting from the outputs and proceeding in a backward topological order, for each node  in the network, and each of its input pins, , assign SPFDs, SPFD  and SPFD  so that the required information is supplied. Once this is done, each SPFD represents the set of minterms which must be distinguished by that node or pin. 2. Initialize for each node , ex(  )={  }  TFO  and for each input pin,  of , let R  ={  ’ }, where  ’ is the initial choice of source for pin . R  will eventually represent the set of alternate wires for . 3. Starting from the inputs and proceeding in some topological order, at each node , do the following: (a) Let C =~ex(  ) (b) For each fanin wire  of  : # Find an  ’  C such that SPFD   SPFD  ’. # Include  ’ in R , R  = R   {  ’ }. # Update ex(  ’ ) = ex(  )  ex(  ’ ). (to avoid cycles.) # This continues until no more nodes can be added to R .   RR ’’ ex(  ) ex(  ’ )

USE DON’T CARE WIRES IN PLACEMENT Based on current placement, determine which wire among the choice set is chosen in terms of wire length reduction. Based on current netlist, determine the movement of the cells. Wire choice interleaves cell placement

AWC PHASE I For each pin with alternate wires, temporarily disconnect it from the current net. For each net form the bounding boxes of the currently connected pins. These partial bounding boxes form a lower bound on the total wire length. For each pin with alternate wires, if its pin position is inside one of the partial bounding boxes for its candidate wires (the original wire plus its alternates), assign it to that net. No increase has been caused by this, and hence the partial assignment seen so far must be part of an optimum assignment. For each remaining pin with alternate wires, compute the “delta” costs if it is assigned to each of the candidate nets. There is a net assignment which increase the total net length by the least amount. Choose this assignment and update the chosen net. Continue last step until all pins have been assigned.

AWC PHASE I

AWC PHASE II For each pin which is an extreme of the bounding box of its currently assigned net, temporarily release it from its assignment, and compute the best net to put it in and its delta decrease cost in doing this. Note that the delta decrease is nonnegative. Choose the pin with the maximum delta decrease and reassign the pin to the new net. Repeat the above steps until the best delta is 0.

AWC PHASE II

AWC After PHASE I, there may be pins that can be moved to different nets to improve the total cost. During PHASE II, a pin may be reassigned more than once. To speed up the process, one may want to “lock” a pin once it is reassigned once. After PHASE II (with no locking), the solution is locally optimal, in that there is no pin which can be moved to a new net such that the total cost is decreased. However, there might be a set of pins that can be reassigned all at once which decreases the cost. Chong and etc., “Don’t care wires in logic/physical design”, IWLS00

FORCE-DIRECTED MACRO-CELL PLACER Iterative so that wire choice can be merged into the placement. Incremental so that final placement can start from the layout done after wire choice instead of starting from scratch. Need to handle maro-cell, not only standard cell. Standard cell design Macro-cell design Iterative and Incremental Quinn and Breuer, “A Forced Directed Component Placement Procedure for Printed Circuit Boards”, IE 3 Trans.-CAS79 Eisenmann and Johannes, “Generic global placement and floorplanning”, DAC98

FORCE-DIRECTED MACRO-CELL PLACER Short Total Wire Length Attractive forces applied on connected cells. Small Area Cells are dragged by attractive forces. Cell Orientation and Aspect Ratio (for soft cell) Gain function describing the relation between force reduction and cell orientation and shape. Eliminate Overlapping Density field method. Make an evenly distributed layout. Also use pads to pull cells apart. Iterative It should be. AWC can be easily merged in the placer. Run Time We seek more speed up by using a new wire model. Other Interesting Features Wire congestion estimation. Pad positioning.

PLACER ATTRACTIVE FORCE Cell[1] Star[s] Chip Pad[1]Pad[2] Cell[2] Using star wire model instead of clique wire model. About 30% saving. k: net weight; Pc: cell location; O T : terminal offset; Ps: star location

PLACER DENSITY FIELD MLBX [ c ] BLBY [ c ] BLBX [ c ] BRTX [ c ] BRTY [ c ] MLBY [ c ] MRTX [ c ] MRTY [ c ] BinSize

PLACER FORCE EQUATIONS

PLACER CELL ORIENTATION EWTN S HVR Gain of taking an orientation:

PLACER CELL ASPECT RATIO new width/height ratio:

PLACER ORIENTATION vs ASPECT RATION ORIENTATION ASPECT RATIO discrete continuous find a better one find the best easy to compute more run time for both hard/soft cell only for soft cell better in earlier stage better in later stage

PLACER PAD POSITIONING A B C D A B C D Attract force one dimensional density field and filling force

PLACER WIRE CONGESTION ESTIMATION 1 Area paid for connections to star in terms of contribution to density field. w BinSize L

PLACER WIRE CONGESTION ESTIMATION 2 Area paid for the connections to the terminals in terms of keepout distance of cell edges. #W-,#W+ : the no. of wires go two opposite directions. w : wire pitch e=left,bottom,right,top cell edge; KO C : the constant keepout distance

PLACER WIRE CONGESTION ESTIMATION 3 1/4 1/3 1/2 1/31/4 1/21/41/3 1/21/31/4 1/31/41/2 T S 1/40 1/3 1/2 1/31/41/31/21/41/3 1/21/31/41/31/4 1/31/41/31/41/2 T S 1/4 1/3 1/2 1/31/4 1/21/41/3 1/21/31/4 1/31/41/2 T S No obstruction Obstruction, not fully blocked Obstruction, fully blocked Area paid for the wiring between star and terminal in terms of contribution to density field.

PLACEMENT FLOW Initialize_and_ZeroSize_Cells(); SetCellsSizeZero(); loop Stage1IterationNumber { ComputeAttractiveForces_and_Move_Stars(); ComputeAttractiveForces_and_Move_Cells(); AWC( ); DetermineChipBoundary(); ComputeAttractiveAndFillingForce_and_Slide_Pads(); } explode(); loop Stage2IterationNumber { IncreaseCellSize(); ComputeAttractiveForces_and_Move_Stars(); ComputeAttractiveForces_Cells(); ComputeKeepOutDistance_for_Cells(); ComputeBinDensity(); ComputeFillingForces_Cells(); MoveWithLimit_Cells(); ComputeOrientationGain_and_ChooseOrientation_for_Cells(); AWC( ); DetermineChipBoundary(); ComputeAttractiveAndFillingForce_and_Slide_Pads(); } while (exist bin, density > densityThreshold) { ComputeAttractiveForces_and_Move_Stars(); ComputeAttractiveForces_Cells(); ComputeKeepOutDistance_for_Cells(); ComputeBinDensity(); ComputeFillingForces_Cells(); MoveWithLimit_Cells(); ComputeSoftCellAspectRatio(); DetermineChipBoundary(); ComputeAttractiveAndFillingForce_and_Slide_Pads(); } CleanUp(); Resynthesis( ); UpdateCellInformation( ); resynthesis

EXPERIMENT Characterization of Examples number of pins with alternates the percentage of such pins among all pins average alternate number of these pins break the acyclic constrain

EXPERIMENTAL RESULTS Average improvement: regular 5.1%, re-synthesis 3.9% max 5.4%

EXPERIMENTAL RESULTS Average improvement: 4i2o 7.0%, 1i1o 8.2%

CONCLUSION Synthesis-interactive placer. AWC. Improvement in terms of total wire length and area. Macro-cell placement algorithm, handling cell orientation, cell aspect ratio and pin(pad) position. Also with wiring estimation.