Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / api / stb / stb_API.i
1 #define INPUT_CLOCK 1
2 #define OUTPUT_CLOCK 2
3 #define MAIN_CLOCK 3
4
5 /* Timing Figure -> */
6
7 extern StabilityFigure *stb (TimingFigure *tf);
8 extern StabilityFigure *stb_LoadSwitchingWindows (TimingFigure *tvf, char *filename);
9
10 /* Stability Figure -> */
11
12 extern void stb_FreeStabilityFigure (StabilityFigure *sf);
13 extern TimingSignalList *stb_GetErrorList (StabilityFigure *sf, TimeValue margin, int nberror);
14 extern double stb_GetSetupSlack (StabilityFigure *fig, char *signame, char dir);
15 extern double stb_GetHoldSlack (StabilityFigure *fig, char *signame, char dir);
16 extern StabilityPathList *stb_GetSignalStabilityPaths (StabilityFigure *stbfig, char *output);
17 extern void stb_DisplaySignalStabilityReport (FILE *f, StabilityFigure *stbfig, char *name);
18 extern void stb_DisplayErrorList (FILE *f, StabilityFigure *stbfig, TimeValue margin, int nberror);
19 extern void stb_DisplaySlackReport_sub (FILE *f, StabilityFigure *tf, char *start, char *end, char *dir, int number, char *mode, TimeValue margin);
20 void stb_UpdateSlacks (StabilityFigure *fig);
21 void stb_DisplayCoverage_sub(FILE *f, StabilityFigure *sf, int detail);
22 void stb_DriveReport (StabilityFigure *fig, char *filename);
23
24 /* StabilityPath -> */
25
26 extern Property *stb_GetStabilityPathProperty (StabilityPath *path, char *property);
27 extern double stb_GetClockTime (StabilityPath *path, int clock, char dir);
28 extern double stb_GetClockDelta (StabilityPath *path, int clock, char dir);
29 extern void stb_DisplayClock (FILE *f, StabilityPath *path, int clock);
30 extern void stb_DisplayInfos (FILE *f, StabilityPath *path);
31 extern void stb_DisplayInputInfos (FILE *f, StabilityPath *path);
32 extern StabilityRangeList *stb_GetInputInstabilityRanges (StabilityPath *path, char dir);
33 extern StabilityRangeList *stb_GetOutputInstabilityRanges (StabilityPath *path, char dir);
34 extern StabilityRangeList *stb_GetOutputSpecificationRanges (StabilityPath *path, char dir);
35 extern double stb_GetInstabilityRangeStart (StabilityRange *range);
36 extern double stb_GetInstabilityRangeEnd (StabilityRange *range);
37 extern void stb_DisplayInputInstabilityRanges (FILE *f, StabilityPath *path);
38 extern void stb_DisplayOutputInstabilityRanges (FILE *f, StabilityPath *path);
39 extern void stb_DisplayOutputSpecificationRanges (FILE *f, StabilityPath *path);
40
41 /* StabilityPathList -> */
42
43 extern void stb_FreeStabilityPathList (StabilityPathList *path_list);
44
45 StabilitySlackList *stb_GetSlacks_sub(StabilityFigure *stbfig, char *start, char *end, char *dir, int number, char *mode, TimeValue margin, char *thru, int nolagprech);
46 void stb_FreeSlackList(StabilitySlackList *cl);
47 Property *stb_GetSlackProperty (StabilitySlack *so, char *property);
48
49 // test
50 void stb_compute_local_margins(StabilityFigure *stbfig);
51 void stb_trackstbpath (StabilityFigure *stbfig, char *nodename, char dir, TimeValue timeo);
52 StabilitySlack *stb_ComputeOneSlack(int setup, TimingPath *data, TimingPath *clock, TimeValue margin, int nextcycle, int nosync);
53 void stb_DisplaySlackReport_sub2(FILE *f, StabilitySlackList *solist, int number, char *mode);
54 Property *stb_GetStabilityFigureProperty (StabilityFigure *sf, char *property);
55
56 int path_false_slack_check(TimingPath *tp, TimingEvent *opencmd, TimingEvent *topopenclock);
57 double stb_synchronized_slopes_move(StabilityFigure *ptstbfig, TimingEvent *startnode, TimingEvent *endclock);
58