Cadence tools Brandon Rumberg.

Slides:



Advertisements
Similar presentations
How to Build Macro-Models in Tina SPICE
Advertisements

Getting Started with Cadence Compiled by Ryan Johnson April 24, 2002  Open Orcad Capture under Engineering Software  Under FILE, choose NEW, PROJECT.
Tutorial 8: Developing an Excel Application
LNA Simulation Tutorial
Tutorial 12: Enhancing Excel with Visual Basic for Applications
© 2010 Delmar, Cengage Learning Chapter 9: Using ActionScript.
Introduction to SPICE. History  SPICE stands for Simulation Program with Integrated Circuit Emphasis  In 1960 ECAP was developed by a team of IBM programmers.
SP2006 CSE598A/EE597G CAD Tool Tutorial Spring 2006 CSE598A / EE597G Analog-Digital Mixed-Signal CMOS Chip Design.
Chapter 8 and 9 Review: Logical Functions and Control Structures Introduction to MATLAB 7 Engineering 161.
Lecture 5 Review Programming Program Structures Comparison Repetition: looping or iteration Conditional execution: branching Bubble Sort.
EGR 106 – Week 2 – Arrays Definition, size, and terminology Construction methods Addressing and sub-arrays Some useful functions for arrays Character arrays.
EGR 106 – Week 2 – Arrays & Scripts Brief review of last week Arrays: – Concept – Construction – Addressing Scripts and the editor Audio arrays Textbook.
Simulation of Created Design Documentation on the simulation process of a basic injector-separation channel model design.
Geography 465 Overview Geoprocessing in ArcGIS. MODELING Geoprocessing as modeling.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Chapter 9 Introduction to ActionScript 3.0. Chapter 9 Lessons 1.Understand ActionScript Work with instances of movie clip symbols 3.Use code snippets.
Programming For Nuclear Engineers Lecture 12 MATLAB (3) 1.
Chapter Seven Advanced Shell Programming. 2 Lesson A Developing a Fully Featured Program.
Course contents 1.Labview basics – virtual instruments, data flow, palettes 2.Structures – for, while, case,... – editing techniques 3.Controls&Indicators.
Database Design with VisualDCT Nicholas Di Monte.
Simulink ® Interface Course 13 Active-HDL Interfaces.
Microsoft Excel 2007 © Wiley Publishing All Rights Reserved. The L Line The Express Line to Learning L Line.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
RM2D Let’s write our FIRST basic SPIN program!. The Labs that follow in this Module are designed to teach the following; Turn an LED on – assigning I/O.
Mentor Tools tutorial Bold Browser Design Manager Design Architect Library Components Quicksim Creating and Compiling the VHDL Model.
1 Functions 1 Parameter, 1 Return-Value 1. The problem 2. Recall the layout 3. Create the definition 4. "Flow" of data 5. Testing 6. Projects 1 and 2.
Simulink ® Interface Course 13 Active-HDL Interfaces.
1 Performing Spreadsheet What-If Analysis Applications of Spreadsheets.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
1 The EDIT Program The Edit program is a full screen text editor that allows you to: Create text files Create text files Edit an existing text files Edit.
Introduction to Engineering MATLAB – 6 Script Files - 1 Agenda Script files.
Command Interpreter Window (CIW)
HDL Bencher FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe the.
Tools - Implementation Options - Chapter15 slide 1 FPGA Tools Course Implementation Options.
Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.
Oracle Data Integrator Procedures, Advanced Workflows.
정 용 군 ( 전자공학과 대학원 ) 대상 : VLSI 설계 연구회 1,2,3 학년 기간 : ~ Synopsys Tool 교육 Synopsys 교육 1.
Getting Started with MATLAB 1. Fundamentals of MATLAB 2. Different Windows of MATLAB 1.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
Final Simulation Remember that there are lots of different types of simulation!
Programmable Logic Training Course HDL Editor
Chapter 1 – Matlab Overview EGR1302. Desktop Command window Current Directory window Command History window Tabs to toggle between Current Directory &
ENG College of Engineering Engineering Education Innovation Center 1 Array Accessing and Strings in MATLAB Topics Covered: 1.Array addressing. 2.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
11/25/2015Slide 1 Scripts are short programs that repeat sequences of SPSS commands. SPSS includes a computer language called Sax Basic for the creation.
MCE 372 Engineering Analysis MATLAB Review. M ATLAB – What Is It ? Where Is It? Name is from matrix laboratory Powerful tool for – Computation and visualization.
SJTU 2006 SPADE Introduction Ma Diming
1 Parametric analysis Overview This course describes how to set up parametric and temperature analyses. Parametric and temperature are both simple multi-run.
SJTU 2006 SPADE Manual Ma Diming
Modeling of Power Converters using Matlab and Simulink
Chapter – 8 Software Tools.
Copyright © 2007 by Pearson Education 1 UNIT 6A COMBINATIONAL CIRCUIT DESIGN WITH VHDL by Gregory L. Moss Click hyperlink below to select: Tutorial for.
Linux Administration Working with the BASH Shell.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Introduction to LTspice IV
Overview Modern chip designs have multiple IP components with different process, voltage, temperature sensitivities Optimizing mix to different customer.
OptiSystem applications: SER & BER analysis of QAM-PSK-PAM systems
PSPICE Quickstart Revision 0
OptiSystem applications: BER analysis of BPSK with RS encoding
ECE 551: Digital System Design & Synthesis
WORKSHOP 3 GSE IMPORT.
Microsoft Office Illustrated
MATLAB: Structures and File I/O
Week 5, Verilog & Full Adder
MCE 372 Engineering Analysis
MATLAB – What Is It ? Name is from matrix laboratory Powerful tool for
MATLAB – What Is It ? Name is from matrix laboratory Powerful tool for
Digital Image Processing
MECH 3550 : Simulation & Visualization
Presentation transcript:

Cadence tools Brandon Rumberg

Tools to cover Creating piecewise linear (PWL) files OCEAN scripts Verilog-A

Piecewise linear source Why use PWL files? Creating arbitrary waveforms in Cadence is tedious & changes are difficult Piecewise linear source Combining sources

PWLF Source PWLF sources read from a piecewise linear file ‘vpwlf’ in ‘analogLib’ library The only necessary parameter is the file path/name Note: I’ve had trouble with the PWLF sources in the ‘NCSU_Analog_Parts’ library. They seem to have trouble finding the PWL file at times. So I recommend using the sources in ‘analogLib’

When PWL files are useful Testing a circuit with a realistic input acquired from elsewhere Such as a speech recording Testing chip-level configuration logic Such as a serial interface that controls parameters/connections within the chip You can reuse these files to simplify post-fab testing Performing a sequence of operations in one transient simulation Particularly when the result of one operation affects the next operation

PWL files PWL files are text files with rows of time/value pairs ‘Time’ and ‘Value’ are separated by a space Each pair is on a separate line Such files can easily be generated with Matlab/Octave Excel (save as txt file) 0.00000000e+00 1.50000000e+00 1.17200000e-03 1.50000000e+00 1.17300000e-03 1.50000000e+00 1.27200000e-03 1.50000000e+00 1.27300000e-03 1.50000000e+00 3.35900000e-03 1.50000000e+00 3.36900000e-03 5.10000000e+00 4.36900000e-03 5.10000000e+00 4.37900000e-03 5.10000000e+00 1.54379000e-01 5.10000000e+00 Time Value

Generating PWL files Create matrix with ‘time’ in the first column and ‘value’ in the second column Save using save -ascii <filename> <matrix> The file extension is arbitrary

Notes about PWLF Cadence seems to read the PWL file at the instance that the schematic is saved So if you generate a new PWL file, then you need to resave your schematic before starting a new simulation

Tips for generating PWL files Keep in mind that PWL will be interpreted by connecting the dots To simplify the creation of a bitstream Define the hold (T) and rise/fall times (tr), then Write a function that turns a string of bits into the desired waveform To create a step, you need to specify the point before the step T tr

Tools to cover Creating piecewise linear (PWL) files OCEAN scripts Verilog-A

OCEAN scripts OCEAN is a simulator scripting language included in Cadence Can be thought of as Parametric sweeps on steroids, or A cross between Matlab and a simulator OCEAN Exposes all simulator, graph, and calculator functions Includes standard programming language functionality File I/O for/while loops if/else branching User-defined functions (called ‘procedures’) Lisp syntax

An OCEAN of possibility Circuit comparison Create one OCEAN testbench and then automatically swap in/out different netlists Algorithmic circuit tuning Rather than using parametric sweeps, create an OCEAN script that automatically tunes the circuit Parameter extraction Have OCEAN extract the important circuit performance parameters and save them in a file

Creating an OCEAN script The easiest way to get started is to set up an initial simulation in the Virtuoso environment, then ‘Session-Save Script’

Sample OCEAN script Edit the script with a regular text editor Analysis Design variables Simulate and results Edit the script with a regular text editor You can run the script using a different circuit by changing the path in design( )

Running an OCEAN script You can start ocean by typing ocean at the command line Then by typing load(“<script>.ocn”) To avoid retyping full commands, use !<first letters of command><Enter> e.g. !l<Enter> will rerun the last script

Modifying an OCEAN script Use simulation result to calculate capacitor value that gives -20dB at high frequency Define design variables as variables so we can work with them Run first with arbitrary starting values Calculate high-frequency gain using standard calculator functions Calculate capacitor scaling to achieve target gain of -20dB (note that exponentials are done with **, not ^) Change the capacitor value based on the results Resimulate

Results of previous slide

Tools to cover Creating piecewise linear (PWL) files OCEAN scripts Verilog-A

Verilog-A A modeling language for analog simulation Uses for Verilog-A Replace transistor-level circuits Simulate top-level before all circuits are finished Evaluate top-level impact of circuit nonidealities Speed up simulation Modeling non-standard circuit elements

Creating a Verilog-A cell Create a cell as normal, but choose ‘VerilogA-Editor’ for the tool This creates and opens a Verilog template Note: You can change the default text editor by typing editor=“<editor name>” in the icfb window The default is vi. You may want to change to nedit for a more conventional text editor.

Insert your Verilog-A code Input/output terminals Parameters can be defined Define component operation

Symbol Creation & Compilation When you close the editor window, you will be asked if you want to create a symbol for you Verilog-A code Select ‘yes’ so that it will automatically generate your pins The code is automatically compiled when you compile If there is a syntax error you will receive a notification Next is the symbol generation dialog box shown to the write Create symbol as usual

Insert symbol for Verilog part & run sim