[ibis-macro] Minutes from the 03 October ibis-atm meeting

  • From: Curtis Clark <curtis.clark@xxxxxxxxx>
  • To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
  • Date: Tue, 10 Oct 2017 13:48:47 -0400

Minutes from the 03 October ibis-atm meeting are attached.
IBIS Macromodel Task Group

Meeting date: 03 October 2017

Members (asterisk for those attending):
ANSYS:                      * Dan Dvorscak
                            * Curtis Clark
Broadcom (Avago):             Xingdong Dai
                              Bob Miller
Cadence Design Systems:     * Ambrish Varma
                              Brad Brim
                              Kumar Keshavan
                              Ken Willis
eASIC:                        David Banas
                              Marc Kowalski
Ericsson:                     Anders Ekholm
GlobalFoundries:              Steve Parker
IBM                           Luis Armenta
                              Trevor Timpane
Intel:                      * Michael Mirmak
Keysight Technologies:        Fangyi Rao
                            * Radek Biernacki
                              Ming Yan
Maxim Integrated Products:    Hassan Rafat
Mentor, A Siemens Business:   John Angulo
                            * Arpad Muranyi
Micron Technology:            Randy Wolff
                            * Justin Butterfield
SiSoft:                     * Walter Katz
                              Todd Westerhoff
                            * Mike LaBonte
Synopsys:                     Rita Horner
                              Kevin Li
Teraspeed Consulting Group:   Scott McMorrow
Teraspeed Labs:             * Bob Ross
TI:                           Alfred Chong


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

--------------------------------------------------------------------------------
Opens:

- Arpad noted that future agendas would contain entries for BIRD166.4 and
  BIRD190 in the "Pending BIRDS awaiting discussion" section.

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

- Arpad to send BIRD158.6 draft 9 to Mike L. for posting as BIRD158.6.
  - Done.
  
- Arpad to send an email to the Open Forum introducing BIRD158.6.
  - Done.

- Mike L. to post BIRD158.6.
  - Done.
  
--------------------------
Call for patent disclosure:

- None.

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

- Arpad: Does anyone have any comments or corrections? [none]
- Walter: Motion to approve the minutes.
- Dan: Second.
- Arpad: Anyone opposed? [none]

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

Unused port terminations in BIRD 189:
- Walter: I would like to recap how package data are generated.
  - There are two ways one can generate S-parameter data for a package.
    - 1. Measure them.
    - 2. Solve for them - Use a field solver to extract them.
  - Let's say the reference impedance is 50 Ohms (just signals, no power).
  - When you measure a particular Sij, you need VNA probes referenced to a local
    ground.  All of the other pins, pads, etc. of the package have a 50 Ohm
    resistor to ground.  I sent this out in an email, and Scott McMorrow said,
    "No, you'd never do it, you can't physically make that test fixture".  So,
    you make those measurements without termination of the other pins, but then
    you can't use the measurements as though they were 50 Ohm terminated.
  - If you do it with a field solver, the solver assumes everybody else is
    terminated at 50 Ohms (or the reference impedance of the S-parameter data).
  - Now, when you go to use the data, let's say you're only interested in S12,
    S11 (insertion and return loss) and you want to simulate that.
    - You can make various assumptions:
      - 1. Assume the reason I chose 50 Ohms is because that's what I expected
           to connect to.
      - 2. Or you can use the full s100p and leave the other terminals
           connected the way they really would be.  It would be nice to know
           terminal by terminal or port by port what the connections really are.
           It's an approximation to say I'm going to assume it's 50 Ohms.
-  The point is that there's no right answer.  I can assume 50 if that works,
   or I can assume nothing's connected.  It's up to the EDA tool to make that
   decision.  The EDA tool can say I'll just throw the other 98 terminals out
   and use the s2p I extract from the s100p because I know it will be good
   enough for what I'm doing.
- There is no right answer.  The EDA tool can assume 50 if that works, or it can
  assume nothing's connected.  No matter what assumption you make, someone will
  be able to object to it. But sometimes it can be very convenient to make this
  50 Ohm (reference impedance) approximation.
