IEEE P1076.1 Working Group Requirements for Table-driven Modeling History: v0.5 Alain Vachoux / Sept. 27, 2010 Update from meeting of Sept. 13, 2010. TDM-R2: rephrased. TDM-R5: requirement on complexe dependent variable added. TDM-R7: rationale updated. TDM-R14: change from 'shall' to 'should'. v0.4 Alain Vachoux / August 10, 2010 Update from meeting of August 9, 2010. Requirement renumbered consecutively from 1. Old numbers are given between () below. Rationale added to TDM-R1. TDM-R11 really removed. Rationale added to TDM-R10(12). TDM-R11(13) updated to include default method of 'same'. Rationale added. Rationale for TDM-R13(15) updated. v0.3 Alain Vachoux / July 7, 2010 Update from meeting of July 5, 2010. Purpose section completed with info on tables. TDM-R2 no more required. Content moved to rationale of TDM-R16. TDM-R6 and TDM-R7 reformulated. TDM-R8 moved to section 'Table Data Sources'. TDM-R11 removed. TDM-R12 updated to include support of closest data point method. TDM-R13 updated to include support of periodic extrapolation method. TDM-R15 updated to account for updated TDM-R12. Section 'File Format' renamed to 'Table Data Sources'. v0.2 Alain Vachoux / June 11, 2010 Update from meeting of June 7, 2010. Add requirement numbers for easier reference. Add rationale text where required. v0.1 Alain Vachoux / June 7, 2010 Initial draft. IEEE recommendations on word usage ---------------------------------- shall means is required to should means is recommended that may means is permitted to can means is able to Purpose ------- Table-driven modeling gathers measured or simulated data into tables that can be used as models. Such models can replace detailed device models to achieve faster simulations. Tables include, possibly multidimensional, data points that are indexed by a number of independent variables and all the necessary information to properly interpret and use these data points. Scope ----- To develop VHDL-AMS package(s) that support the required functionality. The package(s) will serve as a reference implementation. The development of an optimized implementation is out of the scope. General Requirements -------------------- TDM-R1 [shall] The package(s) shall provide the ability to describe multidimensional lookup function(s) in the form: y = f(x1, x2, .., xn) where x1,..,xn are the independent real variables and y is the dependent real or complex variable. Rationale: Higher-order functions (i.e., more than one dependent variable) can be emulated by calling multiple single-order functions. TDM-R2 [shall] The package(s) shall support lookup function(s) for time-domain and frequency-domain simulation. TDM-R3 [should] The number of dimensions should not be limited. TDM-R4 [shall] At least four dimensions shall be supported. Rationale: This seems to be a reasonable limit regarding practical usage. TDM-R5 [shall] The independent variables shall be real values. The dependant variables shall be real values for multidimensional look-up functions. TDM-R6 [may] Independent variables may be expressions that evaluate to real values. Dependent variables may be complex values. TDM-R7 [may] It is not required that the data grid is fully populated. Rationale: Interpolation algorithms can support partially filled grids. This also means that each independent variable may have a different range, different numbers of values, as well as different spacings between values. TDM-R8 [may] It is not required that data points are ordered. Rationale: Implementation can reorder data points. Interpolation/extrapolation --------------------------- TDM-R9 [shall] The lookup function(s) shall support the following interpolation methods: closest data point, piecewise constant (zero-order hold), piecewise linear, quadratic spline, and cubic spline. Rationale: Other methods such as curve fitting methods are beyond scope. TDM-R10 [shall] The lookup function(s) shall support the following extrapolation methods: same (default), none, constant, linear, and periodic. Rationale: 'same' means same method as the one used for interpolation. TDM-R11 [should] The lookup function(s) should issue an error when no extrapolation method ('none') is defined and a data point outside a table is accessed. TDM-R12 [should] Control of data lookup in each dimension should be supported, such, e.g., the possibility to ignore one dimension. Rationale: The usefulness of ignoring one dimension is still questionable. This seems only useful when data is read from files. The actual list of control capabilities must be detailed further. Table Data Sources ------------------ TDM-R13 [may] Tables may be stored using files or arrays. Rationale: The use of files allow the exchange of tables between models, while the use of arrays allow more efficient local storage in models. TDM-R14 [should] At least the following existing (de facto) standard text-based file formats should be supported: Verilog-AMS, Touchstone, IBIS, Excel CSV. Rationale: The package definition and reference implementation should support the interoperability with related existing (de facto) standards such as Verilog-AMS, IBIS, Modelica, and Excel CSV format. There is no need to define yet another file format. The package(s) shall work on an internal data structure whose content is semantically related to the data stored in files. The list of supported file formats may need to be updated and prioritized.