1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 2 Background and Introduction Mustafa Ozdal Computer Engineering Department, Bilkent.

Slides:



Advertisements
Similar presentations
Embedded Systems Design: A Unified Hardware/Software Introduction 1 Chapter 10: IC Technology.
Advertisements

FPGA (Field Programmable Gate Array)
Circuit Extraction 1 Outline –What is Circuit Extraction? –Why Circuit Extraction? –Circuit Extraction Algorithms Goal –Understand Extraction problem –Understand.
ELEC Digital Logic Circuits Fall 2014 Logic Synthesis (Chapters 2-5) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Ch.3 Overview of Standard Cell Design
1 A Lithography-friendly Structured ASIC Design Approach By: Salman Goplani* Rajesh Garg # Sunil P Khatri # Mosong Cheng # * National Instruments, Austin,
Lecture 1 Design Hierarchy Chapter 1. Digital System Design Flow 1.Register-Transfer Levl (RTL) – e.g. VHDL/Verilog 2.Gate Level Design 3.Circuit Level.
Multiobjective VLSI Cell Placement Using Distributed Simulated Evolution Algorithm Sadiq M. Sait, Mustafa I. Ali, Ali Zaidi.
MICROELETTRONICA Design methodologies Lection 8. Design methodologies (general) Three domains –Behavior –Structural –physic Three levels inside –Architectural.
The Design Process Outline Goal Reading Design Domain Design Flow
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Design and Implementation of VLSI Systems (EN0160) Sherief Reda Division of Engineering, Brown University Spring 2007.
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
Chapter 2 – Netlist and System Partitioning
Chapter 1 – Introduction
VLSI Routing. Routing Problem  Given a placement, and a fixed number of metal layers, find a valid pattern of horizontal and vertical wires that connect.
Physical Design Outline –What is Physical Design –Design Methods –Design Styles –Analysis and Verification Goal –Understand physical design topics Reading.
Evolution of implementation technologies
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning © KLMH Lienig 1 Chapter 3 – Chip Planning 3.1 Introduction to.
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.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
Module-3 (MOS designs,Stick Diagrams,Designrules)
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Global Routing.
Are classical design flows suitable below 0.18  ? ISPD 2001 NEC Electronics Inc. WR0999.ppt-1 Wolfgang Roethig Senior Engineering Manager EDA R&D Group.
CAD for Physical Design of VLSI Circuits
Open Discussion of Design Flow Today’s task: Design an ASIC that will drive a TV cell phone Exercise objective: Importance of codesign.
© KLMH Lienig 1 Chapter 1 – Introduction Original Authors: Andrew B. Kahng, Jens Lienig, Igor L. Markov, Jin Hu VLSI Physical Design: From Graph Partitioning.
ASIC Design Flow – An Overview Ing. Pullini Antonio
PROGRAMMABLE LOGIC DEVICES (PLD)
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Testability and architecture. Design methodologies. Multiprocessor system-on-chip.
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
COE 405 Design and Modeling of Digital Systems
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
Programmable Logic Devices
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing © KLMH Lienig 1 What Makes a Design Difficult to Route Charles.
Modern VLSI Design 3e: Chapter 10 Copyright  1998, 2002 Prentice Hall PTR Topics n CAD systems. n Simulation. n Placement and routing. n Layout analysis.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 3 Partitioning Mustafa Ozdal Computer Engineering Department, Bilkent University Mustafa.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 1 Course Overview Mustafa Ozdal Computer Engineering Department, Bilkent University.
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
CAD for VLSI Ramakrishna Lecture#1.
Integrated Microsystems Lab. EE372 VLSI SYSTEM DESIGNE. Yoon 1-1 Panorama of VLSI Design Fabrication (Chem, physics) Technology (EE) Systems (CS) Matel.
Silicon Design Page 1 The Creation of a New Computer Chip.
A Design Flow for Optimal Circuit Design Using Resource and Timing Estimation Farnaz Gharibian and Kenneth B. Kent {f.gharibian, unb.ca Faculty.
VLSI Floorplanning and Planar Graphs prepared and Instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University July 2015VLSI Floor Planning and Planar.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Written by Whitney J. Wadlow
VLSI Design Flow The Y-chart consists of three major domains:
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Introduction to ASICs ASIC - Application Specific Integrated Circuit
VLSI Physical Design Automation
ASIC Design Methodology
Chapter 1 – Introduction
سبکهاي طراحي (Design Styles)
Chapter 7 – Specialized Routing
EE141 Design Styles and Methodologies
Chapter 2 – Netlist and System Partitioning
Chapter 10: IC Technology
ELEC 7770 Advanced VLSI Design Spring 2016 Technology Mapping
Chapter 10: IC Technology
HIGH LEVEL SYNTHESIS.
Chapter 10: IC Technology
Presentation transcript:

1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 2 Background and Introduction Mustafa Ozdal Computer Engineering Department, Bilkent University Mustafa Ozdal

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig 2 Chapter 1 – Introduction Original Authors: Andrew B. Kahng, Jens Lienig, Igor L. Markov, Jin Hu VLSI Physical Design: From Graph Partitioning to Timing Closure SOME SLIDES ARE FROM THE BOOK: MODIFICATIONS WERE MADE ON THE ORIGINAL SLIDES

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig 3 1.1Electronic Design Automation (EDA) Moore’s Law In 1965, Gordon Moore (Fairchild) stated that the number of transistors on an IC would double every year. 10 years later, he revised his statement, asserting that they double every 18 months. Since then, this “rule” has been famously known as Moore’s Law. Moore: „ Cramming more components onto integrated circuits" Electronics, Vol. 38, No. 8, 1965

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig 4 1.1Electronic Design Automation (EDA) Without the design technology innovations between 1993 and 2007, the design cost of a chip would have been $1800M

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig 5 1.1Electronic Design Automation (EDA) Design for Manufacturability (DFM), optical proximity correction (OPC), and other techniques emerge at the design-manufacturing interface. Increased reusability of blocks, including intellectual property (IP) blocks now First over-the-cell routing, first 3D and multilayer placement and routing techniques developed. Automated circuit synthesis and routability-oriented design become dominant. Start of parallelizing workloads. Emergence of physical synthesis First performance-driven tools and parallel optimization algorithms for layout; better understanding of underlying theory (graph theory, solution complexity, etc.) More advanced tools for ICs and PCBs, with more sophisticated algorithms Layout editors, e.g., place and route tools, first developed for printed circuit boards Manual design only Circuit and Physical Design Process AdvancementsTime Period © 2011 Springer Verlag

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig 6 1.2VLSI Design Flow 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 Signoff Fabrication System Specification Architectural Design Chip Packaging and Testing © 2011 Springer Verlag Goals and requirements: Functionality, performance, dimensions, etc.

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig 7 1.2VLSI Design Flow 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 Signoff Fabrication System Specification Architectural Design Chip Packaging and Testing © 2011 Springer Verlag e.g. Instruction set, memory system, number of cores, communication protocols, …

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig 8 1.2VLSI Design Flow 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 Signoff Fabrication System Specification Architectural Design Chip Packaging and Testing © 2011 Springer Verlag Hardware description using RTL. Logic synthesis tools to generate netlists.

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig 9 1.2VLSI Design Flow 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 Signoff Fabrication System Specification Architectural Design Chip Packaging and Testing © 2011 Springer Verlag Transistor-level design of low level elements, e.g. SRAMs, IO, critical blocks,…

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig VLSI Design Flow 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 Signoff Fabrication System Specification Architectural Design Chip Packaging and Testing Chip Planning Placement Signal Routing Partitioning Timing Closure Clock Tree Synthesis © 2011 Springer Verlag

Physical Design A C B D E F Netlist Logic gates & connections Shapes on chip layers Chip Layers Device layers Metal layers

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig VLSI Design Flow 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 Signoff Fabrication System Specification Architectural Design Chip Packaging and Testing © 2011 Springer Verlag Design rule checking (DRC) Layout vs. schematic (LVS) Electrical rule checking (ERC)

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig VLSI Design Flow 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 Signoff Fabrication System Specification Architectural Design Chip Packaging and Testing © 2011 Springer Verlag Layout sent to a fab (tapeout). Photomasks used to print the layout patterns onto layers.

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig VLSI Design Flow 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 Signoff Fabrication System Specification Architectural Design Chip Packaging and Testing © 2011 Springer Verlag Die is positioned in a package. Pins connected to the package pins. Multiple chips can be integrated.

15 CS 612 – Lecture 2 Mustafa Ozdal Computer Engineering Department, Bilkent University VLSI Design Styles  Full-custom design Direct transistor-level design Max flexibility, few constraints Potential to highly optimize, but high design cost Critical and high-volume parts that will be replicated  Semi-custom design  Cell-based: Standard and macro cells Many pre-designed elements in the libraries  Array-based: Configure the pre-fabricated elements e.g. FPGA

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig 16 Cell Based Design Common digital cells INOUT ORINVNORNANDAND IN1IN2OUT IN1IN2OUT IN1IN2OUT IN1IN2OUT

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig VLSI Design Styles Vdd GND OUT IN2 IN1 OUT IN2 IN1 OUT IN1 Vdd GND IN2 Contact Diffusion layer p-type transistor n-type transistor Metal layer Poly layer

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig VLSI Design Styles Power (Vdd)-Rail Ground (GND)-Rail Contact Vdd GND OUT IN2 IN1 OUT IN2 IN1 OUT IN1 Vdd GND IN2 Diffusion layer p-type transistor n-type transistor Metal layer Poly layer

Cell Placement A C B D E F Metal 1 Device layers Implementation on device layers available in cell library (e.g. AND, OR, NAND, NOR, INV, etc.) Cells arranged in rows on metal1

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig VLSI Design Styles Standard cell layout with a feedthrough cell A GND Feedthrough Cell Pad Ground Pad Routing Channel Standard Cells Power Pad GND Pad Ground Pad Standard Cells Power Pad A’A’ A A’A’ VDD Standard cell layout using over-the-cell (OTC routing © 2011 Springer Verlag

Over-the-cell routing A C B D E F All terminals on metal1 Connect terminals using metal layers Each layer is either horizontal or vertical a b o a a ao o o a b a o o b Metal1 Metal2 Metal3 Metal4 Metal5

Routing Between Two Pins Route from C/o to D/a Metal3: vertical Metal2: horizontal Metal1: escape-only Interlayer connection: “via” Metal1 oab C oa D Metal2 Metal3 CD a b oao

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig 23 Cell Based Design Layout with macro cells Pad GND PLA RAM Standard Cell Block RAM PLA Routing Regions VDD © 2011 Springer Verlag

24 CS 612 – Lecture 2 Mustafa Ozdal Computer Engineering Department, Bilkent University Why Cell Based Design?  Easier to design, optimize and verify  Reuse of components  Performance of each cell pre-characterized  Transistor-level design constraints already handled  Complexities abstracted in the cell definition  Optimization easier  Disadvantage: Less room for optimization  Cannot have a cell for every single complex logic function

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig 25 Field Programmable Gate Array (FPGA) LB SB LB SB LB SB LB SB LB SB LB SB LB Logic Element Switchbox LB Connection © 2011 Springer Verlag After fabrication: Each logic element can be configured to implement different functions Each switchbox can be configured to change the connectivity

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Design Rules  Size rules, such as minimum width: The dimensions of any component (shape), e.g., length of a boundary edge or area of the shape, cannot be smaller than given minimum values. These values vary across different metal layers.  Separation rules, such as minimum separation: Two shapes, either on the same layer or on adjacent layers, must be a minimum (rectilinear or Euclidean diagonal) distance apart.  Overlap rules, such as minimum overlap: Two connected shapes on adjacent layers must have a certain amount of overlap due to inaccuracy of mask alignment to previously-made patterns on the wafer. Categories of design rules

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Design Rules Categories of design rules Minimum Width: a Minimum Separation: b, c, d Minimum Overlap: e a d c b e : smallest meaningful technology- dependent unit of length © 2011 Springer Verlag

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Physical Design Optimizations  Technology constraints enable fabrication for a specific technology node and are derived from technology restrictions. Examples include minimum layout widths and spacing values between layout shapes.  Electrical constraints ensure the desired electrical behavior of the design. Examples include meeting maximum timing constraints for signal delay and staying below maximum coupling capacitances.  Geometry (design methodology) constraints are introduced to reduce the overall complexity of the design process. Examples include the use of preferred wiring directions during routing, and the placement of standard cells in rows. Types of constraints

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Algorithms and Complexity  Runtime complexity : the time required by the algorithm to complete as a function of some natural measure of the problem size, allows comparing the scalability of various algorithms  Complexity is represented in an asymptotic sense, with respect to the input size n, using big-Oh notation or O(…)  Runtime t(n) is order f (n), written as t(n) = O(f (n)) where k is a real number  Example: t(n) = 7n! + n , then t(n) = O(n!) because n! is the fastest growing term as n  . Runtime complexity

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Algorithms and Complexity  Example: Exhaustively Enumerating All Placement Possibilities  Given: n cells  Task: find a single-row placement of n cells with minimum total wirelength by using exhaustive enumeration.  Solution: The solution space consists of n! placement options. If generating and evaluating the wirelength of each possible placement solution takes 1  s and n = 20, the total time needed to find an optimal solution would be 77,147 years!  A number of physical design problems have best-known algorithm complexities that grow exponentially with n, e.g., O(n!), O(n n ), and O(2 n ).  Many of these problems are NP-hard (NP: non-deterministic polynomial time)  No known algorithms can ensure, in a time-efficient manner, globally optimal solution  Heuristic algorithms are used to find near-optimal solutions Runtime complexity

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Algorithms and Complexity  Deterministic : All decisions made by the algorithm are repeatable, i.e., not random. One example of a deterministic heuristic is A* shortest path algorithm.  Stochastic : Some decisions made by the algorithm are made randomly, e.g., using a pseudo-random number generator. Thus, two independent runs of the algorithm will produce two different solutions with high probability. One example of a stochastic algorithm is simulated annealing.  In terms of structure, a heuristic algorithm can be  Constructive : The heuristic starts with an initial, incomplete (partial) solution and adds components until a complete solution is obtained.  Iterative : The heuristic starts with a complete solution and repeatedly improves the current solution until a preset termination criterion is reached. Heuristic algorithms

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Algorithms and Complexity Heuristic algorithms Constructive Algorithm Iterative Improvement no yes Termination Criterion Met? Return Best-Seen Solution Problem Instance Initial Solution

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Graph Theory Terminology GraphHypergraphMultigraph a b c d e f g b e d a c f a b c © 2011 Springer Verlag

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Graph Theory Terminology Directed graphs with cyclesDirected acyclic graph c a b d e f g a b c a b d e f g © 2011 Springer Verlag

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Graph Theory Terminology Undirected graph with maximum node degree 3Directed tree a b c d e f g a b c d e f g h i j k © 2011 Springer Verlag

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Graph Theory Terminology Rectilinear minimum spanning tree (RMST) Rectilinear Steiner minimum tree (RSMT) b (2,6) a (2,1) c (6,4) Steiner point b (2,6) a (2,1) © 2011 Springer Verlag

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Common EDA Terminology Netlist a b x y z c N1N1 N2N2 N3N3 N4N4 (a: N 1 ) (b: N 2 ) (c: N 5 ) (x: IN1 N 1, IN2 N 2, OUT N 3 ) (y: IN1 N 1, IN2 N 2, OUT N 4 ) (z: IN1 N 3, IN2 N 4, OUT N 5 ) (N 1 : a, x.IN1, y.IN1) (N 2 : b, x.IN2, y.IN2) (N 3 : x.OUT, z.IN1) (N 4 : y.OUT, z.IN2) (N 5 : z.OUT, c) Pin-Oriented Netlist Net-Oriented Netlist N5N5 © 2011 Springer

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Common EDA Terminology Connectivity graph a b x y z c N1N1 N2N2 N3N3 N4N4 N5N5 a b x y z c © 2011 Springer Verlag

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Common EDA Terminology Connectivity matrix a b x y z c N1N1 N2N2 N3N3 N4N4 N5N c z y x b a czyxba © 2011 Springer Verlag

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction © KLMH Lienig Common EDA Terminology Distance metric between two points P 1 (x 1,y 1 ) and P 2 (x 2,y 2 ) P 1 (2,4) P 2 (6,1) d M = 7 with n = 2: Euclidean distance n = 1: Manhattan distance d E = 5

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 2: Netlist and System Partitioning © KLMH Lienig 41 Next Lecture: Netlist and System Partitioning 2.1Introduction 2.2Terminology 2.3Optimization Goals 2.4Partitioning Algorithms Kernighan-Lin (KL) Algorithm Extensions of the Kernighan-Lin Algorithm Fiduccia-Mattheyses (FM) Algorithm 2.5Framework for Multilevel Partitioning Clustering Multilevel Partitioning 2.6System Partitioning onto Multiple FPGAs