/usr/include/alliance/pat.h is in alliance 5.1.1-1.1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | /*
* This file is part of the Alliance CAD System
* Copyright (C) Laboratoire LIP6 - Département ASIM
* Universite Pierre et Marie Curie
*
* Home page : http://www-asim.lip6.fr/alliance/
* E-mail : mailto:alliance-users@asim.lip6.fr
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Library General Public License as published
* by the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* Alliance VLSI CAD System is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with the GNU C Library; see the file COPYING. If not, write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/* ###--------------------------------------------------------------### */
/* file : pat109.h */
/* date : Mar 10 2000 */
/* version : v109 */
/* authors : Pirouz BAZARGAN SABET */
/* description : header for PAT library */
/* ###--------------------------------------------------------------### */
#ifndef PAT_PATDEF
#define PAT_PATDEF
/* ###------------------------------------------------------### */
/* defines */
/* ###------------------------------------------------------### */
#define PAT_SEQ__IOLARRAY 0x01 /* paseq FLAGS: array of paiols */
#define PAT_SEQ__ZERODELAY 0x02 /* paseq FLAGS: zero delay desc */
#define PAT_IOL__SPY 0x01 /* paiol FLAG : spied */
#define PAT_IOL__TRACE 0x02 /* paiol FLAG : traced */
#define PAT_PAT__SPY 0x01 /* papat FLAG : spy pattern */
#define PAT_SEQ__TIMEUNIT 0x07 /* time unit */
#define PAT_TU__VU 0 /* time unit : virtual unit */
#define PAT_TU__FS 1 /* time unit : fs */
#define PAT_TU__PS 2 /* time unit : ps */
#define PAT_TU__NS 3 /* time unit : ns */
#define PAT_TU__US 4 /* time unit : us */
#define PAT_TU__MS 5 /* time unit : ms */
/* ###------------------------------------------------------### */
/* global variables */
/* ###------------------------------------------------------### */
extern unsigned int PAT_LINNUM ;
extern unsigned char PAT_TIMEUNIT;
extern unsigned int PAT_TIMESTEP;
extern float PAT_CNV_FS ;
extern float PAT_CNV_PS ;
extern float PAT_CNV_NS ;
extern float PAT_CNV_US ;
extern float PAT_CNV_MS ;
/* ###------------------------------------------------------### */
/* data structures */
/* ###------------------------------------------------------### */
typedef struct paseq /* sequence of patterns */
{
struct paseq *NEXT ; /* next sequence */
char *NAME ; /* sequence's name */
struct pagrp *PAGRP ; /* list of declared arraies */
struct paiol *PAIOL ; /* list of inputs-outputs */
struct pacom *DECCOM ; /* declaration part comments */
struct papat *OLDPAT ; /* old list of patterns */
struct pacom *OLDCOM ; /* old list of comments */
struct papat *CURPAT ; /* current patterns */
struct pacom *CURCOM ; /* current comments */
struct papat *NXTPAT ; /* next patterns */
char *MODEL ; /* model of a pttern */
char *BUFFER ; /* accu. buffer to build pettern*/
struct pains *PAINS ; /* inspected instances */
unsigned int PATNBR ; /* # of patterns for simulation */
unsigned int LINENO ; /* current line number */
unsigned short IOLNBR ; /* # of inputs-outputs */
unsigned short SUBSEQ ; /* subsequence number */
unsigned short DRVSEQ ; /* last drived subsequence */
char SAVFLG ; /* save flag 'Y' or 'N' */
char ENDFLG ; /* end flag 'Y' or 'N' */
unsigned char ERRFLG ; /* error flag */
unsigned char FLAGS ; /* flags */
unsigned char TIME_UNIT; /* time unit */
unsigned int TIME_STEP; /* time step */
}
paseq_list;
typedef struct pains /* inspected instance */
{
struct pains *NEXT ; /* next inspected instance */
char *INSNAME ; /* instance name */
char *FILNAME ; /* file name */
void *INSTANCE ; /* instance pointer */
FILE *FILPNT ; /* file pointer */
char *MODEL ; /* model of generated pattern */
char **VALUE ; /* instance's interface values */
}
pains_list;
typedef struct pagrp /* actual or virtual array */
{
struct pagrp *NEXT ; /* next array */
char *NAME ; /* array's name */
unsigned short LENGTH ; /* array's number of bit */
unsigned short FINDEX ; /* index of the first paiol */
short FLAG ; /* actual or virtual (0,1) */
}
pagrp_list;
typedef struct paiol /* input-output signal */
{
struct paiol *NEXT ; /* next input-output */
char *NAME ; /* input-output's name */
void *SIG ; /* pointer on the signal */
char FORMAT ; /* read-write format B,O,X */
char MODE ; /* mode I,B,O,Z,T,R,S,X,W,U */
char BLANK ; /* number of blank columns */
char VALUE ; /* (not used) */
char FLAG ; /* flag */
}
paiol_list;
typedef struct papat /* pattern */
{
struct papat *NEXT ; /* next pattern */
char *LABEL ; /* pattern's label */
struct paini *PAINI ; /* list of initializations */
struct paevt *PAEVT ; /* list of events */
unsigned int TIME ; /* pattern's absolute time */
unsigned short LINE ; /* pattern's line number */
char BLANK ; /* number of blank lines */
char ACTFLAG ; /* action flag (U,I) */
char SIMFLAG ; /* simulation flag (U,S) */
unsigned char FLAG ; /* flag */
}
papat_list;
typedef struct paini /* initialized register */
{
struct paini *NEXT ; /* next initialization */
char *NAME ; /* register's name */
char VALUE ; /* initialization's value */
}
paini_list;
typedef struct paevt /* event */
{
struct paevt *NEXT ; /* next event */
unsigned short INDEX ; /* input-output's index */
char USRVAL ; /* value given by the user */
char SIMVAL ; /* calculated value */
}
paevt_list;
typedef struct pacom /* comment line */
{
struct pacom *NEXT ; /* next comment */
char *TEXT ; /* text of the comment */
unsigned short POSITION ; /* nbr of decl. or pat. before */
}
pacom_list;
/* ###------------------------------------------------------### */
/* low-level functions */
/* ###------------------------------------------------------### */
extern struct paseq *pat_addpaseq (); /* add a paseq structure */
extern struct papat *pat_addpapat (); /* add a papat structure */
extern struct paevt *pat_addpaevt (); /* add a paevt structure */
extern struct paini *pat_addpaini (); /* add a paini structure */
extern struct pacom *pat_addpacom (); /* add a pacom structure */
extern struct pagrp *pat_addpagrp (); /* add a pagrp structure */
extern struct paiol *pat_addpaiol (); /* add a paiol structure */
extern struct pains *pat_addpains (); /* add a pains structure */
extern struct paiol *pat_crtpaiol (); /* create a table of paiols */
extern void pat_frepaiol (); /* delete a list of paiols */
extern void pat_frepaini (); /* delete a list of painis */
extern void pat_frepaevt (); /* delete a list of paevts */
extern void pat_frepapat (); /* delete a list of papats */
extern void pat_frepacom (); /* delete a list of pacoms */
extern int pat_error (); /* pat error function */
extern int pat_warning (); /* pat warning function */
extern int pat_message (); /* pat message function */
#endif
|