Modeling Pre/de-emphasis buffers with [Driver Schedule]

Similar documents
IBIS Model Process For High-Speed LVDS Interface Products

Modeling DDR3 with IBIS

AN-715 APPLICATION NOTE One Technology Way P.O. Box 9106 Norwood, MA Tel: 781/ Fax: 781/

Validating and Using IBIS Files

A Tour of the IBIS Quality Specification DesignCon East IBIS Summit April 5, 2004

IBIS FORUM I/O BUFFER MODELING COOKBOOK

IBIS PDN Feature Studies

IBIS Quality Review. IBIS Summit Meeting Design Automation Conference, San Francisco, California, July 28, 2009

PCB Design Tools User Guide

IBIS 4.1 Macromodel Library for Simulator Independent Modeling

A VHDL-AMS true differential buffer model using IBIS v3.2 data

Spice Subcircuit Support for Serial Link Channel Design Using IBIS [External Model]

Touchstone Syntax for Versions 1.0 and 2.0

IBIS QUALITY SPECIFICATION

Chapter 7 Using IBIS Models

Xilinx IBIS Model Quality Update. David Banas, Sr. Staff Applications Engineer IBIS Summit DesignCon 2009 Santa Clara, CA February 5, 2009

IBIS Model Simulation with R/L/C_dut. Xuefeng Chen Asian IBIS Summit Meeting Shanghai, China November 11, 2016

Multi-lingual Model Support within IBIS

ESE370 Fall ESE370, Fall 2015 Project 2: Memory Design Wednesday, Nov. 11

IBIS-AMI: Assumptions, Terminology & Analytical Flows

Leveraging IBIS Capabilities for Multi-Gigabit Interfaces. Ken Willis - Cadence Design Systems Asian IBIS Summit, Shanghai, PRC November 13, 2017

FPGA Power Management and Modeling Techniques

THE latest generation of microprocessors uses a combination

Supporting External circuit as Spice or S- parameters in conjunction with I-V/V-T tables

IBIS Model Validation Review. Lance Wang IBIS Asian Summit 2012 Nov. 16, 2012 Yokohama, Japan

IBIS Quality Control Through Scripting

Adding scalability to IBIS using AMS languages. Paul R. Fernando

Inconsistency of EBD (Electrical Board Description) specification in DDR3 DIMM

Details on True Differential Buffer Characterization Revisited

I/O Simulations Using HSPICE Writer

Predicting BER with IBIS-AMI: experiences correlating SerDes simulations and measurement

IBIS Interconnect BIRD Update. Walter Katz Signal Integrity Software, Inc. IBIS Summit, DesignCon Santa Clara, CA January 22, 2016

CS755 CAD TOOL TUTORIAL

PARAMETER SYMBOL MIN MAX Address Access Time

Lab 5: Circuit Simulation with PSPICE

Cadence Virtuoso Schematic Design and Circuit Simulation Tutorial

A Tale of Two Parsers

ENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim

Tutorial 1.5: The Design and Simulation of a D Flip-flop (Last updated: Sept. 8, 2008)

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

IBIS and Behavioral Modeling

The 3S Proposal: A SPICE Superset Specification for Behavioral Modeling

Schematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language

Signal Integrity Comparisons Between Stratix II and Virtex-4 FPGAs

Addressable Bus Buffer Provides Capacitance Buffering, Live Insertion and Nested Addressing in 2-WireBus Systems

IBIS Package Proposal. Walter Katz Signal Integrity Software, Inc. IBIS Summit, Santa Clara January 31, 2014

RT54SX T r / T f Experiment

An Overview of High-Speed Serial Bus Simulation Technologies

Understanding IBIS-AMI Simulations

New AMI API to Resolve Model Parameter Dependencies

Multi-Lingual Modeling Applications and Issues

Effective Signal Integrity Analysis using IBIS Models

TABLE OF CONTENTS 1.0 PURPOSE INTRODUCTION ESD CHECKS THROUGHOUT IC DESIGN FLOW... 2

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

