CS755 CAD TOOL TUTORIAL

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

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

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

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

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

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

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

Select the technology library: NCSU_TechLib_ami06, then press OK.

The original document link is

VLSI Lab Tutorial 1. Cadence Virtuoso Schematic Composer Introduction

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

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

Virtuoso Schematic Composer

EE 330 Spring 2018 Laboratory 2: Basic Boolean Circuits

Cadence Tutorial C: Simulating DC and Timing Characteristics 1

CADENCE SETUP. ECE4430-Analog IC Design

Cadence Virtuoso Schematic Design and Circuit Simulation Tutorial

S Exercise 1C Testing the Ring Oscillator

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

Cadence Analog Circuit Tutorial

DOWNLOAD PDF CADENCE WAVEFORM CALCULATOR USER GUIDE

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

Introduction to laboratory exercises in Digital IC Design.

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

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

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

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

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

Basic Analog Simulation in Cadence

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

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

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

ECE471/571 Energy Ecient VLSI Design

Microelectronica. Full-Custom Design with Cadence Tutorial

Cadence IC Design Manual

UNIVERSITY OF WATERLOO

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

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

Figure 1: ADE Test Editor

Virtuoso Layout Editor

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

EE 330 Spring Laboratory 2: Basic Boolean Circuits

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

VLSI Lab Tutorial 3. Virtuoso Layout Editing Introduction

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

FACULTY OF ENGINEERING MULTIMEDIA UNIVERSITY LAB SHEET DIGITAL INTEGRATED CIRCUIT

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

Introduction to Design Architect

ECE 331: Electronics Principles I Fall 2014

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

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

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

Simulation with Verilog-XL

ANALOG MICROELECTRONICS ( A)

The Procedure for Laying out the inverter in TSMC s 0.35 micron Technogy using MOSIS SCMOS SCN4M_SUBM design rules.

AMS 0.18 µm PDK Setup and Cadence Tutorial Contributors

EE 330 Laboratory 3 Layout, DRC, and LVS

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

ELEC 301 Lab 2: Cadence Basic

Lab 2: Functional Simulation Using. Affirma Analog Simulator

PSpice Tutorial. Physics 160 Spring 2006

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

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

Guide to the CSE 577 Lab and Cad tools

CMOS Design Lab Manual

Lab 2. Standard Cell layout.

EE 471: Transport Phenomena in Solid State Devices

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

Beginners manual for Cadence

Mentor Graphics VLSI CAD Tutorials

Lab 4 LVS and Post layout Simulation

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

Lab 1: An Introduction to Cadence

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

EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation

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

DC Circuit Simulation

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

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

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

How to Get Started. Figure 3

Creating the inv1 cell WITHOUT power pins

Fall 2008: EE5323 VLSI Design I using Cadence

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

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

How To Plot Transconductance and Even More. By Ruida Yun

Experiment 0: Introduction to Cadence

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

1. Working with PSpice:

ECE 546 HOMEWORK No 10 Due Thursday, April 19, yes last

EEC 116 Fall 2011 Lab #3: Digital Simulation Tutorial

Introduction to CCV and Cadence Virtuoso for Electronic Circuit Simulation

Chapter 4 Determining Cell Size

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

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

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

EE5323/5324 VLSI Design I/II using Cadence

The Design and Simulation of an Inverter

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

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

Transcription:

CS755 CAD TOOL TUTORIAL CREATING SCHEMATIC IN CADENCE Shi-Ting Zhou shi-ting@cs.wisc.edu After you have figured out what you want to design, and drafted some pictures and diagrams, it s time to input schematics into the computer. This section of tutorial will teach you basic steps involved in drawing schematics by using Cadence Virtuoso. DRAWING SCHEMATICS To start cadence you have to first switch your working directory to the one that you have created during environment setting up (refer to the course webpage for instructions on setting up your machine environment). Then type icfb& at the command prompt to invoke cadence. This opens a command interface window (CIW) as shown in Fig. 1. Fig.1 Command Interface Window (CIW) If the environment is set up correctly, the library manager as shown in Fig. 2 should starts automatically after CIW. In the library manager, you should see a list of libraries begin with NCSU, which are the technology libraries. If you don t see them please check if your environment is setup correctly. If the library manager is closed accidentally, you can reopen it by selecting Tools -> Library Manager in CIW.

Fig.2 Library Manager In this tutorial, a schematic of a simple CMOS inverter will be created at first to demonstrate basic schematic editing techniques in cadence. First, we need to create a library for our designs. Select File -> New -> Library in the library manager. Then in the window Create Library as shown in Fig.3, name our new library as cs755 (or you can choose your own favorite name). In Technology Library, we choose option Attach to existing tech library, and choose TSMC 0.18u CMOS018/DEEP (6M, HV FET, sblock) from the drop down list in the right. Leave other things as they are, and press OK.

