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/15/25)
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/15/25)