DS1682 Total-Elapsed-Time Recorder with Alarm

Chapter 23. Using Meta I/O

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

SPISim StatEye/AMI User s Guide

I/O Features in Axcelerator Family Devices

Understanding IBIS-AMI Simulations

Simulation and Modeling for Signal Integrity and EMC

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

IBIS-ATM Update: SerDes Modeling and IBIS

90000 DSO/DSA Series Oscilloscopes

The original document link is

ProASIC3/E SSO and Pin Placement Guidelines

Concerns when applying Channel Simulation to DDR4 Interface

Creating Xnets for Resistor Packs in Allegro PCB Editor. Product Version SPB16.6 April 2, 2014

A Proposal for Developing S2IBISv3

Status Report IBIS 4.1 Macro Working Group

Programmable CMOS LVDS Transmitter/Receiver

Course Introduction. Content: 21 pages 4 questions. Learning Time: 35 minutes

APPENDIX-A INTRODUCTION TO OrCAD PSPICE

Help Volume Agilent Technologies. All rights reserved. Agilent E2485A Memory Expansion Interface

Addressing the Power-Aware Challenges of Memory Interface Designs

Memory, Latches, & Registers

EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation

INTEGRATED CIRCUITS APPLICATION NOTE. AN252 Live Insertion Aspects of Philips Logic Families. Author: Mike Magdaluyo July Philips Semiconductors

DOWNLOAD PDF CADENCE WAVEFORM CALCULATOR USER GUIDE

Signals and Encoding

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

PCI-3E. PCI Interface Card Page 1 of 7. Description. Features

CS429: Computer Organization and Architecture

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #4, Standard cell design flow (from verilog to layout, 8-bit accumulator)

Memory, Latches, & Registers

Hardware Description Languages: Verilog. Quick History of HDLs. Verilog/VHDL. Design Methodology. Verilog Introduction. Verilog.

Hardware Description Languages: Verilog

Implementing Bus LVDS Interface in Cyclone III, Stratix III, and Stratix IV Devices

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

AN 447: Interfacing Intel FPGA Devices with 3.3/3.0/2.5 V LVTTL/ LVCMOS I/O Systems

Using Python to Debug IBIS-AMI Models. David Banas IBIS Summit at DesignCon 2013 January 31, 2013 Santa Clara Convention Center

USB Compliance Checklist

DS1233A 3.3V EconoReset

DS1238A MicroManager PIN ASSIGNMENT PIN DESCRIPTION V BAT V CCO V CC

Digital IO PAD Overview and Calibration Scheme

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

Single Event Latchup Power Switch Cell Characterisation

DS1305EN. Serial Alarm Real-Time Clock

Chapter 5 Large and Fast: Exploiting Memory Hierarchy (Part 1)

10A AMI PARAMETER DEFINITION FILE STRUCTURE

Transcription:

Modeling Pre/de-emphasis buffers with [Driver Schedule] IBIS Summit at DesignCon 2005 Santa Clara Convention Center, CA January 31, 2005 Arpad Muranyi Signal Integrity Engineering Intel Corporation arpad.muranyi@intel.com page 1

Background The [Driver Schedule] keyword was first introduced in the IBIS 3.2 specification (ratified August 1999) It was intended to be used to model multi-staged slew rate controlled buffers, such as the GTL buffers used in Intel s microprocessors The specification viewed this keyword as a temporary solution Note: In a future release, the [Driver Schedule] keyword may be replaced by a newer method of specification that is consistent with some other planned extensions. However, the [Driver Schedule] syntax will continue to be supported. Four clarification BIRDs have been written since the keyword first appeared: BIRD52 [Driver Schedule] Clarifications July 17, 1998 BIRD58.3 Driver Schedule Keyword Clarification May 28, 1999 BIRD84.1 Driver Schedule Clarifications December 5, 2003 BIRD88.3 Driver schedule initialization July 16, 2004 The last two BIRDs were prompted by questions raised by tool vendors still trying (or just starting) to implement the keyword Perspective: Pre/de-emphasis buffers started to appear around 2001 page 2

