OpenCores
URL https://opencores.org/ocsvn/jtag_stapl_player/jtag_stapl_player/trunk

Subversion Repositories jtag_stapl_player

[/] [jtag_stapl_player/] [trunk/] [jamdefs.h] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 sukhanov
/****************************************************************************/
2
/*                                                                                                                                                      */
3
/*      Module:                 jamdefs.h                                                                                               */
4
/*                                                                                                                                                      */
5
/*                                      Copyright (C) Altera Corporation 1997                                   */
6
/*                                                                                                                                                      */
7
/*      Description:    Definitions of JAM constants and user-defined types             */
8
/*                                                                                                                                                      */
9
/*      Revisions:              1.1     added prototypes for jam_malloc and jam_free            */
10
/*                                                                                                                                                      */
11
/****************************************************************************/
12
 
13
/****************************************************************************/
14
/*                                                                                                                                                      */
15
/*      Actel version 1.1             May 2003                                                                  */
16
/*                                                                                                                                                      */
17
/****************************************************************************/
18
 
19
#ifndef INC_JAMDEFS_H
20
#define INC_JAMDEFS_H
21
 
22
/****************************************************************************/
23
/*                                                                                                                                                      */
24
/*      Constant definitions                                                                                                    */
25
/*                                                                                                                                                      */
26
/****************************************************************************/
27
 
28
#define NULL (0)
29
#define EOF (-1)
30
typedef int BOOL;
31
//#define BOOL int
32
#define TRUE 1
33
#define FALSE 0
34
 
35
/* maximum quantities of some items */
36
#define JAMC_MAX_SYMBOL_COUNT 1021      /* should be a prime number */
37
#define JAMC_MAX_NESTING_DEPTH 128
38
 
39
/* maximum JTAG IR and DR lengths (in bits) */
40
#define JAMC_MAX_JTAG_IR_PREAMBLE   256
41
#define JAMC_MAX_JTAG_IR_POSTAMBLE  256
42
#define JAMC_MAX_JTAG_IR_LENGTH     512
43
#define JAMC_MAX_JTAG_DR_PREAMBLE  1024
44
#define JAMC_MAX_JTAG_DR_POSTAMBLE 1024
45
#define JAMC_MAX_JTAG_DR_LENGTH    2048
46
 
47
/* memory needed for JTAG buffers (in bytes) */
48
#define JAMC_JTAG_BUFFER_SIZE   (( \
49
        JAMC_MAX_JTAG_IR_PREAMBLE   + \
50
        JAMC_MAX_JTAG_IR_POSTAMBLE  + \
51
        JAMC_MAX_JTAG_IR_LENGTH     + \
52
        JAMC_MAX_JTAG_DR_PREAMBLE   + \
53
        JAMC_MAX_JTAG_DR_POSTAMBLE  + \
54
        JAMC_MAX_JTAG_DR_LENGTH     ) / 8)
55
 
56
/* size (in bytes) of cache buffer for initialized arrays */
57
#define JAMC_ARRAY_CACHE_SIZE 1024
58
 
59
/* character length limits */
60
#define JAMC_MAX_STATEMENT_LENGTH 8192
61
#define JAMC_MAX_NAME_LENGTH 32
62
#define JAMC_MAX_INSTR_LENGTH 10
63
 
64
/* character codes */
65
#define JAMC_COMMENT_CHAR   ('\'')
66
#define JAMC_QUOTE_CHAR     ('\"')
67
#define JAMC_COLON_CHAR     (':')
68
#define JAMC_SEMICOLON_CHAR (';')
69
#define JAMC_COMMA_CHAR     (',')
70
#define JAMC_PERIOD_CHAR    ('.')
71
#define JAMC_NEWLINE_CHAR   ('\n')
72
#define JAMC_RETURN_CHAR    ('\r')
73
#define JAMC_TAB_CHAR       ('\t')
74
#define JAMC_SPACE_CHAR     (' ')
75
#define JAMC_EQUAL_CHAR     ('=')
76
#define JAMC_MINUS_CHAR     ('-')
77
#define JAMC_LPAREN_CHAR    ('(')
78
#define JAMC_RPAREN_CHAR    (')')
79
#define JAMC_LBRACKET_CHAR  ('[')
80
#define JAMC_RBRACKET_CHAR  (']')
81
#define JAMC_POUND_CHAR     ('#')
82
#define JAMC_DOLLAR_CHAR    ('$')
83
#define JAMC_AT_CHAR        ('@')
84
#define JAMC_NULL_CHAR      ('\0')
85
#define JAMC_UNDERSCORE_CHAR ('_')
86
 
