Post-Routing Layer Assignment for Double Patterning

Similar documents
Power-Driven Flip-Flop p Merging and Relocation. Shao-Huan Wang Yu-Yi Liang Tien-Yu Kuo Wai-Kei Tsing Hua University

Flip-flop Clustering by Weighted K-means Algorithm

Algorithms, Lecture 3 on NP : Nondeterministic Polynomial Time

The Effect of Wire Length Minimization on Yield

Part I: Graph Coloring

Interconnect Planning with Local Area Constrained Retiming

Multi-Shaped E-Beam Technology for Mask Writing

Lossless Compression Algorithms for Direct- Write Lithography Systems

Double Patterning OPC and Design for 22nm to 16nm Device Nodes

Reconfigurable Neural Net Chip with 32K Connections

OPERATIONS SEQUENCING IN A CABLE ASSEMBLY SHOP

Scan Chain Design for Three-dimensional Integrated Circuits (3D ICs)

Random Access Scan. Veeraraghavan Ramamurthy Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL

Iterative Deletion Routing Algorithm

Achieving Faster Time to Tapeout with In-Design, Signoff-Quality Metal Fill

BOARD TEST The powerful combination of flying probe test and JTAG test speeds up testing

Design for Test. Design for test (DFT) refers to those design techniques that make test generation and test application cost-effective.

A Novel Bus Encoding Technique for Low Power VLSI

The Impact of Device-Width Quantization on Digital Circuit Design Using FinFET Structures

MVP: Capture-Power Reduction with Minimum-Violations Partitioning for Delay Testing

An Experimental Comparison of Fast Algorithms for Drawing General Large Graphs

Solution of Linear Systems

CHAPTER 3. Melody Style Mining

On-Supporting Energy Balanced K-Barrier Coverage In Wireless Sensor Networks

ORF 307: Lecture 14. Linear Programming: Chapter 14: Network Flows: Algorithms

Testability: Lecture 23 Design for Testability (DFT) Slide 1 of 43

Research Article. ISSN (Print) *Corresponding author Shireen Fathima

Video coding standards

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

Power Reduction Approach by using Multi-Bit Flip-Flops

Improved Flop Tray-Based Design Implementation for Power Reduction

LUT Optimization for Distributed Arithmetic-Based Block Least Mean Square Adaptive Filter

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

Lecture 23 Design for Testability (DFT): Full-Scan

Dual-V DD and Input Reordering for Reduced Delay and Subthreshold Leakage in Pass Transistor Logic

A repetition-based framework for lyric alignment in popular songs

Latch-Based Performance Optimization for FPGAs. Xiao Teng

Optimized Color Based Compression

Novel Pulsed-Latch Replacement Based on Time Borrowing and Spiral Clustering

The PeRIPLO Propositional Interpolator

The Stratix II Logic and Routing Architecture

Slack Redistribution for Graceful Degradation Under Voltage Overscaling

Problem Set 8. MIT students: Each problem should be done on a separate sheet (or sheets) of three-hole punched paper.

DOUBLE PATTERNING CHALLENGES FOR 20nm TECHNOLOGY

Melody Extraction from Generic Audio Clips Thaminda Edirisooriya, Hansohl Kim, Connie Zeng

Abstract 1. INTRODUCTION. Cheekati Sirisha, IJECS Volume 05 Issue 10 Oct., 2016 Page No Page 18532

ORF 307 Network Flows: Algorithms

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic. Prof. Sherief Reda School of Engineering, Brown University Fall 2014

Route optimization using Hungarian method combined with Dijkstra's in home health care services

A Greedy Heuristic Algorithm for Flip-Flop Replacement Power Reduction in Digital Integrated Circuits

Scan Chain and Power Delivery Network Synthesis for Pre-Bond Test of 3D ICs

Implementation of an MPEG Codec on the Tilera TM 64 Processor

Avoiding False Pass or False Fail

GlitchLess: An Active Glitch Minimization Technique for FPGAs

Voter Insertion Techniques for Fault Tolerant FPGA Design.

Automatic Transistor-Level Design and Layout Placement of FPGA Logic and Routing from an Architectural Specification

ADVANCED MICRO DEVICES, 2 CADENCE DESIGN SYSTEMS

COPY RIGHT. To Secure Your Paper As Per UGC Guidelines We Are Providing A Electronic Bar Code

Efficient Implementation of Neural Network Deinterlacing

A combination of approaches to solve Task How Many Ratings? of the KDD CUP 2007

ADVANCES in semiconductor technology are contributing

K.T. Tim Cheng 07_dft, v Testability

PHYSICAL DESIGN ESSENTIALS An ASIC Design Implementation Perspective

A Power Efficient Flip Flop by using 90nm Technology

Workload Prediction and Dynamic Voltage Scaling for MPEG Decoding

More design examples, state assignment and reduction. Page 1

