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)