Training Course of SOC Encounter



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

IL2225 Physical Design

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

How To Design A Chip Layout

Digital IC Design Flow

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

Implementation Details

Training Course of Design Compiler

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

Impact of Signal Integrity on System-On-Chip Design Methodologies

Power Delivery Network (PDN) Analysis

Design-Kits, Libraries & IPs

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

Testing of Digital System-on- Chip (SoC)

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

Place & Route Tutorial #1

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

Alpha CPU and Clock Design Evolution

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

What is a System on a Chip?

Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic

Introduction to Digital System Design

Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX

Contents. Overview Memory Compilers Selection Guide

IBIS for SSO Analysis

Lab 3 Layout Using Virtuoso Layout XL (VXL)

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

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

9/14/ :38

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

Design Methodology for Engineering Change Orders (ECOs) in a Flat Physical Standard Cells Based Design Environment

Space product assurance

Chapter 13: Verification

ARM Cortex-A9 MPCore Multicore Processor Hierarchical Implementation with IC Compiler

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

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

Bi-directional level shifter for I²C-bus and other systems.

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

State-of-Art (SoA) System-on-Chip (SoC) Design HPC SoC Workshop

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

HDL Simulation Framework

E158 Intro to CMOS VLSI Design. Alarm Clock

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

Quality. Stages. Alun D. Jones

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

LAB #3 VHDL RECOGNITION AND GAL IC PROGRAMMING USING ALL-11 UNIVERSAL PROGRAMMER

Fault Modeling. Why model faults? Some real defects in VLSI and PCB Common fault models Stuck-at faults. Transistor faults Summary

PL-277x Series SuperSpeed USB 3.0 SATA Bridge Controllers PCB Layout Guide

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

Model 5511 Filler Controller User s Manual Version 1.1 October 2011

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

System on Chip Design. Michael Nydegger

VLSI Design Verification and Testing

nanoetxexpress Specification Revision 1.0 Figure 1 nanoetxexpress board nanoetxexpress Specification Rev 1.

STA - Static Timing Analysis. STA Lecturer: Gil Rahav Semester B, EE Dept. BGU. Freescale Semiconductors Israel

Layout of Multiple Cells

CADENCE LAYOUT TUTORIAL

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

Engineering Change Order (ECO) Support in Programmable Logic Design

Graser User Conference Only

Shanghai R&D Vacancies August 2014 PV, PE, Intern

Lecture 5: Gate Logic Logic Optimization

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

An Advanced Behavioral Buffer Model With Over-Clocking Solution. Yingxin Sun, Joy Li, Joshua Luo IBIS Summit Santa Clara, CA Jan.

Royal Military College of Canada

Designing a Schematic and Layout in PCB Artist

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Rapid Software Development with OpenAccess. Dean Marvin Exec Director, Product Development

8 by 8 dot matrix LED displays with Cascadable Serial driver B32CDM8 B48CDM8 B64CDM8 General Description

Digital to Analog Converter. Raghu Tumati

VHDL-Testbench as Executable Specification

Introduction to VLSI Testing

Lab 1: Introduction to Xilinx ISE Tutorial

KiCad Step by Step Tutorial

PCB Design Conference - East Keynote Address EMC ASPECTS OF FUTURE HIGH SPEED DIGITAL DESIGNS

1.Introduction. Introduction. Most of slides come from Semiconductor Manufacturing Technology by Michael Quirk and Julian Serda.

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

Automated Contact Resistance Tester CR-2601

Ingar Fredriksen AVR Applications Manager. Tromsø August 12, 2005

IDT80HSPS1616 PCB Design Application Note - 557

Virtuoso Analog Design Environment Family Advanced design simulation for fast and accurate verification

Signal Integrity: Tips and Tricks

ECE 410: VLSI Design Course Introduction

Evaluating AC Current Sensor Options for Power Delivery Systems

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

MSME TOOL ROOM, HYDERABAD CENTRAL INSTITUTE OF TOOL DESIGN

MANUAL FOR RX700 LR and NR

Module 22: Signal Integrity

ICS514 LOCO PLL CLOCK GENERATOR. Description. Features. Block Diagram DATASHEET

Signal integrity in deep-sub-micron integrated circuits

At-Speed Test Considering Deep Submicron Effects. D. M. H. Walker Dept. of Computer Science Texas A&M University

