Installing ACT

Primary development of ACT is conducted on Linux and MacOS, and so it has been extensively tested on such systems. It has also been tested in certain Windows environments (see below).

The core library is available from Github.

Note: This only installs the core circuit design tools. For those interested in the full flow, please use the actflow repo. The flow repository includes the core ACT repository, and includes many additional tools including actsim, interact, chp2prs, and dflowmap (to name a few).

Linux/Unix-like environments

Before starting, please make sure that your system satisfies the following requirements:

  • The system must have libedit installed.
    • For the yum package manager, the package is called libedit-devel
    • For apt-get, it is libeditline-dev or libedit-dev
    • Some systems have both packages. In that case please use libedit, not libeditline.
  • The system should have zlib installed
  • The system should have the macro pre-processing package m4 installed

On MacOS, these packages can be installed using the homebrew package manager.

Build instructions

Create a directory where you'd like the tools to be installed. Example common locations include /usr/local/cad, /opt/cad, /opt/async. Once you've cloned the git repo:

  • Set the environment variable ACT_HOME to point to the install directory.
  • Set the environment variable VLSI_TOOLS_SRC to the root of the source tree (i.e. the /path/to/act).
  • From the $VLSI_TOOLS_SRC directory, run ./configure $ACT_HOME
  • Run ./build

If there is an issue building the software and you want to do a clean build, use make realclean before re-running the build instructions above.

Once you've built the tools, run make install to install the files, and make runtest to run through a set of test cases.

Note that the environment variable ACT_HOME has to be set to run the ACT tools, so it is best to set it in your .bashrc or the appropriate initialization script read in by your default shell.

Optional: to add the tools to your path add export PATH=$ACT_HOME/bin:$PATH to your .bashrc too

Troubleshooting

If you have trouble building on your specific operating system have a peek in the continuous integration scripts of the git repository if your operating system is covered there and you can try the commands specified:

https://github.com/asyncvlsi/act/blob/master/.circleci/config.yml

for Debian, Ubuntu look at the ubuntu 18 section

for RHEL, SUSE, CentOS, Fedora look at centos 8 section

Microsoft Windows

Recent versions of Windows include compatibility layers for Unix, and ACT has been successfully tested in such an environment.

Some instructions for running ACT tools on Microsoft Windows

Running large ACT files

ACT files are typically short since they are written by a designer. However, an ACT file generated by another program—especially if the program generates a flattened design—can be large. If an ACT process (or a namespace) has a very large number of instances/connections that are individually listed (i.e. in the input file) and the library crashes, try removing system limits on the stack size (using unlimit or ulimit depending on your shell) and re-running the program.

NOTE: This issue has been fixed as of 7/10/2023.

Synopsys linkages

Some of the library functionality can be linked into Synopsys vcs for co-simulation support. This requires some Synopsys header files (obviously not included in the ACT distribution).