Subject: TEST MATRIX

From: Stephen Peters <[email-masked]>
Date: Mon, 31 Oct 1994 17:16:49 -0800

Hello Fellow IBISans:

     As promised during Friday's open forum here is a test matrix of the
major functions/features of IBIS 2.x.  The spec has been broken into
smaller sections, with various tests for each section/keyword.  I have filled 
the matrix out the best I can with the testing I have done.  As you finish 
your testing of a specific section post your results to the reflector (please,
refer to the section and test covered) and I will update and post the matrix 
at regular intervals.  Don't be afraid to add more tests to a particlular section
-- I don't pretend that the matrix is all inclusive.

     So far I have been concentrating on the waveform tables and pin
mapping.  Bob Ross has done some work with the Diff pin keyword and ECL.
Please note that this test matrix covers only the "user visable" portion
of the parser, at this point testing out the contents of the data structure
is left to the the simulator vendors.  Have fun......

                          Regards,
                          Stephen Peters
                          Intel Corp.

                A TEST MATRIX FOR IBIS VERSION 2.x

DATE:  10/31/94

SPECIFICATION TESTED                   PASS    Comments/who tested
--------------------------------------+-----+-----------------------------+
Test that the parser only             |     |                             |
accepts 1.0, 1.1, 2.0, 2.1 as         |     |                             |
valid arguments to the [IBIS Ver]     | yes | Stephen Peters              |
keyword.                              |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Scaling Factors:                      |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
"T", "G" and "f" as valid scaling     |  ?  | No indication either way    |
factors.                              |     |                             |
                                      |     |                             |
Test that the parser does not         |     |                             |
recognize "t", "g" and "F" as         |  ?  | No indication either way    |
Valid scaling factors.                |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Keywords rules:                       |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the [GND clamp] and [PWR clamp]       | yes |  Stephen Peters             |
keywords without the underscore.      |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if a keyword does not begin     | yes |  Stephen Peters             |
in column 1.                          |     |                             |
                                      |     |                             |
Test case insensitivity of all        |     |                             |
keywords, reserved words and          | NO  | Pin mapping keyword does not|
sub-parameters                        |     | recognize "power" and "gnd" |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Comments and Notes:                   |     |                             |
                                      |     |                             |
Test that the parser does not         |     |                             |
accept "+" and "-" as valid           | yes |  Stephen Peters             |
comment characters.                   |     |                             |
                                      |     |                             |
Test that the parser recognizes       | yes |  Stephen Peters             |
the [Copyright] keyword.              |     |                             |
                                      |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Component keyword related:            |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if the [Component] keyword      | yes |   Stephen Peters            |
has no component name after it.       |     |                             |
                                      |     |                             |
Test that the parser issues a warning |     |                             |
if the component name contains blanks | yes |   Stephen Peters            |
                                      |     |                             |
Test the component name length        |     |                             |
rules:                                |     |                             |
parser accepts name < 40 characters   | yes |   Stephen Peters            |
parser accepts name = 40 characters   | yes |        "                    |
parser fails if name > 40 characters  | yes |        "                    |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if the [Manufacture] keyword    | yes |   Stephen Peters            |
has no Manufactures name after it.    |     |                             |
                                      |     |                             |
Test the Manufactures name length     |     |                             |
rules:                                |     |                             |
parser accepts name < 40 characters   | yes |    Stephen Peters           |
parser accepts name = 40 characters   | yes |    Stephen Peters           |
parser fails if name > 40 characters  | yes |    Stephen Peters           |
                                      |     |                             |
Test that an .ibs file can contain    |     |                             |
more than one [Component] keyword     |     |                             |
and component description.            |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Pin keyword related:                  |     |                             |
                                      |     |                             |
Test that the parser recognizes       | yes |   Stephen Peters            |
the [Pin] keyword.                    |     |                             |
                                      |     |                             |
Test that the parser issues a         |     |                             |
error when every model_name does      | NO  |                             |
not have a corresponding model        |     |                             |
defined.                              |     |                             |
                                      |     |                             |