- Another example, maybe you have a 200 pin connector.  An s200p is pretty large
  and inefficient.
  - So they swath it and take 3 columns (or wafers) and say I'm doing these
    particular pins.
  - Instead of s200p they may deliver an s20p, and if I only need two terminals
    maybe I assume all the others are tied nicely to 50 Ohm traces.
  - That's what the industry does, and we want to let people express
    S-parameters using subsets of pins in a model.  The EDA tool can make a
    choice from amongst several valid choices, each of which is an approx.
- Radek: I disagree with that.
  - The point of the specification is to provide a consistent unambiguous
    interpretation of what is specified in the IBIS file.  From that point of
    view, anything where you say, "it's up to the tool" is incorrect.
  - I recently looked a customer issue with an s30p, where the difference
    between open circuit or 50 Ohm termination was a 20dB difference on a
    certain Sij.  So, it's wrong to let a tool choose.
  - We have to be clear about how the data is to be interpreted.
  - The original idea of having unused_port_termination defined was the correct
    one.  If it's not specified, then the only interpretation is that the unused
    terminals should be open circuited.  That's the definition of connectivity.
  - If you have a subcircuit and you only connect half the nodes to some other
    portion of your circuit, then the unused half are simply open-circuited.
  - That's exactly what we should do here if we don't provide a way for the
    model-maker to specify it.
  - The questions of how the measurements are done are irrelevant.  The
    measurements are done to characterize the internal part of the N-port, not
    the external circuitry to which it's connected.
  - Once you have the data to define that N-port component, you can terminate it
    in any way to match what is actually done in your circuitry.  Maybe in use
    it actually sees 75 Ohm or 0.1 Ohm, etc.
  - My original position was that if the unused_port_termination keyword is
    removed then we have to go with the open circuit.
- Walter: I understand Radek's point.
  - If we want to make it unequivocal for the EDA tool, then I would not object
    to giving the model maker the ability to specify to either:
    1. Terminate everything with an open, or
    2. Terminate everything with the reference impedance.
  - If the model maker doesn't want either of those options, then he should
    wrap the S-parameter in a subcircuit.
- Bob: The issue is who controls the termination.
  - I'm going to agree with Walter that it's the EDA tool that should control
    it.
  - The second question is what the default should be (open, or reference).
  - Or, should the model developer mandate the termination for whatever reason.
    That is, you can't use this interconnect model with anything but a reference
    impedance approximation for unused ports as a simplifying approximation
    during the simulation.  In that sense, you're not really going to terminate
    the unused ports you're going to reduce the matrix.
  - Whatever we decide, the EDA tool will be allowed to override it.
- Radek: The EDA tool has no knowledge about how/why that data was made in that
         fashion.
  - It's the job of the model maker that knows how to take his 100 port data and
    only use 4 ports.  It's the job of the model maker to specify that.
  - If you have a connector and the person generating the data leaves some
    terminals unconnected, then there's no 50 Ohm termination there.  Therefore,
    the only source of information should be the model maker who provides a
    component with more terminals than he wants to be used by the EDA tool.
  - The EDA tool can't solve the ambiguity of such unconnected terminals.
- Arpad: We need to decide who is in control of terminations.
  - I see 3 options:
    - Radek says the model maker.
    - Bob/Walter say to it's the tool
    - What about the user?  We have discussed the user before as well.
  - If we decide it's the model maker, then we just have to put back the
    unused_port_termination and let the model maker specify the impedance for
    each port.
- Walter: If he puts it in a subcircuit he can do whatever he wants.
  - For the shortcut, I'm okay with what Radek says.  We say the model maker may
    specify whether unused terminals are open or use the reference impedance of
    the port in the S-parameter.
- Radek: I consider this option the least desirable, least correct option.
  - The first approach is the default of open circuited.
  - The second is that you have single reference impedance.
  - The third is the model maker can specify different impedance values for
    different ports.
  - This short cut we're discussing is an approximation for the third option.
    In general, the reference values in the file are only approximate.
  - In a power delivery port maybe the reference impedance is 0.1 Ohms but the
    actual impedance of that port is 0.01 Ohms.  The difference between 0.1 and
    00.1 is very reflective (magnitude 0.8).
  - So if you want to have a shortcut and say use the reference impedances from
    the file, then that is okay.  The only caution that is needed is that no one
    should ever recalculate those S-parameter values with respect to different
    reference values.
  - If you don't maintain the integrity of the original data (say you want to
    re-characterize it at 75 Ohms instead of 50 Ohms reference impedance) then
    reading the reference values from the Touchstone file might not be good.
  - I don't agree with the assertion that the 50 Ohm assumption is to allow you
    to reduce the data.  You can always reduce the data.
  - As to Arpad's comment about user choice.  That's only applicable if you want
    to expose the terminal to the outside world.  If you don't, then you can't
    leave it up to the user.
- Arpad: As Walter said, if the model maker wraps the Touchstone file in an 
         IBIS-ISS subcircuit then they can terminate everything as they want.
  - How much effort should we put into this shortcut syntax?
  - Why do we have such a big issue about what goes into this shortcut?
  - Why is it a problem to use the reference impedance shortcut syntax if
    there is a workaround for anything more general?
- Radek: Say you have an s100p, and you put an S-element in your subcircuit
         and only have five subcircuit terminals visible to the outside world.
  - You can wrap it, and in this case we have to be clear that the other
    terminals of the S-element inside the subcircuit are all open circuited.
  - If you want to put resistive values inside your subcircuit you can put
    any value inside your subcircuit.  That corresponds to the third option
    I described (can specify unique values for each port).
  - But if you wrap it in an ISS subcircuit we have no way to specify a
    reference impedance for any unused terminals of the S-element inside that
    subcircuit.  But that's probably okay.
- Walter: I don't care what is required, or what the default is.
  - I just want a mechanism that allows the EDA tool to go ahead and assume
    that everything that is unconnected is tied to the reference impedance of
    the port.
  - Radek and I agree that there is a functional requirement that the user be a
    able to use the Touchstone shortcut so that the EDA tool can legitimately do
    the S-parameter matrix size reduction.
  - The exact details around it I'm not that concerned about.
- Radek: [Radek had to leave the meeting]
- Arpad: Can we continue the discussion?
- Michael M:  It seems we still don't have clarity on the proposal.
- Bob: Because of some ambiguity, we may not have understood each other.
  - Radek still holds the model maker should make the choice.
  - I hold that the EDA vendor provides options to the users.
  - A correctly extracted S-parameter file at 50 Ohms might be used by someone
    in a 65 Ohm board.
  - Matrix reduction is still done with 50 Ohms.
- Walter: If we have a shortcut Touchstone file, and there are unused terminals,
          then there should be another parameter (unused_port_termination), with
          two options:
  - 1. Open circuit.
  - 2. Reference impedances from the Touchstone file.
  - First option all open circuit.  Second option means you can reduce it.
  - Nothing prevents the EDA tool from using it with 65 Ohm terminations.
  - If the EDA tool does what the model says, everyone gets the same answer.
  - EDA tool may allow the user to do something else.
- Bob: We say the EDA tool is responsible, or we make this a required parameter.
- Walter: I prefer to make it a required parameter, or we can require some
          default behavior.
- Bob: Default could be open circuit, but EDA tool could give options.
  - EDA tool can still give additional intelligence.
- Walter: But we don't have to say that.
- Bob: I think we should, because the model is complete as it is.  There are no
       "unused terminals", we're allowing it as a shortcut.
- Arpad: What about the third option to list values for each port?
- Bob/Walter: No, it's too complicated.
  - The shortcut has nothing to do with the S-parameter.  It has to do with how
    it's used.
- Bob: We could say "reference termination" is required if you expect to do the
       matrix reduction.
  - The default could be open, but the EDA too can still provide overrides.
- Walter: I don't like the default being "open" because the only reason the
          shortcut is provided is for reducing the matrix.  I think the default
          should be the reference impedances from the file.
  - But if Radek wants the default to be Open, I'm okay with that.
  - If you want to add words that say, "if you specify the reference you can
    reduce the size of the matrix...", I'm okay with that.
- Bob: Another option would be not to allow unused terminals.
  - Make the model maker provide the reduced matrix options.
  - I'm not in favor of that.

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

-------------
Next meeting: 10 October 2017 12:00pm PT
-------------

IBIS Interconnect SPICE Wish List:

1) Simulator directives

Other related posts:

  • » [ibis-macro] Minutes from the 03 October ibis-atm meeting - Curtis Clark