GENPAT(1) | ALLIANCE USER COMMANDS | GENPAT(1) |
genpat, A procedural pattern file generator
genpat [-v] [-k] [file]
See the file buster/alliance/alc_origin.1.en.gz.
Genpat is a set of C fonctions that allows a procedural description of input pattern file for the logic simulator ASIMUT. The Unix genpat 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.
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.
A pat format file can be divided in two parts : declaration and description part.
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.
#include <stdio.h> #include "genpat.h" char *inttostr(entier) int entier;
{
char *str;
str = (char *) mbkalloc (32 * sizeof (char));
sprintf (str, "%d",entier);
return(str);
}
/*------------------------------*/
/* end of the description */
/*------------------------------*/
main ()
{
int i;
int j;
int cur_vect = 0;
DEF_GENPAT("example");
/* 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, "", "" );
LABEL ("adder");
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) );
cur_vect++;
}
}
SAV_GENPAT ();
}
Genpat reads the environment variable VH_PATSFX to give the result file an extension.
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 buster/alliance/alc_bug_report.1.en.gz.
October 1, 1997 | ASIM/LIP6 |