如何减少 Cocotb 中的日志行大小

How to reduce log line size in Cocotb

在 cocotb testbench 中,终端中的日志打印有很长的行:

28204007.00ns INFO     cocotb.regression                         regression.py:341  in _log_test_summary               **************************************************************************************************************
                                                                                                                       ** TEST                                                  PASS/FAIL  SIM TIME(NS)  REAL TIME(S)  RATIO(NS/S) **
                                                                                                                       **************************************************************************************************************

这对于大多数 xterminals 来说太长了。 是否有减少线路长度的选项?也许我们可以隐藏一些信息,例如消息行号或函数名称?

好的,找到了。感谢 leftink 有一个 os 环境变量来定义减少行日志长度:COCOTB_REDUCED_LOG_FMT

为了减少日志长度,我们可以简单地在终端中导出变量:

$ 出口 COCOTB_REDUCED_LOG_FMT=1

如果我们想默认使用它,我们可以将它添加到我们的 makefile 中:

    export COCOTB_REDUCED_LOG_FMT=1
    SIM=ghdl
    TOPLEVEL=mydesign
    VHDL_SOURCES =$(PWD)/../..
    [...]

这将为我们提供一个减少的行长度日志:

28204007.00ns INFO     **************************************************************************************************************
                       ** TEST                                                  PASS/FAIL  SIM TIME(NS)  REAL TIME(S)  RATIO(NS/S) **
                       **************************************************************************************************************

与标准终端配套