Report

您可以使用以下语法在 RTL 中添加调试以进行仿真:

object Enum extends SpinalEnum{
    val MIAOU, RAWRR = newElement()
}

class TopLevel extends Component {
    val a = Enum.RAWRR()
    val b = U(0x42)
    val c = out(Enum.RAWRR())
    val d = out (U(0x42))
    report(Seq("miaou ", a, b, c, d))
}

例如,它将生成以下 Verilog 代码:

$display("NOTE miaou %s%x%s%x", a_string, b, c_string, d);

从 SpinalHDL 1.4.4 开始,还支持以下语法:

report(L"miaou $a $b $c $d")

可以使用 REPORT_TIME 对象显示当前仿真时间

report(L"miaou $REPORT_TIME")

会导致:

$display("NOTE miaou %t", $time);