在 Vivado 模拟器中抑制时间消息

Supress time messages in Vivado simulator

我正在使用 Vivado 模拟器。

我想知道是否可以在 Tcl 控制台中抑制时间消息。它们打印有注释条目:

report "LED1 is turned on" severity note;

结果整数:

Note: LED1 is turned on Time: 4477500 ps Iteration: 6 Process: /testbench/\GEN(1)/line__280 File: H:/Image/Image.srcs/sim_1/new/tb.vhd

我可以去掉这个时间条目吗?

不,报告和断言格式是固定的。

但是,您可以从 VHDL 写入 STDOUT。这些消息在模拟器控制台中显示时没有时间信息(在其他消息之间)。

写入STDOUT的示例:

use   STD.TextIO.all;

procedure test is
  variable LineBuffer : LINE;
begin
  write(LineBuffer, "test message");
  writeline(output, LineBuffer);
end procedure;

来源:https://github.com/VLSI-EDA/PoC/blob/master/src/sim/sim_protected.v08.vhdl#L150-L226

来自 iSim 的屏幕截图:

Vivado Simulator 的输出应该是相似的。

非常感谢你 post 它真的帮助了我。

虽然这不是直截了当的。

不幸的是,您需要将它们标记为字符串。所以在 vivado 中,以下将起作用

use   STD.TextIO.all;

procedure test is
   variable LineBuffer : LINE;
begin
   write(LineBuffer, string'("test message"));
   writeline(output, LineBuffer);
end procedure;

请注意它不在括号中,它带有一个postrophe。