1 /****************************************************************************
2     Copyright (C) 1987-2015 by Jeffery P. Hansen
3 
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8 
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13 
14     You should have received a copy of the GNU General Public License along
15     with this program; if not, write to the Free Software Foundation, Inc.,
16     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 ****************************************************************************/
18 #ifndef __vgsim_config_h
19 #define __vgsim_config_h
20 
21 #define VGSIM_NAME		"Verga"		/* Name of program */
22 #define VGSIM_VERSION		"1.0"		/* Version number */
23 #define VGSIM_COPYRIGHT		"Copyright (C) 2005-2015 by Jeffery P. Hansen"
24 #define STRMAX			1024		/* Length of longest string */
25 
26 #define THYMEWHEEL_SIZE		0x1000		/* Size of timewheel (must be power of two) */
27 #define THYMEWHEEL_MASK		0x0fff		/* Mask for thymewheel (= size-1) */
28 
29 #define POLL_RATE		50		/* Time between input checks (milliseconds) */
30 
31 /*
32  * Maximum number of arguments that can have a type specification
33  */
34 #define STASK_MAXSPECARGS 8
35 
36 /*****************************************************************************
37  * advance declarations from specify.h
38  *****************************************************************************/
39 typedef struct Specify_str Specify;
40 typedef struct SpecifyStat_str SpecifyStat;
41 
42 /*****************************************************************************
43  * advance declarations from value.h
44  *****************************************************************************/
45 typedef struct Value_str Value;
46 typedef int valueop_f(Value *r,Value *a,Value *b,Value *c);
47 
48 /*****************************************************************************
49  * advance declarations from mitem.h
50  *****************************************************************************/
51 typedef union ModuleItem_uni ModuleItem;
52 
53 /*****************************************************************************
54  * advance declarations from module.h
55  *****************************************************************************/
56 typedef struct ModuleInst_str ModuleInst;
57 typedef struct ModuleDecl_str ModuleDecl;
58 typedef struct ScopeDecl_str ScopeDecl;
59 typedef struct Scope_str Scope;
60 
61 /*****************************************************************************
62  * advance declarations from bytecode.h
63  *****************************************************************************/
64 typedef union ByteCode_union ByteCode;
65 typedef struct VGThread_str VGThread;
66 typedef void BCfunc(ByteCode *bc,VGThread *t);
67 typedef struct CodeBlock_str CodeBlock;
68 
69 /*****************************************************************************
70  * advance declarations from expr.h
71  *****************************************************************************/
72 typedef struct Expr_str Expr;
73 
74 /*****************************************************************************
75  * advance declarations from trigger.h
76  *****************************************************************************/
77 typedef struct Trigger_str Trigger;
78 
79 /*****************************************************************************
80  * advance declarations from thyme.h
81  *****************************************************************************/
82 typedef union Event_union Event;
83 typedef struct EvQueue_str EvQueue;
84 typedef unsigned long long simtime_t;		/* simulation time */
85 typedef unsigned long long deltatime_t;		/* time delay */
86 
87 /*****************************************************************************
88  * advance declarations from statment.h
89  *****************************************************************************/
90 typedef union StatDecl_union StatDecl;
91 
92 /*****************************************************************************
93  * advance declarations from circuit.h
94  *****************************************************************************/
95 typedef struct Circuit_str Circuit;
96 typedef struct DynamicModule_str DynamicModule;
97 
98 /*****************************************************************************
99  * advance declarations from task.h
100  *****************************************************************************/
101 typedef struct UserTaskDecl_str UserTaskDecl;
102 typedef struct UserTask_str UserTask;
103 
104 /*****************************************************************************
105  * advance declarations from net.h
106  *****************************************************************************/
107 typedef unsigned nettype_t;
108 typedef struct Net_str Net;
109 
110 /*****************************************************************************
111  * advance declarations from channel.h
112  *****************************************************************************/
113 typedef struct Channel_str Channel;
114 
115 /*****************************************************************************
116  * advance declarations from directive.h
117  *****************************************************************************/
118 typedef struct Timescale_str Timescale;
119 
120 #endif
121