Test the "3 column or 6 column"       |     |                             |
rule.                                 | yes |   Stephen Peters            |
                                      |     |                             |
Test that the parser issues an error  |     |                             |
when non-numeric data is in the pin   | yes |   Stephen Peters            |
data columns                          |     |                             |
--------------------------------------+-----+-----------------------------+
Package Model related:                |     |                             |
                                      |     |                             |
Test that the parser recognizes       | yes |  Stephen Peters             |
the [Package Model] keyword.          |     |                             |
                                      |     |                             |
Test the package model name length    |     |                             |
rules                                 |     |                             |
parser accepts name < 40 characters   |  no | Name is taken as a DOS file |
parser accepts name = 40 characters   |  no | name and not as argument to |
parser fails if name > 40 characters  |  no | the [Define Package Model]  |
                                      |     | keyword                     |
Verify that the parser issues an      |     |                             |
error if it cannot find:              |     |                             |
                                      |     |                             |
1. A [Define Package Model] keyword   |     |                             |
that has the same argument as the     |     |                             |
[Package Model] keyword or            |     |                             |
                                      |     |                             |
2. An external .pkg file that has     |     |                             |
a [Define Package Model] keyword      |     |                             |
with  has the same argument as the    |     |                             |
[Package Model] keyword.              |     |                             |
                                      |     |                             |
Test that the parser recognizes all   |     |                             |
keywords in the package model         |     |                             |
description:                          |     |                             |
[Define Package Model]                |     |                             |
[Manufacturer]                        |     |                             |
[OEM]                                 |     |                             |
[Description]                         |     |                             |
[Number of Pins]                      |     |                             |
[Pin Numbers]                         |     |                             |
[Model Data]                          |     |                             |
[Resistance Matrix]                   |     |                             |
[Inductance Matrix]                   |     |                             |
[Capacitance Matrix]                  |     |                             |
[Bandwidth]                           |     |                             |
[Row]                                 |     |                             |
[End Model Data]                      |     |                             |
[End Package Data]                    |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Pin Mapping keyword related:          |     |                             |
                                      |     |                             |
Test that the parser recognizes       | yes |  Stephen Peters             |
the [Pin Mapping] keyword.            |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if every pin listed in the      |  NO |                             |
[Pin] keyword does not have an        |     |                             |
entry in the [Pin Mapping] table      |     |                             |
                                      |     |                             |
Test the "3 column or 5 column"       | yes |  Stephen Peters             |
rule.                                 |     |                             |
                                      |     |                             |
Test that NC is a valid entry         |     |                             |
in a column.                          | yes |  Stephen Peters             |
                                      |     |                             |
Test that each unique entry label     |     |                             |
must connect to at least one pin      |     |                             |
whose model name is POWER or GND      | yes |  Stephen Peters             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Diff Pin keyword related:             |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the [Diff Pin] keyword.               |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the 5 associated sub-parameters       |     |                             |
                                      |     |                             |
Test the "4 column or 6 column"       |     |                             |
rule.                                 |     |                             |
                                      |     |                             |
Test that NC is NOT a valid           |     |                             |
column entry.                         |     |                             |
                                      |     |                             |
Test that NA is a valid column        |     |                             |
entry.                                |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
[Model] keyword:                      |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the [Model] keyword.                  |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
each Model_type:                      |     |                             |
Input                                 | yes |                             |
Output                                | yes |                             |
I/O                                   | yes |                             |
3-state                               |     |                             |
Open_Drain                            |     |                             |
I/O_open_drain                        | yes |                             |
Open_sink                             | yes |                             |
I/O_open_sink                         |     |                             |
Open_source                           |     |                             |
I/O_open_source                       |     |                             |
Input_ECL                             |     |                             |
Output_ECL                            |     |                             |
I/O_ECL                               |     |                             |
Terminator                            |     |                             |
                                      |     |                             |
