1 |
11 |
rafaelcalc |
/**********************************************************************/
|
2 |
|
|
/* ____ ____ */
|
3 |
|
|
/* / /\/ / */
|
4 |
|
|
/* /___/ \ / */
|
5 |
|
|
/* \ \ \/ */
|
6 |
|
|
/* \ \ Copyright (c) 2003-2013 Xilinx, Inc. */
|
7 |
|
|
/* / / All Right Reserved. */
|
8 |
|
|
/* /---/ /\ */
|
9 |
|
|
/* \ \ / \ */
|
10 |
|
|
/* \___\/\___\ */
|
11 |
|
|
/**********************************************************************/
|
12 |
|
|
|
13 |
|
|
#if defined(_WIN32)
|
14 |
|
|
#include "stdio.h"
|
15 |
|
|
#endif
|
16 |
|
|
#include "iki.h"
|
17 |
|
|
#include <string.h>
|
18 |
|
|
#include <math.h>
|
19 |
|
|
#ifdef __GNUC__
|
20 |
|
|
#include <stdlib.h>
|
21 |
|
|
#else
|
22 |
|
|
#include <malloc.h>
|
23 |
|
|
#define alloca _alloca
|
24 |
|
|
#endif
|
25 |
|
|
/**********************************************************************/
|
26 |
|
|
/* ____ ____ */
|
27 |
|
|
/* / /\/ / */
|
28 |
|
|
/* /___/ \ / */
|
29 |
|
|
/* \ \ \/ */
|
30 |
|
|
/* \ \ Copyright (c) 2003-2013 Xilinx, Inc. */
|
31 |
|
|
/* / / All Right Reserved. */
|
32 |
|
|
/* /---/ /\ */
|
33 |
|
|
/* \ \ / \ */
|
34 |
|
|
/* \___\/\___\ */
|
35 |
|
|
/**********************************************************************/
|
36 |
|
|
|
37 |
|
|
#if defined(_WIN32)
|
38 |
|
|
#include "stdio.h"
|
39 |
|
|
#endif
|
40 |
|
|
#include "iki.h"
|
41 |
|
|
#include <string.h>
|
42 |
|
|
#include <math.h>
|
43 |
|
|
#ifdef __GNUC__
|
44 |
|
|
#include <stdlib.h>
|
45 |
|
|
#else
|
46 |
|
|
#include <malloc.h>
|
47 |
|
|
#define alloca _alloca
|
48 |
|
|
#endif
|
49 |
|
|
typedef void (*funcp)(char *, char *);
|
50 |
|
|
extern void execute_47(char*, char *);
|
51 |
|
|
extern void execute_48(char*, char *);
|
52 |
|
|
extern void execute_49(char*, char *);
|
53 |
|
|
extern void execute_50(char*, char *);
|
54 |
|
|
extern void execute_229(char*, char *);
|
55 |
|
|
extern void execute_230(char*, char *);
|
56 |
|
|
extern void execute_231(char*, char *);
|
57 |
|
|
extern void execute_232(char*, char *);
|
58 |
|
|
extern void execute_233(char*, char *);
|
59 |
|
|
extern void execute_234(char*, char *);
|
60 |
|
|
extern void execute_235(char*, char *);
|
61 |
|
|
extern void execute_236(char*, char *);
|
62 |
|
|
extern void execute_3(char*, char *);
|
63 |
|
|
extern void execute_4(char*, char *);
|
64 |
|
|
extern void execute_39(char*, char *);
|
65 |
|
|
extern void execute_46(char*, char *);
|
66 |
|
|
extern void execute_55(char*, char *);
|
67 |
|
|
extern void execute_56(char*, char *);
|
68 |
|
|
extern void execute_57(char*, char *);
|
69 |
|
|
extern void execute_58(char*, char *);
|
70 |
|
|
extern void execute_59(char*, char *);
|
71 |
|
|
extern void execute_60(char*, char *);
|
72 |
|
|
extern void execute_110(char*, char *);
|
73 |
|
|
extern void execute_111(char*, char *);
|
74 |
|
|
extern void execute_125(char*, char *);
|
75 |
|
|
extern void execute_126(char*, char *);
|
76 |
|
|
extern void execute_127(char*, char *);
|
77 |
|
|
extern void execute_138(char*, char *);
|
78 |
|
|
extern void execute_182(char*, char *);
|
79 |
|
|
extern void execute_191(char*, char *);
|
80 |
|
|
extern void vlog_simple_process_execute_0_fast_no_reg_no_agg(char*, char*, char*);
|
81 |
|
|
extern void execute_196(char*, char *);
|
82 |
|
|
extern void execute_197(char*, char *);
|
83 |
|
|
extern void execute_198(char*, char *);
|
84 |
|
|
extern void execute_199(char*, char *);
|
85 |
|
|
extern void execute_200(char*, char *);
|
86 |
|
|
extern void execute_201(char*, char *);
|
87 |
|
|
extern void execute_202(char*, char *);
|
88 |
|
|
extern void execute_203(char*, char *);
|
89 |
|
|
extern void execute_204(char*, char *);
|
90 |
|
|
extern void execute_205(char*, char *);
|
91 |
|
|
extern void execute_206(char*, char *);
|
92 |
|
|
extern void execute_207(char*, char *);
|
93 |
|
|
extern void execute_208(char*, char *);
|
94 |
|
|
extern void execute_209(char*, char *);
|
95 |
|
|
extern void execute_210(char*, char *);
|
96 |
|
|
extern void execute_211(char*, char *);
|
97 |
|
|
extern void execute_212(char*, char *);
|
98 |
|
|
extern void execute_213(char*, char *);
|
99 |
|
|
extern void execute_214(char*, char *);
|
100 |
|
|
extern void execute_215(char*, char *);
|
101 |
|
|
extern void execute_216(char*, char *);
|
102 |
|
|
extern void execute_217(char*, char *);
|
103 |
|
|
extern void execute_218(char*, char *);
|
104 |
|
|
extern void execute_219(char*, char *);
|
105 |
|
|
extern void execute_220(char*, char *);
|
106 |
|
|
extern void execute_221(char*, char *);
|
107 |
|
|
extern void execute_222(char*, char *);
|
108 |
|
|
extern void execute_223(char*, char *);
|
109 |
|
|
extern void execute_224(char*, char *);
|
110 |
|
|
extern void execute_225(char*, char *);
|
111 |
|
|
extern void execute_226(char*, char *);
|
112 |
|
|
extern void execute_227(char*, char *);
|
113 |
|
|
extern void execute_228(char*, char *);
|
114 |
|
|
extern void execute_6(char*, char *);
|
115 |
|
|
extern void execute_7(char*, char *);
|
116 |
|
|
extern void execute_8(char*, char *);
|
117 |
|
|
extern void execute_9(char*, char *);
|
118 |
|
|
extern void execute_10(char*, char *);
|
119 |
|
|
extern void execute_11(char*, char *);
|
120 |
|
|
extern void execute_61(char*, char *);
|
121 |
|
|
extern void execute_63(char*, char *);
|
122 |
|
|
extern void execute_64(char*, char *);
|
123 |
|
|
extern void execute_65(char*, char *);
|
124 |
|
|
extern void execute_66(char*, char *);
|
125 |
|
|
extern void execute_67(char*, char *);
|
126 |
|
|
extern void execute_68(char*, char *);
|
127 |
|
|
extern void execute_69(char*, char *);
|
128 |
|
|
extern void execute_70(char*, char *);
|
129 |
|
|
extern void execute_71(char*, char *);
|
130 |
|
|
extern void execute_72(char*, char *);
|
131 |
|
|
extern void execute_73(char*, char *);
|
132 |
|
|
extern void execute_74(char*, char *);
|
133 |
|
|
extern void execute_75(char*, char *);
|
134 |
|
|
extern void execute_76(char*, char *);
|
135 |
|
|
extern void execute_77(char*, char *);
|
136 |
|
|
extern void execute_78(char*, char *);
|
137 |
|
|
extern void execute_79(char*, char *);
|
138 |
|
|
extern void execute_80(char*, char *);
|
139 |
|
|
extern void execute_81(char*, char *);
|
140 |
|
|
extern void execute_82(char*, char *);
|
141 |
|
|
extern void execute_83(char*, char *);
|
142 |
|
|
extern void execute_84(char*, char *);
|
143 |
|
|
extern void execute_85(char*, char *);
|
144 |
|
|
extern void execute_87(char*, char *);
|
145 |
|
|
extern void execute_88(char*, char *);
|
146 |
|
|
extern void execute_89(char*, char *);
|
147 |
|
|
extern void execute_90(char*, char *);
|
148 |
|
|
extern void execute_91(char*, char *);
|
149 |
|
|
extern void execute_92(char*, char *);
|
150 |
|
|
extern void execute_93(char*, char *);
|
151 |
|
|
extern void execute_94(char*, char *);
|
152 |
|
|
extern void execute_96(char*, char *);
|
153 |
|
|
extern void execute_97(char*, char *);
|
154 |
|
|
extern void execute_98(char*, char *);
|
155 |
|
|
extern void execute_99(char*, char *);
|
156 |
|
|
extern void execute_100(char*, char *);
|
157 |
|
|
extern void execute_101(char*, char *);
|
158 |
|
|
extern void execute_102(char*, char *);
|
159 |
|
|
extern void execute_103(char*, char *);
|
160 |
|
|
extern void execute_14(char*, char *);
|
161 |
|
|
extern void execute_104(char*, char *);
|
162 |
|
|
extern void execute_105(char*, char *);
|
163 |
|
|
extern void execute_106(char*, char *);
|
164 |
|
|
extern void execute_107(char*, char *);
|
165 |
|
|
extern void execute_108(char*, char *);
|
166 |
|
|
extern void execute_109(char*, char *);
|
167 |
|
|
extern void execute_16(char*, char *);
|
168 |
|
|
extern void execute_112(char*, char *);
|
169 |
|
|
extern void execute_113(char*, char *);
|
170 |
|
|
extern void execute_114(char*, char *);
|
171 |
|
|
extern void execute_115(char*, char *);
|
172 |
|
|
extern void execute_116(char*, char *);
|
173 |
|
|
extern void execute_117(char*, char *);
|
174 |
|
|
extern void execute_118(char*, char *);
|
175 |
|
|
extern void execute_119(char*, char *);
|
176 |
|
|
extern void execute_120(char*, char *);
|
177 |
|
|
extern void execute_121(char*, char *);
|
178 |
|
|
extern void execute_122(char*, char *);
|
179 |
|
|
extern void execute_123(char*, char *);
|
180 |
|
|
extern void execute_124(char*, char *);
|
181 |
|
|
extern void execute_18(char*, char *);
|
182 |
|
|
extern void execute_19(char*, char *);
|
183 |
|
|
extern void execute_128(char*, char *);
|
184 |
|
|
extern void execute_129(char*, char *);
|
185 |
|
|
extern void execute_130(char*, char *);
|
186 |
|
|
extern void execute_131(char*, char *);
|
187 |
|
|
extern void execute_132(char*, char *);
|
188 |
|
|
extern void execute_133(char*, char *);
|
189 |
|
|
extern void execute_134(char*, char *);
|
190 |
|
|
extern void execute_135(char*, char *);
|
191 |
|
|
extern void execute_136(char*, char *);
|
192 |
|
|
extern void execute_137(char*, char *);
|
193 |
|
|
extern void execute_21(char*, char *);
|
194 |
|
|
extern void execute_22(char*, char *);
|
195 |
|
|
extern void execute_23(char*, char *);
|
196 |
|
|
extern void execute_24(char*, char *);
|
197 |
|
|
extern void execute_25(char*, char *);
|
198 |
|
|
extern void execute_26(char*, char *);
|
199 |
|
|
extern void execute_27(char*, char *);
|
200 |
|
|
extern void execute_28(char*, char *);
|
201 |
|
|
extern void execute_29(char*, char *);
|
202 |
|
|
extern void execute_30(char*, char *);
|
203 |
|
|
extern void execute_31(char*, char *);
|
204 |
|
|
extern void execute_32(char*, char *);
|
205 |
|
|
extern void execute_139(char*, char *);
|
206 |
|
|
extern void execute_140(char*, char *);
|
207 |
|
|
extern void execute_141(char*, char *);
|
208 |
|
|
extern void execute_142(char*, char *);
|
209 |
|
|
extern void execute_143(char*, char *);
|
210 |
|
|
extern void execute_144(char*, char *);
|
211 |
|
|
extern void execute_148(char*, char *);
|
212 |
|
|
extern void execute_149(char*, char *);
|
213 |
|
|
extern void execute_150(char*, char *);
|
214 |
|
|
extern void execute_151(char*, char *);
|
215 |
|
|
extern void execute_154(char*, char *);
|
216 |
|
|
extern void execute_155(char*, char *);
|
217 |
|
|
extern void execute_159(char*, char *);
|
218 |
|
|
extern void execute_34(char*, char *);
|
219 |
|
|
extern void execute_35(char*, char *);
|
220 |
|
|
extern void execute_36(char*, char *);
|
221 |
|
|
extern void execute_37(char*, char *);
|
222 |
|
|
extern void execute_38(char*, char *);
|
223 |
|
|
extern void execute_160(char*, char *);
|
224 |
|
|
extern void execute_161(char*, char *);
|
225 |
|
|
extern void execute_162(char*, char *);
|
226 |
|
|
extern void execute_163(char*, char *);
|
227 |
|
|
extern void execute_164(char*, char *);
|
228 |
|
|
extern void execute_165(char*, char *);
|
229 |
|
|
extern void execute_166(char*, char *);
|
230 |
|
|
extern void execute_167(char*, char *);
|
231 |
|
|
extern void execute_168(char*, char *);
|
232 |
|
|
extern void execute_169(char*, char *);
|
233 |
|
|
extern void execute_170(char*, char *);
|
234 |
|
|
extern void execute_171(char*, char *);
|
235 |
|
|
extern void execute_172(char*, char *);
|
236 |
|
|
extern void execute_173(char*, char *);
|
237 |
|
|
extern void execute_174(char*, char *);
|
238 |
|
|
extern void execute_175(char*, char *);
|
239 |
|
|
extern void execute_176(char*, char *);
|
240 |
|
|
extern void execute_177(char*, char *);
|
241 |
|
|
extern void execute_178(char*, char *);
|
242 |
|
|
extern void execute_179(char*, char *);
|
243 |
|
|
extern void execute_41(char*, char *);
|
244 |
|
|
extern void execute_42(char*, char *);
|
245 |
|
|
extern void execute_43(char*, char *);
|
246 |
|
|
extern void execute_180(char*, char *);
|
247 |
|
|
extern void execute_181(char*, char *);
|
248 |
|
|
extern void execute_45(char*, char *);
|
249 |
|
|
extern void execute_184(char*, char *);
|
250 |
|
|
extern void execute_185(char*, char *);
|
251 |
|
|
extern void execute_186(char*, char *);
|
252 |
|
|
extern void execute_187(char*, char *);
|
253 |
|
|
extern void execute_188(char*, char *);
|
254 |
|
|
extern void execute_189(char*, char *);
|
255 |
|
|
extern void execute_190(char*, char *);
|
256 |
|
|
extern void execute_52(char*, char *);
|
257 |
|
|
extern void execute_53(char*, char *);
|
258 |
|
|
extern void execute_54(char*, char *);
|
259 |
|
|
extern void execute_237(char*, char *);
|
260 |
|
|
extern void execute_238(char*, char *);
|
261 |
|
|
extern void execute_239(char*, char *);
|
262 |
|
|
extern void execute_240(char*, char *);
|
263 |
|
|
extern void execute_241(char*, char *);
|
264 |
|
|
extern void vlog_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *);
|
265 |
|
|
funcp funcTab[215] = {(funcp)execute_47, (funcp)execute_48, (funcp)execute_49, (funcp)execute_50, (funcp)execute_229, (funcp)execute_230, (funcp)execute_231, (funcp)execute_232, (funcp)execute_233, (funcp)execute_234, (funcp)execute_235, (funcp)execute_236, (funcp)execute_3, (funcp)execute_4, (funcp)execute_39, (funcp)execute_46, (funcp)execute_55, (funcp)execute_56, (funcp)execute_57, (funcp)execute_58, (funcp)execute_59, (funcp)execute_60, (funcp)execute_110, (funcp)execute_111, (funcp)execute_125, (funcp)execute_126, (funcp)execute_127, (funcp)execute_138, (funcp)execute_182, (funcp)execute_191, (funcp)vlog_simple_process_execute_0_fast_no_reg_no_agg, (funcp)execute_196, (funcp)execute_197, (funcp)execute_198, (funcp)execute_199, (funcp)execute_200, (funcp)execute_201, (funcp)execute_202, (funcp)execute_203, (funcp)execute_204, (funcp)execute_205, (funcp)execute_206, (funcp)execute_207, (funcp)execute_208, (funcp)execute_209, (funcp)execute_210, (funcp)execute_211, (funcp)execute_212, (funcp)execute_213, (funcp)execute_214, (funcp)execute_215, (funcp)execute_216, (funcp)execute_217, (funcp)execute_218, (funcp)execute_219, (funcp)execute_220, (funcp)execute_221, (funcp)execute_222, (funcp)execute_223, (funcp)execute_224, (funcp)execute_225, (funcp)execute_226, (funcp)execute_227, (funcp)execute_228, (funcp)execute_6, (funcp)execute_7, (funcp)execute_8, (funcp)execute_9, (funcp)execute_10, (funcp)execute_11, (funcp)execute_61, (funcp)execute_63, (funcp)execute_64, (funcp)execute_65, (funcp)execute_66, (funcp)execute_67, (funcp)execute_68, (funcp)execute_69, (funcp)execute_70, (funcp)execute_71, (funcp)execute_72, (funcp)execute_73, (funcp)execute_74, (funcp)execute_75, (funcp)execute_76, (funcp)execute_77, (funcp)execute_78, (funcp)execute_79, (funcp)execute_80, (funcp)execute_81, (funcp)execute_82, (funcp)execute_83, (funcp)execute_84, (funcp)execute_85, (funcp)execute_87, (funcp)execute_88, (funcp)execute_89, (funcp)execute_90, (funcp)execute_91, (funcp)execute_92, (funcp)execute_93, (funcp)execute_94, (funcp)execute_96, (funcp)execute_97, (funcp)execute_98, (funcp)execute_99, (funcp)execute_100, (funcp)execute_101, (funcp)execute_102, (funcp)execute_103, (funcp)execute_14, (funcp)execute_104, (funcp)execute_105, (funcp)execute_106, (funcp)execute_107, (funcp)execute_108, (funcp)execute_109, (funcp)execute_16, (funcp)execute_112, (funcp)execute_113, (funcp)execute_114, (funcp)execute_115, (funcp)execute_116, (funcp)execute_117, (funcp)execute_118, (funcp)execute_119, (funcp)execute_120, (funcp)execute_121, (funcp)execute_122, (funcp)execute_123, (funcp)execute_124, (funcp)execute_18, (funcp)execute_19, (funcp)execute_128, (funcp)execute_129, (funcp)execute_130, (funcp)execute_131, (funcp)execute_132, (funcp)execute_133, (funcp)execute_134, (funcp)execute_135, (funcp)execute_136, (funcp)execute_137, (funcp)execute_21, (funcp)execute_22, (funcp)execute_23, (funcp)execute_24, (funcp)execute_25, (funcp)execute_26, (funcp)execute_27, (funcp)execute_28, (funcp)execute_29, (funcp)execute_30, (funcp)execute_31, (funcp)execute_32, (funcp)execute_139, (funcp)execute_140, (funcp)execute_141, (funcp)execute_142, (funcp)execute_143, (funcp)execute_144, (funcp)execute_148, (funcp)execute_149, (funcp)execute_150, (funcp)execute_151, (funcp)execute_154, (funcp)execute_155, (funcp)execute_159, (funcp)execute_34, (funcp)execute_35, (funcp)execute_36, (funcp)execute_37, (funcp)execute_38, (funcp)execute_160, (funcp)execute_161, (funcp)execute_162, (funcp)execute_163, (funcp)execute_164, (funcp)execute_165, (funcp)execute_166, (funcp)execute_167, (funcp)execute_168, (funcp)execute_169, (funcp)execute_170, (funcp)execute_171, (funcp)execute_172, (funcp)execute_173, (funcp)execute_174, (funcp)execute_175, (funcp)execute_176, (funcp)execute_177, (funcp)execute_178, (funcp)execute_179, (funcp)execute_41, (funcp)execute_42, (funcp)execute_43, (funcp)execute_180, (funcp)execute_181, (funcp)execute_45, (funcp)execute_184, (funcp)execute_185, (funcp)execute_186, (funcp)execute_187, (funcp)execute_188, (funcp)execute_189, (funcp)execute_190, (funcp)execute_52, (funcp)execute_53, (funcp)execute_54, (funcp)execute_237, (funcp)execute_238, (funcp)execute_239, (funcp)execute_240, (funcp)execute_241, (funcp)vlog_transfunc_eventcallback};
|
266 |
|
|
const int NumRelocateId= 215;
|
267 |
|
|
|
268 |
|
|
void relocate(char *dp)
|
269 |
|
|
{
|
270 |
|
|
iki_relocate(dp, "xsim.dir/tb_compliance_behav/xsim.reloc", (void **)funcTab, 215);
|
271 |
|
|
|
272 |
|
|
/*Populate the transaction function pointer field in the whole net structure */
|
273 |
|
|
}
|
274 |
|
|
|
275 |
|
|
void sensitize(char *dp)
|
276 |
|
|
{
|
277 |
|
|
iki_sensitize(dp, "xsim.dir/tb_compliance_behav/xsim.reloc");
|
278 |
|
|
}
|
279 |
|
|
|
280 |
|
|
// Initialize Verilog nets in mixed simulation, for the cases when the value at time 0 should be propagated from the mixed language Vhdl net
|
281 |
|
|
|
282 |
|
|
void wrapper_func_0(char *dp)
|
283 |
|
|
|
284 |
|
|
{
|
285 |
|
|
|
286 |
|
|
}
|
287 |
|
|
|
288 |
|
|
void simulate(char *dp)
|
289 |
|
|
{
|
290 |
|
|
iki_schedule_processes_at_time_zero(dp, "xsim.dir/tb_compliance_behav/xsim.reloc");
|
291 |
|
|
wrapper_func_0(dp);
|
292 |
|
|
|
293 |
|
|
iki_execute_processes();
|
294 |
|
|
|
295 |
|
|
// Schedule resolution functions for the multiply driven Verilog nets that have strength
|
296 |
|
|
// Schedule transaction functions for the singly driven Verilog nets that have strength
|
297 |
|
|
|
298 |
|
|
}
|
299 |
|
|
#include "iki_bridge.h"
|
300 |
|
|
void relocate(char *);
|
301 |
|
|
|
302 |
|
|
void sensitize(char *);
|
303 |
|
|
|
304 |
|
|
void simulate(char *);
|
305 |
|
|
|
306 |
|
|
extern SYSTEMCLIB_IMP_DLLSPEC void local_register_implicit_channel(int, char*);
|
307 |
|
|
extern void implicit_HDL_SCinstantiate();
|
308 |
|
|
|
309 |
|
|
extern void implicit_HDL_SCcleanup();
|
310 |
|
|
|
311 |
|
|
extern SYSTEMCLIB_IMP_DLLSPEC int xsim_argc_copy ;
|
312 |
|
|
extern SYSTEMCLIB_IMP_DLLSPEC char** xsim_argv_copy ;
|
313 |
|
|
|
314 |
|
|
int main(int argc, char **argv)
|
315 |
|
|
{
|
316 |
|
|
iki_heap_initialize("ms", "isimmm", 0, 2147483648) ;
|
317 |
|
|
iki_set_sv_type_file_path_name("xsim.dir/tb_compliance_behav/xsim.svtype");
|
318 |
|
|
iki_set_crvs_dump_file_path_name("xsim.dir/tb_compliance_behav/xsim.crvsdump");
|
319 |
|
|
void* design_handle = iki_create_design("xsim.dir/tb_compliance_behav/xsim.mem", (void *)relocate, (void *)sensitize, (void *)simulate, 0, isimBridge_getWdbWriter(), 0, argc, argv);
|
320 |
|
|
iki_set_rc_trial_count(100);
|
321 |
|
|
(void) design_handle;
|
322 |
|
|
return iki_simulate_design();
|
323 |
|
|
}
|