Key terms and concepts: Divide and conquer system partitioning floorplanning chip planning placement routing global routing detailed routing

Similar documents
Unit 5A: Circuit Partitioning

Introduction VLSI PHYSICAL DESIGN AUTOMATION

VLSI Physical Design: From Graph Partitioning to Timing Closure

Estimation of Wirelength

Partitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.

L14 - Placement and Routing

Genetic Algorithm for Circuit Partitioning

Introduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.

CAD Algorithms. Circuit Partitioning

Hardware-Software Codesign

BACKEND DESIGN. Circuit Partitioning

Spiral 2-8. Cell Layout

Place and Route for FPGAs

Floorplan and Power/Ground Network Co-Synthesis for Fast Design Convergence

COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS

Placement Algorithm for FPGA Circuits

Circuit Placement: 2000-Caldwell,Kahng,Markov; 2002-Kennings,Markov; 2006-Kennings,Vorwerk

Automated system partitioning based on hypergraphs for 3D stacked integrated circuits. FOSDEM 2018 Quentin Delhaye

Very Large Scale Integration (VLSI)

EN2911X: Reconfigurable Computing Lecture 13: Design Flow: Physical Synthesis (5)

Preclass Warmup. ESE535: Electronic Design Automation. Motivation (1) Today. Bisection Width. Motivation (2)

Internetworking Part 1

VLSI Test Technology and Reliability (ET4076)

The Design of the KiloCore Chip

An Introduction to FPGA Placement. Yonghong Xu Supervisor: Dr. Khalid

Module 10 Frame Relay and ATM

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University

Usable gates 600 1,250 2,500 5,000 10,000 Macrocells Logic array blocks Maximum user I/O

CAD Flow for FPGAs Introduction

CHAPTER 1 INTRODUCTION. equipment. Almost every digital appliance, like computer, camera, music player or

On GPU Bus Power Reduction with 3D IC Technologies

CAD Algorithms. Placement and Floorplanning

FPGAs & Multi-FPGA Systems. FPGA Abstract Model. Logic cells imbedded in a general routing structure. Logic cells usually contain:

FABRICATION TECHNOLOGIES

High Level Synthesis

FPGA Power Management and Modeling Techniques

COE 561 Digital System Design & Synthesis Introduction

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Based on slides/material by. Topic Design Methodologies and Tools. Outline. Digital IC Implementation Approaches

UNIVERSITY OF CALGARY. Force-Directed Partitioning Technique for 3D IC. Aysa Fakheri Tabrizi A THESIS SUBMITTED TO THE FACULTY OF GRADUATE STUDIES

Linking Layout to Logic Synthesis: A Unification-Based Approach

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

The Partitioning Problem

CprE 583 Reconfigurable Computing

Iterative-Constructive Standard Cell Placer for High Speed and Low Power

Digital VLSI Design. Lecture 7: Placement

Implementation of Multi-Way Partitioning Algorithm

ECE260B CSE241A Winter Placement

An overview of standard cell based digital VLSI design

CHAPTER 1 INTRODUCTION

Graph and Hypergraph Partitioning for Parallel Computing

Abbas El Gamal. Joint work with: Mingjie Lin, Yi-Chang Lu, Simon Wong Work partially supported by DARPA 3D-IC program. Stanford University

SYNTHESIS FOR ADVANCED NODES

ASIC Physical Design Top-Level Chip Layout

Term Paper for EE 680 Computer Aided Design of Digital Systems I Timber Wolf Algorithm for Placement. Imran M. Rizvi John Antony K.

ECE 5745 Complex Digital ASIC Design Topic 13: Physical Design Automation Algorithms

Introduction. Computer System Organization. Languages, Levels, Virtual Machines. A multilevel machine. Sarjana Magister Program

How Much Logic Should Go in an FPGA Logic Block?

Genetic Placement: Genie Algorithm Way Sern Shong ECE556 Final Project Fall 2004

FPGA: What? Why? Marco D. Santambrogio

Data sheet CC 03, Commander Compact (603-1CC21)

Physical Design Implementation for 3D IC Methodology and Tools. Dave Noice Vassilios Gerousis

