[ibis-macro] Minutes from the 1 December ibis-atm meeting

  • From: Curtis Clark <Curtis.Clark@xxxxxxxxx>
  • To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
  • Date: Tue, 8 Dec 2020 17:55:21 +0000

Minutes from the 1 December ibis-atm meeting are attached.

The documents discussed during the meeting can be found here:
http://ibis.org/atm_wip/archive-date.html
IBIS Macromodel Task Group

Meeting date: 01 December 2020

Members (asterisk for those attending):
Achronix Semiconductor      * Hansel Dsilva
ANSYS:                      * Curtis Clark
                            * Wei-hsing Huang
Cadence Design Systems:     * Ambrish Varma
                              Ken Willis
                            * Jared James
Google:                       Zhiping Yang
Intel:                      * Michael Mirmak
                              Kinger Cai
                              Alaeddin Aydiner
Keysight Technologies:        Fangyi Rao
                              Radek Biernacki
                              Ming Yan
                            * Todd Bermensolo
                              Rui Yang
Luminous Computing            David Banas
Marvell                       Steve Parker
Mentor, A Siemens Business: * Arpad Muranyi
Micron Technology:          * Randy Wolff
                            * Justin Butterfield
SAE ITC                       Jose Godoy
SiSoft (Mathworks):         * Walter Katz
                              Mike LaBonte
Teraspeed Labs:             * Bob Ross
Zuken USA:                    Lance Wang

The meeting was led by Arpad Muranyi.  Curtis Clark took the minutes.

--------------------------------------------------------------------------------
Opens:
  
- Arpad noted that meetings normally scheduled for December 22nd and December
  29th will be cancelled.

-------------
Review of ARs:

- None.

--------------------------
Call for patent disclosure:

- None.

-------------------------
Review of Meeting Minutes:

Arpad asked for any comments or corrections to the minutes of the November 17th
meeting.  Michael moved to approve the minutes.  Walter seconded the motion.
There were no objections.

-------------
New Discussion:

DDR6x:
Randy reviewed an updated version of his GDDR6x presentation.  He noted that the
first seven pages were the same as his original presentation at the October 6th
meeting, and the new slides contain simulation results comparisons.

The new slides present and compare simulation data from several scenarios:
  - Transient simulation with a SPICE model of the Tx.
  - AMI Simulation with an idealized AMI Tx model (slew rate and impedance)
  - AMI Simulation using an AMI model with an IBIS buffer with a full swing
    (40Ohm) model with I-V and V-T curves.
  - AMI Simulation with the full swing buffer model and the multi-edge
    simulation techniques some EDA tools now employ to capture rising and
    falling edge differences (e.g., for DDR).
    
Randy emphasized that his full swing IBIS buffer model is still a traditional
IBIS buffer model and does not have any additional information for the various
different PAM4 transitions.  Randy noted that the channel used in these
simulations was a representative channel for this signaling technology, and the
simulations are for a single lane (no crosstalk).

Arpad asked if the primary issue here is the fact that it's "single-ended" PAM4.
Randy agreed and said there are slew rate and linearity issues and he wanted to
see how existing AMI techniques compared to SPICE simulation results.

Slide 13 presents a summary of eye measurements for the various simulation
types.  Randy noted that the sampling point for all measurements was based on
the timing location of the max eye height of the center eye.  Walter said that
there is an IEEE standard for PAM4 measurements, CEI 56G.  It looks at the max
eye width of the center eye and uses the mid-point of that as the sampling
point, not the location of the max eye height.  Walter said there is some logic
in this approach, for example, when training DDR5 the hardware often shifts left
until it sees errors, then shifts right until it sees errors, then chooses the
midpoint.  Randy agreed and said that he had also gathered eye measurement data
using this mid-point-of-the-max-eye-width sampling point instead.  (Note: in the
posted version of the presentation, Randy changed the slides to reflect the
technique Walter described).

Randy reviewed the comparison of result types and noted that the full-swing IBIS
buffer produced better results than the idealized Tx model (slew rate and
impedance), and the multi-edge AMI simulation technique produced the closest
match to the transient simulation with the SPICE model.  He noted that the
transient simulation showed some DCD type effects in various transitions.  He
said that he'd experimented with adding some DCD to the AMI stimulus waveform
but hadn't been able to quite match the effects in the transient simulation.  He
suggested that matching these effects might require an IBIS buffer model with
I-V and VT curves for the various transitions and an AMI flow created to utilize
them.  Randy also noted asymmetries in the transient simulation eyes that come
from differences in linearity between the pullup and pulldown structures.  He
said that there's often a trade off in these types of designs between linearity
of the buffers and buffer capacitance.  Overall, he said the multi-edge AMI
simulation results were pretty good.  At this time he does not plan to pursue a
BIRD to add any enhancements to the AMI flow, but he would be interested in
collaborating with any tool vendors who want to experiment with altering their
AMI flows to take advantage of a multi-level IBIS buffer model.  Randy took an
AR to send his new presentation to the ATM email list.

Redriver Flow Issues:
Walter briefly reviewed the discussion of his "New Reliable AMI Flows" document
from the previous week's meeting.  He said the flows become simple if the input
to every AMI_Init() is everything upstream of it instead of the current flow
that tries to be clever by passing the downstream IR to the Tx AMI_Init().  If
the IR input to Init is everything upstream, then it parallels the GetWave flow.
Walter said we don't need any special flows if every model had an Init that
returns an impulse, except for the terminal Rx, which may or may not have it.

Walter said he would prefer all models are Dual models.  He said his clam was
that any Init-Only model could easily be made into a Dual model by the model
maker.  Arpad noted that discussions had been leaning toward adding a statement
to the specification that said other combinations of model types might be
problematic, but he thought Ambrish had always preferred GetWave-Only models.

Wei-hsing reiterated his comments from the last meeting about converting Init-
Only models to Dual.  He agreed that model makers could do this, but his concern
was that we could put extra burden on the model makers unnecessarily.  Adding
language that required models to be Dual would force model makers to update
existing LTI Tx models unnecessarily.  For these types of models, the EDA tool
could easily share the burden by creating a proxy GetWave without the need to
resort to things like deconvolution.  Wei-hsing noted that model makers may be
underrepresented in these discussions.

Ambrish asked if the current redriver flow isn't working fine provided all the
models are Dual models?  Walter said it is not.  The current redriver flow is
broken because the input to the redriver Tx is the downstream channel and has
nothing from the upstream channel.  The flow is flawed, and when we've tried to
correct it while maintaining the current downstream IR input to the Tx Init
things get complicated.  Changing the input to all Init functions to be the IR
of everything upstream simplifies the flow.

Walter said if we are given models that are not Dual, then EDA tools will deal
with it as best they can.  We could add a statement that a GetWave-Only (i.e.,
Init does not return an Impulse) model may create problems for other models
downstream.  Existing models will work, we just cannot guarantee the quality of
results because they may require EDA tools to perform unnatural acts like
deconvolution.  He said adding a new parameter, e.g., Is_Commutative, allows the
model to say it's LTI and its equalization doesn't adapt based on the input IR.
This would also be a way to let the EDA tool to know that existing flows work.

Walter said there are existing terminal Rx models that are GetWave-Only but
require the proper upstream information in their Init function's input IR.
These models choose not to return an IR (i.e., GetWave-Only) because it would
not have a complete representation of the equalization, but they still need the
full upstream information in the input IR.  He noted, for example, that it's
often hard for a GetWave function to optimize a CTLE peaking filter, but it's
really easy for Init to optimize it.  Often the GetWave will use the CTLE
peaking filter optimized by Init and then optimize the DFE during GetWave
time domain flow.

Ambrish said it's one thing to recommend that all models be Dual, but it's quite
another to say that GetWave-Only models can cause problems in the time domain
flow.  He said that historically the whole notion of a Dual model was simply
that its Init function returned an IR so the model was useful in a statistical
flow.  He said Walter's new proposed statements say that the time-domain flow is
also adversely impacted by GetWave-Only models because the IR input to Init
affects the time-domain flow too.  Ambrish said this was not the correct
historical intent.  Historically, Init modification of the IR was meant to
support statistical flow.  Models such as Walter had just described were the
result of a model maker's choice and did not adhere to the original intent of
the specification.  Ambrish said models they had developed could adapt their
CTLEs in the GetWave time domain flow, though he admitted it took longer than it
would to adapt them in Init.

Michael asked if we needed some sort of new parameter to make this requirement
for IR input even for the time domain flow explicit.  He said the initial
purpose of Init had only been for memory initialization, and the statistical
flow IR modification was an afterthought.  Ambrish and Walter both refuted the
notion that statistical flow was an afterthought.  Walter pointed out that the
Init_Returns_Impulse Reserved parameter existed from the beginning and says
whether the Init applies equalization to the IR.  Michael suggested that we
might need a new parameter that says the model's GetWave function relies on a
proper IR input to Init.

Ambrish said he would further review Walter's "New Reliable AMI Flows".  Michael
said Alaeddin had created some new diagrams explaining his proposed flows from
several meetings back.  He said Alaeddin might be able to send them out in time
to review at the next meeting.

- Curtis: Motion to adjourn.
- Ambrish: Second.
- Arpad: Thank you all for joining.

AR: Randy to send his new GDDR6x simulation presentation to the ATM list.

-------------
Next meeting: 08 December 2020 12:00pm PT
-------------

IBIS Interconnect SPICE Wish List:

1) Simulator directives

Other related posts: