Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / api / beg / beg_API.h
1 #include <stdio.h>
2 #include "avt_API_types.h"
3
4 void beg_API_Restart();
5 void beg_API_AtLoad_Initialize();
6 void beg_API_Action_Initialize();
7 void beg_API_TopLevel(long list);
8
9 /*
10 MAN begCreateModel
11 CATEG gns
12 DESCRIPTION
13 Initializes a behavioral model with the given name making it the current model.
14 RETURN VALUE
15 none
16 ERRORS
17 none
18 */
19
20 void begCreateModel(char *name);
21
22 /*
23 MAN begCreatePort
24 CATEG gns
25 DESCRIPTION
26 Adds an I/O port to the current model.
27 RETURN VALUE
28 none
29 ERRORS
30 none
31 */
32
33 void begCreatePort(char *name, char direction);
34
35 /*
36 MAN begCreateModelFromConnectors
37 CATEG gns
38 DESCRIPTION
39 Initializes a behavioral model with the given name and interface, making it the current model.
40 RETURN VALUE
41 none
42 ERRORS
43 none
44 */
45
46 void begCreateModelFromConnectors(char *name, List *connectors);
47
48 /*
49 MAN begCreateModelInterface
50 CATEG gns
51 DESCRIPTION
52 Initializes a behavioral model with the given name and the physical model interface, making it the current model.
53 RETURN VALUE
54 none
55 ERRORS
56 none
57 */
58
59 void begCreateModelInterface(char *name);
60
61 /*
62 MAN begCreateInterface
63 CATEG gns
64 DESCRIPTION
65 Initializes a behavioral model and the physical model interface, making it the current model. The model name will be handled by the API.
66 RETURN VALUE
67 none
68 ERRORS
69 none
70 */
71 void begCreateInterface();
72
73 /*
74 MAN begWriteCorrespondanceList
75 CATEG gns
76 DESCRIPTION
77 Drive the correspondence table between the physical model and the behavioral model.
78 RETURN VALUE
79 none
80 ERRORS
81 none
82 */
83
84 //void begWriteCorrespondanceList(char *name);
85
86 /*
87 MAN begRenameSignalsFromModel
88 CATEG gns
89 DESCRIPTION
90 Rename the behavioral model interface with the name of physical connectors.
91 If the corresponding signal is not a connector the behavioral name is prefixed
92 by the behavioral model name.
93 RETURN VALUE
94 none
95 ERRORS
96 none
97 */
98
99 void begRenameSignalsFromModel();
100
101 /*
102 MAN begAddInstanceModel
103 CATEG gns
104 DESCRIPTION
105 Add a behavioral model into the current behavioral model.
106 RETURN VALUE
107 none
108 ERRORS
109 none
110 */
111
112 //void begAddInstanceModel(Instance *loins);
113
114 /*
115 MAN xxxxbegAddAllInstanceModels
116 CATEG gns
117 DESCRIPTION
118 Add all the instances previoulsy described into the current behavioral model.
119 RETURN VALUE
120 none
121 ERRORS
122 none
123 */
124
125 void begAddAllInstanceModels(int compact);
126
127 /*
128 MAN begAssign
129 CATEG gns
130 SYNOPSIS
131 begAssign [-weak|-strong] <name> <value> [delay [delayvar]]
132 DESCRIPTION
133 Creates a simple concurrent assignment in the current model.
134 RETURN VALUE
135 none
136 ERRORS
137 none
138 */
139
140 void begAssign(char *name, char *expr, int delay, char *delayvar);
141 void begAssign_sub(char *name, char *expr, TimeValue delay, TimeValue delayr, TimeValue delayf, char *delayvar, int flags);
142
143 /*
144 MAN begAddBusDriver
145 CATEG gns
146 SYNOPSIS
147 in C:\$
148 begAddBusDriver(char *name, char *condition, char *value, int delay, char *delayvar)\$
149 in TCL:\$
150 begAddBusDriver [-normal] [-weak|-strong] [-delays <risedelay> <falldelay>] <name> <condition> <value> [delay [delayvar]]\$
151 DESCRIPTION
152 Adds a driver to a given bussed signal of the current model, creating the signal if necessary.
153 ARGS
154 -normal % In verilog, will force the signal to be assigned in a sequential block.
155 -weak or -strong % In verilog, defines the strength of the driver.
156 -delays <risedelay> <falldelay> % Specifies different values for rising and falling. No effect if field <delay> is used.
157 name % Affected signal name.
158 value % Affected expression.
159 condition % Condition for the value to be affected.
160 delay % Delay of the operation. Default is 0ps.
161 delayvar % Delay variable name for defining the delay later.
162 RETURN VALUE
163 none.
164 ERRORS
165 none.
166 */
167
168 void begAddBusDriver(char *name, char *condition, char *value, int delay, char *delayvar);
169 void begAddBusDriver_sub(char *name, char *condition, char *value, TimeValue delay, TimeValue delayr, TimeValue delayf, char *delayvar, int flags);
170
171 /*
172 MAN begAddBusElse
173 CATEG gns
174 SYNOPSIS
175 begAddBusElse [-normal] [-weak|-strong] [-delays <risedelay> <falldelay>] <name> <condition> <value> [delay [delayvar]]\$
176 DESCRIPTION
177 Adds an else alternative to the previous driver of a given bussed signal of the curent model, creating the signal if necessary.
178 ARGS
179 -normal % In verilog, will force the signal to be assigned in a sequential block.
180 -weak or -strong % In verilog, defines the strength of the driver.
181 -delays <risedelay> <falldelay> % Specifies different values for rising and falling. No effect if field <delay> is used.
182 name % Affected signal name.
183 value % Affected expression.
184 condition % Condition for the value to be affected.
185 delay % Delay of the operation. Default is 0ps.
186 delayvar % Delay variable name for defining the delay later.
187 */
188
189 void begAddBusElse(char *name, char *condition, char *value, int delay, char *delayvar);
190 void begAddBusElse_sub(char *name, char *condition, char *value, TimeValue delay, TimeValue delayr, TimeValue delayf, char *delayvar, int flags);
191
192 /*
193 MAN begSaveModel
194 CATEG gns
195 DESCRIPTION
196 Saves the current model to disk.
197 RETURN VALUE
198 none.
199 ERRORS
200 none.
201 */
202 /*
203 MAN begAddBusDriverLoop
204 CATEG gns
205 DESCRIPTION
206 Adds a loop driver to a given bussed signal of the current model, creating the signal if necessary.
207 RETURN VALUE
208 none.
209 ERRORS
210 none.
211 */
212
213 void begAddBusDriverLoop(char *name, char *condition, char *value, char *loopvar, int delay, char *delayvar);
214
215 /*
216 MAN begAddBusDriverDoubleLoop
217 CATEG gns
218 DESCRIPTION
219 Adds a loop driver to a given bussed signal of the current model, creating the signal if necessary.
220 RETURN VALUE
221 none.
222 ERRORS
223 none.
224 */
225
226 void begAddBusDriverDoubleLoop(char *name, char *condition, char *value, char *loopvar1, char *loopvar2, int delay, char *delayvar);
227
228 /*
229 MAN begAddMemDriver
230 CATEG gns
231 SYNOPSIS
232 in C:\$
233 begAddMemDriver(char *name, char *condition, char *value, int delay, char *delayvar)\$
234 in TCL:\$
235 begAddMemDriver [-normal] [-weak|-strong] [-delays <risedelay> <falldelay>] <name> <condition> <value> [delay [delayvar]]\$
236 DESCRIPTION
237 Adds a driver to a given register signal of the curent model, creating the signal if necessary.
238 ARGS
239 -normal % In verilog, will force the signal to be assigned in a sequential block.
240 -weak or -strong % In verilog, defines the strength of the driver.
241 -delays <risedelay> <falldelay> % Specifies different values for rising and falling. No effect if field <delay> is used.
242 name % Affected signal name.
243 value % Affected expression.
244 condition % Condition for the value to be affected.
245 delay % Delay of the operation. Default is 0ps.
246 delayvar % Delay variable name for defining the delay later.
247 RETURN VALUE
248 none.
249 ERRORS
250 none.
251 */
252
253 void begAddMemDriver(char *name, char *condition, char *value, int delay, char *delayvar);
254 void begAddMemDriver_sub(char *name, char *condition, char *value, TimeValue delay, TimeValue delayr, TimeValue delayf, char *delayvar, int flags);
255
256 /*
257 MAN begAddMemDriverLoop
258 CATEG gns
259 DESCRIPTION
260 Adds a loop driver to a given register signal of the curent model, creating the signal if necessary.
261 RETURN VALUE
262 none.
263 ERRORS
264 none.
265 */
266
267 void begAddMemDriverLoop(char *name, char *condition, char *value, char *loopvar, int delay, char *delayvar);
268
269 /*
270 MAN begAddMemDriverDoubleLoop
271 CATEG gns
272 DESCRIPTION
273 Adds a loop driver to a given register signal of the curent model, creating the signal if necessary.
274 RETURN VALUE
275 none.
276 ERRORS
277 none.
278 */
279
280 void begAddMemDriverDoubleLoop(char *name, char *condition, char *value, char *loopvar1, char *loopvar2, int delay, char *delayvar);
281
282 /*
283 MAN begAddMemElse
284 CATEG gns
285 SYNOPSIS
286 begAddMemElse [-normal] [-weak|-strong] [-delays <risedelay> <falldelay>] <name> <condition> <value> [delay [delayvar]]\$
287 DESCRIPTION
288 Adds an else alternative to the previous driver of a given register signal of the curent model, creating the signal if necessary.
289 ARGS
290 -normal % In verilog, will force the signal to be assigned in a sequential block.
291 -weak or -strong % In verilog, defines the strength of the driver.
292 -delays <risedelay> <falldelay> % Specifies different values for rising and falling. No effect if field <delay> is used.
293 name % Affected signal name.
294 value % Affected expression.
295 condition % Condition for the value to be affected.
296 delay % Delay of the operation. Default is 0ps.
297 delayvar % Delay variable name for defining the delay later.
298 */
299
300 void begAddMemElse(char *name, char *condition, char *value, int delay, char *delayvar);
301 void begAddMemElse_sub(char *name, char *condition, char *value, TimeValue delay, TimeValue delayr, TimeValue delayf, char *delayvar, int flags);
302
303 /*
304 MAN begSaveModel
305 CATEG gns
306 DESCRIPTION
307 Saves the current model to disk.
308 RETURN VALUE
309 none.
310 ERRORS
311 none.
312 */
313
314 void begSaveModel();
315
316 /*
317 MAN begKeepModel
318 CATEG gns
319 DESCRIPTION
320 Finalize the current custom-built model.
321 RETURN VALUE
322 none.
323 ERRORS
324 none.
325 */
326
327 void begKeepModel();
328
329 /*
330 MAN begDestroyModel
331 CATEG gns
332 DESCRIPTION
333 Destroy the current model.
334 RETURN VALUE
335 none.
336 ERRORS
337 none.
338 */
339
340 void begDestroyModel();
341
342 /*
343 MAN begVectorize
344 CATEG gns
345 DESCRIPTION
346 Generate a name of type toto(n).
347 RETURN VALUE
348 A pointer to the name string.
349 ERRORS
350 none.
351 */
352
353 char *begVectorize(char *radical, int index);
354
355 /*
356 MAN begVarVectorize
357 CATEG gns
358 DESCRIPTION
359 Generate a name of type toto(n).
360 RETURN VALUE
361 A pointer to the name string.
362 ERRORS
363 none.
364 */
365
366 char *begVarVectorize(char *radical, char *var);
367
368 /*
369 MAN begVectorRange
370 CATEG gns
371 DESCRIPTION
372 Generate a name of type toto(l:r).
373 RETURN VALUE
374 A pointer to the name string.
375 ERRORS
376 none.
377 */
378
379 char *begVectorRange(char *radical, int left, int right);
380
381 /*
382 MAN begAddWarningCheck
383 CATEG gns
384 DESCRIPTION
385 Add a assertion statement which generates a warning on activation.
386 RETURN VALUE
387 none.
388 ERRORS
389 none.
390 */
391
392 void begAddWarningCheck(char *testexpr, char *message);
393
394 /*
395 MAN begAddErrorCheck
396 CATEG gns
397 DESCRIPTION
398 Add a assertion statement which generates an error on activation.
399 RETURN VALUE
400 none.
401 ERRORS
402 none.
403 */
404
405 void begAddErrorCheck(char *testexpr, char *message);
406
407 /*
408 MAN begSort
409 CATEG gns
410 DESCRIPTION
411 Sort the drivers in the current behavioural model.
412 RETURN VALUE
413 none.
414 ERRORS
415 none.
416 */
417
418 void begSort();
419
420 /*
421 MAN begCompact
422 CATEG gns
423 DESCRIPTION
424 Compact the current behavioural model by vectorization and loop detection.
425 RETURN VALUE
426 none.
427 ERRORS
428 none.
429 */
430
431 void begCompact();
432
433 /*
434 MAN begSetDelay
435 CATEG gns
436 DESCRIPTION
437 Set the timing delay value associated with a particular delay variable declared by any of the expression creation functions.
438 RETURN VALUE
439 none.
440 ERRORS
441 none.
442 */
443
444 void begSetDelay(char *varname, int value);
445
446 /*
447 MAN begBuildModel
448 CATEG gns
449 DESCRIPTION
450 Automatically create a standard (nom-compacted) behavioral model for a recognized structural model.
451 RETURN VALUE
452 none.
453 ERRORS
454 none.
455 */
456
457 void begBuildModel();
458
459 /*
460 MAN begBuildModelFromFiles
461 CATEG gns
462 DESCRIPTION
463 Automatically create current behavioral model for a physical structural model.
464 RETURN VALUE
465 none.
466 ERRORS
467 none.
468 */
469
470 //void begBuildModelFromFiles(char *name);
471
472 /*
473 MAN begBuildCompactModel
474 CATEG gns
475 DESCRIPTION
476 Automatically create a compact behavioral model for a recognized structural model.
477 RETURN VALUE
478 none.
479 ERRORS
480 none.
481 */
482
483 void begBuildCompactModel();
484
485 /*
486 MAN begBuildCompactModelFromFiles
487 CATEG gns
488 DESCRIPTION
489 RETURN VALUE
490 none.
491 ERRORS
492 none.
493 */
494
495 //void begBuildCompactModelFromFiles(char *name);
496
497 /*
498 MAN begBiterize
499 CATEG gns
500 DESCRIPTION
501 Unvectorise current behavioral model.
502 RETURN VALUE
503 none.
504 ERRORS
505 none.
506 */
507
508 void begBiterize();
509
510 /*
511 MAN begAddSelectDriver
512 CATEG gns
513 DESCRIPTION
514 Add a with select description.
515 'select' is the name of the signal selected,
516 'value' is affected to 'name' when 'when' match to 'select'.
517 When others is represented by 'when' set to string 'default'.
518 RETURN VALUE
519 none.
520 ERRORS
521 none.
522 */
523
524 void begAddSelectDriver(char *name, char *select, char *when ,char *value, int delay, char *delayvar);
525
526 /*
527 MAN begExport
528 CATEG gns
529 DESCRIPTION
530 begExport(<name>) creates a copy of the current behavioural figure. The new figure gets the name <name>. This function is useful when it is needed to associate a known user name to a behaviour to easily retreive it knowing it's new name.
531 RETURN VALUE
532 none.
533 ERRORS
534 none.
535 SEE ALSO
536 begImport
537 */
538
539 void begExport(char *name);
540
541 /*
542 MAN begImport
543 CATEG gns
544 DESCRIPTION
545 begImport(<name>) retreive the behaviour named <name> and merge it into the current behavioural figure.
546 RETURN VALUE
547 none.
548 ERRORS
549 none.
550 SEE ALSO
551 begExport
552 */
553
554 void begImport(char *name);
555
556 void begSwitchMode();