Tables

Abstract

This section describes numeric key-value tables used to define
nonlinear transfer functions and waveforms.

Description

Tables take the following form:

1. A header identifying the table.
Form: The table's name in square brackets.
Example: [Rising Waveform]
You may optionally put the word "Begin" in front.
Example: [Begin Rising Waveform]

2. Name=value pairs used as additional attributes and to group tables
and make the equivalent of multi-dimensional tables.  There may be
zero or more of these, but a particular table will specify which names 
are required or optional.
Form: name = value.
Example: R_fixture = 50

3. Column headings for the following table of numbers.  This is
optional, and even if present may be ignored in some cases.
Alternatively, the columns are known as $0, $1, $2, and so on.
Form: a list of words.
Example: time typ min max

4. The data.  This is a list of numbers, organized by row and column.
If column headings are supplied, the number of columns must match the
number of headings.  The number of columns must be consistent within a
table.  The value "NA" is permitted to say that the data is omitted,
but any column must have at least 2 values.
Example:
  0   0   0   0
 1n 1.0  .5 1.5
 2n 2.0 1.5 2.5
 3n 3.0 2.5 3.5
 4n 4.0 3.5 4.5
 5n 5.0 4.5 5.5

5. Terminator. Any line beginning with '[' (left square bracket) is
considered to be a terminator. The preferred terminator is the same as
the header, prefixed by the word "End".
Example: [End Rising Waveform]
If the terminator is anything else, it is not absorbed, but assumed to
belong to something else. 
Example: [Something Else]

IBIS 3.2 compatibility

Tables are used for the following keywords in the [Model] section:
(any) Pulse table
Pull(any)
(any) Clamp Table
Series Current

Example

[Rising Waveform]
R_fixture = 50
time typ min max
  0   0   0   0
 1n 1.0  .5 1.5
 2n 2.0 1.5 2.5
 3n 3.0 2.5 3.5
 4n 4.0 3.5 4.5
 5n 5.0 4.5 5.5

[something else]

Application

The usual application is as a parameter for a simple element, where a
reference to the table substitutes for the value.

Application example

Suppose that in a [Model] section, there is a table:

[Canary]
-5 -.1
-2 -.05
 0  0
 2  .05
 5  .1
[End Canary]

and in its corresponding [Define Model] section, there is a component:

resistor R12 (a1 a2) I=Canary[V]

This means that this resistor's I/V characteristic is defined by the
table [Canary].