Fig.3 Create a new library Then, select File -> New -> Cell view to create a schematic for our inverter (make sure that cs755 under library section is highlighted). In the window of Create New File as shown in Fig.4, name the cell name as inv, and choose Composer-Schematic from the drop down list of tool below. If you want, you can also change view name. Here we will leave view name, schematic, as it is. Press OK Fig.4 Create New File Schematic

A window of schematic editor as shown in Fig.5 should open up immediately after you create a schematic in the library manager. Fig.5 Schematic Editor Now we need to place all the instances of our simple inverter on the schematic. Select Add -> Instance, or press key i for shortcut (shortcuts are very useful in actual schematic work, they save lots of time). In the window of Component Browser as shown in Fig.6, choose analoglib from library and select Actives -> nmos4 from the list. Normally, a window of Add Instance will come up the same time as the browser, and change its content upon you select a component from the browser as shown in Fig. 7. In this window, you can define values of the properties of selected component. You can either set the component s properties now or do it later. Here we choose to ignore it for now. Press Hide in the window of Add Instance or just click the window of schematic editor. Move the cursor on the schematic, and you should see a yellow transistor symbol following the cursor. Left click to place the instance in the place you want on the schematic.

Fig.6 Component Browser Fig.7 Add Instance Follow the same procedure to place pmos transistor, Vdd and GND on the schematic. For pmos transistor, select Active -> pmos4. For Vdd, select Sources -> Globals -> vdd. For GND, select Sources -> Globals -> gnd. All instances are in the library analoglib. After you have placed all the instances, the schematic should look like Fig.8.

Fig.8 Schematic with all instances placed To drag a component, you need to select a component at first by left clicking it, and a solid white box should appear and encircle the component. Then you can drag it by pointing at it and holding the left button. To delete a component, select a component and press key del. All the components are on the schematic, and next thing to do is to connect them by the wires. Select Add -> Wire (narrow), or press key w (lower case). A window of Add Wire will appear. Ignore it and connect all the terminals of the components as shown in Fig.9. To terminate a wire, second click at its terminal point.

Fig.9 Schematic with connected instances We have components, and we have them connected, and what we need next is pin. Select Add - > Pin, or press key p. First, we need an input pin for the cell. In the window of Add Pin, type ip for the Pin names, and choose input as the Direction. Then go back to schematic editor, and place the pin on the right spot. Then switch back to the Add Pin window, and give op to the pin names and set direction as output, and place it. The pins for global signals (e.g. vdd & gnd) are given automatically. Hit key ESC to exit add pin mode. Now your picture should look similar to Fig. 10.

Fig.10 Schematic with pin defined Now we need to define transistor s properties. Select nmos by left clicking it, and press key q. A window of Edit Object Properties, as shown in Fig.11, should appear right away, and if this window isn t large enough to display all the stuff in it, you can simply resize by pulling the edge of the window. Assign the values listed in Fig.11 to the CDF parameters in the window, and press OK. Then follow the same procedure and modify pmos s properties, using following values: Model names: tsmc18dp Width: 540n Length: 180n

Fig.11 Properties of object of nmos

The final schematic should be similar to Fig.12 shown below. It s time to save the work. Select Design -> Check and Save, or press key F8. If there are no error and warning in the schematic, nothing should appear and you may hear a short beep from the pc speaker. Otherwise, follow the messages provided by cadence, and correct the errors and warning indicated. Fig.12 Final look of the schematic Drawing schematic isn t entire job. If we want to use this inverter we drew here in other schematic design, we have to symbolize it at first. To symbolize the schematic, select Design -> Create Cellview -> From Cellview in the window of schematic editor. And press OK in the window following up (we don t need to change anything in this window) to create a symbol for our inverter design. A new window of symbol editor, as shown in Fig.13, shows up. If you want to name the component, you can select @partname and press key q. This will open up a window of Edit Object Properties. Change the partname to the name of your favorite. If you want to have a fancy symbol of the inverter, you can explore the drawing tools list in the left. Just make sure that you have all the pins you created in the schematic shown in the symbol, and let all the shapes encircled by a red rectangle. We will leave the symbol as it is. Select Design -> Check and Save, or press key F8 to save the symbol.

Fig.13 Cadence Symbol Editor This time, we will draw a new schematic of cascaded inverters using the symbol we just created, and demonstrate how to create buses in the schematic. Use the procedure introduced above to create a new schematic (cell view) in the library cs755, and name it cascaded_inv. Add two instance of inv from the library cs755 instead of analoglib to the schematic. Besides two inverters, you also need to add two sources vdd & gnd from the library analoglib. This will make sure that two global signals (vdd & gnd) are presented in the schematic. Wire all two inverters as shown in Fig.14. To draw wide wires, you can select Add -> wire (wide), or press key shift + w.

