Monitoring a Simulation.

Keywords: $monitor, $monitoron, $monitoroff

The format of $monitor is exactly the same as $display The difference is that an output occurs on any change in the variables, rather than at specified times. Thus the $monitor command established a list of variable which are watched, and in practice it is written to be executed at the beginning of the simulation.

Monitoring can be enabled or disabled using $monitoron or $monitoroff respectively. Monitoring is on by default at the beginning of a simulation. The example below shows how a simulation can be monitored.

        module myTest;
           integer a,b;

           initial begin
              a = 2;
              b = 4;
              forever begin
              #5 a = a + b;
              #5 b = a - 1;
              end // forever begin
           end // initial begin

           initial #40 $finish;

           initial begin
              $monitor($time, " a = %d, b = %d", a, b);
           end // initial begin

        endmodule // myTest

will output:
                           0 a =           2, b =           4
                           5 a =           6, b =           4
                          10 a =           6, b =           5
                          15 a =          11, b =           5
                          20 a =          11, b =          10
                          25 a =          21, b =          10
                          30 a =          21, b =          20
                          35 a =          41, b =          20


previous next contents