An Overview of Standard Cell Based Digital VLSI Design

EE 434 ASIC & Digital Systems

Virtex-II Architecture. Virtex II technical, Design Solutions. Active Interconnect Technology (continued)

Pad Ring and Floor Planning

A Path Based Algorithm for Timing Driven. Logic Replication in FPGA

Commander compact. Commander compact Lines displays. System SLIO. System 100V. Lines displays Commander compact 603-1CC CC21.

Placement ABOUT THIS CHAPTER 11.1 INTRODUCTION CHAPTER. Chris Chu Iowa State University, Ames, Iowa

Digital Design Methodology (Revisited) Design Methodology: Big Picture

UCLA 3D research started in 2002 under DARPA with CFDRC

Digital Design Methodology

Power Solutions for Leading-Edge FPGAs. Vaughn Betz & Paul Ekas

Basic Idea. The routing problem is typically solved using a twostep

CMOS VLSI Design. MIPS Processor Example. Outline

Eu = {n1, n2} n1 n2. u n3. Iu = {n4} gain(u) = 2 1 = 1 V 1 V 2. Cutset

Topics. ! PLAs.! Memories: ! Datapaths.! Floor Planning ! ROM;! SRAM;! DRAM. Modern VLSI Design 2e: Chapter 6. Copyright 1994, 1998 Prentice Hall

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

ECE 459/559 Secure & Trustworthy Computer Hardware Design

Design Methodologies

Multi-level Quadratic Placement for Standard Cell Designs

EE282 Computer Architecture. Lecture 1: What is Computer Architecture?

Design of Transport Triggered Architecture Processor for Discrete Cosine Transform

More Course Information

Multilevel k-way Hypergraph Partitioning

An Interconnect-Centric Design Flow for Nanometer Technologies

Physical Design Automation. Speaker: Debdeep Mukhopadhyay Dept of Comp. Sc and Engg IIT Madras, Chennai

An Introduction to Programmable Logic

Chapter 5: ASICs Vs. PLDs

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

Parallel Implementation of VLSI Gate Placement in CUDA

ELE 455/555 Computer System Engineering. Section 1 Review and Foundations Class 3 Technology

RTL Coding General Concepts

Hardware/Software Codesign

APEX Devices APEX 20KC. High-Density Embedded Programmable Logic Devices for System-Level Integration. Featuring. All-Layer Copper.

1. Microprocessor Architectures. 1.1 Intel 1.2 Motorola

A Software LDPC Decoder Implemented on a Many-Core Array of Programmable Processors

Lattice Semiconductor Design Floorplanning

Physical Synthesis and Electrical Characterization of the IP-Core of an IEEE-754 Compliant Single Precision Floating Point Unit

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Transcription:

SICs...THE COURSE ( WEEK) SIC CONSTRUCTION Key terms and concepts: microelectronic system (or system on a chip) is the town and SICs (or system blocks) are the buildings System partitioning corresponds to town planning. Floorplanning is the architect s job. Placement is done by the builder. Routing is done by the electrician.. Physical Design Key terms and concepts: Divide and conquer system partitioning floorplanning chip planning placement routing global routing detailed routing. CD Tools Key terms and concepts: goals and objectives for each physical design step System partitioning: Goal. Partition a system into a number of SICs. Objectives. Minimize the number of external connections between the SICs. Keep each SIC smaller than a maximum size. Floorplanning: Goal. Calculate the sizes of all the blocks and assign them locations. Objective. Keep the highly connected blocks physically close to each other. Placement: Goal. ssign the interconnect areas and the location of all the logic cells within the flexible blocks. Objectives. Minimize the SIC area and the interconnect density.

SECTION SIC CONSTRUCTION SICS... THE COURSE Design entry Part of an SIC design flow showing the system partitioning, floorplanning, placement, and routing steps. These steps may be performed in a slightly different order, iterated or omitted depending on the type and size of the system and its SICs. s the focus shifts from logic to interconnect, floorplanning assumes an increasingly important role. Each of the steps shown in the figure must be performed and each depends on the previous step. However, the trend is toward completing these steps in a parallel fashion and iterating, rather than in a sequential manner. Synthesis System partitioning Floorplanning Placement Routing VHDL/Verilog netlist chip block logic cells Global routing: Goal. Determine the location of all the interconnect. Objective. Minimize the total interconnect area used. Detailed routing: Goal. Completely route all the interconnect on the chip. Objective. Minimize the total interconnect length used... Methods and lgorithms Key terms and concepts: methods or algorithms are exact or heuristic (algorithm is usually reserved for a method that always gives a solution) The complexity O(f(n)) is important because n is very large algorithms may be constant, logarithmic, linear, or quadratic in time many VLSI problems are NP-complete we need metrics: a measurement function or objective function, a cost function or gain function, and possibly constraints

SICs... THE COURSE. System Partitioning. System Partitioning Key terms and concepts: partitioning we can t do What is the cheapest way to build my system? we can do How do I split this circuit into pieces that will fit on a chip? System partitioning for the Sun Microsystems SPRCstation SPRCstation SIC Gates /k-gate Pins Package SPRC IU (integer unit) 0 PG CIC SPRC FPU (floating-point unit) 0 PG FC Cache controller 0 PQFP G MMU (memory-management unit) 0 PQFP G Data buffer 0 PQFP G DM (direct memory access) controller 0 PQFP G Video controller/data buffer 0 PQFP G RM controller 00 PQFP G Clock generator PLCC G Type

SECTION SIC CONSTRUCTION SICS... THE COURSE. Estimating SIC Size System partitioning for the Sun Microsystems SPRCstation 0 SPRCstation 0 SIC Gates Pins Package Type SuperSPRC Superscalar SPRC M-transistors PG SuperCache cache controller M-transistors PG FC EMC memory control 0k-gate PG G MSI Mus Sus interface 0k-gate PG G DM Ethernet, SCSI, parallel port 0k-gate 0 PQFP SEC Sus to -bit bus 0k-gate 0 PQFP G DRI dual ISDN interface k-gate PQFP G MMCodec stereo codec k-gate PLCC FC FC G

SICs... THE COURSE. Estimating SIC Size Some useful numbers for SIC estimates, normalized to a µm technology Parameter Typical value Comment Scaling Lambda, λ 0. µm=0. (minimum feature size) In a µm technology, λ 0. µm. Effective gate length 0. to.0µm Less than drawn gate length, usually by about 0 percent. I/O-pad width (pitch) I/O-pad height to 0mil = to 0µm to 0mil = to 00µm For a µm technology, LM (λ=0. µm). Scales less than linearly with λ. For a µm technology, LM (λ=0.µm). Scales approximately linearly with λ. Large die 000 mil/side, 0 mil pproximately constant Small die 00 mil/side, 0 mil pproximately constant Standard-cell density. 0 gate/µm =.0gate/mil Standard-cell density 0 gate/µm =.0gate/mil For µm, LM, library = 0 gate/λ (independent of scaling). For 0. µm, LM, library = 0 gate/λ (independent of scaling). Gate-array utilization 0 to 0% For LM, approximately constant Gate-array density Standard-cell routing factor=(cell area+route area)/cell area Package cost 0 to 0% For LM, approximately constant (0. to 0.) standard cell density. to. (LM).0 to.0 (LM) $0.0/pin, penny per pin Wafer cost $k to $k average $k For the same process as standard cells pproximately constant Varies widely, figure is for low-cost plastic package, approximately constant Varies widely, figure is for a mature, LM CMOS process, approximately constant N λ λ λ /λ /λ

SECTION SIC CONSTRUCTION SICS... THE COURSE (a) (b) RM area/λ 0 multiplier area/λ 0 0 0 word length/bits word depth/bits 0 0 0 0 0 multiplier size = m n /bits Estmating circuit size (a) SIC memory size. These figures are for static RM constructed using compilers in a LM SIC process, but with no special memory design rules. The actual area of a RM will depend on the speed and number of read write ports. (b) Multiplier size for a LM process. The actual area will depend on the multiplier architecture and speed.. Power Dissipation Key terms and concepts: dynamic (switching current and short-circuit current ) and static (leakage current and subthreshold current) power dissipation.. Switching Current Key terms and concepts: I = C(dV/dt) power dissipation = 0. CV DD = IV = CV(dV/dt) for onehalf the period of the input, t=/( f) total power = P = fcv DD estimate power by counting nodes that toggle.. Short-Circuit Current Key terms and concepts: P = (/)β f t rf (V DD V tn ) short-circuit current is typically less than 0 percent of the switching current

