Minutes of 8/15/2000 IBIS-X teleconference Attending: Mike LaBonte, Bob Ross, Arpad Muranyi, Al Davis, John Angulo Continued debate over a complete suite of SPICE elements vs. fewer, more powerful elements. Arpad leans toward the latter to keep the spec small. Bob pointed out that Al and Arpad are having a "heated agreement". Mike mentioned that Michael Cohen has asked for the IBIS-X requirements, to help him evaluate the applicability of VHDL/AMS. Mike sent a copy of the minutes from the original IBIS-X meeting to the group. We should review the requirements. Continued discussion of the macro language. - We discussed the "driver" element (called .driver in the file): - ACTION: Al will write a more complete explanation of the "driver" element. - The "driver" element is where we handle IBIS 2.1 V/T curves. This is where each simulator will put it's own black magic. - We agreed that simulators should not produce different results. A solution to this is to construct a newer macro with something like time-dependent variable resistors. The data for these would have to be produced by a new technique. In this regard the driver element is deprecated. - At the prospect of having 2-dimensional tables, Arpad suggested that we should have equations instead of tables, so save space. There are curve fitting tools to convert tables to equations, but accuracy may not be good enough ("good" points may be lost). - There was some discussion of static vs. dynamic statements: - Static statements are evaluated once, at read time. Dynamic statements are evaluated during simulation. - .if statements are static, evaluated at parse time. - .select statements are dynamic, evaluated at run time. - .inherit statements are static. - There will be no special element delete statement to removed inherited elements. Handling of duplicate instances will be the same as for duplicated statements that simply appear in the same macro. - CONSENSUS: The ".inherit" statement must be defined as an inline expansion that can be performed at read time. - We discussed the Series_switch definition: - The .case expressions "0=Off" and "1=On" are unclear. It is not clear how data values (R_Series, for example) for the separate On and Off cases are selected and passed into the Series macro elements. - ACTION: Al will refine the Series_switch macro We generally agreed that there should be a freely available simulator that is able to simulate IBIS-X models, if possible. This would give us an accuracy reference platform, and would serve as proof-of-concept for the spec. Planning for PCB East: - Al will present a macro language overview. - Mike will present a receiver model design using the language. - There will be no IBIS-X meeting Sep 12, since that is during the PCB East conference. - We will review presentations at the Sept 5 meeting. Thanks, Mike CONSENSUS LIST: 7/11/2000: - The specification will define a [File Name] field similar to current IBIS. Unlike current IBIS it will be optional, however. - The following Spice-compatible elements are accepted into the macro language: Resistor (R) (v = f(i,t), i = f(v,t), r = constant or f(t)) Capacitor (C) (q = f(v,t), c = f(v,t), c = constant or f(t)) Inductor (L) (flux = f(i,t), L = f(i,t), L = constant or f(t)) VCVS (E) (Vout = f(Vin,t)) VCCS (G) (Iout = f(Vin,t)) Isource (I) (I = constant or f(t)) Vsource (V) (V = constant or f(t)) Diode (D) (basic diode, subset of Spice parameters) Subckt (X) (used for submodel, driver schedule) 7/25/2000: - The circuit element statement format will have: - An element type code as the first word. The instance name is not a part of this word. - An optional instance name as the second word. - A list of connection names in parentheses. The parentheses are required, especially to allow parsers to detect the absence of an instance name. Other features of the element statement are TBD. - We will have the ".correlate" control statement to identify the names of the operating conditions to which multiple data values for parameters correspond. Format details are TBD. 8/8/2000: - The "correlate" statements will list all modes, including "typ". Originally only "fast" and "slow" were listed. 8/15/2000: - The ".inherit" statement must be defined as an inline expansion that can be performed at read time. The contents of the inherited macro are simply inserted in place of the ".inherit" statement. This makes it easy to implement and to understand. A simple preprocessor may be used.