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

FreeBSD Manual Pages

  
 
  

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
       input pattern file for the logic	simulator ASIMUT. The Unix genpat com-
       mand  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.

OPTIONS
       -v	      verbose mode

       -k	      keeps the	executable along with the compilation Makefile
		      after completion

GENPAT FILE FORMAT
       From a user point of view, genpat is a pattern description language us-
       ing 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 de-
       scription 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.

       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 al-
		 lows you to declare the inputs, the outputs, and internal ob-
		 serving 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 pro-
		 duced	during	the  simulation.  (see AFFECT(3)).  Genpat de-
		 scribes 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_GEN-
		 PAT(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
		      "virtual 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)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | GENPAT FILE FORMAT | FUNCTIONS | EXAMPLES | ENVIRONMENT VARIABLES | SEE ALSO

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

home | help