Standard Cell Design and Routing

Similar documents
University of Texas at Dallas. Department of Electrical Engineering. EEDG Application Specific Integrated Circuit Design

Lab 3 Layout Using Virtuoso Layout XL (VXL)

How To Design A Chip Layout

Layout and Cross-section of an inverter. Lecture 5. Layout Design. Electric Handles Objects. Layout & Fabrication. A V i

CADENCE LAYOUT TUTORIAL

Getting Started with the Cadence Software

Layout of Multiple Cells

IL2225 Physical Design

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

Digital IC Design Flow

Lecture 5: Gate Logic Logic Optimization

An ASCII data format, used to describe a standard cell library

Route Power 10 Connect Powerpin 10.1 Route Special Route 10.2 Net(s): VSS VDD

DIRECTIONS FOR SETTING UP LABELS FOR MARCO S INSERT STOCK IN WORD PERFECT, MS WORD AND ACCESS

Alpha CPU and Clock Design Evolution

Reconfigurable ECO Cells for Timing Closure and IR Drop Minimization. TingTing Hwang Tsing Hua University, Hsin-Chu

Module 7 : I/O PADs Lecture 33 : I/O PADs

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

Working with the new enudge responsive styles

Royal Military College of Canada

Design Compiler Graphical Create a Better Starting Point for Faster Physical Implementation

EECAD s MUST List MUST MUST MUST MUST MUST MUST MUST MUST MUST MUST

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

CMOS VLSI Design Lab 1: Cell Design and Verification

How To Integrate 3D-Ic With A Multi Layer 3D Chip

Create a Poster Using Publisher

Status of the design of the TDC for the GTK TDCpix ASIC

Merging Labels, Letters, and Envelopes Word 2013

TIMING-DRIVEN PHYSICAL DESIGN FOR DIGITAL SYNCHRONOUS VLSI CIRCUITS USING RESONANT CLOCKING

Implementation Details

CHAPTER 11: Flip Flops

OrCad Layout Plus PCB Tutorial

On the Characterization of Library Cells

Document Contents Introduction Layout Extraction with Parasitic Capacitances Timing Analysis DC Analysis

1. Submission Rules. 2. Verification tools. 3. Frequent errors

Tanner EDA L-edit (Layout Editor)

Altium Designer Guide

Introduction to Digital System Design

Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

Design-Kits, Libraries & IPs

Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems

Advanced VLSI Design CMOS Processing Technology

Fabrication and Manufacturing (Basics) Batch processes

Place & Route Tutorial #1

Intel Q3GM ES 32 nm CPU (from Core i5 660)

1.1 The 7493 consists of 4 flip-flops with J-K inputs unconnected. In a TTL chip, unconnected inputs

Microsoft Access 2010 Part 1: Introduction to Access

PCB Design. Gabe A. Cohn. May Using Altium Designer/DXP/Protel. Electrical Engineering University of Washington

Serif PagePlusX4. Group Listing

Sequential 4-bit Adder Design Report

How to resize, rotate, and crop images

Efficient Interconnect Design with Novel Repeater Insertion for Low Power Applications

Lecture-3 MEMORY: Development of Memory:

Lecture 7: Clocking of VLSI Systems

Laboratory 2. Exercise 2. Exercise 2. PCB Design

Micron MT29F2G08AAB 2 Gbit NAND Flash Memory Structural Analysis

EXPRESS PCB TUTORIAL Author: Lee Morey Revised: JE Feb 2015

The MOSFET Transistor

If you know exactly how you want your business forms to look and don t mind

Latches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

CREATING POSTERS WITH POWERPOINT

SketchUp Instructions

Lecture 030 DSM CMOS Technology (3/24/10) Page 030-1

EEC 118 Lecture #17: Implementation Strategies, Manufacturability, and Testing

Task Force on Technology / EXCEL

Orcad Layout. Autorouter User s Guide

Excel 2007 Basic knowledge

