[ibis-macro] Re: IBIS-ATM teleconference - Agenda for 10/26/2010

  • From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx>
  • To: "IBIS-ATM" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Tue, 26 Oct 2010 11:10:32 -0700

The attached files will be used in our ATM
teleconference discussions today.

Thanks,

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

-----Original Message-----
From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Tuesday, October 26, 2010 11:14 AM
To: IBIS-ATM
Subject: [ibis-macro] IBIS-ATM teleconference - Agenda for 10/26/2010

Time:  October 26, 2010  Noon  US Pacific Daylight Time
=====

Audio:
======
Voice dial-in:    (800) 637-5822
International: +1 (647) 723-3937 <--- (For Canada)
                      0114501530 <--- (For Sweden)
                      0201400572 <--- (For Sweden Toll Free)
                    069509594672 <--- (For Germany)
                     08001014542 <--- (For Germany Toll free)
Access Code:            685-0440

Web
===
Click Here to Join Live Meeting:

http://tinyurl.com/yvmesj
or:

https://www.livemeeting.com/cc/sisoft/join?id=NKQQN3&role=attend&pw=TP8j
%23-%25%7E5


Mentor Global Crossing Teleconference commands:
http://www.globalcrossing.com/customer/collaboration/cust_ready_access_t
ips.aspx


FIRST TIME USERS: To save time before the meeting, check your
system to make sure it is compatible with Microsoft Office Live
Meeting.

---------------------------------------------------------------------

Agenda
======

1) Opens
2) Call for any related patent disclosures
3) Review of ARs:


Walter: Divide BIRD 119 into 4 separate BIRDs
        - done (They are now BIRDs 121-124)

Arpad:  Update the Typos BIRD draft 
        - say the Typ is the implicit default for all types
        - Discuss with Walter parameter Default/Value examples
        - done

Arpad:  AR from Open Forum on BIRD 114.2:  Update BIRD 114.1 to
        include statements on escape characters in strings, and
        correct multi-line misinterpretation possibilities
        - pending response from Anders


Any other AR-s?


Old ARs:

Arpad:  Review the documentation (annotation) in the macro libraries.
        - deferred until a demand arises or we have nothing else to do



4)  Discuss Arpad's Typos_Format_Value_Default BIRD draft

4a) What is the ambiguity between Format and Text Strings?  (Row 18)

4b) According to the BNF, the Format = Table syntax is invalid.
    (Row 21 in Task List)
    - If Format is removed, this s not a problem, but if Format is
      there the problem still exists.  Do we need to fix this?

4c) The syntax for a leaf is:
    (Row 22 in Task List)
       <leaf>:   ( <parameter name> whitespace <value list> )
       So in a Table which is written like this:   (-50 -0.1 1e-35),
       -50 is actually a parameter name, i.e. a string, not a value.
    -deprecate Table back to List?

4d) Need rules for Description (Row 27)
    - Bob suggested to make it optional. (Yes)
    - should it be required for Model Specific and optional for
      Reserved parameters?  (No)
    - These are addressed in the Typos BIRD now

5)  Fix the two tables to reflect what is in the text (Rows 23-24)
    - need someone to volunteer to write a BIRD
      - Bob agreed to do this after the Asian Summit

6)  Define relationship between Type and Format (Row 25)
    - discuss Walter's suggestions
    - need someone to volunteer to write a BIRD

7)  What is Row 26 all about?  Is it the same as Row 47?

8)  Is AMI_Init restricted to change first column of impulse_matrix
    only?  (Row 33)
    - this needs to be discussed

9)  Clarify questions about impulse response (Row 35)
    - this needs to be discussed

10) Define/clarify rules about parameter string for DLL (Row 36)
    - this needs to be discussed (Walter says it is in the BNF
      except for Table)

11) Clarify what AMI parameters Usage out are used for (Row 37)
12) Clarify Fangyi's questions on Usage (Row 38)
13) Add: "It is only the leaves of a parameter tree that can have
    Usage defined for them" (Row 39)
    - need page number
    - this is addressed in the Typos BIRD now

14) Need page number for item in Row 40
    - this is addressed in the Typos BIRD now

