Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / api / ctk / ctk_API.h
1 #include "avt_API_types.h"
2
3 int ctk_WorstCase();
4
5 int ctk_BestCase();
6
7 int ctk_Active();
8
9 void ctk_API_AtLoad_Initialize();
10
11 void SET_CTK_NETLIST(Netlist *netlist);
12
13 Netlist *GET_CTK_NETLIST();
14
15 void SET_CTK_CONTEXT(CtkContext *cc);
16
17 CtkContext *GET_CTK_CONTEXT();
18
19 void ctk_SetCtkRatio(CtkContext *cc, Signal *victim, Signal *aggressor, double ratio);
20
21 void ctk_SetInternalCrosstalkToGround(CtkContext *cc, double ratio);
22
23 void ctk_SetExternalCrosstalkRatio(CtkContext *cc, double ratio);
24
25 List *ctk_GetAllVictims();
26
27 CtkContext *ctk_CreateContext();
28
29 void ctk_FreeContext(CtkContext *cc);
30
31 /* functions in ctk_API.c related to crosstalk information */
32
33 /*
34 MAN ctk_LoadAggressionFile
35 CATEG tcl+build
36 DESCRIPTION
37 Loads the crosstalk database (generated with {stb} in crosstalk mode), and back-annotates a stability figure
38 ARGS
39 stbfig % Pointer on the stability figure to back-annotate
40 */
41 extern void ctk_LoadAggressionFile( StabilityFigure *stbfig );
42
43 /*------------------
44 MAN ctk_LoadCrosstalkResults
45 CATEG tcl+build
46 SYNOPSIS
47 ctk_LoadCrosstalkResults <{timingfigure}>
48 DESCRIPTION
49 Puts the UTD in the same state as after the crosstalk analysis was done. The corresponding StabilityFigure is returned.
50 Functions 'ttv_LoadCrosstalkFile', 'stb_LoadSwitchingWindows' then 'ctk_LoadAggressionFile' are called to do this action.
51 ARGS
52 timingfigure % TimingFigure to put into post-crosstalk analysis state
53 EXAMPLE % {set stabfig [ctk_LoadCrosstalkResults $myUTD]}.
54 */
55
56 void ctk_LoadCrosstalkResults(void); // (void) disables the gns wrappers
57
58 /*
59 MAN ctk_DriveStatCtk
60 CATEG tcl+build
61 DESCRIPTION
62 Drives a {.ctk} crosstalk analysis report file
63 ARGS
64 stbfig % Pointer on the stability figure associated
65 */
66 extern void ctk_DriveStatCtk( StabilityFigure *stbfig );
67
68 /*
69 MAN ctk_BuildCtkStat
70 CATEG tcl+build
71 DESCRIPTION
72 Builds the internal crosstalk table of statistics for events and delays
73 ARGS
74 stbfig % Pointer on the stability figure associated
75 */
76 void ctk_BuildCtkStat( StabilityFigure *stbfig );
77
78 /*
79 MAN ctk_GetStatNodeProperty
80 CATEG tcl+statistics
81 DESCRIPTION
82 Returns a property of a crosstalk node. A Property is a polymorphic type, the returned type depends on the property code.
83 ARGS
84 stbfig % Pointer on a stability figure
85 index % Number between 1 and the value returned by {ctk_GetNumberOfCtkStatNode}
86 property % Property code; for available property codes, see the {StatNode} object section
87 */
88
89 Property* ctk_GetStatNodeProperty( StabilityFigure *stbfig, int index, char *property );
90
91 /*
92 MAN ctk_GetAggressorList
93 CATEG tcl+aggressor
94 DESCRIPTION
95 Returns the list of all the aggressors of an event. This list must be freed with the {ctk_FreeAggressorList} command.
96 ARGS
97 stbfig % Pointer on a stability figure
98 event % Pointer on a timing event
99 */
100 AggressorList* ctk_GetAggressorList( StabilityFigure *stbfig, TimingEvent *event );
101
102 /*
103 MAN ctk_GetAggressorProperty
104 CATEG tcl+aggressor
105 DESCRIPTION
106 Returns a property of a aggressor node. A Property is a polymorphic type, the returned type depends on the property code.
107 ARGS
108 aggressor % Pointer on a aggressor
109 property % Property code; for available property codes, see the {Aggressor} object section
110 */
111 Property* ctk_GetAggressorProperty( Aggressor *aggressor, char *property );
112
113 /*
114 MAN ctk_FreeAggressorList
115 CATEG tcl+aggressor
116 DESCRIPTION
117 Frees the list given by {ctk_GetAggressorList}
118 ARGS
119 list % Pointer on the aggressor list to be freed
120 */
121 void ctk_FreeAggressorList( AggressorList *list );
122
123 /*
124 MAN tcl+ctk_SortCtkStatNode
125 CATEG sort
126 DESCRIPTION
127 Sorts crosstalk noise statistics according to various criteria
128 ARGS
129 stbfig % Pointer on a stability figure
130 criterion % {SCORE}, {SCORE_NOISE}, {SCORE_ACTIVITY}, {SCORE_CTK}, {SCORE_INTERVAL}, {NOISE_INSIDE_ALIM_MAX}, {NOISE_INSIDE_ALIM_REAL}, {NOISE_RISE_MAX}, {NOISE_RISE_REAL}, {NOISE_FALL_MAX} or {NOISE_FALL_REAL}.
131 */
132
133 void ctk_SortCtkStatNode( StabilityFigure *stbfig, char *criterion );
134
135 /*
136 MAN ctk_GetNumberOfCtkStatNode
137 CATEG tcl+statistics
138 DESCRIPTION
139 Returns the number crosstalk node statistics
140 ARGS
141 stbfig % Pointer on a stability figure
142 */
143 int ctk_GetNumberOfCtkStatNode( StabilityFigure *stbfig );
144
145 /*
146 MAN ctk_GetCtkStatNodeFromEvent
147 CATEG tcl+statistics
148 DESCRIPTION
149 Returns the crosstalk statistic index of a given timing event
150 ARGS
151 stbfig % Pointer on a stability figure
152 event % Pointer on a timing event
153 */
154 int ctk_GetCtkStatNodeFromEvent( StabilityFigure *stbfig, TimingEvent *event );
155
156 /*
157 MAN ctk_SortCtkStatLine
158 CATEG tcl+sort
159 DESCRIPTION
160 Sorts crosstalk delay statistics according to various criteria
161 ARGS
162 stbfig % Pointer on a stability figure
163 criterion % {ABSOLUTE_DELAY}, {ABSOLUTE_MAX_DELAY}, {ABSOLUTE_MIN_DELAY}, {RELATIVE_DELAY}, {RELATIVE_MAX_DELAY}, {RELATIVE_MIN_DELAY}, {ABSOLUTE_SLOPE}, {ABSOLUTE_MAX_SLOPE}, {ABSOLUTE_MIN_SLOPE}, {RELATIVE_SLOPE}, {RELATIVE_MAX_SLOPE} or {RELATIVE_MIN_SLOPE}.
164 */
165 void ctk_SortCtkStatLine( StabilityFigure *stbfig, char *criterion );
166
167 /*
168 MAN ctk_GetNumberOfCtkStatLine
169 CATEG tcl+statistics
170 DESCRIPTION
171 Returns the number crosstalk delay statistics
172 ARGS
173 stbfig % Pointer on a stability figure
174 */
175 int ctk_GetNumberOfCtkStatLine( StabilityFigure *stbfig );
176
177 /*
178 MAN ctk_GetStatLineProperty
179 CATEG tcl+statistics
180 DESCRIPTION
181 Returns a property of a crosstalk delay line. A Property is a polymorphic type, the returned type depends on the property code.
182 ARGS
183 stbfig % Pointer on a stability figure
184 index % Number between 1 and the value returned by {ctk_GetNumberOfCtkStatLine}
185 property % Property code; for available property codes, see the {StatLine} object section
186 */
187 Property* ctk_GetStatLineProperty( StabilityFigure *stbfig, int index, char *property );