Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
start [2024/07/11 14:53] – [ACT library] rajitstart [2025/06/12 09:52] (current) – [The ACT VLSI Design Tools] rajit
Line 1: Line 1:
 ====== The ACT VLSI Design Tools ====== ====== The ACT VLSI Design Tools ======
  
-Welcome to the Wiki for the ACT suite of VLSI design tools. ACT is an **A**synchronous **C**ircuit **T**oolkit 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 [[http://csl.yale.edu/~rajit/|Rajit Manohar]] and his [[http://avlsi.csl.yale.edu/|research group]], and have a long [[history:|history]].+Welcome to the Wiki for the ACT suite of VLSI design tools. ACT is an **A**synchronous **C**ircuit **T**oolkit which has been built from scratch to support the design and implementation of asynchronous logic. While that is the main goal,  the tools we have developed also support synchronous logic as a special case. These tools have been developed primarily by [[http://csl.yale.edu/~rajit/|Rajit Manohar]] and his [[http://avlsi.csl.yale.edu/|research group]], and have a long [[history:|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''). 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 ===== ===== Asynchronous design =====
  
-  * [[tutorial:|Tutorials and class materials]] +  * [[tutorial:|Tutorials]]: tutorial videos, as well as class materials and examples 
-  * [[asic:start|ACT ASIC flow]]+  * [[intro_example:start|ACT by example]]: a gentler introduction to ACT through examples 
 +  * [[asic:start|ACT ASIC flow]]: a summary of the steps in the overall ASIC flow using ACT
  
 ===== Installation ===== ===== Installation =====
Line 15: Line 16:
       * [[install_actflow|actflow]]: use this if you want the full set of tools.       * [[install_actflow|actflow]]: use this if you want the full set of tools.
       * [[install|ACT]]: use this if you only want the core language and some basic tools for custom circuit design. The [[install_actflow|actflow build]] installs this repository as well.       * [[install|ACT]]: use this if you only want the core language and some basic tools for custom circuit design. The [[install_actflow|actflow build]] installs this repository as well.
 +
 +We also have a [[summer2024:dockersetup|docker container]] that contains the tools, if you'd like to try them out without installing them on your system.
 +
 +If you are a Homebrew user, check out the [[https://github.com/asyncvlsi/homebrew-tap|homebrew tap]] for the tools.
  
 ===== ACT language ===== ===== ACT language =====
Line 20: Line 25:
 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.) 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:|Language reference]], and a [[language:migrate|migration guide]] from the older version of ACT. +  * [[language:|Language reference]] 
-  * [[config:|ACT configuration files]] needed for a new technology. +  * ACT configuration 
-  * [[config:runtime|ACT runtime configuration]], used to adjust the operation of the core ACT library and/or passes.+     *  [[config:|files]] needed for a new technology. 
 +     * [[config:runtime|runtime configuration]], used to adjust the operation of the core ACT library and/or passes. 
 +  * [[language:migrate|Migration guide]] from the older (pre-2018) version of ACT
   * [[history:|Language history/lineage]]   * [[history:|Language history/lineage]]
- 
 ===== ACT library ===== ===== ACT library =====
  
Line 34: Line 40:
 For those interested in writing tools, we have some documentation available for the core ACT library and data structures. For those interested in writing tools, we have some documentation available for the core ACT library and data structures.
  
-  * [[http://avlsi.csl.yale.edu/act_docs/|Using the ACT library]] (work in progress!) +  * [[http://avlsi.csl.yale.edu/act_docs/|ACT data structures]] (work in progress!) 
-  * [[guide:|Guide to using ACT data structures]]+  * [[guide:|Using ACT data structures]] 
 +  * [[guide:makefile|Using the standard Makefiles]] in ACT
 ===== Tools ===== ===== Tools =====