Table-based device modeling with polynomial interpolants. This code implements the 2017 ASPDAC paper titled "STEAM: Spline-based tables for efficient and accurate device modelling". Several other features were added to the code after the paper was published and are described in greater detail in a technical report "Table-based Device Modeling: Methods and Applications".
Links:
- Paper: https://ieeexplore.ieee.org/document/7858366
- Tech Report: https://www2.eecs.berkeley.edu/Pubs/TechRpts/2018/EECS-2018-66.html
I have only tried setting up and running this package on Linux. It relies on softlinks and some other features which might not be readily available on Windows.
-
Get the most recent version of this package from github.com
$git clone https://github.com/architgupta93/STEAM
-
Get the submodules needed for polynomial interpolation. I developed them as stand-alone packages that could be used on their own and maintain separate version control for them.
$git submodule update --init
This should fetch two pacakges (as of 2019/03/13), polynomial-interpolation, and device-models. The first, as it name states, is a polynomial interpolation package, implementing splines, Lagrange and Barycentric-Lagrange interpolants.
-
Setup MAPP. Run the following to setup MAPP
$autoconf $./configure $make
-
Open MATLAB (Octave might work too, but it doesn't work very well with MATLAB's class based programs.)
>> start_MAPP
-
Goto the directory containing STEAM examples. It should be under STEAM/examples. Open/Run any of the scripts to see how STEAM and MAPP work.
>> STEAM_demo.m