[ibis-macro] Comments on the draft BIRD

  • From: "Muranyi, Arpad" <arpad.muranyi@xxxxxxxxx>
  • To: <ibis-macro@xxxxxxxxxxxxx>
  • Date: Mon, 21 May 2007 17:12:01 -0700

Here are my comments / questions on the BIRD draft that we are
discussing.

1)  Please spell SERDES / SerDes consistently.

2)  In "STATEMENT OF THE RESOLVED SPECIFICATIONS" 1st paragraph,
I am surprised to see that LTI is mentioned in general without
any exceptions.  I was under the impression that GetWave was 
there to handle non-LTI systems.  Is this not true?

3)  In the 2nd paragraph and the rest of the document I see
"executable" mentioned only.  Did we give up on ASCII completely
in this version of the BIRD?  Are we going to write a new BIRD
if/when we will see the need for uncompiled, encrypted models?

4)  In the same section, models and modules are used interchangeably.
Is this correct?

5)  Is the parameter name "executable" the best word for the purpose?
What are we going to call it if we have non-compiled (encrypted) code
for the models?

6)  Under the "Description" section of the keyword I see: 
"Describes the ... Interface to model ...".  Interfaces do not
model anything.  Could we change that wording?

7)  Under the usage rules:

"Executable <platform/signature keyword> <File Name>"
"<Platform/OS/Signature keyword>"

are inconsistent.  ("OS" is missing from the first one).

8)  Same place:  Shouldn't the file path be mentioned also to
avoid the DLL hell situation?

9)  Before going into the reserved parameter description section
it would be nice to have a general description of the format,
the same way as it is done before the user defined parameter
section.

10)  Under the "Init_Returns_Impulse" section, only impulse
response is mentioned.  We talked about this in the past that
we shouldn't have implementation specific features.  What if
someone wants to use pulse response?  What if someone wants
to use step response?  How about frequency domain approaches?

11)  If we decide to add the vendor requested feature to
support forwarded clock, we could add it after the
"Max_Init_Agressors" section.

12)  General comment, we should describe what "<" and ">" mean.

13)  General comment, I don't anything on units.  Not all
parameters are unitless, and we need to deal with that in
the descriptions too.  Also, are units never going to be written
next to the numbers as shown in most (except one) of the examples?

14)  Before getting into the user defined parameters section we
need to mention that that is the section we are starting.  This
way we have no idea what that material really is.

15)  On lines like this:
"<parameter_name> <usage> <data type> <data format> <values>"
we need to say how much of it goes on the same line.

16)  The "<usage>" doesn't spell out what the default is.  Is
there one?  If so what is it?  The last sentence of that paragraph
says:  "Default is optimize." which seems to be out of place
(none of the parameters listed are called "optimize").

17)  "<data format> (default to range)" should say: "default is Range"

18)  The "Corner" parameter is inconsistent with the IBIS [External Model]
and [External Circuit] corner parameters, where it stands for typ., min., max.
We cannot allow this, because it will create a lot of confusion.

19)  "Table <columns names> ... < columns names >" should probably
not spell plural for both "columns" and "names"

20)  Under:

"<string>
ASCII description for this non-reserved parameter, used by the EDA
platform to convey information to the end-user allowing proper setting
of parameter values"

Is this all that it does?  How would the tool know how to treat the
user defined parameter, if it is not described?

21)  In example 2 (and probably elsewhere too) we should use
proper spelling for the numbers.  I think it is not acceptable
to start or finish a number with the decimal point.  Put a zero
before or after it.

22)  Example 2 seems to use syntax that is inconsistent with the
spec before it (or I don't understand it).

"TX_Jitter DjRj mks 0 3ps 2ps"

Shouldn't there be two other items before DjRj?
What is "mks"?

23)  Are the last two parameters "Strength" and "FFE" user defined
parameters?  I can't figure out the FFE syntax based on what I have
read this far.  Is this explained somewhere?

24)  In the Overview section (1.1), the 2nd paragraph is confusing
about all functions having to be supplied but that they can be
optional:

"These functions must all be supplied in a single module, and their
names and signatures must be as described in this specification. They
are optional, ..."

25)  Please spell out "IR", I am not sure what it stands for.

26)  Please define "time segment".

27)  Section 1.3.1.2.1:  Does it have to be uniformly distributed, or
can it be variable distance between points?

28)  Section 1.3.1.2.4:  Does this mean that we don't pass a time vector,
only voltage (waveform) vector?  Does this imply uniformly sampled points?

29)  Section 1.3.2.2.1:  Again sampled uniformly?

30)  2nd paragraph would be a good place to add the forwarded clock
related material.

31)  Please explain what a "tree string" is.  I have never heard
about that, although I have used several programming languages
in my life (although I don't claim to be an expert programmer).

Thanks,

Arpad
==================================================================
---------------------------------------------------------------------
IBIS Macro website  :  http://www.eda.org/pub/ibis/macromodel_wip/
IBIS Macro reflector:  //www.freelists.org/list/ibis-macro
To unsubscribe send an email:
  To: ibis-macro-request@xxxxxxxxxxxxx
  Subject: unsubscribe

Other related posts: