Experiment 0: Introduction to Cadence

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

Using Cadence Virtuoso, a UNIX based OrCAD PSpice like program, Remotely on a Windows Machine

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

Figure 1: ADE Test Editor

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

Cadence Analog Circuit Tutorial

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

ECE 331: Electronics Principles I Fall 2014

Lab 1: Cadence Custom IC design tools- Setup, Schematic capture and simulation

1. INTRODUCTION. PSpice with OrCAD Capture (release 16.6 edition)

Intro to Cadence. Brady Salz. ECE483 Spring 17

Click on the SwCAD III shortcut created by the software installation.

Simulation examples Chapter overview

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

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

1. Working with PSpice:

EE 330 Spring 2018 Laboratory 2: Basic Boolean Circuits

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

DC Circuit Simulation

Cadence Virtuoso Simulation of a pixel

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

Introduction to CCV and Cadence Virtuoso for Electronic Circuit Simulation

EE 330 Spring 2018 Lab 1: Cadence Custom IC design tools Setup, Schematic capture and simulation

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

EE 330 Fall 2017 Lab 1: Cadence Custom IC design tools - Setup, Schematic capture and simulation

Lab 1: Analysis of DC and AC circuits using PSPICE

PSpice Tutorial. Physics 160 Spring 2006

The original document link is

SOUTHERN POLYTECHNIC S. U.

EE 210 Lab Assignment #2: Intro to PSPICE

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

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

PSpice with Orcad 10

EE 330 Spring Laboratory 2: Basic Boolean Circuits

S Exercise 1C Testing the Ring Oscillator

EE 140/240A - Full IC Design Flow Tutorial

Start ADS and Create an Empty Project

Using PSpice to Simulate Transmission Lines K. A. Connor Summer 2000 Fields and Waves I

Copyright 2008 Linear Technology. All rights reserved. Getting Started

EE 105 Microelectronic Devices & Circuits FALL 2018 C. Nguyen

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

Lesson 2: DC Bias Point Analysis

AMS 0.18 µm PDK Setup and Cadence Tutorial Contributors

CS755 CAD TOOL TUTORIAL

Select the technology library: NCSU_TechLib_ami06, then press OK.

GETTING STARTED WITH ADS

Basic Analog Simulation in Cadence

University of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Science

Cadence Virtuoso Schematic Design and Circuit Simulation Tutorial

Getting started. Starting Capture. To start Capture. This chapter describes how to start OrCAD Capture.

Cadence Tutorial C: Simulating DC and Timing Characteristics 1

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

EECS 211 CAD Tutorial. 1. Introduction

Cadence IC Design Manual

Virtuoso Schematic Composer

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

Experiment 1 Electrical Circuits Simulation using Multisim Electronics Workbench: An Introduction

VLSI Lab Tutorial 1. Cadence Virtuoso Schematic Composer Introduction

Analog IC Simulation. Mentor Graphics 2006

Lab 1: An Introduction to Cadence

CADENCE SETUP. ECE4430-Analog IC Design

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

DRC and LVS checks using Cadence Virtuoso Version 2.0

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

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

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

A Crash Course on Using Agilent Advanced Design System (ADS)

How To Plot Transconductance and Even More. By Ruida Yun

DOWNLOAD PDF CADENCE WAVEFORM CALCULATOR USER GUIDE

Lab 2: Functional Simulation Using. Affirma Analog Simulator

How to Get Started. Figure 3

Getting Started with Orcad Lite, Release 9.2

Introduction to laboratory exercises in Digital IC Design.

Microelectronica. Full-Custom Design with Cadence Tutorial

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

KiCad Example Schematic ( ) Wien Bridge Oscillator

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

Introduction to PSpice

FACULTY OF ENGINEERING MULTIMEDIA UNIVERSITY LAB SHEET DIGITAL INTEGRATED CIRCUIT

SPICE Models: ROHM Voltage Detector ICs

Tutorial 3: Using the Waveform Viewer Introduces the basics of using the waveform viewer. Read Tutorial SIMPLIS Tutorials SIMPLIS provide a range of t

Fundamentos de Electrónica Lab Guide

