[ibis-macro] Minutes from the 11 September ibis-atm meeting

  • From: Curtis Clark <curtis.clark@xxxxxxxxx>
  • To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
  • Date: Tue, 18 Sep 2018 13:15:21 -0400

 Minutes from the 11 September ibis-atm meeting are attached.
IBIS Macromodel Task Group

Meeting date: 11 September 2018

Members (asterisk for those attending):
ANSYS:                        Dan Dvorscak
                            * Curtis Clark
Cadence Design Systems:     * Ambrish Varma
                              Brad Brim
                              Kumar Keshavan
                              Ken Willis
eASIC:                        David Banas
GlobalFoundries:              Steve Parker
IBM                           Luis Armenta
                              Trevor Timpane
Intel:                        Michael Mirmak
Keysight Technologies:      * Fangyi Rao
                              Radek Biernacki
                              Ming Yan
                              Stephen Slater
Mentor, A Siemens Business:   John Angulo
                            * Arpad Muranyi
Micron Technology:          * Randy Wolff
                            * Justin Butterfield
SiSoft:                     * Walter Katz
                            * Mike LaBonte
SPISim:                     * Wei-hsing Huang
Synopsys:                     Rita Horner
                              Kevin Li
Teraspeed Consulting Group:   Scott McMorrow
Teraspeed Labs:             * Bob Ross

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

--------------------------------------------------------------------------------
Opens:
- None.

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

- Randy to investigate if/why/how a clock waveform input might be used.
  - In progress.

- Michael M. to investigate if/why/how a clock waveform input might be used.
  - In progress.

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

- None.

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

Arpad asked for any comments or corrections to the minutes of the September 04
meeting.  Walter moved to approve the minutes.  Ambrish seconded the motion.
There were no objections.

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

Vref and DDR5 improvements:

Arpad suggested we continue the previous week's discussion, and briefly shared
the previous week's minutes for an overview.  Arpad noted particular interest
in two of Ambrish's comments:
1.  How much are we losing by keeping things simple and using a differential
waveform, and what would we gain by going to single-ended?
2.  Ambrish had noted their interest in writing a common clock BIRD, and noted
that they felt this was the most important topic to address.

Walter noted that he had sent an email attempting to summarize the state of the
various DDR5 issues and asked to review it.

(Text of email "Summary of DDR5 issues" sent to the ATM group)
1. Asymmetric rise and fall times of a single ended channel.
   a. Both Cadence and SiSoft believe that this can be done by the EDA tool
      without any changes to the standard.
   b. Keysight believes that the standard is incomplete because:
      i. It does not define how to generate the Impulse Response input to
         to AMI_Init
     ii. It does not define how to generate the waveform input to the Rx
         AMI_GetWave (Fangyi noted this is their primary issue)
    iii. Or the AMI methodology is invalid for single ended DDR5 DQ channels.
2. Adding DC Offset or replace the Impulse Response Input to AMI_Init with a
   Step Response
   a. Both are equivalent since a step response can be derived from an Impulse
      Response and DC Offset and vice-versa.
   b. In any case, one of these needs to be done.
   c. Impact of Tx equalization on the DC offset.  (item requested by Fangyi)
3. VrefDQ
   a. The physical memory DDR5 buffer has a register that must be set by the
      controller to define the VrefDQ in the chip.
   b. This will be very close to the DC Offset defined above, but not
      necessarily so.
   c. Need to define how an EDA tool handles the impairment caused by the VrefDQ
      register resolution, and because a single VrefDQ register may control
      several DQ channels with slightly different DC Offsets.
4. Clock Ticks
   a. The DQS to DQ skew in the DDR5 memory receiver is defined by the
      Controller. This skew is determined by simulation, or by a hardware
      training algorithm.
   b. One way to handle this is to put a CDR in the memory DQ Rx and assume that
      this CDR will find, use and report the optimal DQS/DQ phase.
   c. A possible useful reserved parameter is the DQS/DQ interconnect skew.
   d. Another way is to have the Controller Tx AMI Model generate clock ticks
      that the Memory Rx AMI Model reads and uses. A BIRD 147 protocol can be
      defined between the Tx and Rx to optimize this skew (and the Rx DFE taps
      as well).
