====== 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 [[install#Microsoft Windows|Windows]] environments (see below). The core library is available from [[https://github.com/asyncvlsi/act|Github]]. **Note:** This only installs the core circuit design tools. For those interested in the full flow, please use the [[https://github.com/asyncvlsi/actflow|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 [[https://brew.sh/|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 [[http://github.com/asyncvlsi/act|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. [[windows_build|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).