The ACT VLSI Design Tools
Welcome to the Wiki for the ACT suite of VLSI design tools. ACT is an Asynchronous Circuit Toolkit which has been built from scratch to support the design and implementation of asynchronous logic. While that is the main goal, some of the tools we have developed have also been used for designing synchronous logic. These tools have been developed primarily by Rajit Manohar and his research group, and have a long history.
When an existing open-source tool used by mainstream chip designers can be re-purposed for asynchronous design without major issues (in terms of functionality as well as error-prone behavior), we re-use it. Examples include layout editors (e.g. magic
), switch-level simulators (e.g. irsim
), and analog simulators (e.g. Xyce
).
Asynchronous design
Installation
If you are interested in building the tools from scratch:
- actflow: use this if you want the full set of tools.
- ACT: use this if you only want the core language and some basic tools for custom circuit design. The actflow build installs this repository as well.
ACT language
The ACT language combined with a set of configuration files are used when designing circuits. The configuration files control some basic ACT behavior, and also include technology-specific information (e.g. what is the feature size, what are the transistor types available in the technology, etc.)
- Language reference, and a migration guide from the older version of ACT.
- ACT configuration files needed for a new technology.
- ACT runtime configuration, used to adjust the operation of the core ACT library and/or passes.
ACT library
In addition to the core language, we also provide some standard ACT libraries that include common definitions/etc. for designing asynchronous circuits.
- Simulation library, installed together with actsim; It provides tools for simulation and verification
For those interested in writing tools, we have some documentation available for the core ACT library and data structures.
- Using the ACT library (work in progress!)
Tools
- Command-line options and environment variables that are common for all core ACT tools
A summary of the ACT tools for custom circuit design and the plan for future tools is available:
Rajit Manohar. An Open-Source Design Flow for Asynchronous Circuits. Government Microcircuit Applications and Critical Technology Conference, March 2019.
If you use the ACT tools for a publication, we would appreciate it if you could cite the following overview paper.
Samira Ataei, Wenmian Hua, Yihang Yang, Rajit Manohar, Yi-Shan Lu, Jiayuan He, Sepideh Maleki, Keshav Pingali. An Open-Source EDA Flow for Asynchronous Logic. IEEE Design & Test, Volume 38, Issue 2, pages 27-37, April 2021. DOI: 10.1109/MDAT.2021.3051334.
For analog circuit simulation, we primarily use the open-source Xyce simulator from Sandia Labs.
Community
We have a Mattermost site for users of the ACT tools. Mattermost is an open-source slack alternative. If you are interested in an account, you can sign up. If you have trouble signing up, please contact Rajit Manohar.