87
/****************************************************************************/
88
/*                                                                                                                                                      */
89
/*      Enumerated Types                                                                                                                */
90
/*                                                                                                                                                      */
91
/****************************************************************************/
92
 
93
/* instruction codes */
94
typedef enum
95
{
96
        JAM_ILLEGAL_INSTR = 0,
97
        JAM_ACTION_INSTR,
98
        JAM_BOOLEAN_INSTR,
99
        JAM_CALL_INSTR,
100
        JAM_CRC_INSTR,
101
        JAM_DATA_INSTR,
102
        JAM_DRSCAN_INSTR,
103
        JAM_DRSTOP_INSTR,
104
        JAM_ENDDATA_INSTR,
105
        JAM_ENDPROC_INSTR,
106
        JAM_EXIT_INSTR,
107
        JAM_EXPORT_INSTR,
108
        JAM_FOR_INSTR,
109
        JAM_FREQUENCY_INSTR,
110
        JAM_GOTO_INSTR,
111
        JAM_IF_INSTR,
112
        JAM_INTEGER_INSTR,
113
        JAM_IRSCAN_INSTR,
114
        JAM_IRSTOP_INSTR,
115
        JAM_LET_INSTR,
116
        JAM_NEXT_INSTR,
117
        JAM_NOTE_INSTR,
118
        JAM_PADDING_INSTR,
119
        JAM_POP_INSTR,
120
        JAM_POSTDR_INSTR,
121
        JAM_POSTIR_INSTR,
122
        JAM_PREDR_INSTR,
123
        JAM_PREIR_INSTR,
124
        JAM_PRINT_INSTR,
125
        JAM_PROCEDURE_INSTR,
126
        JAM_PUSH_INSTR,
127
        JAM_REM_INSTR,
128
        JAM_RETURN_INSTR,
129
        JAM_STATE_INSTR,
130
        JAM_TRST_INSTR,
131
        JAM_VECTOR_INSTR,
132
        JAM_VMAP_INSTR,
133
        JAM_WAIT_INSTR,
134
        JAM_INSTR_MAX
135
 
136
} JAME_INSTRUCTION;
137
 
138
/* types of expressions */
139
typedef enum
140
{
141
        JAM_ILLEGAL_EXPR_TYPE = 0,
142
        JAM_INTEGER_EXPR,
143
        JAM_BOOLEAN_EXPR,
144
        JAM_INT_OR_BOOL_EXPR,
145
        JAM_ARRAY_REFERENCE,
146
        JAM_EXPR_MAX
147
 
148
} JAME_EXPRESSION_TYPE;
149
 
150
/* phases of execution */
151
typedef enum
152
{
153
        JAM_UNKNOWN_PHASE = 0,
154
        JAM_NOTE_PHASE,
155
        JAM_ACTION_PHASE,
156
        JAM_PROCEDURE_PHASE,
157
        JAM_DATA_PHASE,
158
        JAM_PHASE_MAX
159
 
160
} JAME_PHASE_TYPE;
161
 
162
/****************************************************************************/
163
/*                                                                                                                                                      */
164
/*      Global variables                                                                                                                */
165
/*                                                                                                                                                      */
166
/****************************************************************************/
167
 
168
extern char *jam_workspace;
169
 
170
extern long jam_workspace_size;
171
 
172
extern char *jam_program;
173
 
174
extern long jam_program_size;
175
 
176
extern char **jam_init_list;
177
 
178
extern JAME_PHASE_TYPE jam_phase;
179
 
180
#endif /* INC_JAMDEFS_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.