Test that the parser issues           |     |                             |
a warning if an input type model      | yes |  Stephen Peters             |
does not have Vinh or Vinl defined.   |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if the Model_type or C_comp     | yes |  Stephen Peters             |
sub-parameters are missing.           |     |                             |
                                      |     |                             |
Test that the parser accepts a        |     |                             |
[Model] description with only the     |     |                             |
Model_type and C_comp sub-params      | yes |  Stephen Peters             |
defined.                              |     |                             |
                                      |     |                             |
Test that the parser allows NA in     |     |                             |
the min and max columns only of the   | yes |  Stephen Peters             |
C_Comp sub-parameter.                 |     |                             |
                                      |     |                             |
Test that the parser allows only      |     |                             |
Non-inverting and Inverting as        | yes |  Stephen Peters             |
choices for the Polarity sub-param    |     |                             |
                                      |     |                             |
Test that the parser allows only      |     |                             |
Active-high and Active-low as         | yes |  Stephen Peters             |
choices for the Enable sub-param      |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the Vmeas, Cref, Rref and Vref        | yes |  Stephen Peters             |
sub-parameters.                       |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Temperature keyword related:          |     |                             |
                                      |     |                             |
Test that the parser recognizes       | yes |  Stephen Peters             |
the [Temperature Range] keyword       |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Power supply rail related:            |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the supply rail keywords              |     |                             |
[Voltage Range]                       | yes |   Stephen Peters            |
[Pullup Reference]                    |  "  |                             |
[Pulldown Reference]                  |  "  |                             |
[POWER Clamp Reference]               |  "  |                             |
[GND Clamp Reference]                 |  "  |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if the [Voltage Range]          |     |                             |
keyword is absent and all four of     |     |                             |
the other supply rail keywords are    | yes |  Stephen Peters             |
NOT present.                          |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
I/V table related:                    |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the [Pullup], [Pulldown], [GND        | yes |                             |
Clamp] and [Power Clamp] keywords.    |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if all three columns are        |     |                             |
not included                          |     |                             |
                                      |     |                             |
Test that NA is accepted in the       |     |                             |
min and max columns.                  |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if a column contains over       |     |                             |
100 points.                           |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if a table contains less        | yes | Stephen Peters              |
than two points.                      |     |                             |
                                      |     |                             |
Test that the parser issues a         |     |                             |
warning if non-monotonic data         |     |                             |
is found.                             |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Terminator related:                   |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the [Rgnd], [Rpower], [Rac] and       |     |                             |
[Cac] keywords.                       |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if Model_type is Terminator     |     |                             |
and at least one of the above         |     |                             |
keywords is not present.              |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if all three columns are        |     |                             |
not included                          |     |                             |
                                      |     |                             |
Test that NA is accepted in the       |     |                             |
min and max columns.                  |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Ramp keyword related:                 |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the [Ramp] keyword and the            | yes |  Stephen Peters             |
Dv/dt_r and Dv/dt_f sub-parameters.   |     |                             |
                                      |     |                             |
Test that the parser recognizes       | yes |  Stephen Peters             |
the R_load sub-parameter.             |     |                             |
                                      |     |                             |
Test that the R_load sub-parameter    | yes |  Stephen Peters             |
is optional.                          |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Waveform Related:                     |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the [Rising Waveform] and [Falling    |  NO |                             |
Waveform] keywords.                   |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the sub-parameters:                   |     |                             |
R_fixture                             |  NO |                             |
V_fixture                             |  NO |                             |
V_fixture_max                         |     |                             |
V_fixture_min                         |     |                             |
C_fixture                             |     |                             |
L_fixture                             |     |                             |
R_dut                                 |     |                             |
L_dut                                 |     |                             |
C_dut                                 |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if the R_fixture and            |     |                             |
V_fixture sub-parameters are not      |     |                             |
present.                              |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if a column contains over       |     |                             |
100 points.                           |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if a table contains less        |     |                             |
than two points.                      |     |                             |
--------------------------------------+-----+-----------------------------+