CSE 144 Project. Overall Goal of the Project Implement a physical design tool for a two- row standard cell design 0 1 53 24.

Slides:



Advertisements
Similar presentations
An Introduction to Channel Routing
Advertisements

Wen-Hao Liu1, Yih-Lang Li, and Cheng-Kok Koh Department of Computer Science, National Chiao-Tung University School of Electrical and Computer Engineering,
Meng-Kai Hsu, Sheng Chou, Tzu-Hen Lin, and Yao-Wen Chang Electronics Engineering, National Taiwan University Routability Driven Analytical Placement for.
Shuai Li and Cheng-Kok Koh School of Electrical and Computer Engineering, Purdue University West Lafayette, IN, Mixed Integer Programming Models.
Greedy Algorithms Basic idea Connection to dynamic programming
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 10: RC Principles: Software (3/4) Prof. Sherief Reda.
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.
Greedy Algorithms Basic idea Connection to dynamic programming Proof Techniques.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
Searching for the Minimal Bézout Number Lin Zhenjiang, Allen Dept. of CSE, CUHK 3-Oct-2005
Fuzzy Simulated Evolution for Power and Performance of VLSI Placement Sadiq M. Sait Habib Youssef Junaid A. KhanAimane El-Maleh Department of Computer.
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
EDA (CS286.5b) Day 5 Partitioning: Intro + KLFM. Today Partitioning –why important –practical attack –variations and issues.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
Reconfigurable Computing (EN2911X, Fall07)
Fuzzy Simulated Evolution for Power and Performance of VLSI Placement Sadiq M. SaitHabib Youssef Junaid A. KhanAimane El-Maleh Department of Computer Engineering.
Partitioning 2 Outline Goal Fiduccia-Mattheyses Algorithm Approach
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
Lecture 9: Multi-FPGA System Software October 3, 2013 ECE 636 Reconfigurable Computing Lecture 9 Multi-FPGA System Software.
Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum.
CSE 144 Project Part 2. Overview Multiple rows Routing channel between rows Components of identical height but various width Goal: Implement a placement.
7/13/ EE4271 VLSI Design VLSI Routing. 2 7/13/2015 Routing Problem Routing to reduce the area.
7/15/ VLSI Placement Prof. Shiyan Hu Office: EERC 731.
Partitioning Outline –What is Partitioning –Partitioning Example –Partitioning Theory –Partitioning Algorithms Goal –Understand partitioning problem –Understand.
Matrices Write and Augmented Matrix of a system of Linear Equations Write the system from the augmented matrix Solve Systems of Linear Equations using.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Flow Models and Optimal Routing. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and.
Graph partition in PCB and VLSI physical synthesis Lin Zhong ELEC424, Fall 2010.
Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Standard cell-based layout. n Channel routing. n Simulation.
Global Routing.
Graph Partitioning Problem Kernighan and Lin Algorithm
EE 5900 Advanced Algorithms for Robust VLSI CAD, Spring 2009 Static Timing Analysis and Gate Sizing.
CSE 494: Electronic Design Automation Lecture 4 Partitioning.
March 20, 2007 ISPD An Effective Clustering Algorithm for Mixed-size Placement Jianhua Li, Laleh Behjat, and Jie Huang Jianhua Li, Laleh Behjat,
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Layouts for logic networks. n Channel routing. n Simulation.
Modern VLSI Design 3e: Chapters 1-3 week12-1 Lecture 30 Scale and Yield Mar. 24, 2003.
Analytic Placement. Layout Project:  Sending the RTL file: −Thursday, 27 Farvardin  Final deadline: −Tuesday, 22 Ordibehesht  New Project: −Soon 2.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Ho-Lin Chang, Hsiang-Cheng Lai, Tsu-Yun Hsueh, Wei-Kai Cheng, Mely Chen Chi Department of Information and Computer Engineering, CYCU A 3D IC Designs Partitioning.
10/25/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 3. Circuit Partitioning.
Congestion Estimation and Localization in FPGAs: A Visual Tool for Interconnect Prediction David Yeager Darius Chiu Guy Lemieux The University of British.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Layouts for logic networks. n Channel routing. n Simulation.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Detailed Routing مرتضي صاحب الزماني.
Timing-Driven Routing for FPGAs Based on Lagrangian Relaxation
EE 4271 VLSI Design, Fall 2013 Static Timing Analysis and Gate Sizing Optimization.
Static Timing Analysis
CprE566 / Fall 06 / Prepared by Chris ChuPartitioning1 CprE566 Partitioning.
Example Apply hierarchical clustering with d min to below data where c=3. Nearest neighbor clustering d min d max will form elongated clusters!
EE4271 VLSI Design VLSI Channel Routing.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
Partitioning in Quicksort n How do we partition the array efficiently? – choose partition element to be rightmost element – scan from right for smaller.
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.
Static Timing Analysis and Gate Sizing Optimization
VLSI Physical Design Automation
VLSI Quadratic Placement
Static Timing Analysis and Gate Sizing Optimization
ECE 556 Project Presentation
CSE 144 Project Part 3.
EE5780 Advanced VLSI Computer-Aided Design
A Fundamental Bi-partition Algorithm of Kernighan-Lin
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
VLSI Physical Design Automation
A Linear-Time Heuristic for Improving Network Partitions
Reconfigurable Computing (EN2911X, Fall07)
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

