Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
GENPAT(1)		     ALLIANCE USER COMMANDS		       GENPAT(1)

NAME
     genpat, A procedural pattern file generator

SYNOPSIS
     genpat [-v] [-k] [file]

DESCRIPTION
     Genpat  is a set of C fonctions that allows a procedural description of in-
     put pattern file for the logic simulator ASIMUT. The  Unix  genpat  command
     accepts  a  C file as input and produces a pattern description file as out-
     put. 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 MAN-
     UAL.

OPTIONS
     -v 	    verbose mode

     -k 	    keeps the executable along with the compilation Makefile af-
		    ter completion

GENPAT FILE FORMAT
     From a user point of view, genpat is a pattern description  language  using
     all  standard  C facilities (include, define, variables, loop, ...).  Fonc-
     tions 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 er-
     rors. 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 ab-
     solute time for the simulator.

     Similarly,  a genpat file can be divided in two parts : declaration and de-
     scription 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 ARRAY(3)).

     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 gener-
	       ate the output file (see SAV_GENPAT(3)).

FUNCTIONS
     DEF_GENPAT()   defines the output file's name.

     SAV_GENPAT()   make the output file be generated

     DECLAR()	    declares inputs, outputs, and the internal observing points.

     ARRAY()	    allows signals of the same type to be groupped in  an  "vir-
		    tual array" in order to ease their manipulation

     INIT()	    changes the values of registers between two patterns.

     AFFECT()	    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 signal.

     SAVE()	    informs the simulation tool to save the state of the circuit
		    at the end of simulation

     LABEL()	    gives a label to the current pattern

     GETCPAT()	    return the number of the current pattern

EXAMPLES
     #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 ();
      }

ENVIRONMENT VARIABLES
     Genpat  reads the environment variable VH_PATSFX to give the result file an
     extension.

SEE ALSO
     AFFECT(3), ARRAY(3), DECLAR(3),  DEF_GENPAT(3),  GETCPAT(3),  INIT(3),  LA-
     BEL(3), SAVE(3), SAV_GENPAT(3), pat(5), asimut(1)

ASIM/LIP6			 October 1, 1997		       GENPAT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=genpat&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help