ACT(10.1)                                               ACT(10.1)

     NAME
          act, adil - minterm to actel/simulator

     SYNOPSIS
          cda/act [ flag ... ] file
          cda/adil file
          simprog [ -d [ id ... ] ] [ -i [ id value ] ...] [ -g ] [ -n
          iter ] [ -p [ id period ] ...] [ -s ] [ -t [ id value ] ...]
          [ -v var value ] ...]

     DESCRIPTION
          Act takes a file in minterm(10.6) format and produces a
          variety of output forms, selected by flag . If no flag is
          given, act constructs a balanced and factored tree of the
          circuit in the input file and covers it with gate patterns
          from the Actel FPGA gate library, printing the result in
          human readable form.

          The basic Actel primitive is a two-level multiplexer, so act
          by default tries to express logic trees in terms of multi-
          plexers prior to template matching.  The -m flag reduces the
          zeal of this process.

          The other flags select the output format.  They are
          described in more detail below; here is a summary:

          -a   print in Actel-like format suitable for adil.

          -c   generate a C program for simulation.

          -d   debug; just print the resulting tree.

          -fn  set maximum fanout to n (default 10)

          -u   unique; find common subexpressions

          -v   verbose; include pin names in output

          The -u flag causes act to output gate counts and usage (if
          default output is selected) or indicating fanout (for debug
          output).  Act adds buffers when a signal or gate fanout
          exceeds the maximum specified by -f.

          Adil takes output from act -a and produces Actel ADL format
          that can be fed to the proprietary Unix-resident Actel plac-
          ing and routing software.

          The C program generated by act -c can be compiled and loaded
          with loader options -lsim -lg -lstdio.  The resulting exe-
          cutable is a simulator that displays signal traces in an

     Page 1                       Plan 9            (printed 12/21/24)

     ACT(10.1)                                               ACT(10.1)

          8½(1) window and takes the following arguments:

          -d   display the values of the named ids. Each id may be an
               identifier or an element of an lde array, in the form
               id[n] where n is an integer.

          -i   set the initial value of the named ids to the corre-
               sponding values.

          -g   suppress graphics; give textual output only

          -n   set number of iterations for the simulation

          -p   set half period of the named ids to the corresponding
               periods, forcing the ids to be clock signals.

          -s   suppress screen graphics; output pic(1) input.

          -t   specify the trigger values for the named ids.

          -v   draw a guide edge when id attains value.

          Given the number of details involved in running a simula-
          tion, simulators are typically invoked from mk(1). If the -p
          flag is not given, the simulator takes forcing input from
          standard input.  The format for this input is identical to
          that of the output, so it is possible to run simulators in a
          pipeline.

          Beware when catenating multiple minterm files to form input
          to act; the scope of external symbols in the input files is
          lost, so there can be name conflicts.  On the other hand,
          this approach makes it easy to add an external environment
          to a simulation.

     FILES
          /$objtype/lib/libsim.a  simulator driver

     SEE ALSO
          lde(10.1)

     BUGS
          Adil should be subsumed in act
          Act doesn't check the fanout of buffers it adds.

     Page 2                       Plan 9            (printed 12/21/24)