Cadence Tutorial D: Using Design Variables and Parametric Analysis Document Contents Introduction Using Design Variables Apply Apply

Similar documents
Cadence Tutorial C: Simulating DC and Timing Characteristics 1

CS755 CAD TOOL TUTORIAL

Cadence Virtuoso Schematic Design and Circuit Simulation Tutorial

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

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

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

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

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

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

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

Cadence Schematic Tutorial. EEE5320/EEE4306 Fall 2015 University of Florida ECE

Virtuoso Schematic Composer

CADENCE SETUP. ECE4430-Analog IC Design

Tutorial on getting started in Cadence. Advanced Analog Circuits Spring 2015 Instructor: Prof. Harish Krishnaswamy TA: Jahnavi Sharma

Cadence Tutorial: Schematic Entry and Circuit Simulation of a CMOS Inverter

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

Introduction to laboratory exercises in Digital IC Design.

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

Virtuoso Layout Editor

Lab 4 LVS and Post layout Simulation

AMS 0.18 µm PDK Setup and Cadence Tutorial Contributors

ESE570 Spring University of Pennsylvania Department of Electrical and System Engineering Digital Integrated Cicruits AND VLSI Fundamentals

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

VLSI Lab Tutorial 1. Cadence Virtuoso Schematic Composer Introduction

EE4111 Advanced Analog Electronics Design. Spring 2009 Experiment #4 April 6 ~ April 17

Cadence Tutorial. Introduction to Cadence 0.18um, Implementation and Simulation of an inverter. A. Moradi, A. Miled et M. Sawan

Lab 2. Standard Cell layout.

S Exercise 1C Testing the Ring Oscillator

EE 330 Spring 2018 Laboratory 2: Basic Boolean Circuits

DOWNLOAD PDF CADENCE WAVEFORM CALCULATOR USER GUIDE

Laboratory 3. EE 342 (VLSI Circuit Design) - Using Spectre netlist and Calculator for simulation

FACULTY OF ENGINEERING MULTIMEDIA UNIVERSITY LAB SHEET DIGITAL INTEGRATED CIRCUIT

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

Microelectronica. Full-Custom Design with Cadence Tutorial

EE 330 Spring Laboratory 2: Basic Boolean Circuits

Professor Muller Fall 2016 Sameet Ramakrishnan Eric Chang Adapted from prior EE140 and EE141 labs. EE 140/240A Lab 0 Full IC Design Flow

This is a brief tutorial about building a Symbol for a Schematic in Cadence IC design tool environment for hierarchical design of schematics.

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

Cadence IC Design Manual

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

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

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

APPENDIX-A INTRODUCTION TO OrCAD PSPICE

CS/EE 5720/6720 Analog IC Design Tutorial for Schematic Design and Analysis using Spectre

ELEC 301 Lab 2: Cadence Basic

The original document link is

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

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

The following is a procedure for extracting a layout, doing a layout vs. schematic check, and then simulating the extracted layout with Cadence.

Logging in, starting a shell tool, and starting the Cadence Tool Suite

Guide to the CSE 577 Lab and Cad tools

Simulation with Verilog-XL

Cadence Tutorial 6. Verilog-XL Simulation for Dynamic Logic. EE577b Fall 98

EEC 118 Spring 2011 Lab #5 Manchester Carry-Chain Adder

Fall 2008: EE5323 VLSI Design I using Cadence

ECE 683 OSU DIGITAL CELL LIBRARY DOCUMENTATION. Matt Silverman 12/5/2005. Timing Characterization Using Cadence

Figure 1: ADE Test Editor

UNIVERSITY OF WATERLOO

Experiment 0: Introduction to Cadence

VLSI Lab Tutorial 3. Virtuoso Layout Editing Introduction

Select the technology library: NCSU_TechLib_ami06, then press OK.

ANALOG MICROELECTRONICS ( A)

Mentor Graphics VLSI CAD Tutorials

