2 #include "avt_API_types.h"
4 void beg_API_Restart();
5 void beg_API_AtLoad_Initialize();
6 void beg_API_Action_Initialize();
7 void beg_API_TopLevel(long list
);
13 Initializes a behavioral model with the given name making it the current model.
20 void begCreateModel(char *name
);
26 Adds an I/O port to the current model.
33 void begCreatePort(char *name
, char direction
);
36 MAN begCreateModelFromConnectors
39 Initializes a behavioral model with the given name and interface, making it the current model.
46 void begCreateModelFromConnectors(char *name
, List
*connectors
);
49 MAN begCreateModelInterface
52 Initializes a behavioral model with the given name and the physical model interface, making it the current model.
59 void begCreateModelInterface(char *name
);
62 MAN begCreateInterface
65 Initializes a behavioral model and the physical model interface, making it the current model. The model name will be handled by the API.
71 void begCreateInterface();
74 MAN begWriteCorrespondanceList
77 Drive the correspondence table between the physical model and the behavioral model.
84 //void begWriteCorrespondanceList(char *name);
87 MAN begRenameSignalsFromModel
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.
99 void begRenameSignalsFromModel();
102 MAN begAddInstanceModel
105 Add a behavioral model into the current behavioral model.
112 //void begAddInstanceModel(Instance *loins);
115 MAN xxxxbegAddAllInstanceModels
118 Add all the instances previoulsy described into the current behavioral model.
125 void begAddAllInstanceModels(int compact
);
131 begAssign [-weak|-strong] <name> <value> [delay [delayvar]]
133 Creates a simple concurrent assignment in the current model.
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
);
148 begAddBusDriver(char *name, char *condition, char *value, int delay, char *delayvar)\$
150 begAddBusDriver [-normal] [-weak|-strong] [-delays <risedelay> <falldelay>] <name> <condition> <value> [delay [delayvar]]\$
152 Adds a driver to a given bussed signal of the current model, creating the signal if necessary.
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.
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
);
175 begAddBusElse [-normal] [-weak|-strong] [-delays <risedelay> <falldelay>] <name> <condition> <value> [delay [delayvar]]\$
177 Adds an else alternative to the previous driver of a given bussed signal of the curent model, creating the signal if necessary.
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.
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
);
196 Saves the current model to disk.
203 MAN begAddBusDriverLoop
206 Adds a loop driver to a given bussed signal of the current model, creating the signal if necessary.
213 void begAddBusDriverLoop(char *name
, char *condition
, char *value
, char *loopvar
, int delay
, char *delayvar
);
216 MAN begAddBusDriverDoubleLoop
219 Adds a loop driver to a given bussed signal of the current model, creating the signal if necessary.
226 void begAddBusDriverDoubleLoop(char *name
, char *condition
, char *value
, char *loopvar1
, char *loopvar2
, int delay
, char *delayvar
);
233 begAddMemDriver(char *name, char *condition, char *value, int delay, char *delayvar)\$
235 begAddMemDriver [-normal] [-weak|-strong] [-delays <risedelay> <falldelay>] <name> <condition> <value> [delay [delayvar]]\$
237 Adds a driver to a given register signal of the curent model, creating the signal if necessary.
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.
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
);
257 MAN begAddMemDriverLoop
260 Adds a loop driver to a given register signal of the curent model, creating the signal if necessary.
267 void begAddMemDriverLoop(char *name
, char *condition
, char *value
, char *loopvar
, int delay
, char *delayvar
);
270 MAN begAddMemDriverDoubleLoop
273 Adds a loop driver to a given register signal of the curent model, creating the signal if necessary.
280 void begAddMemDriverDoubleLoop(char *name
, char *condition
, char *value
, char *loopvar1
, char *loopvar2
, int delay
, char *delayvar
);
286 begAddMemElse [-normal] [-weak|-strong] [-delays <risedelay> <falldelay>] <name> <condition> <value> [delay [delayvar]]\$
288 Adds an else alternative to the previous driver of a given register signal of the curent model, creating the signal if necessary.
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.
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
);
307 Saves the current model to disk.
320 Finalize the current custom-built model.
333 Destroy the current model.
340 void begDestroyModel();
346 Generate a name of type toto(n).
348 A pointer to the name string.
353 char *begVectorize(char *radical
, int index
);
359 Generate a name of type toto(n).
361 A pointer to the name string.
366 char *begVarVectorize(char *radical
, char *var
);
372 Generate a name of type toto(l:r).
374 A pointer to the name string.
379 char *begVectorRange(char *radical
, int left
, int right
);
382 MAN begAddWarningCheck
385 Add a assertion statement which generates a warning on activation.
392 void begAddWarningCheck(char *testexpr
, char *message
);
398 Add a assertion statement which generates an error on activation.
405 void begAddErrorCheck(char *testexpr
, char *message
);
411 Sort the drivers in the current behavioural model.
424 Compact the current behavioural model by vectorization and loop detection.
437 Set the timing delay value associated with a particular delay variable declared by any of the expression creation functions.
444 void begSetDelay(char *varname
, int value
);
450 Automatically create a standard (nom-compacted) behavioral model for a recognized structural model.
457 void begBuildModel();
460 MAN begBuildModelFromFiles
463 Automatically create current behavioral model for a physical structural model.
470 //void begBuildModelFromFiles(char *name);
473 MAN begBuildCompactModel
476 Automatically create a compact behavioral model for a recognized structural model.
483 void begBuildCompactModel();
486 MAN begBuildCompactModelFromFiles
495 //void begBuildCompactModelFromFiles(char *name);
501 Unvectorise current behavioral model.
511 MAN begAddSelectDriver
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'.
524 void begAddSelectDriver(char *name
, char *select
, char *when
,char *value
, int delay
, char *delayvar
);
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.
539 void begExport(char *name
);
545 begImport(<name>) retreive the behaviour named <name> and merge it into the current behavioural figure.
554 void begImport(char *name
);
556 void begSwitchMode();