95 lines
1.8 KiB
Verilog
95 lines
1.8 KiB
Verilog
timeunit 1ns;
|
|
timeprecision 10ps;
|
|
|
|
module test;
|
|
|
|
parameter factor = 1e-9/10e-12;
|
|
|
|
longint tmanual, tnow, tdiff;
|
|
longint incr;
|
|
|
|
initial begin
|
|
tmanual = 0;
|
|
if ($realtime != 0) begin
|
|
$display ("FAILED");
|
|
$finish;
|
|
end
|
|
#33.1ns;
|
|
incr = 33.1e-9/10e-12;
|
|
tmanual = tmanual + incr;
|
|
tnow = $realtime*factor;
|
|
tdiff = tnow-tmanual;
|
|
if (tdiff != 0) begin
|
|
$display ("FAILED");
|
|
$finish;
|
|
end
|
|
#78.1ps;
|
|
incr = 78.1e-12/10e-12;
|
|
tmanual = tmanual + incr;
|
|
tnow = $realtime*factor;
|
|
tdiff = tnow-tmanual;
|
|
if (tdiff != 0) begin
|
|
$display ("FAILED");
|
|
$finish;
|
|
end
|
|
#123.08ns;
|
|
incr = 123.08e-9/10e-12;
|
|
tmanual = tmanual + incr;
|
|
tnow = $realtime*factor;
|
|
tdiff = tnow-tmanual;
|
|
if (tdiff != 0) begin
|
|
$display ("FAILED");
|
|
$finish;
|
|
end
|
|
#9.006ns;
|
|
incr = 9.006e-9/10e-12;
|
|
tmanual = tmanual + incr;
|
|
tnow = $realtime*factor;
|
|
tdiff = tnow-tmanual;
|
|
if (tdiff != 0) begin
|
|
$display ("FAILED");
|
|
$finish;
|
|
end
|
|
#17.003ns;
|
|
incr = 17.003e-9/10e-12;
|
|
tmanual = tmanual + incr;
|
|
tnow = $realtime*factor;
|
|
tdiff = tnow-tmanual;
|
|
if (tdiff != 0) begin
|
|
$display ("FAILED");
|
|
$finish;
|
|
end
|
|
#578.23us;
|
|
incr = 578.23e-6/10e-12;
|
|
tmanual = tmanual + incr;
|
|
tnow = $realtime*factor;
|
|
tdiff = tnow-tmanual;
|
|
if (tdiff != 0) begin
|
|
$display ("FAILED");
|
|
$finish;
|
|
end
|
|
#0.0356ms;
|
|
incr = 0.0356e-3/10e-12;
|
|
tmanual = tmanual + incr;
|
|
tnow = $realtime*factor;
|
|
tdiff = tnow-tmanual;
|
|
if (tdiff != 0) begin
|
|
$display ("FAILED");
|
|
$finish;
|
|
end
|
|
#1.011s;
|
|
incr = 1.011e0/10e-12;
|
|
tmanual = tmanual + incr;
|
|
tnow = $realtime*factor;
|
|
tdiff = tnow-tmanual;
|
|
if (tdiff != 0) begin
|
|
$display ("FAILED");
|
|
$finish;
|
|
end
|
|
$display("PASSED");
|
|
//$display ("Time now is: %t, manual = %0d, tnow = %0d, diff = %0d ", $realtime, tmanual, tnow, tdiff);
|
|
$finish;
|
|
end
|
|
|
|
endmodule
|