Digital Design Verification

TIP-VBY1HS Data Sheet

Systematic Design for a Successive Approximation ADC

Pericom PCI Express 1.0 & PCI Express 2.0 Advanced Clock Solutions

KiCad Step by Step Tutorial

Objective. Testing Principle. Types of Testing. Characterization Test. Verification Testing. VLSI Design Verification and Testing.

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

Tutorials Drawing a 555 timer circuit

TABLE OF CONTENTS. xiii List of Tables. xviii List of Design-for-Test Rules. xix Preface to the First Edition. xxi Preface to the Second Edition

Transcription:

Training Course of SOC Encounter REF: CIC Training Manual Cell-Based IC Physical Design and Verification with SOC Encounter, July, 2006 CIC Training Manual Mixed-Signal IC Design Concepts, July, 2007 Speaker: T. W. Tseng

Outline Basic Concept of the Placement & Routing Auto Place and Route Using SOC Encounter Hard Block Abstraction Using Abstract Generator LAB

Basic Concept of the Placement & Routing

Cell-Based Design Flow Spec. System Level MATLAB/ C/ C++/ System C/ ADS/ Covergen (MaxSim) Memory Generator RTL Level Verilog/ VHDL NC-Verilog/ ModelSim Debussy (Verdi)/ VCS Syntest Logic Synthesis Design for Test Gate Level Layout Level Post-Layout Verification Conformal/ Formality Design/ Power Compiler DFT Compiler/ TetraMAX NC-Verilog/ ModelSim Debussy (Verdi)/ VCS SOC Encounter/ Astro GDS II DRC/ LVS (Calibre) mpiler/ Fusion hysical Com gma Blast Ph Mag PVS: Calibre xrc/ NanoSim (Time/ Power Mill) Tape Out

SOC Encounter P&R Flow Netlist (Verilog) Timing i Constraints t (sdc) IO Constraints (ioc) IO, P/G Placement Clock Tree Synthesis Specify Floorplan Timing Analysis Timing Analysis Post-CTS Optimization Pre-CTS Optimization Power Route Power Planning SI Driven Route Power Analysis Timing/SI Analysis GDS Netlist Spef DEF

IO, P/G Placement Determine the positions of the PADs Corner1 I1 VDD O1 Corner2 Functional IO PAD Power/Ground PAD Corner PAD I2 O2 Just for the connection of PAD power rings IOVDD IOVSS I3 O3 Corner3 I4 VSS O4 Corner4

Specify Floorplan Determine the aspect ratio of the Core and the gap between the PAD and Core The Core Utilization is determined in this step The final CHIP area is almost determined in this step Hight Width

Floorplan Determine the related positions of Hard Corner1 I1 VDD O1 Corner2 Blocks The performance is highly affected I2 O2 M2 IOVDD IOVSS I3 M1 M3 O3 Corner3 I4 VSS O4 Corner4

Amoeba Placement Observe the result of cells and Hard Blocks placement

Power Planning Plan the power ring & power stripe IR-drop consideration

Clock Tree Synthesis CLK CLK

Power Analysis IR-drop & electron migration

Power Route Connect the power pins of standard cells to the global power lines

Add IO Filler Fill the gap between PADs Connect the PAD power rings

Routing Construct the final interconnections

Prepare Data Library Physical Library (LEF) Information of technology, standard cells, Hard Blocks, and APR Timing Library (LIB) Timing information of the standard cells and Hard Blocks Capacitance Table For more accurate RC analysis Celtic Library Not Necessary! For crosstalk analysis FireIce/Voltage Storm Library For RC extraction and power analysis User Data Gate-Level Netlist (Verilog) SDC Constraint (*.sdc) IO Constraint (*.ioc)

LEF Format Process Technology Layers Design Rule Parasitic POLY Contact Metal 1 Via1 Metal l2 Net Width Net Spacing Area Enclosure Wide Metal Slot Antenna Current Density Resistance Capacitance