Fig.14 Two inverters connected via buses and global sources Next thing to do is defining wires (narrow wires), which are connected to the buses (wide wires), with names. To do so, select Add -> Wire Name, or press key l. In the dialog window shown as Fig. 15 below, type ip<1:0> for names and select on for Bus Expansion. Place labels on each wire (narrow) in the input side. Use name op<1:0> to name each wire in the output side. Then we need to add pins to this schematic. Press key p, and enter pin names as ip<1:0>. Place this pin on the end of the wide wire in the input side. Add another pin op<1:0> on the output side. The final picture should look like Fig. 16. Notice that a bus is automatically assigned a name if it is connected to a pin. For the buses, which is not connected to pins, wire names must be given to them manually with bus expansion turned off. Don t forget to save the work. Press key F8.

Fig. 15 Add Wire Name Fig. 16 Final schematic of cascaded inverters

SIMULATION We have drawn the schematic, but how do we know if it works? In the cadence environment, one way to validate our schematic design is to simulate it using circuit simulation. We will use circuit simulator Spectre throughout this course. First, we need to start simulation environment. Open the schematic of our single inverter (the one with 2 transistors on it), then select Tools -> Analog Environment. A window of Analog Design Environment will be shown as Fig.17 below. Select Setup -> Simulator/Directory/Host, and in the window shown as Fig. 18, choose spectre from the Simulator list. You can modify Project Directory as you wish. If you change project directory, all the simulation files will be created and stored in the directory you have entered. We will leave project directory as it is here. Press OK. Fig. 17 Analog Design Environment

Fig. 18 Choosing simulator SPECTRE is a spice like circuit simulator, so we need provide it with model file, stimuli and type of analysis. Select Setup -> Model Libraries. In the window shown as Fig. 19, click button Browse, and select model file modelfile18 from the list. Don t forget to press button Add shown in Fig. 19 after you have selected a model file. Fig. 19 Model Library Setup Select Setup -> Stimuli. In the window of Setup Analog Stimuli as shown in Fig. 20, we first define input signal ip by selecting Inputs as Stimulus Type and choose ip from the list. Then check Enabled, choose pulse from Function, and enter values listed in Fig.20 to their corresponding parameters. Press button Change to make the modification effective. Next select Global Sources as Stimulus Type, select vdd! / gnd! from the list, check Enabled, leave Function as dc, and set DC voltage as 1.8. Don t forget to press Change to make changes effective. Press OK to close stimuli window.

Fig. 20 Stimuli setup of inputs

Then, select Analyses -> Choose from the analog design environment window. Select tran from Analysis in the window as shown in Fig. 21, and set Stop Time as 100n. Press OK. Fig. 21 Choosing Analyses To plot signal wave form after simulation, we need to select signals we want to plot from the schematic. In the window of analog design environment, select Outputs -> To Be Plotted -> Select On Schematic. As its name suggested, we need to go back to the schematic and click on the wires of signals we interested. Here we select wires of signals of ip and op. If a wire is selected, it should change its color. Press key ESC to quit signal selection mode. Go back to analog design environment, and the signals of interested should be listed in the section of Outputs as shown in Fig. 22.

Fig. 22 Analog Design Environment is ready to run simulation Now it s ready to run the simulation. Select Simulation -> Netlist and Run. You may see a welcome message of Spectre. Press OK to continue and you can check Do not show this text again if you think this message is bothering. If nothing goes run, a window with text messages should pop up in a few seconds showing the status of simulation. Depend on the complexity of the circuit and amount of time to simulate, the whole simulation process may take up time from a second to many days! If the simulation is completed successfully, a window with desired signal wave forms will open up.

Fig. 23 Wave forms output To test the speed of the inverter we just designed, we can calculate its propagation delay. In the wave form window, select Tools -> Calculator. In the window of Calculator, click on delay to calculate propagation delay between two signals. Select wave in Selection Choices, then click edit box of Signal1, and select wave form of ip in wave form window by clicking it. Next, click edit box of Signal2, and select wave form of op in wave form window. Set Threshold Value 1 to 0.9 (V DD /2) Set Edge Number 1 to 2 Set Edge Type 1 to rising Press >>> to see more properties Set Periodicity 1 to 1 Set Threshold Value 2 to 0.9 Set Edge Number 2 to 2 Set Edge Type 2 to falling Set Periodicity 2 to 1 Press OK Press Eval

Fig. 24 Calculator Then the measured propagation delay is displayed in the calculator as indicated in Fig. 25. The above setup measures a high-to-low 50-50 propagation delay. To perform custom measurement, you can modify the properties accordingly.

Fig. 25 Measured propagation delay Simulating larger circuits doesn t just cost significant computation time; it also may require lots of human work to setup the simulation (setting up stimuli for many input signals, etc.). Although we can t reduce computation time for various reasons, we definitely can reduce human time involved in the whole simulation process. Here we will go through some basic techniques to increase efficiency. The most straight forward way to save time is to save all the stimuli values have entered previously for next time reusing, if you have a larger circuit with a lot of input pins. Select Session -> Save State in the window of analogy design environment as shown in Fig.26. Enter a name to your favorite as the name of the state, and press OK.

Fig. 26 Saving State To load a state saved previously, correct circuit simulator has to be selected in Setup -> Simulator in the analog design environment at first. Then select Session -> Load State in the analog design environment and choose a state from the list as you want.