EXPERIMENT 1 INTRODUCTION TO MEMS Pro v5.1: DESIGNING a PIEZO- RESISTIVE PRESSURE SENSOR

DRC and LVS checks using Cadence Virtuoso Version 3.0

How to use this simulator

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

A gentle introduction to QUCS: simulating a linear circuit

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

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

Virtuoso Layout Editor

Lab 5: Circuit Simulation with PSPICE

Defining & Running Circuit Simulation Analyses

Laboratory Manual 1, MSPS. Introduction to Behavioral-Level Simulation

Setting up an initial ".tcshrc" file

Creating the inv1 cell WITHOUT power pins

Beginners manual for Cadence

NGspice Primer Within CppSim (Version 5) Framework

VLSI Lab Tutorial 3. Virtuoso Layout Editing Introduction

TINA-TI Simulation Software. Application Note

Introduction to NI Multisim & Ultiboard

Transcription:

UNIVERSITY OF CALIFORNIA AT BERKELEY College of Engineering Department of Electrical Engineering and Computer Sciences EE105 Lab Experiments Experiment 0: Introduction to Cadence Contents 1. Introduction... 1 2. Pre-Lab... 2 2.1. Remote Server Login Using X2GO... 2 3. Cadence Tutorial... 3 3.1. Cadence Setup and Launch... 3 3.2. Cadence overview... 4 3.3. DC simulation - resistive divider... 10 3.4. AC and transient simulation - RC low-pass... 14 1. Introduction This lab 1 is a tutorial on Cadence Virtuoso, which is the simulation tool we will use for the rest of the semester. The official program name is Virtuoso, but the common name among users is just Cadence. We will the name Cadence in this class. The deadline for submitting the lab worksheet is before starting the next lab. You can work on the Cadence tutorial part on your own before or after the lab, but it is a good idea to start before the lab and ask the GSI during the lab if you have questions. 1 Lab instruction has been written by Kosta Trotskovsky and Sameet Ramakrishnan.

2. Pre-Lab To get the instructional account for the class, go to: inst.eecs.berkeley.edu/webacct, and login using your CalNet ID. In this class, you may want to access the servers from home in order to use Cadence. We recommend using X2Go instead of using ssh, as Cadence can be very graphics intensive and slow on ssh. Download the appropriate (for your operating system) installation of the X2go client from their website (http://wiki.x2go.org/doku.php). For this lab, feel free to work either on the lab machines in front of you, or from your own laptops. 2.1. Remote Server Login Using X2GO 1) Open X2GO 2) Create a new connection. Fill out the session preferences as below, replacing Login: with your username, and press OK. In this class, you remotely log in to the hpse-9 through hpse-15 machines: hpse-9.eecs.berkeley.edu, hpse-10.eecs.berkeley.edu,..., hpse-15.eecs.berkeley.edu 3) To connect to the session you just configured, press the seal icon on the right. When the authentication window opens, provide your instructional account login info.

4) When the open desktop window opens, either create a new desktop (and select GNOME option or your favorite UNIX desktop) or log back into an existing session. The nice thing about X2Go is that it lets you suspend a session (by just closing the window and selecting the suspend option in the dialog) and then pick up your work later. 3. Cadence Tutorial 3.1. Cadence Setup and Launch To set up Cadence on your instructional account, navigate to your home directory (you can do this by typing cd ~). Run only once: After connecting open a terminal and run: ~ee105/sp2017/cadence-setup.sh This script will create a folder named cadence_files in your home directory, where your designs will be stored. The script will add the Cadence libraries that you'll need in this class to the program setup. If you'd like to create a folder with a different name, run: ~ee105/sp2017/cadence-setup.sh folder_name To run the program: Open a new terminal, navigate to the folder you just made, and run: source cadence_setup virtuoso &

3.2. Cadence overview After opening Cadence, you'll see the main window: Go to Tools->Library Manager, it should open the following window: The hierarchy in Cadence is: Library (left side) -> Cell (middle) -> View (right). A library contains multiple cells, and each cell contains multiple views. The libraries that we will use in this class are: analoglib - the basic analog components (resistors, capacitors, voltage and current sources, etc) ee105_components - the actual components that we will use in the lab (transistors, diodes, opamps,...). We won't use them in this tutorial. cadence_files - your designs The views that we will use for each cell are: schematic - the actual circuit, the components and interconnections spectre - the simulation setup symbol - the appearance of the cell in another schematic view

