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