[dv, sw] "Backdoor" C->SV logging
- This PR enables C logging that bypasses UART and uses a "backdoor"
mechanism.
- The log strings are initialized in a dummy section that is not
actually loaded into the memory. When the elf file is generated, the log
strings (with their addresses) are extracted and converted into a SV
friendly database. The C code on the Ibex does not process the log
strings at all, it just writes the address of the log string to a
reserved memory location in the RAM that the SV side is monitoring. Any
parameters passed to the format string are also subsequently written to
that same address. THe SV looks up the format log string and its
parameter values as it sees them on the bus and process the log into the
final string message. The format string includes information such as the
severity, file name and the line number. Based on the severity, the log
is then printed with the corresponding `uvm_*` facilities.
Signed-off-by: Srikrishna Iyer <sriyer@google.com>
diff --git a/python-requirements.txt b/python-requirements.txt
index 8d3bc1f..4407df1 100644
--- a/python-requirements.txt
+++ b/python-requirements.txt
@@ -14,6 +14,7 @@
# Ubuntu 16.04.
meson >= 0.51.0, != 0.53.0, <0.54.0 # minimum matches version in meson.build
mistletoe>=0.7.2
+pyelftools
pyftdi
pygments
pytest