User Tools

Site Tools


Sidebar

GitHub

CoreLib

Sponsors

This website is sponsored by

Notes

This wiki uses icons from icons8.com licensed under CC BY-ND 3.0.

proposals:ams:tabledrivenmodelling
Author Joachim Haase
Last Update 22.09.2016
Related Proposals

Table Driven Modelling

The purpose of this package is to provide a capability to describe the time domain behavior of a device by a (possibly multi-dimensional) table. The need for such a capability may arise if model data has been determined by measurement, but also if the evaluation of the actual model equations is very costly and doing this evaluation once before simulation to create a table proves to be sufficient. Table-driven modeling is supported by Verilog-A(MS), and the goal is to provide a similar capability for VHDL-AMS using VHDL 2008 capabilities.

-- package interface (only stripped version)
 
library IEEE;
use IEEE.MATH_COMPLEX.all;
 
package TABLE_INTERPOLATION_PKG is
 
  type INTERPOLATION_METHOD is 
           (TDM_PWL,       TDM_CLOSEST_POINT, TDM_STEPWISE_CONSTANT, 
            TDM_QUADRATIC, TDM_CUBIC,         TDM_RATIONAL,
	    TDM_IGNORE     ); 
 
  type EXTRAPOLATION_METHOD is 
           (TDM_LINEAR, TDM_CONSTANT, TDM_CONTINUATION, TDM_PERIODIC, TDM_ERROR);
 
  type TABLE_DATA_REAL is protected
 
       procedure PREPARE_TABLE_DATA (
                              X      : REAL_VECTOR;
                              Y      : REAL_VECTOR;
                              METHOD : INTERPOLATION_METHOD := TDM_PWL;   
                              LEFT   : EXTRAPOLATION_METHOD := TDM_LINEAR;
                              RIGHT  : EXTRAPOLATION_METHOD := TDM_LINEAR);
 
       impure function LOOKUP_TABLE_DATA (XV   : REAL)
       return REAL;
 
      -- declations for the multidimensional case and other cases follow
 
  end protected TABLE_DATA_REAL;
 
  type TABLE_DATA_COMPLEX is protected
 
       procedure PREPARE_TABLE_DATA  (
                              X      : REAL_VECTOR;
                              Y      : COMPLEX_VECTOR;
                              METHOD : INTERPOLATION_METHOD := TDM_PWL;   
                              LEFT   : EXTRAPOLATION_METHOD := TDM_ERROR;
                              RIGHT  : EXTRAPOLATION_METHOD := TDM_ERROR);
 
       impure function LOOKUP_TABLE_DATA (XV    : REAL)
       return COMPLEX;
 
   end protected TABLE_DATA_COMPLEX;
 
end package TABLE_INTERPOLATION_PKG;

General Comments

The work is related to activities of the IEEE 1076.1 WG.

Supporters

proposals/ams/tabledrivenmodelling.txt · Last modified: 26.09.2016 15:52 by joachimhaase