Creating a new Library To create a new library, to do this, go to the library manager and click File New Library. A new window will pop up. Type lab0 in the name field and press OK. At this point, Cadence will prompt you for something called a Technology File. The technology file is collection of information and libraries that define the layers and devices available for a given process technology. For this class, we will not use any technology file. Therefore, go ahead and choose Do not need process information. Creating a new schematic To create a new schematic design: Click on the cadence_files library in the Library Manager

File -> New -> Cell View A new window pops up, but it may be at the background: This is a general tip in Cadence - if you expect a window to open and it's not there, check the taskbar. We will give it a name "tutorial", the type should be "schematic". Note that you can make cells in any available library by choosing proper one from Library (if you have permission to edit). Click OK. The following window will open:

Click "Always" to avoid getting this message later. The schematic window will open: This is the main window where we'll draw our circuit. Generally we won't use the menus, but keyboard shortcuts. Adding components To add an element, click "i". The following window will appear: You can type the library, cell and view names, or click Browse: Select "analoglib" library, "res" cell and "symbol" view. Another window will open: Here you specify the parameters of the component. A resistor has a single parameter (resistance), change it to 20kΩ. In Cadence you don't have to write the units (Ohms, volts, etc). For the resistance, type 20k and hit Tab. The Ohms will be automatically completed. The useful prefixes in Cadence are single letters: p - pico, n - nano, u - micro, m - milli, k - kilo, M - mega, G - giga

Click on the schematic window to place the resistor. The useful components in the analoglib library are: res Resistor cap gnd vdc/idc vsin/isin vpulse/ipulse Capacitor Ground DC voltage/current source Sinusoidal voltage/current source Square-wave voltage/current source iprobe Current meter Now add another resistor of 10kΩ. Click "Rotate" to make it horizontal and place it on the schematic: Your schematic should look like this:

Adding wires and labels To connect the resistors with a wire, click "w". Click on the first terminal to connect, and then on the second terminal. Click Esc. Now you have the following schematic: To create a wire label, click "l" (lowercase L). Type out and click on the wire. Click Esc. Now you have the following schematic: Labels can be used to connect nodes. If you want to connect two nodes in your circuit, you can give them the same label, without connecting them with a wire. It is usually useful for large circuits, to reduce the number of wires. Labels are also useful for output expressions, as we will see later.

Other useful shortcuts Components - click on the desired component, then click: o c - copy component o m - move component (preserves the wire connections) o Shift+M - move component (without the wire connections) o q - edit component properties (same window as the add component window) f - fits the circuit to fit the screen mouse scroll - zoom in and out z - selects area to zoom Shift+X - check and save. Check that all nodes are connected properly. If you have errors, you have to fix them to simulate the circuit. You can run simulations if you have warnings. Pay attention to the warnings, usually they indicate a problem in your circuit, like unconnected nodes. 3.3. DC simulation - resistive divider Add a DC voltage source and grounds to create the resistive divider circuit shown in Figure 1. 10kΩ Vout 3V 20kΩ Figure 1: Resistor circuit to build You should get the following schematic: Click Shift+X to check and save your schematic. To open the simulation window, click Launch -> ADE L. You will see the following window: Click "Always" to avoid getting this message later.