15) Add version control parameter to .ami file (Row 41)
    - draft done

16) Remove certain parameters and keywords (Rows 46, 47)
    - this needs to be discussed


17) Discuss BIRD 121-124



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

*****************************************************************************
*****************************************************************************

BIRD ID#:        
ISSUE TITLE:     IBIS-AMI Typographical Corrections
REQUESTER:       Arpad Muranyi, Mentor Graphics, Inc.
DATE SUBMITTED:  
DATE REVISED:    
DATE ACCEPTED BY IBIS OPEN FORUM:  

*****************************************************************************
*****************************************************************************

STATEMENT OF THE ISSUE:

Section 6c of the IBIS v5.0 specification has numerous typographical or
editorial issues which may imply incorrect rules or could be confusing to
the reader.

In Section 6c, "ALGORITHMIC MODELING INTERFACE (AMI)", the use of the
keyword Format in parameter declarations is inconsistent with the common
use of parameter tree structures.  Since the Format keyword really doesn't
serve a practical purpose and the existing IBIS AMI Check program does not
issue an error or warning when Format is not included, the suggestion is to
make the use of the keyword Format optional.

*****************************************************************************

STATEMENT OF THE RESOLVED SPECIFICATIONS:


On pg. 140 replace the following lines:


|   Usage: (required for model specific parameters)
|     In     Parameter is required Input to executable
|     Out    Parameter is Output only from executable
|     Info   Information for user or EDA platform
|     InOut  Required Input to executable.  Executable may return different
|            value.


with these lines:


|*  Usage <usage>:
|*
|*  Required, where <usage> must be substituted by one of the following:
|     In     Parameter is required Input to executable
|     Out    Parameter is Output only from executable
|     Info   Information for user or EDA platform
|     InOut  Required Input to executable.  Executable may return different
|            value.
|*
|* Note that the pupose of Usage Out or InOut is to provide a mechanism
|* for the Algrithmic Model to return a value to the EDA tool to either
|* report these values to the user, or to use these values as specified
|* by the IBIS-AMI specification if they are reserved parameters, or by
|* the model maker if they are Model Specific parameters.
???^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^???

On pg. 140 replace the following lines:


|   Type: (default is Float)
|     Float
|     Integer
|     String
|     Boolean (True/False)
|     Tap (For use by TX and RX equalizers)
|     UI  (Unit Interval, 1 UI is the inverse of the data rate frequency,
|         for example 1 UI of a channel operating at 10 Gb/s is 100 ps)


with these lines:


|*  Type <data_type>:
|*
|*  Required, where <data_type> must be substituted by one of the following:
|     Float
|     Integer
|     String
|     Boolean (True/False)
|     Tap (For use by TX and RX equalizers)
|     UI  (Unit Interval, 1 UI is the inverse of the data rate frequency,
|         for example 1 UI of a channel operating at 10 Gb/s is 100 ps)


On pg. 140 replace the following lines:


|   Format: (default is range)
|     Value     <value> Single value data
|     Range     <typ value> <min value> <max value>
|     List      <typ value> <value> <value> <value> ... <value>


with these lines:


|*  Format <data_format> <data>:
|*
|*  Where Format is optional (being deprecated) but <data_format> and <data>
|*  are required.  <data_format> and <data> must be substituted with one of
|*  the following:
|     Value     <value> Single value data
|     Range     <typ value> <min value> <max value>
|     List      <typ value> <value> <value> <value> ... <value>


On pg. 140 replace the following line:


|     Value     <value> Single value data


with these lines:


|*     Value     <value> Single value data.  Note that Value and Default
|*               are mutually exclusive, and must not be used together for
|*               the same parameter.


On pg. 141 replace the following lines:


