1 /****************************************************************************/
3 /* (c) copyright 2000 AVERTEC */
5 /* Title : VCD Parser engine */
6 /* Last modified : 2003-07-17 */
8 /****************************************************************************/
10 typedef struct WScan_EventList WScan_EventList
;
11 typedef struct WScan_SignalList WScan_SignalList
;
13 /*==========================================================================*/
15 /*==========================================================================*/
16 extern int WScan_ParseFiles (char *vcd_file
, char *cor_file
);
17 /* Creates the VCD DataBase from the .vcd file and the .cor file */
18 /* Returns 0 if successfull, 1 otherwise */
20 /*--------------------------------------------------------------------------*/
21 extern void WScan_FreeDB ();
22 /* Frees the DataBase */
24 /*==========================================================================*/
26 /*==========================================================================*/
27 extern WScan_SignalList
*WScan_GetSignalsList ();
28 /* Returns the list of signals in the VCD DataBase. These signals are those */
29 /* present in the .vcd file and mapped thru the correspondaces of the .cor */
32 /*--------------------------------------------------------------------------*/
33 extern WScan_SignalList
*WScan_GetNextSig (WScan_SignalList
*sig
);
34 /* Returns the next signal in the list of signals, NULL if EOL */
36 /*--------------------------------------------------------------------------*/
37 extern char *WScan_GetSigName (WScan_SignalList
*sig
);
38 /* Returns the name of a signal from the signals list */
40 /*==========================================================================*/
42 /*==========================================================================*/
43 extern void WScan_GoToInitTime ();
44 /* Sets the current simulation time to -1 (init time) */
46 /*--------------------------------------------------------------------------*/
47 extern void WScan_GoToNextTime ();
48 /* Sets the current simulation time to the next time where events are */
49 /* occuring. If end of simulation reached, time is not incremented, */
50 /* i.e next time == current time */
52 /*--------------------------------------------------------------------------*/
53 extern long WScan_GetTime ();
54 /* Returns the current simulation time */
56 /*==========================================================================*/
58 /*==========================================================================*/
59 extern WScan_EventList
*WScan_GetEvents ();
60 /* Returns the list of events occuring at the current simulation time. */
61 /* (As it duplicates an internal list, it should be freed with the */
62 /* WScan_FreeEvents function) */
64 /*--------------------------------------------------------------------------*/
65 extern void WScan_FreeEvents (WScan_EventList
*events
);
66 /* Frees a list of events */
68 /*--------------------------------------------------------------------------*/
69 extern long WScan_CountEvents (WScan_EventList
*events
);
70 /* Returns the number of events in a list of events */
72 /*--------------------------------------------------------------------------*/
73 extern WScan_EventList
*WScan_GetNextEvent (WScan_EventList
*event
);
74 /* Returns the next event in the list of events, NULL if EOL */
76 /*--------------------------------------------------------------------------*/
77 extern char *WScan_GetEventSigName (WScan_EventList
*event
);
78 /* Returns the name of the signal on which the event has occured */
80 /*--------------------------------------------------------------------------*/
81 extern char WScan_GetEventValue (WScan_EventList
*event
);
82 /* returns the new value of the signal on which the event has occured */