You are on page 1of 14

OSS-based AMS Verification using irun

Ashok Dayalan PMC Sierra Ramkumar Madhavan, Vivek Astvansh, Vijay Setia Cadence Design Systems

Agenda
Introduction OSS-based AMS flow using irun Comparison with other AMS flows Migration to OSS-based AMS flow Summary

Introduction: Why Mixed-Signal Verification?


Percentage (%) SOCs containing analog circuitry

Shift in focus:
From performance to functionality!

Area of analog circuitry in the SOC Time (years)

Complexity: - 100s of modes + 1000s of settings - Complex algorithms to work in sync with digital blocks - Deep submicron CMOS

Introduction: Performing Mixed-Signal Verification


Cadence Solutions: SpectreVerilog
Spectre
(Analog simulator)

AMSDesigner
Spectre NC-Sim Ultrasim

Verilog-XL
(Digital simulator)

Cell-Based netlister with 3-step simulation (ncvlog, ncelab, ncsim)

OSS-Based Netlister with irun

OSS-based AMS flow using irun


What is AMS Designer (AMSD)?
Verilog-A Verilog-AMS VHDL-AMS VHDL

Virtuoso AMS Designer Simulator


Spectre (in AMS-Spectre mode) or UltraSim (in AMS-Ultra mode) Incisive Digital Engine

Matlab/ Simulink Specman

Spectre HSPICE

Verilog

SystemC SystemVerilog

Ansi-C/C++

OSS-based AMS flow using irun


How does AMSD work?
1: Compilation (ncvlog, ncvhdl): - Compiles source code to create binary files (*.pak files) 2: Elaboration (ncelab): - Links all source modules (like a linker) - Partitions the design - Inserts Connect Modules between analog and digital blocks - Creates a snapshot of the initial state of the design 3: Simulation (ncsim): - Performed by one kernel, combining NC-sim and Spectre binaries - Works on the snapshot (created by elaborator) which contains the initial conditions for the simulation.

Courtesy: Cadence

OSS-based AMS flow using irun


What is irun?
New utility for AMS simulation Digital verification use model Single executable Supports a broad mixed-language base (.v, va, .vams, .vhd .vhdams, .sv, .sc, .e,..) File-extension based compilation
ncvlog -ams -cdslib cds.lib ./source/digital/*.v ncelab work.test connLib.ConnRules18V -cdslib cds.lib -hdlvar hdl.var -snap top:snap -discipline logic -prop prop.cfg ncsim top:snap -amslic -cdslib cds.lib -analogcontrol top.scs input probe.tcl

irun ./source/digital/*.v ./amscf.scs amsf input probe.tcl

OSS-based AMS flow using irun


Usage:

runams Command line use model


runams - Command line exe to netlist the design using the OSS-based netlister - Simulates the output netlist using irun
- Can be used to netlist, compile, elaborate, simulate and plot from command line

Use model similar to amsdesigner exe that provides for netlisting using the Cellview-based netlister and simulation using the 3-step simulation mode (ncvlog, ncelab, ncsim) Example %> runams -lib mylib -cell top -view config -netlist -simulate -analogcontrol ./analog.scs -tcl probe.tcl -modelfile myModels.scs -rundir top_run1 -connectrules ConnRules_5V_full

Comparison with other flows


SpectreVerilog Cell-based AMS OSS-based flow AMS flow (irun) Digital solver Analog solver(s) Single netlist Spectre compatible Support for VHDL Verilog-XL Spectre No Yes No NC-Sim NC-Sim

Spectre/Ultrasim/ Spectre/Ultrasim/ APS APS No No Good No Yes Yes Yes Better Yes No (faster elaboration)

One-step flow (irun) No 5x structure No

Migration to OSS-based AMS flow


VHDL support:
- Avoid verilog wrappers (shell views) around VHDL modules - Specify complete path of pre-compiled VHDL libs in irun options form

Migration to OSS-based AMS flow


DFII Text views
- Text views (DFII views corresponding to RTL code, etc..) require .cdb/.oa files (shadow database) - Create the .cdb/.oa by selecting ADE -> Tools -> Update Text Views

Migration to OSS-based AMS flow


Cellview-based netlister configuration views have symbol in stop view list
- OSS-based netlister treats symbol view as a digital cellview - CDF information (W, L etc.) will not be read - Use AMS Spectre template (not AMS or AMS compatibility) to build configurations

Solution:
- Enable CDF to be read for symbol view using the following steps:
- ADE -> Simulation -> Options -> Netlister - In Netlist using spectre CDF simInfo include symbol to the existing view list

[or] - Add spectre to the stop view list of the configuration

Summary
Overview of AMSDesigner OSS-based AMS netlister flow using irun irun (utility employed by OSS-based AMS netlister) Usage of OSS-based AMS flow runams OSS-based flow versus SpectreVerilog and Cell-based flow Points to remember while migrating to OSS-based flow

You might also like