|                 (Rx_Clock_PDF
|                   (Usage Info)
|                   (Type Float)
|                   (Format Table
|                     (Labels Row_No Time_UI Density)
|                     (-50 -0.1 1e-35)


with these lines:


|                 (Rx_Clock_PDF
|                   (Usage Info)
|                   (Type Float)
|*                  (Table
|*                    (Labels "Row_No" "Time_UI" "Density")
|                     (-50 -0.1 1e-35)
|


On pg. 141 reduce the indentation of the following lines:


|               Gaussian <mean> <sigma>
|               Dual-Dirac <mean> <mean> <sigma> 
|                 Composite of two Gaussian
|               DjRj <minDj> <maxDj> <sigma>
|                 Convolve Gaussian (sigma) with uniform Modulation PDF


On pg. 141 replace the following lines:


|   Default <value>:
|     Depending on the Type, <value> will provide a default value for the
|     parameter.  For example, if the Type is Boolean, <value> could be True
|     or False, if the Type is Integer, the <value> can be an integer value.


with these lines:


|   Default <value>:
|*    Default and Value are mutually exclusive, and must not be used together
|*    for the same parameter.  Default is not allowed for Table, Gaussian,
|*    Dual-Dirac and DjRj.  Default is optional for Range, List, Corner, 
|*    Increment and Steps.  If a Default <value> is specified, its value must
|*    have the same Type as the parameter.  For example, if Type is Boolean,
|*    <value> must be either True or False, if Type is Integer, <value> must
|*    be an integer.  Also, if Default is specified, <value> must be a member
|*    of the set of allowed values of the parameter.  If Default is not
|*    specified, the default value of the parameters will be the <typ> value.


On pg. 141 replace the following lines:


|   Description <string>:
|     ASCII string following Description describes a reserved parameter,
|     model specific parameter, or the Algorithmic model itself.  It is used
|     by the EDA platform to convey information to the end-user.  The entire
|     line has to be limited to IBIS line length specification.  String
|     literals begin and end with a double quote (") and no double quotes are
|     allowed inside the string literals.


with these lines:


|   Description <string>:
|*    The string following Description may describe a reserved parameter, a
|*    model specific parameter, or the Algorithmic model itself.  This string
|*    is used by the EDA platform to convey information to the end-user.  
|*    Description <string> is optional, but its usage is highly recommended
|*    for describing the Algorithmic model and the model specific parameters
|*    of the Algorithmic model.  The Description string may span mutliple
|*    lines, but it is recommended that the text contained in the Description
|*    string should not exceed 120 characters per line.



The following modifications assume that the section about Use_Init_Output
starting on pg. 144 will be removed as a consequence of the corrections
and simplifications made to the reference flow (BIRD 120).


On pg. 143 replace the following lines:


|               The model parameter file must be organized in the parameter
|               tree format as discussed in section 3.1.2.6 of ?NOTES ON
|               ALGORITHMIC MODELING INTERFACE AND PROGRAMMING GUIDE?,
|               Section 10 of this document.  The file must have 2 distinct
|               sections, or sub-trees, ?Reserved_Parameters? section and
|               ?Model_Specific? section with sections beginning and ending
|               with parentheses.  The complete tree format is described in
|               the section 3.1.2.6 of the Section 10 of this document.


with these lines:


|               The model parameter file must be organized in the parameter
|               tree format as discussed in section 3.1.2.6 of "NOTES ON
|               ALGORITHMIC MODELING INTERFACE AND PROGRAMMING GUIDE",
|*              Section 10 of this document.  The file must contain a distinct
|*              section or sub-tree named 'Reserved_Parameters' beginning and
|*              ending with parentheses.  The file may also contain another
|*              section or sub-tree named 'Model_Specific', beginning and
|*              ending with parentheses.  The complete tree format is
|*              described in section 3.1.2.6 of Section 10 of this document.
|*
|*              The tree data structure contains a root, branches and leaves.
|*              The sub-trees 'Reserved_Parameters' and 'Model_Specific' are
|*              branches of the root of the tree.  All leaves of the .ami
|*              file must begin with one of the following keywords:
|*
|*                   Type
|*                   Usage
|*                   Description
|*                   Default
|*                   <data_format> or Format <data_format>
|*
|*              A branch in the .ami file is an "AMI Parameter" if it
|*              contains the leaves Type, Usage, and any of the following
|*              leaves:
|*
|*                   Default
|*                   <data_format> or Format <data_format>
|*
|*              The tree data structure passed in and out of the DLL
|*              described in section 3.1.2.6 of Section 10 of this document
|*              is similar to the tree data structure in the .ami file except
|*              the 'Reserved_Parameters' and 'Model_Specific' branches are
|*              not included, and the "AMI Parameter" branches become leaves.
|*
|*              For Usage In, the value in the "AMI Parameter" leaves are
|*              determined by the EDA tool based on the "AMI Parameter"
|*              branches in the .ami file.  For Usage Out, the value in the
|*              "AMI Parameter" leaves are determined by the Algorithmic
|*              Model.  For Usage InOut, the value in the "AMI Parameter"
|*              leaves are first determined by the EDA tool based on the
|*              "AMI Parameter" branches in the .ami file and passed into
|*              the Algorithmic Model which may return a new value in the
|*              "AMI Parameter" leaves after some processing.  
|*


On pg. 144 add these lines before "Reserved Parameters:"


|*
|*              All parameters must be in the following format:
|*
|*              (parameter_name (Usage <usage>)
|*                              (Type <data_type>)
|*                              ({Format} <data_format> <data>)
|*                              (Default <value>)
|*                              (Description <string>))
|*
|*              Notes:
|*              1) The order of the entries is not important.
|*              2) The word Format is optional as indicated by the curly
|*                 braces "{" and "}" and may be ignored by the EDA tools.
|*                 (The examples do not show the word Format).
|*              3) Certain reserved parameter names allow only certain
|*                 <data_format> selections, as described below.
|*              4) When permitted, the <data_format> selection of Value and
|*                 Default are always mutually exclusive.  Value or Default
|*                 are required, but Value and Default are not allowed to be
|*                 present together in the same parameter.
|*              5) <data_format> is always required for selections other
|*                 than Value.
|*              6) Default is optional when <data format> is not Value.
|*