ECE471/571 Energy Ecient VLSI Design

There are three windows that are opened. The screen that you will probably spend the most time in is the SCHEMATIC page.

EE5323/5324 VLSI Design I/II using Cadence

How To Plot Transconductance and Even More. By Ruida Yun

Lab 1: An Introduction to Cadence

Cadence Inverter Transistor Sizing Tutorial Cadence Inverter Ocean Introduction Cadence Inverter Corners Tutorial Cadence Inverter VerilogA Tutorial

EEC 116 Fall 2011 Lab #3: Digital Simulation Tutorial

DRC and LVS checks using Cadence Virtuoso Version 3.0

DRC and LVS checks using Cadence Virtuoso Version 2.0

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

ECE 331: Electronics Principles I Fall 2014

LTSPICE MANUAL. For Teaching Module EE4415 ZHENG HAUN QUN. December 2016

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

Basic Analog Simulation in Cadence

OPUS -- AMS 3.2. Version Manual

EEC 116 Fall 2011 Lab #1 Cadence Schematic Capture and Layout Tutorial

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

TUTORIAL 1. V1.1 Update on Sept 17, 2003 ECE 755. Part 1: Design Architect IC

EE 471: Transport Phenomena in Solid State Devices

Alfred Sargezi & Zain Ali. AMS Group - San Jose State University ams.sjsu.edu

Mixed Signal Design Simulation Manual

Notes for simulating digital circuits with ELDO Input files used by ELDO, Transistor Scaling, Forces, and Plotting rev 2 DA-IC and ELDO Files

ECEN 474 Homework #2 Notes

EE 140/240A - Full IC Design Flow Tutorial

EE 330 Laboratory Experiment Number 11

RC Extraction. of an Inverter Circuit

MENTOR GRAPHICS IC DESIGN MANUAL. Schematic & Simulation. Gun Jun K Praveen Jayakar Thomas Zheng Huan Qun

PSpice Tutorial. Physics 160 Spring 2006

EE 330 Laboratory 3 Layout, DRC, and LVS

Intro to Cadence. Brady Salz. ECE483 Spring 17

Analog Custom Design and Testing Using OCEAN Scripting in Cadence

Analog IC Simulation. Mentor Graphics 2006

How to Start with Cadence ECE721 Project. Instructor: Prof. Steve Bibyk Prepared by: Golsa Ghiaasi Hafezi Spring 2005 Ohio State University

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

Cadence Analog Circuit Tutorial

CMOS Design Lab Manual

Virtuoso Schematic Composer VHDL Interface. VHDL In for Design Framework II:

Transcription:

Cadence Tutorial D: Using Design Variables and Parametric Analysis Created for the MSU VLSI program by Casey Wallace Last Updated by: Patrick O Hara SS15 Document Contents Introduction Using Design Variables Running a Parametric Analysis Passing (Localized) Parameters Notes about Design Variables and Parametric Analysis Introduction Design variables provide a method for specifying circuit parameters just before a simulation. This allows you to make quick changes to parameter values across single or multiple circuit components without having to edit any cell s schematic. Design variables can also be used to enable parametric analysis, which can sweep a design variable across a range of values and displays multiple simulation results on a single plot. Using Design Variables This part of the tutorial will show you how to parameterize the width of the NMOS and PMOS transistors of an inverter by using design variables. These variable values are then set using the Analog Design Environment prior to simulation. 1. Make a copy of the inverter cell schematic you have previously designed, or create a new one. 2. Open the schematic of the inverter. 3. Left click on the NMOS transistor to select it, and view its properties by right clicking on it and selecting Properties. (or you can press q as a shortcut). 4. Delete the text in the width box, and type nw. This specifies that a variable called nw will be used to set the width of the NMOS. When you do this, observe that values for Drain/Source Diffusion Area change from a constant value to a formula that involves the variable nw. Always check to make sure that formula is updated when you change the width to a variable; otherwise, your simulation results will be incorrect. Click OK to apply the change. 5. Repeat this procedure to change the width of the PMOS to pw. 6. Select File Check and save. Verify that there are no errors. 7. Launch the Virtuoso Analog Design Environment.(ADE L) 8. Set up the simulation environment as you normally would for simulating a schematic. This includes specifying a stimulus file and transient run length, enabling the SPICE netlist reader in the environment options, and selecting the outputs to be plotted on the schematic. 9. In ADE L, select Variables Copy from Cellview. The design variables nw and pw should appear in the Design Variables area of the Analog Environment Window. 10. In ADE L, select Variables Edit. Left-click on nw. In the Value (Expr) box, type 1.5u and then apply the value by clicking Apply. Change the value of pw to 3.0u and click Apply. Once the values have been assigned, click OK. See Figures 1 and 2 below. 11. In ADE L, run the simulation by selecting Simulation Netlist and Run. After waiting for the simulation to complete, the results window will pop up. The results should be Cadence Tutorial D: Design Variables and Parametric Analysis 1