PARALLEL PROCESSOR ARRAY FOR HIGH SPEED PATH PLANNING

INTERMEDIATE FABRICS: LOW-OVERHEAD COARSE-GRAINED VIRTUAL RECONFIGURABLE FABRICS TO ENABLE FAST PLACE AND ROUTE

Testing Digital Systems II

Principles of Video Compression

Design Project: Designing a Viterbi Decoder (PART I)

Clock Tree Power Optimization of Three Dimensional VLSI System with Network

PLD Synthesis Algorithms

Speech Enhancement Through an Optimized Subspace Division Technique

IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 12, NO. 7, NOVEMBER

Controlling Peak Power During Scan Testing

FPGA Glitch Power Analysis and Reduction

Neural Network for Music Instrument Identi cation

This paper is a preprint of a paper accepted by Electronics Letters and is subject to Institution of Engineering and Technology Copyright.

Deep Neural Networks Scanning for patterns (aka convolutional networks) Bhiksha Raj

Changing the Scan Enable during Shift

Low-Power and Area-Efficient Shift Register Using Pulsed Latches

REDUCING DYNAMIC POWER BY PULSED LATCH AND MULTIPLE PULSE GENERATOR IN CLOCKTREE

Software Engineering 2DA4. Slides 3: Optimized Implementation of Logic Functions

On the Sensitivity of FPGA Architectural Conclusions to Experimental Assumptions, Tools, and Techniques

Figure.1 Clock signal II. SYSTEM ANALYSIS

Retiming Sequential Circuits for Low Power

Approaching Zero Etch Bias at Cr Etch Process

IC Mask Design. Christopher Saint Judy Saint

140 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 12, NO. 2, FEBRUARY 2004

Efficient Trace Signal Selection using Augmentation and ILP Techniques

A Survey on Post-Placement Techniques of Multibit Flip-Flops

Homework 6: Printed Circuit Board Layout Design Narrative

VLSI System Testing. BIST Motivation

Inspection of 32nm imprinted patterns with an advanced e-beam inspection system

TKK S ASIC-PIIRIEN SUUNNITTELU

Optimizing area of local routing network by reconfiguring look up tables (LUTs)

DC Ultra. Concurrent Timing, Area, Power and Test Optimization. Overview

Low Power Estimation on Test Compression Technique for SoC based Design

A Method to Decompose Multiple-Output Logic Functions

Transcription:

Post-Routing Layer Assignment for Double Patterning Jian Sun 1, Yinghai Lu 2, Hai Zhou 1,2 and Xuan Zeng 1 1 Micro-Electronics Dept. Fudan University, China 2 Electrical Engineering and Computer Science Dept. Northwestern University, U.S.A. January 28, 2011 1 / 25

Outline 1 Single Layer Double Patterning 2 Post-Routing Layer Assignment 3 Layer Assignment for Double Patterning 4 Experimental Results 2 / 25

Outline 1 Single Layer Double Patterning 2 Post-Routing Layer Assignment 3 Layer Assignment for Double Patterning 4 Experimental Results 3 / 25

Double Patterning Lithography As feature sizes keep shrinking, single exposure cannot support any more Extra one time of exposure is used to get the fine line in Double Patterning Lithography mask 1 mask 2 2 2 pattern pattern 4 / 25

Layout Decomposition During decomposing dense layout onto two masks, pattern can be split to resolve conflicts, which results in stitch Pattern split cannot resolve all conflicts Stitch has influence on electrical connection of the circuit The number unresolvable conflicts and stitches should be minimized in double patterning problem 5 / 25

Layout Decomposition Graph G = (V, E) is constructed by nodes indicating rectangles and edges indicating electrical connections or adjacency between rectangles Electrical connection corresponds to touching edge, which has negative weight Adjacency corresponds to conflict edge, which has positive weight A bi-coloring solution is needed to decomposing the layout Max-Cut problem 6 / 25

NP-Hardness of Single Layer Double Patterning It is obvious that double patterning problem is NP Double patterning problem is at most NP-complete Reduce from 4-degree Max-Cut problem to a special case of single layer double patterning 4-degree Max-Cut is NP-complete The reduction is polynomial time achievable There is mapping relation between the Max-Cut and the double patterning solution 7 / 25

Reduction Mesh drawing of any 4-degree undirected graph Cross point substitution with gadget β α α β β α α β 0 line width, 2 double patterning conflict length, mesh based layout Black lines and nodes in gadget can be viewed as layout pattern Red lines in gadget are conflict edges 8 / 25

Reduction Each gadget substitution makes 8 edges contribution on Max-Cut in generated layout 9 / 25

Reduction Outside of the gadget, the edges are subdivided Turn an edge into 2i pattern sections, which are connected by 2i 1 double patterning edges They make 2i 2 edges contribution on Max-Cut in generated layout 10 / 25