On pg. 144 remove the following lines:


|               Init_Returns_Impulse, Use_Init_Output, GetWave_Exists, 
|               Max_Init_Aggressors and Ignore_Bits


On pg. 144 replace the following lines:


|               The following reserved parameters are used by the EDA tool
|               and are required if the [Algorithmic Model] keyword is
|               present.  The entries following the reserved parameters
|               points to its usage, type and default value.  All reserved
|               parameters must be in the following format:
|
|               (parameter_name (Usage <usage>)(Type <data_type>)
|                               (Default <values>) (Description <string>))


with these lines:


|*              The following four reserved parameters are used by the EDA tool
|               and are required if the [Algorithmic Model] keyword is
|*              present.  These four parameters must be of Type Boolean,
|*              Usage Info and they may specify their value using either Default
|*              or Value but not both.  Description is optional.


On pg. 145 remove the following lines:


|               The following reserved parameter provides textual description
|               to the user defined parameters.


On pg. 145 remove the following lines under Tx_Jitter and Tx_DCD:


                 ...   If specified, they must be in the following format:
|
|               (<parameter_name> (Usage <usage>)(Type <data_type>)
|                                 (Format <data format>) (Default <values>)
|                                 (Description <string>))



On pg. 146 replace the following lines:


|               (Tx_Jitter (Usage Info)(Type Float)
|                          (Format Gaussian <mean> <sigma>))
|
|               (Tx_Jitter (Usage Info)(Type Float)
|                          (Format Dual-Dirac <mean> <mean> <sigma>))
|
|               (Tx_Jitter (Usage Info)(Type Float)
|                          (Format DjRj <minDj> <maxDj> <sigma>))
|
|               (Tx_Jitter (Usage Info)(Type Float)
|                          (Format Table
|                            (Labels Row_No Time Probability)
|                            (-5  -5e-12  1e-10)
|                            (-4  -4e-12  3e-7)
|                            (-3  -3e-12  1e-4)
|                            (-2  -2e-12  1e-2)
|                            (-1  -1e-12  0.29)
|                            (0    0      0.4)
|                            (1    1e-12  0.29)
|                            (2    2e-12  1e-2)
|                            (3    3e-12  1e-4)
|                            (4    4e-12  3e-7)
|                            (5    5e-12  1e-10) ))


