Subject: V/I table validation method (from Kellee Crisafulli)

From: Kellee Crisafulli <[email-masked]>
Date: 15 Mar 94 03:43:04 EST

From: Kellee Crisafulli, HyperLynx

To:   Jon Powel(Quad Design), Will Hobbs, IBIS forum

Date: Monday, (March 15, 1994)

RE: A method to determine if V/I tables in an IBIS model are
    entered with the correct current direction.

HyperLynx has one customer that had it happen to him....

At least 2 semiconductor companies have had it happen....

Kellee had it happen to him at least once...

Well ok, we were all bombed by the great IBIS bird.

We all made the mistake of creating at least one V/I table
with the wrong current direction.

At the IBIS meeting last Friday we discussed this problem and had
general agreement that the IBIS_CHK program should be modified very
soon to detect this problem.  I made a proposal for a method to detect
the problem.  Jon Powel volunteered to make the changes to the program.

At the meeting we proposed a 3 step plan to get a quick update of the
program completed:
  1) Kellee submits his method to the general committee for comment
     Monday.

  2) If by Friday there is a reasonable consensus that this approach
     is acceptable than Will Hobbs will give the go ahead to modify
     IBIS_CHK.

  3) Jon Powel at Quad Design volunteered to make the changes to the
     master copies of IBIS_CHK and release them to the VHDL machine.
     The goal is two have it finished by the end of next week.

  4) Everyone who is a paid IBIS member will have access to the source
     code.  Everyone else will have access to the binary executable.

Here is the method I am proposing to determine if an IBIS V/I table
was entered in the correct direction.  Please have your comments posted
by Friday.  (Thanks in advanced for your quick response).

No response is considered accepting the proposal as is.

For each V/I table:
1) Sort the V/I table into voltage order from most negative to most
   positive voltage.

2) Start at the most negative voltage point.

3) As you asend through the table count the number of times the TYPICAL
   current increases versus decreases.

   If there are more increases than the table has increasing current.
   If there are more decreases than the table has decreasing current.

4) Verify that:
        - Pullup      V/I table has decreasing current
        - POWER_clamp V/I table has decreasing current
        - Pulldown    V/I table has increasing current
        - GND_clamp   V/I table has increasing current

5) If any table moves in the wrong direction flag as an error

---

From: [email-masked] (Jon Powell)
Date: Tue, 15 Mar 94 09:03:24 PST

Cases that will not work for proposed algorithm:

V:    I:
0.0   0.0
3.5   50.0
3.51  49.9
3.52  49.8
3.53  49.7
5.0   100.0

any OC any OD

perhaps it should be the relative size of the changes and not the
absolute number?

Perhaps it should just be the absolute value at VCC. If current is possitve
at VCC for a pulldown, then it cannot pulldown.

If current is not negative at GND for the pullup then it cannot pullup?
(except for ECL OC etc?).

jonp