Basic operation of the [Drive Schedule] keyword The [Driver Schedule] keyword can have one or more [Model] references, each of which has its own set of delay parameters This was designed to model the sequence in which the various stages of a multi-staged, slew rate controlled buffer are turned on or off with respect to the stimulus signal Later on this keyword was also used to model the so-called P-kickers (pullup devices which are turned on for a short amount of time during a rising edge transition) Each of the models referenced by a [Driver Schedule] keyword is stimulated by a common stimulus signal The delay parameters of the keyword define simple timing relationships between the referenced [Model] s pullup and/or pulldown structures with respect to the stimulus page 3

The meaning of the [Driver Schedule] parameters Assuming non-inverting polarity Rise_on_dly: Triggered by rising edge stimulus Pullup ON Pulldown OFF Rise_off_dly: Triggered by rising edge stimulus Pullup OFF Pulldown ON Fall_on_dly: Triggered by falling edge stimulus Pulldown ON Pullup OFF Fall_off_dly: Triggered by falling edge stimulus Pulldown OFF Pullup ON Whichever comes first NA means not available (i.e. without any information we can t do anything) which is not the same as a zero delay page 4

Rise_on_dly Rise_off_dly Fall_on_dly Fall_off_dly 0.0ns NA 0.0ns NA Rise_on Fall_on Fall_on Rise_on An open-drain scheduled buffer with zero ON delays = normal buffer operation page 5

Rise_on_dly Rise_off_dly Fall_on_dly Fall_off_dly NA 0.0ns NA 0.0ns Fall_off Rise_off Rise_off Fall_off An open-drain scheduled buffer with zero OFF delays = inverted buffer page 6

Pre/de-emphasis buffer review In most of the current two-tap designs the emphasis stimulus pattern is a one bit delayed and inverted copy of the input stimulus pattern This is not necessarily true for all pre/de-emphasis buffer designs. The delay may not be a one bit duration in each design, and multi-tap configurations would usually have a more complicated stimulus logic.!! " " #$ % & page 7

The IBIS implementation One way of implementing this in IBIS is to make two [Model]s for the Main and Boost buffers and tell the user of the model to wire-or them in the schematics of the simulation, and set up the appropriate stimulus To a novice user it may be difficult to set up the one bit delayed, inverted version of the input signal This may be also be difficult in some tools which do not provide (easy) access to the stimulus signals However, the [Driver Schedule] keyword provides a more user friendly solution without requiring any of these manual interventions: The Main buffer needs two zero ON delay parameters This is an equivalent of the normal, straight through operation of the Main buffer The Boost buffer needs two OFF delay parameters with delay values equal to the width of a bit This is an equivalent of a one bit delayed, inverted operation of the Boost buffer page 8

Simulation results with the [Driver Schedule] keyword Stimulus: 0101010 (top), 0110011 (middle), 0111000111 (bottom) page 9

Why didn t we think about this before? We did, but There were discrepancies in the interpretation of the [Driver Schedule] keyword, because the specification was vague Now that the dust has settled with all the [Driver Schedule] BIRDs, we can finally count on predictable results between simulation tools Some tool vendors were slow implementing this keyword Perhaps the note in the IBIS specification about the temporary nature of this keyword made them feel that this was not an important feature(?) page 10

Pros and cons This technique provides a way to model gigabit pre/de-emphasis buffers with native (legacy) IBIS Fewer transistor level (SPICE) models will need to be released to customers Extends the life of legacy IBIS before requiring the IBIS v4.1 language extensions IBIS is a tool independent modeling standard IBIS simulations are faster than SPICE Using [Driver Schedule] results in a more compact model Eliminates the need for connecting two separate [Model]s by hand in the schematics, one for the Main and one for the Boost portion of the buffer This is a major improvement over existing practices ' Some issues still remain with this technique Since legacy IBIS does not have provisions for clocked buffers, this model doesn t have a clock input, consequently the delay parameter is hard coded and will need to be changed manually in the IBIS file for every clock frequency and simulation corner The [Driver Schedule] delay parameters do not have typ., min., max. corners Obtaining separate [Model] data for the Main and Boost buffers may still require the editing of the SPICE netlist There are a few questions around proper handling of C_comp page 11

