在 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。
我正在使用 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。