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