Place & Route: Using Silicon Ensemble

Similar documents
CS 4120 Hardware Description Languages and Synthesis Homework 6: Introduction to Cadence Silicon Ensemble

EE 330 Laboratory Experiment Number 11

EE 330 Laboratory Experiment Number 11 Design, Simulation and Layout of Digital Circuits using Hardware Description Languages

EE 330 Laboratory Experiment Number 11 Design and Simulation of Digital Circuits using Hardware Description Languages

Tutorial 2 Automatic Placement & Routing

Creating LEF File. Abstract Generation: Creating LEF Tutorial File Release Date: 01/13/2004. Export GDS:

ECE425: Introduction to VLSI System Design Machine Problem 3 Due: 11:59pm Friday, Dec. 15 th 2017

Tutorial for Cadence SOC Encounter Place & Route

EECS 627, Lab Assignment 3

Laboratory 6. - Using Encounter for Automatic Place and Route. By Mulong Li, 2013

VLSI Lab Tutorial 3. Virtuoso Layout Editing Introduction

Tutorial for Encounter

Another view of the standard cells called the abstract view needs to generated

Physical Placement with Cadence SoCEncounter 7.1

EE 330 Laboratory 3 Layout, DRC, and LVS Fall 2015

VLSI Lab Tutorial 1. Cadence Virtuoso Schematic Composer Introduction

Virtuoso Layout Editor

Tutorial I: Cadence Innovus ECE6133: Physical Design Automation of VLSI Systems Georgia Institute of Technology Prof. Sung Kyu Lim

Abstract Editor (Last updated: Oct. 23, 2008)

EE115C Digital Electronic Circuits. Tutorial 4: Schematic-driven Layout (Virtuoso XL)

Verifying the Multiplexer Layout

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #1, Full Custom VLSI (inverter layout)

UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Lab #2: Layout and Simulation

Synopsys Custom Designer Tutorial for a chip integra7on using the University of Utah Standard Cell Libraries In ON Semiconductor 0.

EE434 ASIC & Digital Systems. From Layout to SPICE Simulation (Virtuoso, Calibre, HSpice) Spring 2017 Dae Hyun Kim

Synthesis and APR Tools Tutorial

EECS 627, Lab Assignment 2

Design rule illustrations for the AMI C5N process can be found at:

FACULTY OF ENGINEERING MULTIMEDIA UNIVERSITY LAB SHEET DIGITAL INTEGRATED CIRCUIT

Cadence Tutorial 2: Layout, DRC/LVS and Circuit Simulation with Extracted Parasitics

Virtuoso Schematic Composer

ECE471/571 Energy Efficient VLSI Design Project 2 Cadence Setup and Creation of an Inverter Due Date 11:30 am on Friday, February 2 nd, 2018

TUTORIAL II ECE 555 / 755 Updated on September 11 th 2006 CADENCE LAYOUT AND PARASITIC EXTRACTION

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS)

DRC and LVS checks using Cadence Virtuoso Version 3.0

EE 330 Laboratory 3 Layout, DRC, and LVS

Cadence On-Line Document

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #4, Standard cell design flow (from verilog to layout, 8-bit accumulator)

Select the technology library: NCSU_TechLib_ami06, then press OK.

Using the ispxpga Floorplanner

Amplifier Simulation Tutorial. Design Kit: Cadence 0.18μm CMOS PDK (gpdk180) (Cadence Version 6.1.5)

Tutorial II: Cadence Virtuoso ECE6133: Physical Design Automation of VLSI Systems Georgia Institute of Technology Prof.

CMOS VLSI Design Lab 4: Full Chip Assembly

Microelectronica. Full-Custom Design with Cadence Tutorial

Creating Verilog Tutorial Netlist Release Date: 01/13/2005(Version 2)

Pipelined MIPS CPU Synthesis and On-Die Representation ECE472 Joseph Crop Stewart Myers

Lab 2. Standard Cell layout.

Cadence Tutorial A: Schematic Entry and Functional Simulation Created for the MSU VLSI program by Andrew Mason and the AMSaC lab group.

Instruction on padframe

Outline. SoC Encounter Flow. Typical Backend Design Flow. Digital IC-Project and Verification. Place and Route. Backend ASIC Design flow

ASIC Physical Design Top-Level Chip Layout

Revision Notes: July2004 Generate tutorial for single transistor analysis. Based on existing schematic entry tutorial developed for ECE410

Cell-Based IC Physical Design & Verification SOC Encounter. Advisor : 李昆忠 Presenter : 蕭智元

Guide to the CSE 577 Lab and Cad tools