LEF Format Process Technology: Layer Define Layer Metal1 TYPE ROUTING; WIDTH 0.28; MAXWIDTH 8; AREA 0.202; SPACING 0.28; SPACING 0.6 RANGE 10.0 10000.0; PITCH 0.66; DIRECTION VERTICAL; THICKNESS 0.26; ANTENNACUMDIFFAREARATIO 5496; RESISTANCE RPERSQ 1.0e-01; CAPACITANCE CPERSQDIST 1.11e-04; EDGECAPACITANCE 9.1e 1e-05; END Metal1 Wide Metal Spacing Width Spacing Wide Metal

LEF Format APR Technology Unit Site Routing Pitch Default Direction Via Rule

LEF Format APR Technology: Site The placement site gives the placement grid of a family of macros a row a site a standard cell

Row Based PR VDD VSS VDD VSS

LEF Format APR Technology: Routing Pitch, Default Direction Via Metal1 Routing Pitch Metal2 Routing Pitch Horizontal Routing Metal1 Metal3 Metal5 Vertical Routing Metal2 Metal4 Metal6

LEF Format APR Technology: Via Generation To connect the wide metal, a via array is generated to reduce the via resistance Formulas for generating via arrays are defined Layer Metal1 Direction HORIZONTAL OVERHANG 0.2 Layer Metal2 Direction VERTICAL OVERHANG 0.2 Layer Via1 RECT -0.14-0.14 0.14 0.14 SPACING 0.56 BY 0.56 Default Via Generated Via

LEF Format APR Technology: Same Net Spacing SPACING SAMENET Metal1 Metal1 0.23; SAMENET Metal2 Metal2 0.28 STACK; SAMENET Metal3 Metal3 0.28; SAMENET VIA12 VIA12 0.26; SAMENET VIA23 VIA23 0.26; SAMENET VIA12 VIA23 0.0 STACK; END SPACING Metal1 VIA12 and VIA23 Metal3 VIA12 and VIA23 allow stack Metal1 0.23 Same Net Spacing Rule

LEF Format APR Technology: Physical Macros Define physical data for Standard cells I/O pads Memories Other hard macros Describe abstract shape Size Class Pins Obstructions

LEF Format APR Technology: Physical Macros (Cont ) Y VDD B VSS A Metal Barrier MACRO ADD1 CLASS CORE; FOREIGN ADD1 0.0 0.0; ORIGEN 0.0 0.0; LEQ ADD; SIZE 19.8 BY 6.4; SYMMETRY x y; SITE coresite; PIN A DIRECTION INPUT; PORT LAYER Metal1; RECT 19.2 8.2 19.5 10.3;. END END A. END ADD1

LIB Format Operating condition Slow, fast, typical Pin type Input/output/inout Function Data/clock Capacitance Path delay Timing constraint Setup, hold, mpwh, mpwl, recovery

Gate-Level Netlist If designing a chip, IO PADs, power PADs, and Corner PADs should be added before the netlist is imported Make sure that there is no assign statement and no *cell* cell name in the netlist

SDC Constraint Clock constraints Input delay/ Input drive Output delay/ Output load False path Multi-cycle path

IO Constraint Version: 1 Pad: CORNER0 NW PCORNERDGZ Pad: PAD_CLK N Pad: PAD_HALT N Pad: CORNER1 NE PCORNERDGZ CORNER0 PAD_CLK N PAD_HALT CORNER1 Pad: PAD_X1 W Pad: PAD_ X2 W PAD_X2 W E PAD_VSS1 Pad: CORNER2 SW PCORNERDGZ Pad: PAD_IOVDD1 S PVDD2DGZ Pad: PAD_IOVSS1 S PVSS2DGZ PAD_X1 S PAD_VDD1 Pad: CORNER3 SE PCORNERDGZ Pad: PAD_VDD1 E PVDD1DGZ Pad: PAD_VSS1 E PVSS1DGZ CORNER2 CORNER3 (*.ioc File) PAD_IO OVDD1 PAD_IO OVSS1

How To Decide the NO. of Power/Ground PADs The following factors are considered: SSO: Simultaneously Switch Outputs SSN: The noise produced by SSO buffers DI: Maximum NO. of copies for one specific kind of IO PAD switching from high to low simultaneously without making ground voltage level higher than 0.8 volt for one ground PAD DF: Driving Factor, DF = 1/DI SDF: Sum of Driving Factor Suggestion in SSO case: Required NO. of ground PADs = SDF Required NO. of power PADs = SDF/1.1

