[ibis-macro] Minutes from the 16 March ibis-atm meeting

  • From: Curtis Clark <Curtis.Clark@xxxxxxxxx>
  • To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
  • Date: Fri, 19 Mar 2021 14:44:39 +0000

Minutes from the 16 March ibis-atm meeting are attached.



The documents discussed during the meeting will be uploaded here:

http://ibis.org/atm_wip/archive-date.html<https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fibis.org%2Fatm_wip%2Farchive-date.html&data=04%7C01%7Ccurtis.clark%40ansys.com%7C05788879b09e4ff2a25e08d8e895cf18%7C34c6ce6715b84eff80e952da8be89706%7C0%7C0%7C637515077962972697%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=xHrV6WY6fN1M51k%2BGOdkt50UqVRnLBk3CDTA5YaRHOA%3D&reserved=0>

IBIS Macromodel Task Group

Meeting date: 16 March 2021

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
Micron Technology:          * Randy Wolff
                            * Justin Butterfield
Missouri S&T                  Chulsoon Hwang
Siemens EDA (Mentor):       * Arpad Muranyi
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:
  
- None.

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

- Walter to send his latest Simpler Redriver Flow presentation to the ATM list.
  - Done.

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

- None.

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

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

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

Redriver Flow Issues:
Walter shared a new "Merged_166_210" presentation.

- slide 1
Walter said he wanted to define a flow that works with legacy models, doesn't
require a new parameter, has no AMI_Init signature change (impulse matrix size
change), and requires no changes to model generation tools.

- slide 2 - Current IBIS 7.0 redriver flows
Block diagram of the Init flow for column 1 of the impulse matrix.
Block diagram of the GetWave flow.

- slide 3 - Alternative Init Flows
 - row 1 - IBIS 7.0 incorrect flow.
 - row 2 - Hybrid
 - row 3 - BIRD210
 - row 4 - BIRD166.4
Black lines represent through channel (insertion loss channel) responses.
Red arrows represent impulse responses from aggressor Txs to the Rx.
Blue arrows represent impulse responses to victim Rxs from the Tx.

- slide 4 - Fundamental Questions
 - What input impulse matrix is required for each Init call?
 - What output impulse matrix is required for each Init call?
 - Can the EDA tool add additional aggressor columns to the matrix?
Walter emphasized that the flow for the aggressor columns need not be identical
to the flow for the through channel column (column 1).

- slide 5 - Init "must" apply LTI equalization to all crosstalk columns.
In response to a question at the previous meeting about whether the model could
be relied upon to apply its equalization to all of the crosstalk terms, this
slide quotes language from the specification confirming that it is required to
do so.

   pgs. 201,202: 
   If present, any filtering in the transmitter and/or receiver AMI_Init
   function(s) must also be applied to the crosstalk impulse responses to
   properly account for the crosstalk effects. 
   
   pg. 205: Init_Returns_Impulse
   When the Boolean_literal value is set to â€œTrue”, the model returns the
   convolution of the impulse response with the impulse response of the
   equalization.
   
Walter said the specification doesn't really define "properly account for the
crosstalk effects," but he interprets it to mean that LTI effects in the
terminal Rx are applied to crosstalk responses, but DFE is not.  He said we
might want to add some clarifying language to the specification.

- slide 6 - Crosstalk diagram for two aggressor channels and one victim channel.
Walter briefly reviewed the crosstalk flow.  He noted that each of the channels
will have a through channel impulse response and crosstalk impulse responses to
the other channels.  Each Tx's equalization must be applied to its through
channel and aggressors IRs.  For the crosstalk IRs, the tool can do that two
ways.  If the tool knows the Tx's equalization response, it could do the
convolution with the crosstalk IRs itself.  Alternatively, the tool can put the
aggressor IRs in the impulse response matrix when it calls Init, and the model
will apply the equalization to them.  Walter said it's up to the EDA tool to get
those crosstalk terms right and ultimately get the right crosstalk entries into
the impulse matrices passed to the Init functions for the Rxs.

Walter noted that the Txs shown in this example would not operate any
differently if they received the crosstalk terms as inputs or not.  He said that
Fangyi has some comments with respect to that assumption for redriver Txs.

- slide 7 - Flow comparison for the upstream channel of the redriver flow.
Two block diagrams for alternative flows.
- first row
  - IBIS 7.0 legacy flow
  - "upstream" channel (which is the channel downstream of the Tx1) is passed
    into Tx.
  - Allows Tx1 to optimize the eye at the input to Rx1, though few if any
    initial Tx models do so.

- second row
  - BIRD210 flow (for the new column containing cumulative upstream response).
  - Unit IR is passed to Tx1 and the output is convolved with the upstream
    channel IR and passed to Rx1.

After discussion of this slide, Walter confirmed that everyone agrees that the
two flows on this page produce identical results as long as the Tx1 does not
want to optimize itself based on its downstream channel (the upstream channel
in the redriver flow).  No one objected to this statement.