5. Component Based AMI Simulations
   a. Both Cadence and SiSoft believe that this should be dealt with by the EDA
      tool. It knows the DQS/DQ interconnect skew for each DQ in a “Component”,
      and therefor can determine the required skew training parameters or the
      impairment added to the nibble. Note that a component in this context can
      be a single memory chip or multiple memory chips in a module. Similarly,
      the EDA tool knows the Vcent for each DQ channel and can calculate the
      ideal VrefDQ for the module and the impairment. There is little or no
      difference between DDR4 and DDR5 in this regard.
   b. Keysight believes that IBIS AMI needs to be enhanced (or a new
      methodology) to deal with Component Level AMI Simulations for DDR5.
6. Power Aware Simulations (Arpad raised the subject.  Walter noted he had left
   it off the list originally because it received little attention in the straw
   poll).
   
In depth discussion of items:

1. Asymmetric rise fall - Walter asked if the summary accurately captured
   people's statements.  Fangyi agreed, and noted that 1.ii. was the primary
   issue.
   
2. DC Offset - Fangyi asked if this item contradicted the assertion in 1.a.
   that no change to the standard was needed.  Walter noted that needing one
   more reserved parameter to pass in the offset was not at the level of
   "changing the standard."  Fangyi asked for item 2.c. to be added.
   
3. VrefDQ - Walter recapped and noted that VrefDQ is not the same as DC Offset.
   DC offset is the midpoint between the ends of the step response, which is
   a simulation result, where VrefDQ has to do with a register value set in
   memory.  There are issues of VrefDQ resolution and how that differs from
   DC Offset.  All of this is independent of Vcent, which is an independent
   issue related to an eye measurement of all the bits in a nibble.  No one
   disagreed that these were issues to be dealt with.

4. Clock Ticks - Walter noted that DQS to DQ skew in DDR memory is defined by
   the controller.  The skew setting is determined by simulation or by a
   hardware training algorithm.  So, for writes, where the memory is the Rx, the
   clock is fed to the memory and the skew between clock and data is set by the
   controller.  One way to handle this in simulation is to put a CDR in the
   memory (DQ Rx model) and assume that the CDR will find, use, and report the
   optimal DQS to DQ phase at the memory.  A Reserved parameter to define the
   DQS to DQ skew is one possible solution.  Another way would be for the
   controller Tx to generate clock ticks that the memory Rx uses.

   Ambrish noted that in their solution they don't use a CDR in their Rx model,
   they use the strobe signal to generate the clock information.  Walter asked
   how the phase between the DQ and DQS was defined.  Ambrish said that if the
   DQ and DQS waveforms were generated concurrently, then there was no need for
   the phase to be calculated at the Rx.  Fangyi noted that there were two
   related issues at play.  The controller adjusts the phase difference between
   DQ and DQS.  That is a single value that is determined during training and
   persists until the next training.  Randy noted that this skew was per DQ,
   i.e., each DQ has its own skew.  Fangyi agreed.  Fangyi noted that the second
   issue is that the clock transition used by the DRAM DFE suffers from jitter
   in the DQS signal.  So, there are two issues.  Fangyi said once the single
   fixed skew is determined (training mode), this could be passed to the Rx,
   but the Rx will still need to recover clock ticks from the DQS signal.
   Walter noted that the standard doesn't currently allow for the DQS signal to
   be passed into the model.  Ambrish said the EDA tool could determine the
   clock ticks from the DQS signal and pass these into the Rx model in the same
   memory (clock_times argument to GetWave()) currently used by the Rx model to
   return clock ticks.  Walter noted that this too is not currently allowed in
   the standard.  Walter noted that the point of this exercise is to simply
   agree on the issues, not necessarily the solutions.

Review of Walter's views on the BIRDs required to accomplish everything.

1.  Define a new parameter DC_offset that represents the mid-point of the
    start-to-finish range of the step response.

