This is an old revision of the document!


Tools

In addition to the core ACT library, we have also implemented a number of tools for asynchronous circuit design. Some of the core tools are included as part of the main Github repository, while others have their own repository. For completeness, we also include links to other open-source tools that can be used to implement different parts of the VLSI flow.

  • prsim: a digital production-rule simulator.
  • prs2net: a production rule to SPICE netlist generator
  • prs2sim: a production rule to sim file converter
  • aflat and prspack: a production rule flattener and compaction tool. See the documentation for prsim.

Of these tools, prs2net, prs2sim, and aflat are core ACT tools–i.e. tools that use the core ACT library and take ACT files as input.

Standalone tools:

  • AMC: an asynchronous memory compiler
  • ext2sp: converts magic extract files into a hierarchical spice file
  • lvp: layout versus production rules

External open-source tools:

  • Xyce: An analog circuit simulator developed by Sandia National Labs
  • magic: The Magic VLSI layout editor
  • irsim: A switch-level circuit simulator
  • Gemini: netlist comparison for strict layout-versus-schematic checking

Common command-line options

ACT tools that use the core act library all accept the following command-line options. These options should come first, before any tool-specific options:

  • -Ttechname: changes the technology configuration files to techname. This specifies that the config files are in directory $ACT_HOME/conf/techname. If an absolute path is specified, then that path is used as the directory location for configuration files.
  • -Dname=value: defines the specified parameter (either a pbool or a pint) as a global parameter that can then by used by the ACT file
  • -cnf=file: reads in the specified file as an ACT configuration file (after the default files for the specified technology)
  • -Wname:on or -Wname:off: turn on/off warnings. name can be:
    • empty_select : warn if all the guards in a selection statement in ACT are false.
    • dup_pass : warn if an ACT tool registers a duplicate pass.
    • no_local_driver : warn if a local variable doesn't have a driver if detected during some of the ACT analysis passes.
    • double_expand : warn if an ACT tool attempts to expand an already expanded ACT object.
    • lang_subst : warn if an ACT tool uses a different language body within a process than the default choice.
    • all : turn on all warnings
  • -Vname: turn on verbose log messages in the ACT library. Currently name can be:
    • config : print out absolute paths for the config files read. This goes to stderr by default
  • -log=file: save log messages to the specified file
  • -lev=level: set log level flags
  • -opt=str: set option string for ACT getopt() API

An individual project might want to include a standard set of ACT options (e.g. -Ttech) for all ACT tool invocations. The environment variable ACT_STD_CMDLINE can be set to the standard command-line options.