OpenCores
URL https://opencores.org/ocsvn/usb2uart/usb2uart/trunk

Subversion Repositories usb2uart

[/] [usb2uart/] [trunk/] [verify/] [tb/] [test_control.v] - Rev 3

Compare with Previous | Blame | View Log

 
module test_control();
 
  event        error_detected;
  integer      error_count;
  reg          verbose_msg;
 
  // initialize debug variables 
  initial
    begin
      error_count = 0;
      verbose_msg = 0;
    end
 
 
  // count the number error 
  always @(error_detected)
    begin
      error_count = error_count + 1;
    end
 
 
  // enabling/disabling  message
  task msg_enable;
    input [20*8:1] msg_src;
    input msg_enable;
    begin
      verbose_msg = msg_enable;
      if (msg_enable)
        $display("         At time %t ** %s: enabling messages",$time, msg_src);
      else
        $display("         At time %t ** %s: disabling messages",$time, msg_src);
    end
  endtask // msg
 
  // generating message
  task msg;
    input [20*8:1] msg_src;
    input [40*8:1] msg_text;
    begin
      if (verbose_msg)
        $display("         At time %t ** %s: Msg: %s",$time, msg_src, msg_text);
    end
  endtask // msg
 
  // generating long message
  task msgl;
    input [40*8:1] msg_src;
    input [80*8:1] msg_text;
    begin
      if (verbose_msg)
        $display("         At time %t ** %s: Msg: %s",$time, msg_src, msg_text);
    end
  endtask // msg
 
  // generating the error message
  task err;
    input [20*8:1] err_src;
    input [40*8:1] err_text;
    begin
      -> error_detected;
      $display("Time %0d, %s Error: %s",$time, err_src, err_text);
    end
  endtask // err
 
 
task finish_test;
begin
 
   $display("****************************************");
   if ( error_count == 0 )
      $display("* TEST: PASSED");
   else
      $display("* TEST: FAILED\n*\tError(s) = %d", error_count);
 
   $display("****************************************");
end
endtask
 
 
endmodule // debug_proc
 
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.