2.  Cadence and SiSoft don't think a BIRD is required to address asymmetric rise
    and fall rates.  Walter noted that they may need to convince users and DDR5
    model makers that the solutions they've implemented are sufficiently
    accurate, but there is no need to modify the spec.  Fangyi again objected to
    this.  He said we can't just say the tool can do whatever it wants.  Walter
    noted that an EDA vendor could demonstrate that their method gets results
    that are very close to a full SPICE simulation by doing some fancy
    convolutions.  They could document that method and its accuracy, and then
    we have a solution.  Fangyi asked why we need a standard at all in that
    case.  Ambrish and Walter said the standard tells you that you need a
    waveform into Rx GetWave().  It doesn't tell you how to generate that
    waveform.  The flow that is given in the standard happens to be valid for
    differential signaling and has issues with single-ended.  We could write a
    BIRD to define the way to do it for DDR5, or we can say Cadence, SiSoft,
    etc., each decide to do it their own way.  Fangyi said this was analogous to
    writing a bsim model only to find out that one tool doesn't apply the same
    fundamental physics to the bsim model that others do.  In that case a bsim
    model would be useless.  Walter said this could be a future discussion
    point.

3.  Walter noted that he doesn't think we need a VrefDQ parameter.  It becomes
    a voltage impairment that can be rolled into Rx_Receiver_Sensitivity.  
Since 
    the model is told what the DC Offset is, it can determine its VrefDQ
    granularity impairment.  We may decide to define a Reserved parameter for
    VrefDQ, but it's not strictly necessary.

4.  DQS to DQ skew - Walter noted that the controller generates the DQ and DQS
    signals so the controller model could generate the clock ticks.  Ambrish
    disagreed and said the tool generates the DQS waveform, passes it through
    the DQS channel, captures it at the Rx and gives clock ticks to the DQ Rx.
    Walter asked what phase is used when the EDA tool gives the DQS waveform to
    the DQ Rx.  Fangyi said the phase that resulted from the training would
    be built into the DQS waveform.  Ambrish noted 90 degrees out of phase with
    the DQ, for example.  Walter asked how the clock tick array is passed into
    the Rx model by the EDA tool.  Ambrish noted the clock_times array would be
    used as an input.  Walter said a BIRD would be needed for that approach.
    Ambrish agreed and said it's one of the two things his group feels is
    necessary to address.

    Fangyi noted another solution was to have the tool simply generate the DQS
    waveform, and then the DQ Rx model gets both the data DQ signal waveform and
    the clock DQS signal waveform.  Then let the Rx model recover the clock
    ticks.  Fangyi noted that you might have 8 DQs and the one DQS.  Randy noted
    that as a model maker he wouldn't write a model with the complexity to
    have the entire DQ and data clock chain with all 8 DQs tied together.  That
    was more of a component level of modeling.  Randy also noted that if the
    clock ticks were to be passed into the DQ model as Ambrish proposed, then we
    really have to understand the phase difference that Walter had mentioned.
    Randy noted that the models usually assume the training has put the strobe
    in the best location for the DQ sampling.  If the EDA tool were to simply
    pass in a strobe with an ideal 90-degree offset, then that might not provide
    the right answers.  He said we needed to consider the difference between the
    EDA tool passing in clock ticks, perhaps with some jitter applied to get the
    right characteristics, or the DQ model employing some type of fake CDR
    algorithm to identify the best timing location and then utilizing existing
    Reserved Parameters for AMI models with CDRs to define the strobe jitter.

    Fangyi asked if the Rx model should just take in the full DQS waveform as an
    input and figure out where to clock the DQ, rather than relying on the tool
    to generate clock ticks.  Randy said that requirement would put a lot of
    extra burden on the model maker.  Fangyi said that if you leave it up to the
    tool then you don't know what the tool is going to do.  If you're going to
    consider putting a CDR in your Rx model instead, why not just pass in the
    DQS waveform into the model instead.  Arpad said there were two independent
    questions.  Whether you send only the DQ (fake CDR) or DQS signal signal
    into the model, or the EDA tool determines the clock ticks, the correct
    phase still has to be determined.

- Walter: Motion to adjourn.
- Randy: Second.
- Arpad: Thank you all for joining.

-------------
Next meeting: 18 September 2018 12:00pm PT
-------------

IBIS Interconnect SPICE Wish List:

1) Simulator directives

Other related posts:

  • » [ibis-macro] Minutes from the 11 September ibis-atm meeting - Curtis Clark