actsim is a mixed-signal simulator capable of simulating ACT files.
actsim can simulate designs containing a combination of CHP, HSE, PRS, and analog circuits in a unified framework.
For analog simulation, we use the Xyce simulator.
Some of the extensions we needed in Xyce for mixed-signal simulation have been accepted by the Xyce team and are now part of the latest Xyce release.
This program is for use with the ACT toolkit.
- Please install the ACT toolkit first; installation instructions are here.
- Also install the ACT standard library.
- Also install the ACT annotate library.
- Build this program using the standard ACT tool install instructions here.
To build and install, run ./configure and then ./build.sh.
There are a number of things to keep in mind when building actsim with Xyce.
Building Xyce:
- For Xyce 7.6 or newer
- Build
Xyceitself, usingcmakeand$ACT_HOMEas the install directory - to compile the required interface run
make xycecinterfacein your cmake build directory - install the interface required by actsim with
make installto$ACT_HOME
- Build
- For Xyce 7.5 and older
- Build and install
Xyceitself, usingcmakeand$ACT_HOMEas the install directory - To build and install the Xyce C interface library (in the
xyce-bitsdirectory), use the following commands:- Go to the
xyce-bits/directory - Build an object file using
g++ -std=c++17 -I. -I$ACT_HOME/include -c N_CIR_XyceCInterface.C - Create the library using
ar ruv libxycecinterface.a N_CIR_XyceCInterface.o - If you need to, use
ranlib libxycecinterface.a - Copy
libxycecinterface.ato$ACT_HOME/lib - Copy
N_CIR_XyceCInterface.hto$ACT_HOME/include
- Go to the
- Build and install
- Preserve your cmake build directory for the next step. (We need one file from it as described below.)
Note: the xyce-bits/ directory is only needed if you are using a version of Xyce prior to 7.6. The changes
have been incorporated by the Xyce team into their core distribution.
Building actsim:
- When you run
./configure, it should detect that the Xyce C interface library exists. - To use static linking for
actsim, we need to extract the correct link-time options used by your Xyce build. To do so:- Run
./grab_xyce.sh <path>where<path>is the path to the cmake build directory for your Xyce build - Alternatively, you can copy the file
src/CMakeFiles/Xyce.dir/link.txtfrom your cmake build directory for Xyce, place it it any directory, and rungrab_xyce.shwith the path set to the directory containinglink.txt
- Run
- After this, you can build actsim.
To start a simulation, use actsim <file.act> <top-level-process>.
More information on running a simulation is available.