Subject: IBISCHK2 TESTMATRIX UPDATE

From: [email-masked] ( Bob Ross)
Date: Wed, 16 Aug 95 19:12 PDT

Hello Fellow IBISans, Paul and Ron:

I checked IBISCHK2, Version 8 and found the following: 

(1)  The "Banded_matrix" works correctly most of the time based on BIRD29.2.
However, there are a few cases which are not caught and which appear to
create pointer problems.  If I discover other cases, I will report them
directly.  The attached pkg2.ibs shows some of the problems.  This appears
to be the only problem area remaining.

(2)  The Sparse matrix problems previously reported:  - ALL FIXED

(3)  Finally, an additional test on each [Component]'s [Pin] list is needed
if it has a [Package Model] keyword.  The [Define Package Model] section
contains a [Pin Numbers] list that must match the entries of the [Pin]
list both in content and quantity.  The order can be different.  This
added comparison test should be done for each [Component] even if they
refer to the same [Package Model] because the order and content of
each [Component] [Pin] list can differ.

FIXED

Again, Great Job Ron and Paul!

Bob Ross
Interconnectix, Inc.

                A TEST MATRIX FOR IBIS VERSION 2h (Beta 8)

DATE:  10/31/94, 12/2/94, 1/26/95, 3/4/95, 3/8/95 5/25/95 7/6/95, 8/16/95

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.                              |     |                             |
                                      |     |                             |
Tab character warning                 | yes | Bob Ross                    |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Scaling Factors:                      |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
"T", "G" and "f" as valid scaling     | yes | No indication either way    |
factors.                              |     | Bob Ross - this is proper   |
                                      |     | operation                   |
