All, I need to make a correction / clarification to reduce the possibility of seeing more models made incorrectly. The IBIS specification says that the min. and max. entries of the model should always be based on the magnitude of the value. There is only one exception to this, temperature. The reason for temperature being an exception is because for CMOS, high T is slowing / weakening the device, but for bipolar high T strengthens / speeds up the device. Since in IBIS the temperature values are mostly there for informational purposes (to tell the tool what the conditions were when the data was generated), we decided that this could also tell us whether the device is CMOS or bipolar. So if max T is > min T in IBIS, it implies that we have a bipolar, and if max T is < min T than we have a CMOS device. The rest of the parameters all go by magnitude, big number must be placed in the max. position, and small number in the min. position. The reason for this is because it is impossible to tell whether a large die capacitance (C_comp) or package parasitic weather will be your best or worst, fast or slow, etc case in your SI simulation results. Some times a fast edge can result in a very long flight time because the large overshoot and ringing that could be a result of the fast edge. Quoting from the last chapter of the 4.0 spec: | The voltage and temperature keywords and optionally the process models | control the conditions that define the "typ", "min", and "max" column | entries for all I-V table keywords [Pulldown], [Pullup], [GND Clamp], = and | [POWER Clamp]; all [Ramp] subparameters dV/dt_r and dV/dt_f; and all | waveform table keywords and subparameters [Rising Waveform], [Falling | Waveform], V_fixture, V_fixture_min, and V_fixture_max. | | The voltage keywords that control the voltage conditions are [Voltage | Range], [Pulldown Reference], [Pullup Reference], [GND Clamp = Reference], and | [POWER Clamp Reference]. The entries in the "min" columns contain the | smallest magnitude voltages, and the entries in the "max" columns = contain | the largest magnitude voltages. |=20 | The optional [Temperature Range] keyword will contain the temperature = which | causes or amplifies the slow, weak conditions in the "min" column and = the | temperature which causes or amplifies the fast, strong conditions in = the | "max" column. Therefore, the "min" column for [Temperature Range] = will | contain the lowest value for bipolar models (TTL and ECL) and the = highest | value for CMOS models. Default values described later are assumed if | temperature is not specified. | | The "min" and "max" columns for all remaining keywords and = subparameters | will contain the smallest and largest magnitude values. This applies = to the | [Model] subparameter C_comp as well even if the correlation to the = voltage, | temperature, and process variations are known because information = about such | correlation is not available in all cases.=20 Now, regarding your reversed IV curves, in the old days it was always true that the larger IV table went into your max. column, etc. However, with the arrival of compensated drivers, the differences between typ., min., max. may be very small, and as someone mentioned, it is possible that they cross somewhere. Where do you put an IV curve if it is smaller in the linear region, but larger in the saturation region? Also, what do you do if the max. pullup IV table is stronger, but the max. pulldown is weaker than typical? In IBIS they need to track, i.e. whatever the conditions for the pullup IV curves were, have to be the conditions for the pulldown also (supply voltage and temperature). Also consider that the compensation circuit may end up selecting a slightly weaker IV curve for the high supply low temp case than the typical conditions case due to the operation of the A/D converter, selection granularity, noise, etc... To summarize, with modern buffers some times it becomes impossible to keep things in numerical order as they used to be. And this doesn't necessarily mean that the model is plain blank BAD. I hope this helps understanding what may be involved here. Arpad Muranyi Intel Corporation =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -----Original Message----- From: si-list-bounce@xxxxxxxxxxxxx [mailto:si-list-bounce@xxxxxxxxxxxxx]On Behalf Of Jon Powell Sent: Monday, November 17, 2003 8:49 AM To: chris.mcgrath@xxxxxxxx; si-list@xxxxxxxxxxxxx Subject: [SI-LIST] Re: IBIS Model error Chris, you should go take a look at the IBIS spec to make sure I am right about this but.... One of the problems we had when we were writing IBIS was trying to = condense many corners (fast, slow, hot, cold, big, little, etc) into just 3. I = don't remember why we chose 3 when it would have been just as easy for us to choose N, but we did. So there. Anyway, I think we decided that MIN was = fast and MAX was slow (in general) and there are recommendations in the IBIS = spec on how to achieve this. But I do agree that TYP should somehow be in between MIN and MAX. jon ------------------------------------------------------------------ To unsubscribe from si-list: si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field or to administer your membership from a web page, go to: //www.freelists.org/webpage/si-list For help: si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field List technical documents are available at: http:/www.si-list.org List archives are viewable at: //www.freelists.org/archives/si-list or at our remote archives: http://groups.yahoo.com/group/si-list/messages Old (prior to June 6, 2001) list archives are viewable at: http://www.qsl.net/wb6tpu