with these lines:


|               (Tx_Jitter (Usage Info)(Type Float)
|*                         (Gaussian <mean> <sigma>))
|
|               (Tx_Jitter (Usage Info)(Type Float)
|*                         (Dual-Dirac <mean> <mean> <sigma>))
|
|               (Tx_Jitter (Usage Info)(Type Float)
|*                         (DjRj <minDj> <maxDj> <sigma>))
|
|               (Tx_Jitter (Usage Info)(Type Float)
|*                         (Table
|*                           (Labels "Row_No" "Time" "Probability")
|                            (-5  -5e-12  1e-10)
|                            (-4  -4e-12  3e-7)
|                            (-3  -3e-12  1e-4)
|                            (-2  -2e-12  1e-2)
|                            (-1  -1e-12  0.29)
|                            (0    0      0.4)
|                            (1    1e-12  0.29)
|                            (2    2e-12  1e-2)
|                            (3    3e-12  1e-4)
|                            (4    4e-12  3e-7)
|                            (5    5e-12  1e-10) ))
|
|*              Note:  Since the rows of the Table are leaves, the first
|*              column in the Table is considered a parameter name which is
|*              a string.  For this reason Type Float applies to the second
|*              and all remaining columns of each row.


On pg. 146 replace the following lines:


|               (Tx_DCD (Usage Info)(Type Float)
|                       (Format Range <typ> <min> <max>)) 


with these lines:


|               (Tx_DCD (Usage Info)(Type Float)
|*                      (Range <typ> <min> <max>)) 
|


On pg. 146 remove the following lines under Rx_Clock_PDF and 
Rx_Receiver_Sensitivity:


                                 ...  If specified, they must be in the
|               following format:
|
|               (<parameter_name> (Usage <usage>)(Type <data_type>)
|                                 (Format <data format>) (Default <values>)
|                                 (Description <string>))


On pg. 147 replace the following lines:


|               (Rx_Clock_PDF (Usage Info)(Type Float)
|                             (Format Gaussian <mean> <sigma>))
|
|               (Rx_Clock_PDF (Usage Info)(Type Float)
|                             (Format Dual-Dirac <mean> <mean> <sigma>))
|
|               (Rx_Clock_PDF (Usage Info)(Type Float)
|                             (Format DjRj <minDj> <maxDj> <sigma>))
|
|               (Rx_Clock_PDF (Usage Info)(Type Float)
|                             (Format Table
|                               (Labels Row_No Time Probability)
|                               (-5  -5e-12  1e-10)
|                               (-4  -4e-12  3e-7)
|                               (-3  -3e-12  1e-4)
|                               (-2  -2e-12  1e-2)
|                               (-1  -1e-12  0.29)
|                               (0    0      0.4)
|                               (1    1e-12  0.29)
|                               (2    2e-12  1e-2)
|                               (3    3e-12  1e-4)
|                               (4    4e-12  3e-7)
|                               (5    5e-12  1e-10) )) 


with these lines:


|               (Rx_Clock_PDF (Usage Info)(Type Float)
|*                            (Gaussian <mean> <sigma>))
|
|               (Rx_Clock_PDF (Usage Info)(Type Float)
|*                            (Dual-Dirac <mean> <mean> <sigma>))
|
|               (Rx_Clock_PDF (Usage Info)(Type Float)
|*                            (DjRj <minDj> <maxDj> <sigma>))
|
|               (Rx_Clock_PDF (Usage Info)(Type Float)
|*                            (Table
|*                              (Labels "Row_No" "Time" "Probability")
|                               (-5  -5e-12  1e-10)
|                               (-4  -4e-12  3e-7)
|                               (-3  -3e-12  1e-4)
|                               (-2  -2e-12  1e-2)
|                               (-1  -1e-12  0.29)
|                               (0    0      0.4)
|                               (1    1e-12  0.29)
|                               (2    2e-12  1e-2)
|                               (3    3e-12  1e-4)
|                               (4    4e-12  3e-7)
|                               (5    5e-12  1e-10) ))
|
|*              Note:  Since the rows of the Table are leaves, the first
|*              column in the Table is considered a parameter name which is
|*              a string.  For this reason Type Float applies to the second
|*              and all remaining columns of each row.