Topics of Chapter 5 Sequential Machines. Memory elements. Memory element terminology. Clock terminology

Timer A (0 and 1) and PWM EE3376

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

StarRC Custom: Next-Generation Modeling and Extraction Solution for Custom IC Designs

Core Power Delivery Network Analysis of Core and Coreless Substrates in a Multilayer Organic Buildup Package

Jianjian Song LogicWorks 4 Tutorials (5/15/03) Page 1 of 14

ECE124 Digital Circuits and Systems Page 1

In this session, we will explain some of the basics of word processing. 1. Start Microsoft Word 11. Edit the Document cut & move

Winbond W2E512/W27E257 EEPROM

APA-STYLE TABLES in MICROSOFT WORD 2007

Entering the example employee satisfaction survey in Survey Crafter Professional s Survey Designer window

Incremental Technology Database (ITDB) Usage and Practices

Contents. Overview Memory Compilers Selection Guide

If you know exactly how you want your business forms to look and don t mind detail

Microsoft Access 2010 Overview of Basics

Complete. PCB Design Using. NI Multisim, NI Ultiboard, LPKF CircuitCAM and BoardMaster. pg. 1. Wei Siang Pee

ESP-CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation

Microsoft Publisher 2010 What s New!

Fireworks CS4 Tutorial Part 1: Intro

Sample Table. Columns. Column 1 Column 2 Column 3 Row 1 Cell 1 Cell 2 Cell 3 Row 2 Cell 4 Cell 5 Cell 6 Row 3 Cell 7 Cell 8 Cell 9.

Microsoft Excel 2010 Charts and Graphs

Class 11: Transmission Gates, Latches

Winbond W971GG6JB-25 1 Gbit DDR2 SDRAM 65 nm CMOS DRAM Process

Creating Drawings in Pro/ENGINEER

Introduction to Microsoft Excel 2010

DOING MORE WITH WORD: MICROSOFT OFFICE 2010

Microsoft Access 2010 handout

Using an Access Database

Technical handbook Panel Anchoring System

PowerPC Microprocessor Clock Modes

Spreadsheet - Introduction

Excel 2003 Tutorial I

Transcription:

Routing Automatic Place/Route of systems blocks is integral design of modern VLSI devices Cell Libraries and macro blocks need to be designed with system level routing issues in mind Typically, design macro blocks to use as few routing layers as possible so that higher level routing can go completely over-the-top of the block for inter-block routing. Not unusual for a macro block to only use local interconnect (silicided poly) and MET1; this reserves MET2 and higher for inter-block routing. 11/14/00 1 Standard Cell Design and Routing Standard cell implementations use a library of standard cells that implement basic logic functions. Standard cells share the same height, and the placement tool creates rows of cells, each cell abutting with its neighbor power connections between cells formed by abuttment The router creates connections by routing in available metal layers Routing can be over the top of the cell or in channels between rows 11/14/00 2 1

Routing Routers typically prefer that the pins of cells lie on some grid for routing efficiency purposes Routers can usually route to off grid pins but requires more execution time and memory. Grids are defined for each routing layer Grid spacing should be at least line-on-via, and is usually via-on-via A HVH routing styles means that there are three layers; with the first layer running horizontally, 2nd vertically, 3rd horizontally (M1 H, M2 V, M3 H) 11/14/00 3 Cadence Standard Cell P&R Particulars We will use a tool called Silicon Ensemble for standard cell placement and routing Requirements Pins should align at a grid point (aligned with both vertical and horizontal grids) Rows are placed to align with vertical and horizontal routing grids Cell height should be multiple of Horizontal grid If multiple horizontal grids (i.e, HVH), then cell height should a common multiple of the grid spacing. If the M1 grid spacing is 6 lambda, and the M3 grid spacing is 8 lambda, then cell height should be an multiple of both 6 and 8 (ie., 24 lambda, 48 lambda, etc) For this reason, the ratio of M1 to M3 grid spacing should be kept simple (i.e 1:1, 2:1, NOT 11:7 ) 11/14/00 4 2

Cadence Standard Cell P&R Particulars Alternate rows can be flipped vertically so that powers rails of neighboring rows can abut Cells can be flipped horizontally to reduce routing lengths. Vdd rail Gnd rail Gnd rail Vdd rail Vdd rail Gnd rail Gnd rail Vdd rail 11/14/00 5 Metal Spacing Grids Line on Line Line on Via Via on Via min spacing, can t fit another via here min spacing 11/14/00 6 3

Routing Grid for HP14TB process (λ = 0.3u) Minimum Spacings are: Via on Via horizontal (via width + M1 spacing) = 4 + 3 =7 lambda Via on Via vertical (via width + M2 spacing) = 4 +3 = 7 lambda Via2 on Via2 horizontal (via width + M3 spacing) = 6 + 3 = 9 lambda Using minimum spacings give a M1:M3 ratio of 7:9 Odd ratio, Cadence recommends that in this case M1 and M3 grids should be the same (i.e, 1:1 ratio). 11/14/00 7 Standard Cell Guidelines Will be conservative and use vertical routing grid of 8 lambda Cell widths must be multiple of vertical routing grid (16, 24, 32, etc). First vertical routing track will start at one-half vertical grid inside of cell First valid terminal location is one-half vertical grid into cell. Will use horizontal routing grid of 9 lambda Cell heights must be multiple of horizontal routing grid 11/14/00 8 4

What should Cell Height be? When routing was limited to just two layers of metal, wanted short cells Routing was M1 horizonal, M2 vertical Most of the routing was done in the channels between cell rows Short cells minimized Row to Row spacing With over the cell routing (HVH), tall cells now slide under the routing, and channels have disappeared. Taller cells allow for multiple drive strength cells which is important for modern synthesis tools. 11/14/00 9 Cell Heights we have used SCMOS library (0.8u, 1.2 u library) 68 lambda - designed for 2 layer routing, cell height was kept small GCMOS library (0.5u) 100 lambda - designed for 3 layer routing, wanted multiple drive strengths RadTolerant Library (0.5u) 150 lambda - required guard rings around PMOS, NMOS transistor sites which pushed cell height up 11/14/00 10 5

A Routing Comparison For the GCMOS library (100 lambda) and RadTolerant library(150 lambda), did a P&R for a 1932 cell design GCMOS area : 1591 x 813 u = 1293483 u**2 RadTol area: 1716 x 938 = 1609608 u**2 Area Ratio of 1.2 (RadTol/ GCMOS) routing limited Cell Height Ratio RadTol/GCMOS = 1.5 For a smaller design (325 cells), the area was: GCMOS: 619 x 385 = 238315 RadTol: 806 x 464 = 373984 Ratio of 1.6 (RadTol/GCMOS) cell area limited 11/14/00 11 Standard Cell Template Vdd/Gnd Rail width rule of thumb is 5x minimum width 15 lambda Sample Cell library provided with Cadence had cell heights that provided 9 horizontal routing tracks We will be somewhat conservative and use a cell height that gives 11 horizontal routing tracks (99 lambda). Transistor areas should be positioned so that routing tracks in middle of cell are free 11/14/00 12 6

Standard Cell Routing Template (cont) 9 λ 9 λ 4λ 8 λ 8 λ 8 λ 8 λ A 4λ Valid terminal locations are at grid intersections. If possible, terminals should staggered horizontally. This allows easier horizontal routing access. 9 λ 9 λ 9 λ B C Can also designate multiple entry points via metal 1 to a terminal along the veritical direction 9 λ 11/14/00 13 Standard Cell layout guidelines Orgin of cell at 0,0 in lower left hand corner Cell width multiple of 8 lambda, height is 99 lambda Vdd/Gnd rails 15 lambda wide, start at 1.5 lambda vertical spacing inside cell boundary This way, if router does not support flipping rows, then cells can be abutted vertically without DRVs PTAP, NTAP contacts under power rails Cells can be abutted horizontally without DRV s. Grow transistors from cell bottom towards cell center Use poly routing wherever possible, limit to 30-45 um If have to block horizontal MET1 route, block from one side only 11/14/00 14 7

