Files
openairinterface5g/common/utils/LOG
Cedric Roux 55ba99ac62 T: check consistency of T_messages.txt with VCD functions and variables traces
Since VCD has now to go through the T tracer, we enforce the consistency
of data found in common/utils/LOG/vcd_signal_dumper.[ch] with data
found in common/utils/T/T_messages.txt.

We might get completely rid of common/utils/LOG/vcd_signal_dumper.[ch] at some
point. For the moment, let's keep it.

This commit adds the program common/utils/T/check_vcd.c and necessary
modifications to enforce its use at compilation time.

If you modify common/utils/LOG/vcd_signal_dumper.[ch] but do not update
common/utils/T/T_messages.txt an error will pop up when you compile the
software. You have to keep both modules synchronized.
2018-08-17 12:24:39 +02:00
..

VCD Plugin v0.1

The VCD plugin outputs signals to a .vcd file which is readable by gtkwave (http://en.wikipedia.org/wiki/GTKWave).
Signals may have two types:
- Variables to dump the state of a variable (range 0..2^64 - 1).
- Functions to log function usage (implies two call to VCD API: IN and OUT)

This module is always built in, but is only used when -V oaisim option is added.
The VCD file generated is called openair_vcd_dump.vcd and is located in the execution folder.

Usage:
1) To dump function usage:
    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(FUNCTION_NAME, VCD_FUNCTION_IN); at start of function
    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(FUNCTION_NAME, VCD_FUNCTION_OUT); at end of function
    FUNCTION_NAME should be defined in the enum in vcd_signal_dumper.h and the function name should be addded at the right place in the vcd_signal_dumper.c file.

2) To dump a variable:
    VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VARIABLE_NAME, value); where VARIABLE_NAME is defined as described above for functions and value is the state of the variable at log time.

TODO list:
- Add support for signed variables
- Create more than two module (for now: one for variable, one for functions)
- Integrate date in filename
- Use a more accurate clock (if necessary) or use a host specific clock (for other systems than Linux)

Useful link:
http://www.beyondttl.com/vcd.php