NP-Hardness of Single Layer Double Patterning Single layer double patterning problem in NP-complete When Manhattan distance is considered as double patterning conflict distance The double patterning conflict graph is always planar Max-Cut problem on it is not NP-hard 11 / 25

Outline 1 Single Layer Double Patterning 2 Post-Routing Layer Assignment 3 Layer Assignment for Double Patterning 4 Experimental Results 12 / 25

Multi Layer Assignment In multi-layer interconnection, wire sections must connect to some and must not connect to some others Node: wire section, via candidate Crossing edge: overlap sections from different net Continuation edge: electrically connected sections d1 a1 b1 B1 b4 b3 B2 A c3 c1 C1 B3 C2 D1 D2 d2 d3 a2 c2 b2 d1 a1 A D1 a2 b1 B1 b3 c1 d3 B2 b4 C1 c3 B3 C2 D2 c2 b2 d2 Via Candidate Via Node Segment Node Continuation Edge Crossing Edge 13 / 25

Layer Assignment for Via Minimization Layer assignment for each node Weight vector for each via candidate node The number of layers this via goes through under this assignment Weight matrix for each edge Whether short circuit happens on crossing edge ( or 0) Whether open circuit happens on continuation edge ( or 0) When the graph is tree, dynamic programming can find the layer assignment to minimize the total weight Heuristic Begin from a feasible layout Randomly choose root node to expend a tree in the graph Dynamic programming on the tree Iteratively repeat until no more improvement is made 14 / 25

Outline 1 Single Layer Double Patterning 2 Post-Routing Layer Assignment 3 Layer Assignment for Double Patterning 4 Experimental Results 15 / 25

Influence of Layer Assignment on Double Patterning M1 M2 Via / Ploy Connection Double Patterning Conflict Unresolvable Conflict The double patterning conflict can be resolved if we change the layer assignment of a rectangle M1 M2 Via / Ploy Connection 16 / 25

Graph Construction Consider double patterning distance in the multi layer graph Double patterning edge: adjacent sections from different net, whose distance from each other is smaller than double patterning conflict distance and not zero. d1 a1 B1 b4 b3 B2 A c3 c1 C1 B3 C2 D1 D2 d3 a2 b1 c2 b2 d2 d1 a1 A D1 a2 b1 B1 b3 c1 d3 B2 b4 C1 c3 B3 C2 D2 c2 b2 d2 Via Candidate Via Node Segment Node Continuation Edge Crossing Edge Double Patterning Edge 17 / 25

Weight Matrix on Double Patterning Edge If the layer assignments of two nodes has common metal layer, double patterning conflict would happen Otherwise, zero weight Similar as crossing edge, the difference is the penalty value 18 / 25

Framework Similar dynamic programming strategy is used to solve the weight minimization problem Single layer double patterning algorithms can be used on each reassigned metal layers separately In the weight minimization problem, the double patterning edge number is optimized instead of unresolvable conflict Via / Ploy Connection Double Patterning Conflict M1 M2 Via / Ploy Conne One more step to reduce the redundant vias is needed 19 / 25

Via Reduction Color information assigned in single layer double patterning is also considered into multi layer graph If changing a rectangle s layer can result in via reduction without increase of unresolvable conflict, we would accept that change. Weight matrix on double patterning edge indicates unresolvable conflict number Weight matrix on continuation edge indicates stitch number Dynamic programming on the updated graph 20 / 25

Outline 1 Single Layer Double Patterning 2 Post-Routing Layer Assignment 3 Layer Assignment for Double Patterning 4 Experimental Results 21 / 25

Unresolvable Conflict and Stitch Improvement Implemented in C++, tested on CBL testcases and compared with [Xu and Chu ICCAD09] and [Chang and Cong TCAD99] Cases #Node #Edge #URC #Stitch #Via test1 4328 88708 12.41% 59.66% 111.38% test2 8606 307086 31.44% 83.69% 103.16% test3 11204 472908 29.86% 89.13% 102.99% mcc1-75 11649 332446 27.97% 63.41% 112.37% mcc2-75 67555 5350970 35.54% 67.44% 117.70% average 27.44% 72.66% 109.52% 22 / 25

Improvement on bottom two metal layers Usually only the lowest two metal layers are double patterning layers Conduct the algorithm only on the bottom two layers Cases #Node #Edge #URC #Stitch #Via test1 3600 51750 25.53% 86.21% 101.06% test2 5585 82540 31.43% 88.95% 100.62% test3 7394 122132 27.20% 89.81% 100.09% mcc1-75 9323 185598 49.28% 99.01% 100.29% mcc2-75 47917 1499986 57.67% 98.22% 100.04% average 38.22% 92.44% 100.42% 23 / 25

Conclusions Single layer double patterning problem is NP-complete Layer assignment can be employed to reduce the number of unresolvable conflicts and stitches The three step algorithm we proposed is effective 24 / 25

Thank you! 25 / 25