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