Test that the parser does not         |     |                             |
recognize "t", "g" and "F" as         | yes | No indication either way    |
Valid scaling factors.                |     | Bob Ross - proper operation |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Keywords rules:                       |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the [GND clamp] and [PWR clamp]       | yes |  Stephen Peters             |
keywords without the underscore.      |     |                             |
Test Underscore rule for 3-word       | yes |  Bob Ross                   |
Keyoreds - all 4 cases.               |     |                             |
                                      |     |                             |
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          | yes | Pin mapping keyword does not|
sub-parameters                        |     | recognize "power" and "gnd" |
                                      |     | Bob Ross - OK, should be    |
                                      |     | "pulldown_ref", "pullup_ref,|
                                      |     | "gnd_clamp_ref", and        |
                                      |     | "power_clamp_ref"           |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
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    | yes |    Bob Ross                 |
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      | yes |   Bob Ross                  |
not have a corresponding model        |     |   (I don't see the problem) |
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                          |     |                             |
                                      |     |                             |
Test that [Pin] entries agree with    | yes |  Bob Ross                   |
[Pin Numbers] entries if the [Package |     |  Fixed                      |
Model] keyword is used.               |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Package Model related:                |     |                             |
                                      |     |                             |
Test that the parser recognizes       | yes |  Stephen Peters             |
the [Package Model] keyword.          |     |                             |
                                      |     |                             |
Test the package model name length    | yes |  Bob Ross                   |
rules                                 |     |  Fixed:                     |
parser accepts name < 40 characters   | yes | Name is taken as a DOS file |
parser accepts name = 40 characters   | yes | name and not as argument to |
parser fails if name > 40 characters  | yes | 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     | yes |  Bob Ross                   |
[Package Model] keyword or            |     |                             |
                                      |     |                             |
2. An external .pkg file that has     | yes |  Bob Ross                   |
a [Define Package Model] keyword      |     |                             |
with  has the same argument as the    |     |                             |
[Package Model] keyword.              |     |                             |
                                      |     |                             |
3. Test that the parser recognizes    |     |                             |
all keywords in the package model     |     |                             |
description and operation below:      |     |                             |
   (1) Error if Missing               |     |                             |
   (2) Error if Duplicate             |     |                             |
   (3) Error if Wrong Argument        |     |                             |
[Define Package Model]       1,2,3    | yes |  Bob Ross                   |
[Manufacturer]               1,2,3    | yes |                             |
[OEM]                        1,2,3    | yes |                             |
[Description]                1,2,3    | yes |                             |
[Number of Pins]             1,2,3    | yes |  fixed                      |
[Pin Numbers]                1,2,3    | yes |                             |
[Model Data]                 1,2      | yes |                             |
[Resistance Matrix]          2,3      | yes |                             |
[Inductance Matrix]          1,2,3    | yes |                             |
[Capacitance Matrix]         1,2,3    | yes |                             |
[Bandwidth]                  1,2,3    | yes |  fixed                      |
[Row]                  1,2,3-fails    | NO  |  (problems below)           |
[End Model Data]             1,2      | yes |  Bob Ross                   |
[End Package Data]           1,2      | yes |      "                      |
                                      |     |                             |
                                      |     |                             |
4. Full_matrix Tests                  |     |  Bob Ross                   |
[Bandwidth] error test                | yes |                             |
[Row] number entry (match pin)        | yes | fixed                       |
[Row] number entry (repeated)         | yes | fixed                       |
[Row] number entry (all rows entered) | yes | fixed                       |
[Row] number entry (ascending order)  | yes |                             |
[Row] format (upper triange matrix)   | yes | fixed                       |
[Row] format (excessive data)         | yes |                             |
[Row] format (missing data)           | yes | fixed                       |
                                      |     |                             |
5. Banded_matrix Tests                |     |  Bob Ross                   |
[Bandwidth] req'd test                | yes |  fixed                      |
[Bandwidth] argument req'd            | yes |                             |
[Bandwidth] argument value            | yes |                             |
[Row] number entry (match pin)        | yes |  fixed                      |
[Row] number entry (repeated)         | yes |  fixed                      |
[Row] number entry (all rows entered) | yes |                             |
[Row] number entry (ascending order)  | yes |                             |
[Row] format (excessive data)         | yes |                             |
[Row] format (missing data)           | yes |  fixed                      |
[Row] format non-circular coupling    | yes |                             |
[Row] format circular coupling (cc)   | NO  |  BIRD29.2                   |
[Row] format bandwidth limits (cc)    | yes |  BIRD29.2 fixed             |
                                      |     |                             |
6. Sparse_matrix Tests                |     |  Bob Ross                   |
[Bandwidth] error test                | yes |                             |
[Row] number entry (match pin)        | yes |  fixed                      |
[Row] number entry (repeated)         | yes |  fixed                      |
[Row] number entry (all rows entered) | yes |  fixed                      |
[Row] number entry (ascending order)  | yes |  fixed                      |
[Row] index match                     | yes |                             |
[Row] index upper-triangle            | yes |  fixed                      |
[Row] index repeated                  | yes |                             |
[Row] index (alpha string)            | yes |  Fixed                      |
[Row] format (excessive data)         | yes |  fixed                      |
[Row] format (missing data)           | yes |  fixed                      |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
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      | yes |  Bob Ross - fixed           |
[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             |
                                      |     |                             |
Test that NA is NOT a valid           |     |                             |
column entry                          | yes |  Bob Ross                   |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Diff Pin keyword related:             |     |                             |
                                      |     |                             |
Test that the parser recognizes       | yes |  Bob Ross                   |
the [Diff Pin] keyword.               |     |                             |
                                      |     |                             |
Test that the parser recognizes       | yes |  Bob Ross                   |
the 5 associated sub-parameters       |     |                             |
                                      |     |                             |
Test the "4 column or 6 column"       | yes |  Bob Ross                   |
rule.                                 |     |                             |
                                      |     |                             |
Test that NC is NOT a valid           | yes |  Bob Ross                   |
column entry.                         |     |                             |
                                      |     |                             |
Test that NA is a valid column        | yes |  Bob Ross                   |
entry.                                |     |                             |
                                      |     |                             |
Reports error for duplicate pin       | yes |  Bob Ross                   |
numbers.                              |     |                             |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
[Model] keyword:                      |     |                             |
                                      |     |                             |
Test that the parser recognizes       | yes |  Bob Ross                   |
the [Model] keyword.                  |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
each Model_type:                      |     |                             |
Input                                 | yes |   Bob Ross                  |
Output                                | yes |                             |
I/O                                   | yes |                             |
3-state                               | yes |                             |
Open_drain                            | yes |                             |
I/O_open_drain                        | yes |                             |
Open_sink                             | yes |                             |
I/O_open_sink                         | yes |                             |
Open_source                           | yes |                             |
I/O_open_source                       | yes |                             |
Input_ECL                             | yes |                             |
Output_ECL                            | yes |                             |
I/O_ECL                               | yes |                             |
Terminator                            | yes |                             |
                                      |     |                             |
Test that the parser issues           |     |                             |
a warning if an input type model      | yes |  Stephen Peters             |
does not have Vinh or Vinl defined.   |     |                             |
For All I/O_* cases.                  | yes |  Bob Ross                   |
                                      |     |                             |
                                      |     |                             |
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 |  Stephen Peters             |
Clamp] and [Power Clamp] keywords.    |     |                             |
                                      |     |                             |
Test that the parser issues an        | yes |  Bob Ross                   |
error if all three columns are        |     |                             |
not included                          |     |                             |
                                      |     |                             |
Test that NA is accepted in the       | yes |  Bob Ross                   |
min and max columns.                  |     |                             |
                                      |     |                             |
Test that the parser issues an        | yes |  Bob Ross                   |
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         | yes |  Bob Ross                   |
warning if non-monotonic data         |     |                             |
is found.                             |     |                             |
Test for One Warning per Column       | yes |  Bob Ross                   |
                                      |     |                             |
--------------------------------------+-----+-----------------------------+
Terminator related:                   |     |                             |
                                      |     |                             |
Test that the parser recognizes       | yes |  Bob Ross                   |
the [Rgnd], [Rpower], [Rac] and       |     |                             |
[Cac] keywords.                       |     |                             |
                                      |     |                             |
Test if [Rac], then [Cac] req'd.      | yes |  Bob Ross                   |
                                      |     |                             |
Test if [Cac], then [Rac] req'd.      | yes |  Bob Ross                   |
                                      |     |                             |
Test if parser issues an error with   |     |                             |
above keywords AND Model_type is NOT  | yes |  Bob Ross                   |
Terminator.                           |     |                             |
                                      |     |                             |
Test that parser DOES NOT issue an    | yes |  Bob Ross                   |
error if above models are NOT         |     |                             |
defined.  (Clamps or no components    |     |                             |
can also be "Terminators")            |     |                             |
                                      |     |                             |
Test that the parser issues an        | yes |  Bob Ross                   |
error if all three columns are        |     |                             |
not included                          |     |                             |
                                      |     |                             |
Test that NA is accepted in the       | yes |  Bob Ross                   |
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    | yes |   Bob Ross                  |
Waveform] keywords.                   |     |                             |
                                      |     |                             |
Test that the parser recognizes       |     |                             |
the sub-parameters:                   |     |                             |
R_fixture                             | yes |   Bob Ross                  |
V_fixture                             | yes |                             |
V_fixture_max                         | yes |                             |
V_fixture_min                         | yes |                             |
C_fixture                             | yes |                             |
L_fixture                             | yes |                             |
R_dut                                 | yes |                             |
L_dut                                 | yes |                             |
C_dut                                 | yes |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if the R_fixture and            | yes |   Bob Ross                  |
V_fixture sub-parameters are not      |     |                             |
present.                              |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if a column contains over       | yes |   Bob Ross                  |
100 points.                           |     |                             |
                                      |     |                             |
Test that the parser issues an        |     |                             |
error if a table contains less        | yes |   Bob Ross                  |
than two points.                      |     |                             |
                                      |     |                             |
Test NA permitted in typical column   | yes |   Bob Ross                  |
--------------------------------------+-----+-----------------------------+

|***************************************************************
|
[IBIS Ver]        2.1
[File Name]       pkg2.ibs
[File Rev]        0.1
[Date]            August 16, 1995
[Source]          Interconnectix Inc.
[Disclaimer]      Provided for modeling purposes only.
                  Results are not guaranteed.
|
|***************************************************************
|
[Component]      PACKAGE-TEST 
[Manufacturer]   Test File
[Package]
| variable      typ             min             max
R_pkg           0.0m            NA              NA
L_pkg           0.0nH           NA              NA
C_pkg           0.0pF           NA              NA
|
|***************************************************************
|
[Pin]           signal_name     model_name      R_pin   L_pin   C_pin
A1              P_1             NC
2               P_2             NC
5               P_3             NC
4               P_4             NC   
3               P_5             NC     

[Package Model] test

[Define Package Model]  test
[Manufacturer]          anyone
[OEM]                   this file has
[Description]           BIRD29.2 tests

[Number of Pins]        5            

[Pin Numbers]
A1
2
3
4
5
                    
[Model Data] 
[Inductance Matrix]      Banded_matrix       | Should Fail
[Bandwidth]              2
[Row]   A1
.01 .01 .01  | .01       | Adding another column here reports correct error
[Row]   2
.01 .01 .01
[Row]   3
.01 .01 .01  | .01       | Adding another column creates "PROGRAM BUG"
[Row]   4
.01 .01                  | Needs 3 entries for circle-back case.
[Row]   5         
.01 .01 .01  | .01       | Adding another column here reports correct error

[Capacitance Matrix]    Banded_matrix 
| [Bandwidth]             2             | Get "PROGRAM BUG" if [Bandwidth]
[Row]   A1                              | missing or has wrong argument
.01 .01 .01 .01                         | such as 0, 1, 2
[Row]   2                          
.01 .01 .01 .01  
[Row]   3
.01 .01 .01 .01
[Row]   4
.01 .01 .01 .01
[Row]   5
.01 .01 .01 .01

[Resistance Matrix]     Banded_matrix
[Bandwidth]             1
[Row]   A1 
.01 .01 
[Row]   2
.01 .01
[Row]   3
.01 .01
[Row]   4
.01 .01  | .01          | Adding another columm here creates "PROGRAM BUG"
[Row]   5
.01 .01 

[End Model Data]
[End Package Model]
|
[End]