Fangyi said that there are redriver Txs that will need to know both their
upstream and downstream IRs to work properly.  Walter said he was only talking
about the initial Tx in this slide.  Fangyi said he thought the impulse matrix
column layout should be the same for all Txs.  Walter asked why, and said he
wanted to come up with a flow that handled everything with legacy models and
minimal changes (see slide 1) when possible.

slide 9 - Flow comparison - What does the Redriver Tx need?
Three possibilities shown:
- Tx2 gets the output of Rx1 convolved with the downstream channel as its input.
- Tx2 gets the output of Rx1 as its input.
- Tx2 only gets the downstream channel response (IBIS 7.0 legacy flow).

Walter said with the legacy flow the Tx2 can't really do any sensible
optimization.  It can't optimize for the eye at Rx2 because it would also need
to know the Rx1 output as well.

Walter said the case where the output of Rx1 is convolved with the downstream
channel and passed into Tx2 is the only one where Tx2 has enough to optimize for
the eye at Rx2.  Fangyi said the slide was missing the BIRD210 case, in which
the Tx2 gets the upstream and downstream impulse responses as separate columns
in the impulse matrix.  Fangyi said having them convolved together and passed in
as a single IR in a single column doesn't work.  If the Tx2 doesn't have the
upstream IR, it can't estimate its input signal.  So, it can't adjust the input
gain to minimize compression, the output gain to compensate for compression,
etc.  David asked if Fangyi was referring to a device with an AGC that needs to
know the amplitude of its input signal.  Fangyi agreed.

David said this seemed counter to his understanding of the AMI_Init function and
an implied LTI assumption.  Fangyi said this was an important point.  The
signal simulation in the Init flow is based on IRs and the LTI assumption.  But
here we are talking about what the Tx2 AMI_Init function does given its inputs.
The Init function needs to know its input signal's magnitude and know about its
own non-linear region so it can optimize its gain.  Fangyi said the Init
function itself can do lots of non-linear things.  Walter added that if you have
a CTLE in an Init flow, you want to make sure you pick a CTLE setting that does
not saturate.  If Init picked a CTLE setting that did saturate, then the Init
flow would fail.

Walter suggested the case where the output of Rx1 is the input to Tx2.  He said
this would give the Tx2 everything it needs except that it wouldn't be able to
optimize based on the downstream channel.  Fangyi agreed, but he said he could
show cases where Tx2 needs both the upstream and downstream IRs, as provided by
BIRD210.  Walter agreed, but he said the only time you need the downstream 
channel IR as an input to Tx2 is when the Tx2 model wants to optimize based on
the downstream channel.  He suggested that we could find a solution where you
add an additional column and a new Reserved Parameter only for the case that
needs it, a redriver Tx that wants to optimize based on the downstream channel.

Walter and Fangyi modified and combined the flows on page 3.  Walter ended up
with a flow in which the initial Tx takes its downstream channel's IR as its
input, then every other model in the flow gets its cumulative upstream IR as
its input.  He said this works for legacy models and works for every case
except when the redriver Tx wants to optimize based on its downstream channel.
If the redriver Tx wants to optimize based on the downstream channel, then the
flow is the same except that an extra column is added to the impulse matrix
passed to the redriver Tx, and the EDA tool puts the downstream IR in that extra
column.  A new Reserved Parameter would be added to such a Tx model so the tool
knows it has this capability.  The tool could choose to set it to True or
False.  (see slides 13, 14 in the presentation emailed after the meeting).
Arpad asked about the order of the columns that would be input to the redriver
Tx in this new special case where it needs an extra column.  Walter said that's
a detail we can work out.  He said he'd prefer that the primary column (column
1) has the full upstream channel information.

Walter said this new flow meant no signature change for most cases and no change
to AMI generation tools unless they wanted to support a redriver Tx model that
optimized based on the downstream channel.  Fangyi observed that Walter's new
flow may not change the size of the impulse matrix, but it is putting new stuff
in the first column.  Fangyi said BIRD210 keeps the legacy information in
column 1 and adds new columns for the new information.  With BIRD210 all the
information needed is always available.

Walter said he would send out an updated presentation.  Curtis noted that on
slide 3 it was actually row 4, not row 2, that corresponded to BIRD166.4.
Walter agreed.  Walter said he would write up a new version of BIRD210 to
capture the new hybrid BIRD166-BIRD210 flow.

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

AR: Walter to send his updated Merged_166_210 presentation to the ATM list.
AR: Walter to draft a BIRD210.1 proposal.

-------------
Next meeting: 23 March 2021 12:00pm PT
-------------

IBIS Interconnect SPICE Wish List:

1) Simulator directives

Other related posts:

  • » [ibis-macro] Minutes from the 16 March ibis-atm meeting - Curtis Clark