How to make Main and Boost buffers Generate data for the Main buffer Disable the Boost buffer using control signals if available, or by editing the netlist Do not disconnect the Boost buffer from the pad, its capacitive load must be there to obtain the correct waveforms for the Main buffer Generate data for the Boost buffer Disable the Main buffer using control signals if available, or by editing the netlist Do not disconnect the Main buffer from the pad, its capacitive load must be there to obtain the correct waveforms for the Boost buffer Generate a top level [Model] Put the on-die resistors (and ODT if applicable) into the clamp I-V tables Die capacitance (C_comp) and all other usual keywords and parameters go here Add [Driver Schedule] to instantiate and schedule the Main and Boost [Model]s - Use two zeroes for the ON delay parameters for the Main buffer - Use two OFF delay parameters equal to the bit width time for the Boost buffer Make three IBIS [Model]s for the above Be careful what you put in the top level and the scheduled [Model]s Scheduled [Model]s use: [Pulldown], [Pulldown Reference], [Pullup], [Pullup Reference], [Voltage Range], [Ramp], [Rising Waveform] and [Falling Waveform], as applicable Everything else goes into the top level model It is legal and some times useful to have more data in either one of the [Model]s, but they will be ignored by the simulator There are some parser issues when certain data are missing (warning and error messages) page 12

C_comp issues The IBIS specification says that C_comp should be placed into the top level model and should represent the total buffer capacitance This is easy for the model maker, but tool vendors need to answer some difficult questions: How is the C_comp compensation done? independently, inside the Main and Boost [Model]s? collectively? If independently, how is the capacitive loading effect of the neighboring model(s) accounted for in the compensation algorithm? How is the total C_comp divided between the Main and Boost buffers? Is the C_comp compensation correct for each transition? strong to strong bit strong to weak bit weak to strong bit More C_comp related information: http://www.eda.org/pub/ibis/summits/apr04/mirmak2.pdf http://www.eda.org/pub/ibis/summits/oct04/mirmak2.pdf A constant C_comp value may not be accurate enough at GHz speeds Frequency and/or voltage dependence may be important, which can only be modeled with the IBIS v4.1 language extensions page 13

Correlation with a symmetric differential IBIS model 0.30 Cadence-IBIS, HSPICE-IBIS and Transistor model overlay most likely C_comp compensation related 0.25 Voltage (V) 0.20 0.15 0.10 caused by the asymmetry between the P and N outputs Cadence-P Cadence-N HSPICE-P HSPICE-N Transistor-P Transistor-N 0.05 0.00-0.05 1.3E-09 1.8E-09 2.3E-09 2.8E-09 3.3E-09 3.8E-09 4.3E-09 4.8E-09 5.3E-09 Time (sec) " ( #) % & The asymmetry problem can be fixed by making two different [Model]s for the P and N outputs page 14

Correlation with an asymmetric differential IBIS model Due to lack of time this page will be completed after the IBIS Summit and uploaded to the website The goal is to show that the large miscorrelation can be eliminated using by making two non-identical [Model]s for the P and the N outputs page 15

Summary The clarification BIRDs made the implementation of [Driver Schedule] more predictable and consistent between simulators The [Driver Schedule] keyword is useful to describe the timing relationships between the building blocks of Pre/De-emphasis buffers The usage of Pre/De-emphasis buffers made with the [Driver Schedule] keyword is easier This extends the life of legacy IBIS Some issues and limitations still exist The issues and limitations will most likely be solved by writing models with the IBIS v4.1 language extensions For information on the aspects of differential buffer modeling please refer to the presentation at http://www.eda.org/pub/ibis/summits/oct03/muranyi.pdf page 16