Routing example with library from SE tutorial m2(v) Vdd m3(h) cell boundary, veritical abutment m1(h) cell boundary, horizontal abutment GND 11/14/00 15 off grid off grid off grid Detailed Routing grids shown. Note that some 11/14/00 16 routes are off grid (off grid routing allowed by SE) 8

Global Net routing (Clock, Reset) Tanner Standard Cell libraries for Leda 0.35, 0.25 processes available from MOSIS specify Clock, reset line routing in Standard Cell Template. Clk Line Clk Line 11/14/00 17 Clock Buffer Cells Buffer clock left Clk_in Clk Comes in on M2 Gate of 2 nd inverter Gate of 1 st inverter 11/14/00 18 9

Abutment of clock buffer cells Clk_in Clk Multiple clock buffers inserted in row can give arbitrary drive strenght 11/14/00 19 Latch Cell M2 usage in cell always runs vertically so as to block fewest routing channels. Does not tie into clock routing, this must be done via external router 11/14/00 20 10

If you want to try out Cadence Grab cds.lib, display.drf from misc links off WWW page. swsetup cadence to place tools on path Make a temp directory, change into it, and execute: % icfb & The Help button on the menu will access the online help Use the Go -> Main Menu to get to list of all documents Choose IC tools Layout Design -> Cell Design Tutorial (manual layout tutorial) Place and Route -> Silicon Ensemble Tutorial (Stdcell) Layout Design -> Virtuso Layout Synthesizer Tutorial 11/14/00 21 Arbiter Examples ZIP archive attached to this lecture has three examples of using sedsm (Silicon Ensemble, Deep sub-micron) Example uses a design called arbiter that is about 300 cells mapped to the example library provided with the SE tutorial (synopsys synthesis lib sc_cadence.lib) arbiter_pads -- places pads along with the standard cell core arbiter_nopads_reese standard cell core only, pins routed to edges arbiter_nopads_scott example provided by Scott Jennings than only routes the standard cell core. Uses a difference set of sedsm commands than reese example. 11/14/00 22 11

verilog netlist file for design verilog description of library cells Library.lef description exported from sedsm Cadence layout views Final placed/routed design (binary file *.dhd format) (ascii file *.def format) *.def placed/routed design file is then imported back into Virtuoso Layout tool 11/14/00 23 arbiter.v libcells.v sc_cadence.lef sedsm Final placed/routed design (binary file *.dhd format) (ascii file *.def format) *.def placed/routed design file is then imported back into Virtuoso Layout tool 11/14/00 24 12

Running sedsm sedsm can be run in interactive mode (as in tutorial) or in automated mode via script file To run a script file do: % sedsm m=200 b gd=ansi EXECUTE script.mac; & Example command files for sedsm have a.mac extension To run in interactive mode do: % sedsm 11/14/00 25 Generating Input files for sedsm Verilog netlist file of design generated by Synopsys Library verilog file simply has a verilog description of each library cell look at libcells.v in ZIP archive for an example. The LEF (library exchange format) file is the most important file and the most difficult to generate Contains the spacing rules (metal, VIAs) for your technology Contains a cell abstract for each cell in your library the LEF file is created via the export option under icfb 11/14/00 26 13

Cell abstracts The LEF abstract of your cell does not contain all of the layout of your cell It simply contains the layers/vias that are important from a routing point of view The layout view of your cell (in Virtuoso) contains the detailed layout of your design The abstract view of your cell (in Virtuoso) contains only the routing obstructions, pins of your cell Abstracts can be generated automatically from a layout view by a tool called autoabgen. Abstract views generated by autoabgen may need to be tweaked a bit before exporting to a LEF file. Abstracts can also be generated manually, simply more work to do it 11/14/00 27 14