OnWorks favicon

alliance-genpat - Online in the Cloud

Run alliance-genpat in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command alliance-genpat that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



genpat, A procedural pattern file generator


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


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)


-v verbose mode

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


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

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


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

LABEL() gives a label to the current pattern

GETCPAT() return the number of the current pattern


#include <stdio.h>
#include "genpat.h"

char *inttostr(entier)
int entier;
char *str;
str = (char *) mbkalloc (32 * sizeof (char));
sprintf (str, "%d",entier);
/* end of the description */

main ()
int i;
int j;
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, "", "" );

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) );



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

Use alliance-genpat online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    KompoZer is a wysiwyg HTML editor using
    the Mozilla Composer codebase. As
    Nvu's development has been stopped
    in 2005, KompoZer fixes many bugs and
    adds a f...
    Download KompoZer
  • 2
    Free Manga Downloader
    Free Manga Downloader
    The Free Manga Downloader (FMD) is an
    open source application written in
    Object-Pascal for managing and
    downloading manga from various websites.
    This is a mirr...
    Download Free Manga Downloader
  • 3
    UNetbootin allows you to create bootable
    Live USB drives for Ubuntu, Fedora, and
    other Linux distributions without
    burning a CD. It runs on Windows, Linux,
    and ...
    Download UNetbootin
  • 4
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM is an easy to use
    ERP and CRM open source software package
    (run with a web php server or as
    standalone software) for businesses,
    Download Dolibarr ERP - CRM
  • 5
    SQuirreL SQL Client
    SQuirreL SQL Client
    SQuirreL SQL Client is a graphical SQL
    client written in Java that will allow
    you to view the structure of a JDBC
    compliant database, browse the data in
    Download SQuirreL SQL Client
  • 6
    Brackets is a free, modern open-source
    text editor made especially for Web
    Development. Written in HTML, CSS, and
    JavaScript with focused visual tools and
    Download Brackets
  • 7
    Free Pascal Compiler
    Free Pascal Compiler
    A 32/64/16-bit Pascal compiler for
    Win32/64/CE, Linux, Mac OS X/iOS,
    Android, FreeBSD, OS/2, Game Boy
    Advance, Nintendo NDS and DOS;
    semantically compatible wi...
    Download Free Pascal Compiler
  • More »

Linux commands