MAGIC TUTORIAL. Getting Started: Background Info: RLW 10/15/98 3:12 PM

EECE 285 VLSI Design. Cadence Tutorial EECE 285 VLSI. By: Kevin Dick Co-author: Jeff Kauppila Co-author: Dr. Arthur Witulski

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #3, Standard cell design flow (from schematic to layout, 8-bit accumulator)

Digital IC- Project 1. Place and Route. Oskar Andersson. Oskar Andersson, EIT, LTH, Digital IC project and Verifica=on

Chapter 4 Determining Cell Size

Lesson 14: Property Editor

ECE 425: Introduction to VLSI System Design Machine Problem 0 Due: Friday 11:59pm, Sep. 15th, 2017

Cadence Virtuoso Schematic Design and Circuit Simulation Tutorial

0.35um design verifications

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #2, Schematic Capture, DC Analysis, Transient Analysis (Inverter, NAND2)

More information can be found in the Cadence manuals Virtuoso Layout Editor User Guide and Cadence Hierarchy Editor User Guide.

EE115C Digital Electronic Circuits. Tutorial 2: Hierarchical Schematic and Simulation

EE 330 Spring 2018 Laboratory 2: Basic Boolean Circuits

Synopsys ASIC Tutorial

CMOS VLSI Design Lab 3: Controller Design and Verification

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000

Cadence SOC Encounter Tutorial for a logic block using the University Of Utah Standard cell Libraries In ON Semiconductor 0.

The IIT standard cell library Version 2.1

Composite Layout CS/EE N-type from the top. N-type Transistor. Diffusion Mask. Polysilicon Mask

Using makemem template

Start Active-HDL. Create a new workspace TUTORIAL #1 CREATING AND SIMULATING SIMPLE SCHEMATICS

CMOS VLSI Design Lab 3: Controller Design and Verification

Design Flow for a ASIC design in the rad hard CERN-IBM library

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015

Tutorial for Verilog Synthesis Lab (Part 2)

HOMEWORK 9 CMPEN 411 Due: 4/12/ :30pm

ANALOG MICROELECTRONICS ( A)

An overview of standard cell based digital VLSI design

CMOS VLSI Design Lab 3: Controller Design and Verification

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial

A Tutorial on Using the Cadence Virtuoso Editor to create a CMOS Inverter with CMOSIS5 Technology

The Design of the KiloCore Chip

Lab 1: FPGA Physical Layout

UNIVERSITY OF WATERLOO

eproduct Designer A Simple Design and Simulation Tutorial

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #3, Standard cell design flow (from schematic to layout, 8-bit accumulator)

EE 330 Spring Laboratory 2: Basic Boolean Circuits

CS755 CAD TOOL TUTORIAL

Lab 4 LVS and Post layout Simulation

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry

Lesson 12: Preparing for Post Processing

- create new schematic to the new project, PCB design begins with a schematic diagram, which present how components are connected

An Overview of Standard Cell Based Digital VLSI Design

Prepared by Dr. Ulkuhan Guler GT-Bionics Lab Georgia Institute of Technology

ELEC 301 Lab 2: Cadence Basic

ELEC451 Integrated Circuit Engineering Using Cadence's Virtuoso Layout Editing Tool

Transcription:

Place & Route: Using Silicon Ensemble Introduction In a typical digital design flow, hardware description language is used to model a design and verify desired behavior. Once the desired functionality is verified, the HDL program is then taken to an optimization tool such as Synopsys. The output of Synopsys is a gate level description of the desired circuit. The next step is to take this gate-level description to a place-and-route tool that can convert it to a layout level representation. In this tutorial, you will be introduced to a place-and-route tool called Silicon Ensemble. This tool is capable of importing Verilog files as input. Regardless of the choice of your HDL source file for Synopsys, you can generate the output from Synopsys in Verilog format using the Save As command. For the purposes of this tutorial, it will be assumed that you have a Verilog file ready to be placed and routed. 1. Silicon Ensemble Setup 1.1 The first thing you must do is make sure that SE appears in the.software file in your home directory. The.software file can be edited using your text editor of choice or by using the following commands: cd ~ pico.software If you had to add SE to your.software file, you must logout and re-login. 1.2 Next, create a directory that you can use for this tutorial: mkdir directory_name 1.3 The files needed to use the isucells standard cell library in Silicon Ensemble have been placed in a.tar file. Download this file to your newly created directory. While in the new directory, extract the files using the following command: tar xvf se.tar This will create four new directories. Change to the SE directory. This directory contains files needed by Silicon Ensemble and is the directory from which you will run Silicon Ensemble. 3. Starting and Importing files into Silicon Ensemble 3.1 To start Silicon Ensemble you need to type the following in your SE directory. sedsm -m=60 & 3.2 Once Silicon Ensemble is up, acquaint yourself with the different menus at the top, the quick buttons on the lower-left, the select/view options in the upper-left, and the application output at the bottom of the window. The application output will give you feedback about what is going on similar to the CIW in Cadence.