SICs... THE COURSE. FPG Partitioning.. Subthreshold and Leakage Current Key terms and concepts: subthreshold current is normally less than pµm of gate width subthreshold current for 0 million transistors (each 0µm wide) is 0.m subthreshold current does not scale it takes about 0mV to reduce subthreshold current by a factor of 0 if V t = 0.V, at V GS =0 V we can only reduce I DS to 0.00 times its value at V GS =V t leakage current field transistors quiescent leakage current, I DDQ IDDQ test. FPG Partitioning.. TM Simulator Partitioning of the TM board using Lattice Logic isplsi 0 FPGs. Each FPG contains generic logic blocks (GLs) Chip # Size Chip # Size GLs GLs k-bit SRM GLs GLs k-bit SRM GLs 0 GLs GLs 0 GLs k-bit SRM 0 GLs.. utomatic Partitioning with FPGs Key terms and concepts: In ltera HDL you can direct the partitioner to automatically partition logic into chips within the same family, using the UTO keyword: DEVICE top_level IS UTO; % let the partitioner assign logic

SECTION SIC CONSTRUCTION SICS... THE COURSE byte number... bit number GFC/VPI VPI VPI VCI VCI PTI CLP HEC payload payload GFC = generic flow control VPI = virtual path identifier VCI = virtual channel identifier PTI = payload type identifier CLP = cell loss priority HEC = header error control The asynchronous transfer mode (TM) cell format. The TM protocol uses -byte cells or packets of information with a data payload and header information for routing and error control.

SICs... THE COURSE. FPG Partitioning

0 SECTION SIC CONSTRUCTION SICS... THE COURSE. Partitioning Methods Key terms and concepts: Examples of goals: maximum size for each SIC maximum number of SICs maximum number of connections for each SIC maximum number of total connections between all SICs.. Measuring Connectivity Key terms and concepts: a network has circuit modules (logic cells) and terminals (connectors or pins) modelled by a graph with vertexes (logic cells) connected by edges (electrical connections, nets or signals) cutset net cutset edge cutset (for the graph) external connections internal connections net cuts edge cuts.. Simple Partitioning Example Key terms and concepts: two types of network partitioning: constructive partitioning and iterative partitioning improvement.. Constructive Partitioning Key terms and concepts: seed growth or cluster growth uses a seed cell and forms clusters or cliques a useful starting point.. Iterative Partitioning Improvement Key terms and concepts: interchange (swap two) and group (swap many) migration greedy algorithms find a local minimum group migration algorithms such as the Kernighan Lin algorithm (basis of min-cut methods) can do better.. The Kernighan Lin lgorithm Key terms and concepts: a cost matrix plus connectivity matrix models system measure is the cut cost, or cut weight careful to distinguish external edge cost and internal edge cost net-cut partitioning and edge-cut partitioning hypergraphs with stars, and hyperedges model connections better than edges the Fiduccia Mattheyses algorithm uses linked lists to reduce O( K L algorithm) and is very widely used base logic cell balance critical net.. The Ratio-Cut lgorithm Key terms and concepts: ratio-cut algorithm ratio set cardinality ratio cut

SICs... THE COURSE. Partitioning Methods net, signal, or wire D E terminal, or pin network C F edge module, cell, or block D E graph C F vertex, node, or point net cut (a) (b) logic module D G E H (c) C F net cutset=two nets I Only one wire is needed to connect several modules on the same net. three-terminal net requires three edges. edge cut D G E H (d) F C I single wire is modeled by multiple edges in the network graph. edge cutset=four edges Networks, graphs, and partitioning. (a) network containing circuit logic cells and nets. (b) The equivalent graph with vertexes and edges. For example: logic cell D maps to node D in the graph; net maps to the edge (, ) in the graph. Net (with three connections) maps to three edges in the graph: (, C), (, F), and (C, F). (c) Partitioning a network and its graph. network with a net cut that cuts two nets. (d) The network graph showing the corresponding edge cut. The net cutset in c contains two nets, but the corresponding edge cutset in d contains four edges. This means a graph is not an exact model of a network for partitioning purposes... The Look-ahead lgorithm Key terms and concepts: gain vector look-ahead algorithm