CSE 144 Project

Overall Goal of the Project Implement a physical design tool for a two- row standard cell design

Problems to be resolved Positions of components  Which row to place each component: Partitioning  The relative position of components in each row: Placement Interconnect between components: Routing

What to optimize? In partitioning: minimize the number of interconnects between partitions (rows) In placement: minimize the overall horizontal length of interconnects In routing: fulfill the geometrical constraints --- wires in the same directions should not overlap

Input Specification Matrix form circuit model: First line: the number of components, N The following N lines: the output-input connections between components  A non-zero entry Aij denotes a connection between components i and j  The value of Aij denotes the pin number of i Last line: the size of each components

Output Specification Partitioning & Placement Routing Position of pins connected by each net Leftmost and rightmost boundaries of each nets Channel track occupied by each net

Part 1: Partitioning Goal: minimize the number of interconnects crossing the two rows Constraints: partition size should stay within a tolerance window The tolerance bound is the size of the largest component: floor(|V|/2 - Cmax) <= |A| <= ceiling( |V|/2 + Cmax)

Fundamental Ideas The flow of FM algorithm is the same as KL algorithm Two differences:  KL: component swap per tentative move FM: one component per tentative move  KL: any pair of unlocked components valid FM: only allow moves fulfilling area constraints

Algorithm Initial partitioning (subject to area constraints) Gain calculation (same equations as in KL) Move and lock the component with highest gain, which satisfies area constraints (one component per tentative move). Update gains. Repeat moving until no one can be moved Make permanent all the movements up to and including the move giving the highest accumulative gain Unlock all components and repeat until no improvement can be obtained

How to improve efficiency? Gain updating technique  Locked components needn’t be updated  Components unconnected to the ones being moved needn’t be updated Use efficient data structure  Three data structure candidates provided

Data Structure 1: Linked List Gmax Gmax -2 Current max gain Comp 5Comp 0 Comp 1Comp 3 Comp 4 Gain stamps NIL Unlocked components Always choose component in the highest linked list for tentative move Gain updating corresponds to changing the position of components in the linked lists

Data Structure 2: Gain Matrix c1 c2c3 c4 c5 c Components Gain value Always choose component in the highest row that contains 1-entries Gain updating corresponds to changing the positions of 1- entries in the gain matrix

Data Structure 3: Gain Array Gain updating corresponds to changing the values of the gain array elements Components c1c2c3c4c5c0 Gain

Implementation Requirement Analyze the suggested data structures in terms of  Primarily computational efficiency  Secondarily space efficiency Implement the most efficient one you think Provide a detailed description of your analysis in your turn-in