identical to those you would see if you sized the PMOS and NMOS widths to 3.0um and 1.5um, respectively. Note: It s possible that your simulation will encounter a fatal error in the input.scs file. If this happens, you have two options. You can access your input.scs by going to Cadence simulation cell name spectre schematic netlist input.scs. The problem occurs because the netlister places the parameters for the nmos (N0) and pmos (P0) across several lines. Removing the return lines to put all the parameters on the same lines will fix the problem. Make the edits, save the file, and re-run the simulation to fix the problem. 12. In ADE L, select Variables Edit. Left-click on pw. In the Value (Expr) box, type 1.5u and then apply and run the simulation by clicking Apply & Run Simulation. A new waveform results window will pop up after a short time. Changing design variables in this way provides a quick way to run different simulations without needing to edit and save the schematic in between. Figure 1: The Editing Design Variables dialog window. Figure 2: Analog Design Environment after initialization. Cadence Tutorial D: Design Variables and Parametric Analysis 2

Running a Parametric Analysis This part of the tutorial will show you how to set up a simple parametric sweep analysis in Cadence. In this example, the width of the PMOS transistor is swept from 1.5um to 3.0um in 11 linear steps, and each waveform is plotted in the same results window. This allows you to observe the effect of increasing the transistor size ratio on the delays of the inverter circuit through a single simulation. 1. Perform any steps 1-8 from the previous section needed to parameterize your inverter size by values nw and pw and to set up the Analog Design Environment for simulation. 2. In ADE L, select Variables Copy from Cellview. The design variables nw and pw should appear in the Design Variables area of the Analog Environment Window. 3. In ADE L, select Variables Edit. Left-click on nw. In the Value (Expr) box, type 1.5u and then apply the value by clicking Apply. Leave the value of pw blank. Once the values have been assigned, click OK. 4. In ADE L, select Tools Parametric Analysis. This should bring up the parametric analysis window. 5. In the box named Add Variable, enter pw. In the From box, enter 1.5u. In the To box, enter 3.0u. In the Total Steps box, enter 11. Verify that the Step Mode selection box is set to Auto. And the Sweep box is selected. 6. Verify that the Parametric Analysis window appears as it does in Figure 3. Once you are certain, begin simulation by selecting Analysis Start. 7. After waiting for the simulation to complete, the results window will pop up. If you have selected the input and output to be plotted, there will be 22 output waveform present - 11 identical inverter input waveforms, and 11 different output waveforms. 8. The 11 input waveforms should be grouped together and the 11 output waveforms should be grouped together. You can hide the waveforms by right clicking on a wave an unselecting the Visible option. Split the output group from the input group. You can zoom to a specific location by using the shift + scroll wheel to view the differences between the waveforms. Figure 4 shows the rising edge of the output. Figure 3: Parametric Analysis dialog window. Cadence Tutorial D: Design Variables and Parametric Analysis 3