Place & Route Page 2 of 2 3.3 The first step is getting the reference library into Silicon Ensemble. To do this choose File Import LEF The Import LEF window will pop up. Select the LEF of your Standard Cells. If you are using ISU standard cells then LEF file that you should use is isucells.lef. Click on the case sensitive and clear existing design data options at the bottom of the menu, and then click OK. There should be a bunch of output, but after it is complete there should be no errors or warnings. If there are, tell your TA. You now have the library information imported into Silicon Ensemble. 3.4 The next step is to get the design information into Silicon Ensemble. To do this, choose File Import Verilog The Import Verilog window will pop up. Click on the Browse button. Click on your verilog file then click add. Similarly, Now you have to import stubs.v file, which contains a module declaration of all standard cells. Click on stubs.v and click add. Click on the OK button. Type top module of your design for the verilog top module name. Click OK. Now every file that is needed for Silicon Ensemble to do Place and Route are given. 4. Initializing Floorplan / Placing IOs 4.1 After you are comfortable with the navigation arrows, initialize the floorplan by choosing Floorplan Initialize Floorplan An Initialize Floorplan window will pop up.

Cpr E 465 Laboratory: Tutorial Lab 7 Place & Route Page 3 of 3 There are many fields in the window. To find the purposes of the various fields in the form, click on the Help button in the lower-right corner of the window. You will probably want to know the purpose of each field. When you use the tool on the final project, you will need to be able to set the variables correctly. Set the form so that the fields are as follows: Left/Right : 30 microns Top/Bottom : 30 microns Also, make sure that the Aspect Ratio option is selected for the Die Size Constraint and that the Aspect Ratio is 1.0. The Flip Every Other Row and Abut Rows options should also be on. Now click the Calculate button. The bottom of the window will now contain some estimated layout statistics. Make sure that the expected core row utilization is less than 100%, by changing the Aspect Ratio in steps of +0.01 or 0.01. Click Calculate to calculate core row utilization again. Click OK. 4.3 The standard cell rows should now be visible as red lines. You may need to go to View Redraw to see this.

Place & Route Page 4 of 4 4.4 We now need to add rows, if there are any double-height cells( like D-Flip Flop) present in our design. In the main window, choose Edit Add Row In the Add Row window, select dbl_core as the Site Type, and check the Flip and the Abut Every Other Row boxes. Click on the Area button. Then, in the main window, click and drag an area that approximately covers all of the original row area. After you do this, the X-Y values should be filled in automatically. Click on the OK button. 4.5 Now that the floorplan is initialized, the I/O pins need to be placed. This is done by choosing Place IOs A Place IO window will open. For now, just choose the random option for the placement of the pins. Now you will see pins placed in your design. 5. Planning Power / Placing Cells / Compacting Floorplan 5.1 Now, the power routing scheme needs to be developed. To plan the power lines choose Route Plan Power A Plan Power toolbox will open. There should also be a yellow box enclosing the three rows in the middle. If you cannot see this, click the redraw icon. This is the path that the tool plans to route the power lines. You can change this by deleting/adding power paths. 5.2 To make the power paths click on the Add Rings button. A PP Add Rings window will open. In the window fill in the form so that the following fields are set to the values given below:

Cpr E 465 Laboratory: Tutorial Lab 7 Place & Route Page 5 of 5 Horizontal Layer: Vertical Layer: Core Ring Width (Horizontal): 4.8 Block Ring Width (Horizontal): 4.8 Core Ring Width (Vertical): 4.8 Metal1 Metal2 Block Ring Width (Vertical): 4.8 Core Ring Spacing: Center (spacing will be grayed out) You should understand what each of the fields represents, because you will be using the tool for the final project. Again click on Help to learn about the commands and the fields/options associated with them. After, the values are entered click on OK. You should see a couple of blue and red rings encircle the rows. You are done planning the power, so click on Close in the Plan Power toolbox. After this step you will see Power Rings in two metal layers in Silicon Ensemble Window 5.3 After the power routing is planned, the cells need to be placed inside the rows. Choose Place Cells A Place Cells window will open. Click on Help to learn about the options that are available for the placement of cells. After you are done reading about the different options, close the Help window and click OK in the Place Cells window. If another box coming up that says use default template, click on OK in the window. You should be able to see the cells that are placed in the rows after this is done. If you are not able to see them make sure that they are visible in your Object Selection palette in the upper-left corner. In fact, you should probably make sure everything is visible. This will let you see everything that is happening in your design. If placement fails, it is most likely because Silicon Ensemble cannot place the cells in the given area without overlaps. If this is the case, the information window at the bottom of the Silicon Ensemble window will give the following message: Impossible to place without overlaps! To solve this problem, you must start over by re-initializing the floorplan with relaxed constraints. The best constraint to change is the row utilization factor. By lowering this factor, you can increase the likelihood of placement without overlaps. 5.4 Next, we must add filler cells to the design. The purpose of filler cells is to maintain continuity in the rows by adding vdd! and gnd! lines and an n-well. The filler cells also contain substrate connections to improve substrate biasing. Choose Place Filler Cells Add Cells Type fill in the Model and in the Prefix fields. In the first Special Pin and Special Net fields, type vdd! Likewise, in the second Special Pin and Special Net fields, type gnd! Click OK. Make sure that only North and Flip South boxes are checked, under Placement field. Design after Placing Pins, Power Rings, Cells and Filler Cells looks as shown in figure.

Place & Route Page 6 of 6 6. Routing the Design 6.1 To route Power Rails, choose Route Route Power Follow Pins In the Sroute Follow Pins window, make sure vdd! and gnd! Are in the Nets field. Change the width field to 1.80. Click on OK. Now you can connect the vdd! and gnd! pins to the rings. 6.2 To route the cells together so that they are logically the same as the verilog description, choose Route Wroute. Routing Mode window will open select Global and Final Route, then click ok. Now you will see in your Silicon Ensemble window, the routed design, you may need to zoom it to actually observe the routing. Design after routing looks as shown below,

Cpr E 465 Laboratory: Tutorial Lab 7 Place & Route Page 7 of 7 6.3 Its time to check whether your design has been routed properly or not. To check the connectivity in your routed design with that of given verilog specification, choose Verify Connectivity, a window will pop up, click OK. There should not be any errors. 7. Transferring the Design to Cadence 7.1 Now that the layout is complete, it is time to transfer it into Cadence. Go to File Export GDS II In the Export GDSII window, specify your desired output file name in the GDS-II File field. Also, make sure that gds2.map appears in the Map File field. Click OK. 7.2 Before you import your design into cadence, its always better to create the library into which you want to import your design. Even if you don t create library, when you import your design the library will be created automatically, but it will give some problems. Create library and attach AMI06 library to it. 7.3 From the CIW window, choose File Import Stream Type path of your GDS output file in the Input File field. Also, type topcell name in the Top Cell Name field. In the Library Name field, type the library name to which you are transferring the layout. Next, click the Options button. In the Stream In Options form, select the Retain Reference Library (No Merge) option, then click OK. Click OK in the stream in form to stream in the GDS file.

Place & Route Page 8 of 8 7.4 After a while, a message saying whether or not the stream-in was successful will appear (Ignore the warnings, if there is only one). If the stream-in was unsuccessful, see the PIPO.LOG file for more information. The layout should now be in the correct library in Cadence. 7.5 A few changes need to be made to the layout. First, open the layout to make sure all of the cells and routing are present. You may notice that there are no pins, just labels where the pins should be. To fix this, choose Create Pins From Labels Change the Pin Layer to respective pin layer (for example if it says metal1 then Pin Layer should be metal1 pin layer (metal1.pn) ). Also, change both the width and length fields to 0.9. Click OK. Now, we need to change all of the labels from the metal 1 layer to the text layer. This is necessary to avoid DRC errors about Improperly formed shapes. The labels layer can be changed by clicking on each (so it is highlighted), choosing Edit Properties, and changing the layer to text.dg. Finally, we need to change the directions of the pins. When creating pins from labels, Cadence makes all of the pins inputoutput type. The pin directions can be changed by viewing the pin properties, clicking on Connectivity and changing I/O Type to the correct type for the pin. 8. Conclusion This tutorial gave a brief overview of Silicon Ensemble. Many features of this powerful tool were not employed in this tutorial. You may want to explore some of these other features and options. For example, Silicon Ensemble is able to place and route according to timing specifications. You may want to explore some of these features, since they may significantly improve the final layout of your design. Note: All figures are copied from following document, www-mtl.mit.edu/research/icsystems/research/ pres/cheewe/cheewe_setutorial.pdf