Монитор
$monitor
выводит в консоль текст каждый раз, когда изменяется один из аргументов. Новая строка автоматически добавляется к тексту.
Важным отличием от $display
является то, что тот выводит данные только 1 раз, а $monitor
– в конце каждого цикла симуляции.
$monitoron
и $monitoroff
управляют флагом, который включает и отключает мониторинг соответственно.
Пример monitor
Пример monitor on/off
`timescale 10 ns / 1 ns
module monitor_tb;
logic set;
parameter p = 1.55;
initial begin
$monitor("[%3t]:[%4g]: set=%b", $time, $realtime, set);
end
initial begin
repeat (3) begin
#p set = 0;
#p set = 1;
end
end
endmodule
`timescale 10 ns / 1 ns
module monitor_on_off_tb;
logic set;
parameter p = 1.55;
initial begin
$monitor("[%3t]:[%4g]: set=%b", $time, $realtime, set);
#3 $monitoroff();
#3 $monitoron();
end
initial begin
repeat (3) begin
#p set = 0;
#p set = 1;
end
end
endmodule
Результат исполнения
Результат исполнения
[ 0]:[ 0]: set=x
[ 20]:[ 1.6]: set=0
[ 30]:[ 3.2]: set=1
[ 50]:[ 4.8]: set=0
[ 60]:[ 6.4]: set=1
[ 80]:[ 8]: set=0
[100]:[ 9.6]: set=1
[ 0]:[ 0]: set=x
[ 20]:[ 1.6]: set=0
[ 60]:[ 6]: set=0
[ 60]:[ 6.4]: set=1
[ 80]:[ 8]: set=0
[100]:[ 9.6]: set=1
Last updated