SECTION SIC CONSTRUCTION SICS... THE COURSE (a) (b) C 0 D 0 E F G H 0 D F E C L H I J G K I J K L SIC SIC SIC Partitioning example. (a) We wish to partition this network into three SICs with no more than four logic cells per SIC. (c) (b) partitioning with five external connections (nets,,,, and ) the minimum number. (c) constructed partition using logic cell C as a seed. It is difficult to get from this local minimum, with seven external connections (,,,,,,), to the optimum solution of b. F D H K I J G L C E

SICs... THE COURSE. Partitioning Methods x w z y One wire corresponds to one hyperedge in a hypergraph. x w z y hyperedge star C D C D (a) (b) hypergraph. (a) The network contains a net y with three terminals. (b) In the network hypergraph we can model net y by a single hyperedge (, C, D) and a star node. Now there is a direct correspondence between wires or nets in the network and hyperedges in the graph.

SECTION SIC CONSTRUCTION SICS... THE COURSE swap nodes and 0 0 edges cut= edges cut= (a) Gain from swapping i th pair of nodes, g i + after swapping nodes and, gain, g = = + 0 original configuration (b) i, number of pairs of nodes pretend swapped Total gain from swapping the first n pairs of nodes, G n G = g 0 + g + max (G n ) + 0 (c) n, number of pairs of nodes actually swapped Partitioning a graph using the Kernighan Lin algorithm. (a) Shows how swapping node of partition with node of partition results in a gain of g=. (b) graph of the gain resulting from swapping pairs of nodes. (c) The total gain is equal to the sum of the gains obtained at each step.

SICs... THE COURSE. Partitioning Methods C internal edge external edge 0 C= connectivity matrix 000000000 00000000 00000000 00000000 000000000 000000000 00000000 0000000 00000000 00000000 0 0 (a) (b) Terms used by the Kernighan Lin partitioning algorithm. (a) n example network graph. (b) The connectivity matrix, C; the column and rows are labeled to help you see how the matrix entries correspond to the node numbers in the graph. For example, C (column, row ) equals because nodes and are connected. In this example all edges have an equal weight of, but in general the edges may have different weights.

SECTION SIC CONSTRUCTION SICS... THE COURSE gain=+ 0 0 (a) gain=+ gain=+ (d) (b) 0 gain=+ (e) 0 (c) 0 0 (f) n example of network partitioning that shows the need to look ahead when selecting logic cells to be moved between partitions. Partitionings (a), (b), and (c) show one sequence of moves, partitionings (d), (e), and (f) show a second sequence. The partitioning in (a) can be improved by moving node from to with a gain of. The result of this move is shown in (b). This partitioning can be improved by moving node to, again with a gain of. The partitioning shown in (d) is the same as (a). We can move node to with a gain of as shown in (e), but now we can move node to with a gain of.

SICs... THE COURSE. Summary.. Simulated nnealing Key terms and concepts: simulated-annealing algorithm uses an energy function as a measure probability of accepting a move is exp( E/T) E is an increase in energy function T corresponds to temperature we hill climb to get out of a local minimum cooling schedule T i+ = αt i good results at the expense of long run times Xilinx used simulated annealing in one verion of their tools.. Other Partitioning Objectives Key terms and concepts: timing, power, technology, cost and test constraints many of these are hard to measure and not well handled by current tools. Summary Key terms and concepts: The construction or physical design of a microelectronics system is a very large and complex problem. To solve the problem we divide it into several steps: system partitioning, floorplanning, placement, and routing. To solve each of these smaller problems we need goals and objectives, measurement metrics, as well as algorithms and methods The goals and objectives of partitioning Partitioning as an art not a science The simple nature of the algorithms necessary for VLSI-sized problems The random nature of the algorithms we use The controls for the algorithms used in SIC design

SECTION SIC CONSTRUCTION SICS... THE COURSE