, A procedural pattern file generator
genpat [-v] [-k] [file]
See the file man1/alc_origin.1.
is a set of C fonctions that allows a procedural description of
input pattern file for the logic simulator ASIMUT
. The Unix
command accepts a C file as input and produces a pattern
description file as output. The extension ".c" is not to be given.
The file generated by genpat
is in pat format, so IT IS STRONGLY
RECOMMENDED TO SEE pat(5) BEFORE THIS MANUAL.
- verbose mode
- keeps the executable along with the compilation Makefile
From a user point of view, genpat
is a pattern description language using
all standard C facilities (include, define, variables, loop, ...). Fonctions
provided by genpat
are to be used in a given order. Using them in a
different order won't crash the system, but will result in execution errors.
Here follows the description of the input file.
format file can be divided in two parts : declaration and
The declaration part is the list of inputs, outputs, internal signals and
registers. Inputs are to be forced to a certain value and all the others are
to be observed during simulation.
The description part is a set of patterns, where each pattern defines the value
of inputs and outputs. The pattern number represents actually the absolute
time for the simulator.
Similarly, a genpat
file can be divided in two parts : declaration and
description part. Functions related to the declaration must be called before
any function related to the description part.
- declaration part
- The first thing you should do in this part is to give the
output file's name (see DEF_GENPAT(3)). Then, this part allows you to
declare the inputs, the outputs, and internal observing points (see
DECLAR(3)). It is also possible to create virtual arraies (see
- description part
- After all signals are declared, you can begin to define
input values which are to be applied to the inputs of the circuit or
output values which are to be compare with the values produced during the
simulation. (see AFFECT(3)). Genpat describes the stimulus by event : only
signal transitions are described. This part also allows you to give
instructions to the simulation tool to save the state of the circuit at
the end of the simulation. (see SAVE(3)). Last thing you should do in this
part is to generate the output file (see SAV_GENPAT(3)).
- defines the output file's name.
- make the output file be generated
- declares inputs, outputs, and the internal observing
- allows signals of the same type to be groupped in an
"virtual array" in order to ease their manipulation
- changes the values of registers between two patterns.
- assigns a value to a signal, at a given pattern number.
This value is kept on the signal until a new value is assigned to the
- informs the simulation tool to save the state of the
circuit at the end of simulation
- gives a label to the current pattern
- return the number of the current pattern
str = (char *) mbkalloc (32 * sizeof (char));
sprintf (str, "%d",entier);
/* end of the description */
int cur_vect = 0;
/* interface */
DECLAR ("a", ":2", "X", IN, "3 downto 0", "" );
DECLAR ("b", ":2", "X", IN, "3 downto 0", "" );
DECLAR ("s", ":2", "X", OUT, "3 downto 0", "" );
DECLAR ("vdd", ":2", "B", IN, "", "" );
DECLAR ("vss", ":2", "B", IN, "", "" );
AFFECT ("0", "vdd", "0b1");
AFFECT ("0", "vss", "0b0");
for (i=0; i<16; i++)
for (j=0; j<16; j++)
AFFECT (inttostr(cur_vect), "a", inttostr(i) );
AFFECT (inttostr(cur_vect), "b", inttostr(j) );
reads the environment variable VH_PATSFX to give the result file
AFFECT(3), ARRAY(3), DECLAR(3), DEF_GENPAT(3), GETCPAT(3), INIT(3), LABEL(3),
SAVE(3), SAV_GENPAT(3), pat(5), asimut(1)
See the file man1/alc_bug_report.1.