Figure 4: Parametric Analysis waveform. Passing (Localized) Parameters Design variables as applied above are useful for setting parameters that are defined globally such as the value of the minimum transistor width, or VDD. However, it is often necessary to have localized parameters that apply only to an instanced cell, and not to all cells in a design. For example, you may want to create a single inverter schematic with parameterized transistor sizes, but you want every instance of the inverter to have a custom size. This part of the tutorial describes how to use the ppar() function in order to pass parameter values from a parent cell to its constituent components. 1. Open the inverter schematic (or create a new one to preserve the functionality of previously-designed circuits) 2. Access the properties for PMOS by selecting it and pressing q. 3. Set the width value to ppar( pw ). This will specify the width of the PMOS as a passed parameter. Click OK to apply changes. This is shown in Figure 5. 4. Set the width of the NMOS to ppar( nw ). Click OK to apply changes. 5. Select File Check and save. Verify that there are no errors. 6. Create a new symbol for the inverter. If you have an existing symbol from a copy, delete it first. In addition, any time you change the number or name of passed parameters in your schematic, recreate the symbol for it. This is an important step; otherwise, you may not be able to use passed parameters properly in later steps. If a window appears and asks you if you want to overwrite base CDF information, click Yes. 7. Begin a new schematic. Place an instance of the modified/new inverter. Select this instance and open its properties by pressing q. At the bottom of the dialog, you should see CDF parameters called pw and nw and a corresponding value box. This is shown in Figure 6. Cadence Tutorial D: Design Variables and Parametric Analysis 4

8. Put any transistor sizes you wish in the value box and press Apply or OK. This will now pass the value to the parameterized inverter schematic. 9. You may complete the schematic in any way you see fit. 10. If you have specified the sizes explicitly for the inverter cell, simulation of the schematic is no different than described in Tutorial A. However, you can also use design variables to specify the values of passed parameters. This will allow you to set their value from ADE, as well as enable the ability to do parametric analysis. In this case, follow the appropriate simulation procedures introduced in this document. Figure 5: Setting the width of a PMOS transistor to a passed parameter value called pw. Cadence Tutorial D: Design Variables and Parametric Analysis 5

Figure 6: Object properties for an instance that uses passed parameters. Notes about Design Variables and Parametric Analysis Spectre allows the use of mathematical notation for specifying values in stimulus files and properties of objects in schematics. For instance, you can specify the width of a transistor as width*2, or width+1.5u from its properties dialog. You can express the properties of an object in a schematic in terms of more than one design variable. For instance, you can specify the width of a transistor as width*size, allowing you to set the size of the transistor through two design variables called width and size. You can mix and match passed parameters and design variables. For instance, you can specify the width of a transistor as [minwidth*ppar( size )], which would allow you to specify the minimum transistor width globally, but adjust the size locally through a passed scale factor. This could be extended to include multiple design variables and passed parameters in a single expression. A limitation of the supplied NCSU transistor models is that you cannot parameterize the length of the transistor. Changing the length to a variable will not update the area formulas, and thus is not reflected through simulation. Avoid using design variables that begin with numbers. Also, if you parameterize the width property of a transistor, make sure that the value does not begin with a number, but rather a character. For instance, it is OK to specify the width as pw*2, but giving it a value of 2*pw will cause a problem. When the value starts with a character, all area and perimeter values are updated upon a change to the width. If the value starts with a number, it Cadence Tutorial D: Design Variables and Parametric Analysis 6

is assumed to be a constant value and therefore the values for the areas and perimeters do not change. This is a flaw in the NCSU implementation. Schematics that use design variables can be used for LVS verification, but cannot be used to cross-check transistor sizes. Schematics that use passed parameters cannot be used for LVS (LVS will fail). The best solution is to find the optimal values for the design variables/passed parameters through simulation of the schematic, and then build a new schematic that implements those values. LVS can then be run to compare that new schematic with the extracted layout. Cadence Tutorial D: Design Variables and Parametric Analysis 7