On pg. 147 replace the following lines:


|               (Rx_Receiver_Sensitivity (Usage Info)(Type Float)
|                                        (Format Value <value>))
|
|               (Rx_Receiver_Sensitivity (Usage Info)(Type Float)
|                                        (Format Range <typ> <min> <max>))
|
|               (Rx_Receiver_Sensitivity (Usage Info)(Type Float)
|                                        (Format Corner <slow> <fast>))


with these lines:


|               (Rx_Receiver_Sensitivity (Usage Info)(Type Float)
|*                                       (Value <value>))
|
|               (Rx_Receiver_Sensitivity (Usage Info)(Type Float)
|*                                       (Range <typ> <min> <max>))
|
|               (Rx_Receiver_Sensitivity (Usage Info)(Type Float)
|*                                       (Corner <slow> <fast>))


On pg. 149 remove the following lines:


|               The user defined parameters must be in the following format:
|
|               (<parameter_name> (usage <usage>) (Type <data type>)
|                                 (Format <data format>) (Default <values>)
|                                 (Description <string>))
|


On pg. 150 replace the following lines:


  (Model_Specific                      | Required heading
    (txtaps
      (-2 (Usage Inout)(Type Tap) (Format Range 0.1 -0.1 0.2)(Default 0.1)
          (Description "Second Precursor Tap"))
      (-1 (Usage Inout)(Type Tap) (Format Range 0.2 -0.4 0.4)(Default 0.2)
          (Description "First Precursor Tap"))
      (0  (Usage Inout)(Type Tap) (Format Range 1 -1 2)(Default 1)
          (Description "Main Tap"))
      (1  (Usage Inout)(Type Tap) (Format Range 0.2 -0.4 0.4)(Default2 0.2)
          (Description "First Post cursor Tap"))
      (2  (Usage Inout)(Type Tap) (Format Range 0.1 -0.1 0.2)(Default 0.1)
          (Description "Second Post cursor Tap"))
    )                                  | End txtaps
    (tx_freq_offset (Format Range 1 0 150) (Type UI) (Default 0))
  )                                    | End Model_Specific
)                                      | End SampleAMI


with these lines:


  (Model_Specific                      | Required heading
    (txtaps
*     (-2 (Usage Inout)(Type Tap) (Range 0.1 -0.1 0.2)(Default 0.1)
          (Description "Second Precursor Tap"))
*     (-1 (Usage Inout)(Type Tap) (Range 0.2 -0.4 0.4)(Default 0.2)
          (Description "First Precursor Tap"))
*     (0  (Usage Inout)(Type Tap) (Range 1 -1 2)(Default 1)
          (Description "Main Tap"))
*     (1  (Usage Inout)(Type Tap) (Range 0.2 -0.4 0.4)(Default2 0.2)
          (Description "First Post cursor Tap"))
*     (2  (Usage Inout)(Type Tap) (Range 0.1 -0.1 0.2)(Default 0.1)
          (Description "Second Post cursor Tap"))
    )                                  | End txtaps
*   (tx_freq_offset (Range 1 0 150) (Type UI) (Default 0))
  )                                    | End Model_Specific
)                                      | End SampleAMI



Also, make sure "data format" is spelled consistently as "Data Format" or
"data_format" or "Data_Format" or what have you...


The syntax for a leaf is: 
<leaf>:   ( <parameter name> whitespace <value list> )
So in a Table which is written like this:   (-50 -0.1 1e-35),  -50 is
actually a parameter name, i.e. a string, not a value.


Fix Table 1 and 3
- NA in Table 1


Ambiguity about the relationship between "Format" and text strings???

*****************************************************************************

ANALYSIS PATH/DATA THAT LED TO SPECIFICATION

Careful reading of the specification revealed that these items are
misleading and/or redundant.  The proposed changes take into account
the removal of the Use_Init_Output Boolean in the proposed reference
flow.

*****************************************************************************

ANY OTHER BACKGROUND INFORMATION:


*****************************************************************************

Other related posts: