[IBIS] Comments on BIRD144

From: Muranyi, Arpad <Arpad_Muranyi@mentor.com>
Date: Thu Oct 13 2011 - 18:09:15 PDT

Dear BIRD 144 Authors,

I took some time to study BIRD 144 and have the following
comments. Some are simple and general, but others are
deeply technical and will need careful consideration.

#1) Please use page number references to the PDF file
version of the specification instead of line numbers. Most
BIRDs are written that way, and not everyone has text editors
with line number capabilities readily available.

#2) You reference Touchstone v2.0 as the language. Does
this mean that v1.0 or any future versions are not allowed?
(I am not sure about this, because I can't find v1.0 on the
IBIS website, but I thought that v1.0 was still an officially
available and used version). And if I remember correctly,
the other languages are defined as "... or later".

#3) The way you use parameter passing makes me wonder, because
this is really not passing a parameter into the Touchstone
file (or S-parameter model). The parameters you use are mostly
geared towards the corner selector mechanism, which in my mind
is really not a parameter, it is a selector.

#4) Regarding "Add D_drive_pos and D_drive_neg to the
reserved ports", this is an equivalent of BIRD 129. In fact
I was debating whether I should do it as you do it here, or
with a polarity parameter. I chose the latter for various
reasons which we can discuss later. The point I am trying
to make here is that we need to be careful with submitting
BIRDs without being aware of other BIRDs, or if there is a
legitimate need to override another BIRD, we need to openly
mention the pros and cons of both approaches in order to be
able to make a wise choice when voting comes.

#5) Regarding User_defined_corner: I am not sure about the
selective nature of this added new feature that it only applies
to TOUCHSTONE. A good specification should not have feature
specific rules.

#5a) This seems to be a glorified model selector tucked away
inside the [External Model/Circuit] keywords. Wouldn't it be
simpler to just parameterize the Touchstone file name? The
user_defined_corner_name and parameter_value seems to add an
unnecessary layer of complexity for the purpose of selecting
different T-stone files.

#5b) Regarding the corner_name column and "The "corner_name"
column is to be used to decide how this user_defined_corner
maps to i-v/v-t tables", I am not sure what you have in mind,
but I don't think this makes sense, at least not in the
[External Model] keyword. With [External Model], the content
of [Model] (I-V and V-t tables, etc...) are overridden by the
content in the [External Model]. They cannot be used together.
So I don't see how "user_defined_corner "MIN1" is to be used
in conjunction with min i-v, v-t tables by the EDA tool" would
ever be possible within a [Model]. And this doesn't make sense
cross [Model]-wise either, because the corner conditions are
supposed to be treated independently for each [Model] and model
instance.

The only time I could see this making some sense is if you are
talking about [External Circuit], but even there only if you
assume that BIRD 145 has been approved, so that you can synchronize
the I-V and V-t tables in the [Model] that is cascaded with an
[External Circuit]. If this is what you had in mind, it would
be appropriate to mention in this BIRD that these features are
dependent on BIRD 145.

#5c) For the selector parameter, why do you need "Float, Integer,
String, or Boolean" types? (I can see Integer and String, but
why Float and Boolean)?

#5d) Regarding: " If the value passed is different than one mentioned in the
| column, then standard min, typ, max s-parameter files can
| be picked."

I am not sure I follow this, but the way I understand this
there is a major flaw in this. What, if the parameter value
doesn't match any of the numbers in the User_defined_corner:

User_defined_corner Min1 MinNumber 1 buffer_min1.s2p Min
User_defined_corner Min2 MinNumber 2 buffer_min2.s2p Min
User_defined_corner Max1 MaxNumber 1 buffer_max1.s2p Max
User_defined_corner Max2 MaxNumber 2 buffer_max2.s2p Max

Say the parameter value is -1? How is the EDA tool going to
decide whether it should use the 1st or the 2nd line for min,
and whether it should use the 3rd or the 4th line for max?
As far as I can tell this is an ambiguity condition. Please
let me know if I am missing something.

That's all I have now.

Thanks,

Arpad
==============================================================

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
--------------------------------------------------------------------
|For help or to subscribe/unsubscribe, e-mail majordomo@eda-stds.org
|with the appropriate command message(s) in the body:
|
|  help
|  subscribe   ibis       <optional e-mail address, if different>
|  subscribe   ibis-users <optional e-mail address, if different>
|  unsubscribe ibis       <optional e-mail address, if different>
|  unsubscribe ibis-users <optional e-mail address, if different>
|
|or e-mail a request to ibis-request@eda-stds.org.
|
|IBIS reflector archives exist under:
|
|  http://www.eda-stds.org/pub/ibis/email_archive/ Recent
|  http://www.eda-stds.org/pub/ibis/users_archive/ Recent
|  http://www.eda-stds.org/pub/ibis/email/         E-mail since 1993
Received on Thu Oct 13 18:09:37 2011

This archive was generated by hypermail 2.1.8 : Thu Oct 13 2011 - 18:09:56 PDT