The ADE window will open: Variables that we use in our design (we don't have them yet) The simulation type to perform (DC, AC,...) Simulate The simulation results to print/plot Change to "New Win" The Analysis box - specifying the simulation type In the Analysis box: right click -> Edit. Here we select the different simulation types for our schematic. The useful simulations in our class are: dc - DC simulation. Only DC sources are used, and the results are DC voltages and DC currents. This is in general a non-linear analysis (unless we only have linear components, like in our case). ac - AC simulation. This is a linear phasor analysis of the circuit. The simulation result is a phasor (magnitude and phase) of the voltages and the currents in our circuit. We can use it to calculate the transfer function from the input to the desired output. Here we define the frequency range to perform the simulation. tran - transient simulation. This is a non-linear time-domain simulation. The simulation results is a time-domain waveform of the voltages and the currents in our circuit. In this part of the tutorial we will perform a DC simulation. Select dc, and check "Save DC operating point": Click OK.

The Outputs box - specifying the simulation outputs After performing the simulation we should specify the results that we are interested in. In the Outputs box: right click -> Edit. In the Name section type: out_dc In the Expression section, type: VDC("/out"): Click OK. We created an output expression named "out_dc" for the DC voltage at the node "out". A very useful tool in Cadence for the output expressions syntax is the calculator. In the main ADE window: Tools -> Calculator. At the bottom you have a list of the various functions that can be performed on the simulation results. If you are not sure about the command syntax, the Calculator is a very useful place to start. The syntax for the output expressions is: VDC/IDC VF/IF VT/IT DC voltage/current (dc analysis) AC voltage/current (ac analysis) Transient voltage/current (tran analysis) For voltage outputs, the syntax is VDC("/node_name"). For current output, the syntax is IDC("/component_name/terminal name"). In our circuit to see the terminal name of the 20k resistor connected to "out", click on it (the red square) and press q. You will see the following window:

So the component name is R0 and the terminal name is PLUS. For the output DC current through this node add the following output expression: IDC("/R0/PLUS"): Another option is to click on idc in the Calculator, and then click on the resistor terminal. To save your simulation setup: Session -> Save State. At the top change to "Cellview": Click OK. It will a view named "spectre_state1" in the "tutorial" cell. Click the "play" button to perform the simulation. You should see the simulated DC voltage and current at the Value column. Add the screenshot of the ADE window with the simulated result to your lab worksheet.

3.4. AC and transient simulation - RC low-pass We will build the RC low-pass circuit shown in Figure 2. Vs 10kΩ Vout 10nF Figure 2: RC circuit to build Note that the output node should have a different name than "out", otherwise it will be shorted to the resistive divider output. The source should be "vsin": AC magnitude is used for AC simulation, Amplitude and Frequency are used in transient simulation. Here we used variables Vtran and freq_tran rather than fixed values. For the capacitance value use a variable named C. You should have the following schematic:

In the ADE window, we can add the variables used in the schematic by right-click at the Design Variables area, and selecting "Copy from Cellview": Set C=10nF, transient amplitude of 0.5V (1Vptp) and frequency of 1KHz: AC simulation Add an AC (ac in ADE) simulation. We will sweep the frequency in a logarithmic scale between 1Hz and 1MHz:

To add the transfer function output: A window with the plots will open: The transfer function is a complex number. Cadence is always plotting the magnitude by default. We will switch to bode-style (log-log) plot, by right-click on the y axis and selecting "Log Scale":

We can add a marker by pressing "m", and double-clicking the marker to select the frequency or the desired y value (or moving the marker with the mouse). For 1KHz: To add a marker value to the output expressions we can use value() function. The value() function is an x-axis marker. It returns the function value for a specific x-axis (frequency in this case) value. The syntax: value(output_expression "x-axis variable" x-axis_value): So far we plotted the magnitude of the transfer function. Add another output expression for the phase of the transfer function, using the phase() function. Parametric sweep Now we will sweep the capacitance value and look at the simulation result for each value. In the ADE window Tools -> Parametric Analysis. Fill the following sections: Variable: C, From: 5n, To: 20n, Step Mode: Linear Steps, Step Size: 5n: To run the parametric sweep, click on the "play" button in the parametric sweep window. Attach the following parametric sweep plots to your lab worksheet: The transfer function magnitude vs frequency (in log-log scale) The transfer function magnitude value at 1KHz The transfer function phase vs frequency The transfer function phase value at 1KHz.

Transient simulation Add a transient (tran in ADE) simulation: The stop time is 3msec (3 time periods), and the accuracy is "conservative" (usually slow for large circuits, but OK for small circuits like ours). Add an output expression for the out_rc node, and attach the plot to your lab worksheet.