SDF Example IO Type 2mA 4mA 8mA 12mA 16mA 24mA DF Value 0.02 0.03 0.09 0.18 0.3 0.56 If a design has 20 PDB02DGZ (2mA) and 10 PDD16DGZ (16mA). Then, SDF = 20 x 0.02 + 10 x 0.3 = 3.4 In SSO case, NO. of VSS PAD = 3.4 4 NO. of VDD PAD = 3.4/1.1 = 3.09 4

Tips to Reduce the Power/Ground Bounce Don t use stronger output buffers than what is necessary Use slew-rate controlled outputs Place power pad near the middle of the output buffer Place noise sensitive I/O pads away from SSO I/Os Place VDD and VSS pads next to clock input buffer

Auto Place and Route Using SOC Encounter

CHIP-Level Netlist If your gate-level netlist is generated by CORE-level synthesis, you should all the CHIP-level module in it Ex:

CHIP-Level Netlist (Cont ) If your design has a Hard Block, you should add an empty module for it the module name should be the same as the cell name of the Hard Block Ex: (Module Declaration) (Module Reference) Connected Wire Name in Verilog Pin Name in SPICE

CHIP-Level Timing Constraint Ex: CHIP-Level Clock Declaration Set False Path to Your Test Pins Set Parameters to the PAD IO

Getting Started linux %> ssh -l user name cae18.ee.ncu.edu.tw unix %> source /APP/cad/cadence/SOC/CIC/soc.csh unix %> encounter (Do not run in the background mode!!) Connect to Unix

Import Design <Design> Design/Design Import Verilog Files: your gate-level netlist Tot Cell LEF Files (*.lef): including all the LEF files of cell libraries i & hard blocks LIB Files (*.lib): Max Timing Libraries Min Timing Libraries Common Model Libraries IO Assignment File: *.ioc

Import Design <Timing> Capacitance Table File Timing Constraint File: *.sdc

Import Design <Power> <IPO/CTS> Power Nets Ground Nets Footprints for In-Place Layout Optimization (IPO) and Clock Tree Synthesis (CTS)

Import Design <Misc.> QX Tech File QX Library Directory (Floorplan View)

Global Net Connection Floorplan/Global Net Connections

Specify Floorplan Floorplan/Specify Floorplan CORE Area

Specify Scan Chain encounter %> specifyscanchain ScanChainName - start {ftname instpinname} - start {ftname instpinname} encounter %> scantrace Ex: (result)

Hard Block Placement Move/Resize/Reshape floorplan object

Edit Block Halo Floorplan/Edit Block Halo Reserve space without standard cell placement

Standard Cell Placement Place/Place

Power Planning Add Rings Floorplan/Custom Power Planning/Add Rings

Power Planning Add Block Rings Floorplan/Custom Power Planning/Add Rings

Example for Power Rings

PAD Pins Route/SRoute

Power Planning Add Stripes Floorplan/Custom Power Planning/Add Stripes

Power Planning Add Stripes (Cont ) Ex:

Fix Un-Connected Stripes Route/SRoute

Flow Clock Tree Synthesize Create Clock Tree Spec clock spec Specify Clock Tree Modify Synthesis Clock Tree Display Clock Tree Netlist Synthesis report Clock nets Routing guide

Create/Specify/Synthesis Clock Tree Spec. Clock/Create Clock Tree Spec Clock/Specify Clock Tree Clock/Synthesis Clock Tree (Clock Spec.)

Example for CTS Report

Display Clock Tree Clock/Display/Display Clock Tree Ex:

Power Analysis Power/Edit Pad Location Power/Power Analysis/Statistical Ex: Power/Edit Net Toggle Probability (Power Analysis Report)

Example for Rail Analysis of IR-Drop & EM (IR-Drop) (EM)

Power Route Route/SRoute

IO Filler encounter %> source addiofiller.cmd

Nano Route Route/NanoRoute

Example for Nano Route

Cell Filler Place/Filler/Add Filler Ex:

Save Design Design/Save/Netlist *.v Timing/Calculate Delay *.sdf Design/Save/DEF *.def SELECT Save Scan

Bounding PAD unix %> chmod 755 addbonding.pl unix %> /usr/bin/perl addbonding.pl CHIP.def encounter %> source bondpads.cmd Ex:

Save GDSII Design/Save/GDS *.gds

LAB