Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / api / ttv / ttv_API_display.h
1
2 extern double DISPLAY_time_unit, DISPLAY_capa_unit;
3 extern char *DISPLAY_time_string, *DISPLAY_capa_string, *DISPLAY_time_format, *DISPLAY_signed_time_format, *DISPLAY_capa_format;
4 extern char DISPLAY_number_justify;
5 extern int DISPLAY_nodemode;
6 extern char probemode;
7 extern char DISPLAY_simdiffmode;
8
9 typedef struct {
10 int enabled;
11 struct {
12 double val;
13 char *label;
14 int noacc;
15 } add[10];
16 } PATH_MORE_INFO_TYPE;
17
18 extern PATH_MORE_INFO_TYPE PATH_MORE_INFO;
19
20 #define PATH_NOISE_PTYPE 0xfab60314
21
22 typedef struct
23 {
24 char T, N, A, C, I, P;
25 } PATH_NOISE_TYPE;
26 // columns for path list
27
28 #define COL_INDEX 0 //<- shared
29 #define COL_PATH_SEP0 1
30 #define COL_STARTTIME 2
31 #define COL_PATH_SEP1 3
32 #define COL_STARTSLOPE 4
33 #define COL_PATH_SEP2 5
34 #define COL_PATHDELAY 6
35 #define COL_PATH_SEP3 7
36 #define COL_TOTALDELAY 8
37 #define COL_PATH_SEP4 9
38 #define COL_DATALAG 10
39 #define COL_PATH_SEP5 11
40 #define COL_ENDSLOPE 12
41 #define COL_PATH_SEP6 13
42 #define COL_STARTNODE_DIR 14
43 #define COL_STARTNODE 15
44 #define COL_PATH_SEP7 16
45 #define COL_ENDNODE_DIR 17
46 #define COL_ENDNODE 18
47
48 // columns for detail list
49
50 #define COL_SIM_ACC 0
51 #define COL_SIM_DELTA 1
52 #define COL_SIM_SLOPE 2
53 #define COL_SIM_ERROR 3
54 #define COL_DET_SEP_SIM 4
55 #define COL_REF_ACC 5
56 #define COL_REF_DELTA 6
57 #define COL_REF_SLOPE 7
58 #define COL_DET_SEP_REF 8
59 #define COL_REF_LAG_ACC 9
60 #define COL_REF_LAG_DELTA 10
61 #define COL_DET_SEP_REF_LAG 11
62
63 #define COL_SSTA_MIN 12
64 #define COL_SSTA_MOY 13
65 #define COL_SSTA_MAX 14
66 #define COL_SSTA_SIGMA 15
67
68
69 #define COL_CTK_ACC 16
70 #define COL_CTK_DELTA 17
71 #define COL_CTK_SLOPE 18
72 #define COL_DET_SEP_CTK 19
73 #define COL_CTK_LAG_ACC 20
74 #define COL_CTK_LAG_DELTA 21
75
76 #define COL_CTK_SCORE_TOT 22
77 #define COL_CTK_SCORE_NOISE 23
78 #define COL_CTK_SCORE_CTK 24
79 #define COL_CTK_SCORE_ACTIV 25
80 #define COL_CTK_SCORE_INTERV 26
81 #define COL_CTK_SCORE_PROBA 27
82
83 #define COL_DET_SEP_CTK_LAG 28
84 #define COL_CAPA 29
85 #define COL_DET_SEP_CAPA 30
86 #define COL_NODETYPE 31
87 #define COL_DET_SEP_NODETYPE 32
88 #define COL_NODENAME 33
89 #define COL_DET_SEP_NODENAME 34
90 #define COL_NETNAME 35
91 #define COL_DET_SEP_NETNAME 36
92 #define COL_LINETYPE 37
93 #define COL_DET_SEP_LINETYPE 38
94 #define COL_TRANSISTORS 39
95 #define COL_DET_SEP_TRANSISTORS 40
96 #define INFO_CMD 41
97 #define GLOBAL_COL_REF 42
98 #define GLOBAL_COL_CTK 43
99 #define GLOBAL_COL_SIM 44
100 #define GLOBAL_COL_CTKLAG 45
101 #define GLOBAL_COL_REFLAG 46
102
103 // columns for stb error list
104
105 //#define COL_INDEX 0
106 #define COL_START 1
107 #define COL_ERRL_SEP0 2
108 #define COL_LATCH 3
109 #define COL_ERRL_SEP1 4
110 #define COL_NAME 5
111 #define COL_ERRL_SEP2 6
112 #define COL_SETUP 7
113 #define COL_ERRL_SEP3 8
114 #define COL_HOLD 9
115
116 // columns for slack report
117
118 #define COL_SLACK_SEP5 2
119 #define COL_SLACK 3
120 #define COL_SLACK_SEP0 4
121 #define COL_DV_TIME 5
122 #define COL_DV_REL 6
123 #define COL_SLACK_SEP1 7
124 #define COL_DR_TIME 8
125 #define COL_DR_REL 9
126 #define COL_SLACK_SEP2 10
127 #define COL_STARTEND 11
128 #define COL_SLACK_SEP3 12
129 #define COL_DATAPATHMARGIN 13
130 #define COL_CLOCKPATHMARGIN 14
131 #define COL_INTRINSIC_MARGIN 15
132 #define COL_SLACK_SEP6 16
133 #define COL_FROMNODEDIR 17
134 #define COL_FROMNODE 18
135 #define COL_SLACK_SEP4 19
136 #define COL_TONODEDIR 20
137 #define COL_TONODE 21
138 #define COL_THRUDEBUG 22
139
140 // columns for con2latcherror
141
142 #define COL_CONNECTOR_DIR 1
143 #define COL_CONNECTOR 2
144 #define COL_C2L_SEP_CONNECTOR 3
145 #define COL_LATCH_DIR 4
146 #define COL_LATCH_C2L 5
147 #define COL_C2L_SEP_LATCH 6
148 #define COL_SETUP_C2L 7
149 #define COL_DATAMAX 8
150 #define COL_DATAMAX_MARGIN 9
151 #define COL_CLOCKMIN 10
152 #define COL_CLOCKMIN_MARGIN 11
153 #define COL_C2L_SEP_SETUPHOLD 12
154 #define COL_HOLD_C2L 13
155 #define COL_DATAMIN 14
156 #define COL_DATAMIN_MARGIN 15
157 #define COL_CLOCKMAX 16
158 #define COL_CLOCKMAX_MARGIN 17
159
160 // clock path
161 #define COL_CP_NAME 2
162 #define COLUMN_DISTANCE 5
163
164
165
166 // detail control
167 extern long detail_forced_mode;
168 extern int ffdebug;
169
170 #define RELATIVE_DETAIL 1
171 #define NOSUPINFO_DETAIL 2
172 #define IDEAL_CLOCK 4
173 //
174
175 extern char STAB_CONFIG_SHOW[];
176 extern char C2L_CONFIG_SHOW[];
177
178
179 typedef void (*more_func)(char *dec, FILE *f);
180
181
182
183
184 char *FormaT(double val, char *buf, char *formatnum);
185 void ttv_DisplayRoute(FILE *f, ttvevent_list *tve, char type, chain_list *pthlist, int prech);
186 void _ttv_Board_SetValue(char *tab, int scol, Board *B, int col, char *val);
187 void _ttv_Board_SetSize(char *tab, int scol, Board *B, int col, int size, char align);
188 void _ttv_Board_SetSep(char *tab, int scol, Board *B, int col);
189
190 #define SLACK_PTYPE 0xfab50819
191 #define DEBUG_PTYPE 0xfab50928
192 #define MORE_PTYPE 0xfab60517
193
194 void ttvapi_setprefix(char *val);
195 char *ttv_GetFullSignalName_COND(ttvfig_list *tf, ttvsig_list *sg);
196 char *ttv_GetDetailSignalName_COND(ttvcritic_list *tc);
197 double stb_periodmove(char dir, stbdebug_list *dbl);
198 double stb_getperiodmove(char dir, stbdebug_list *dbl);
199
200 void ttv_setsearchexclude(long valstart, long valend, long *oldvalstart, long *oldvalend);
201 chain_list *ttv_internal_getclockpaths(ttvfig_list *tf, char *clock, char *cmd, int number, char *minmax);
202 int ttv_IsClock(ttvsig_list *ts);
203 long ttvfigtype(ttvfig_list *tvf);
204 char *ttv_internal_getclockliststring(ttvfig_list *tf, char *clock);
205 long ttv_setsearchmode(long val);
206
207 void ttv_GetNodeSpecout(ttvevent_list *latch, double unit, char *unitformat, char *res, stbdebug_list *dbl, ttvpath_list *tp, int setuphold, long dec);
208 void ttv_GetNodeClock(ttvevent_list *tve, ttvevent_list *latch, double unit, char *unitstring, char *unitformat, char *res, stbdebug_list *dbl, ttvpath_list *tp);