1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed under The Creative Commons Public Domain, for
// any use, without warranty, 2020 by Wilson Snyder.
// SPDX-License-Identifier: CC0-1.0
//verilator lint_off REALCVT
`define testmod(modname) \
module modname; \
time t; \
task check; t = 1ns; $write("%m %0t\n", t); endtask \
endmodule
`timescale 100s/1fs
`testmod(sp2)
`timescale 10s/1fs
`testmod(sp1)
`timescale 1s/1fs
`testmod(sp0)
`timescale 100ms/1fs
`testmod(sm1)
`timescale 10ms/1fs
`testmod(sm2)
`timescale 1ms/1fs
`testmod(sm3)
`timescale 100us/1fs
`testmod(sm4)
`timescale 10us/1fs
`testmod(sm5)
`timescale 1us/1fs
`testmod(sm6)
`timescale 100ns/1fs
`testmod(sm7)
`timescale 10ns/1fs
`testmod(sm8)
`timescale 1ns/1fs
`testmod(sm9)
`timescale 100ps/1fs
`testmod(sm10)
`timescale 10ps/1fs
`testmod(sm11)
`timescale 1ps/1fs
`testmod(sm12)
`timescale 100 fs/1fs
`testmod(sm13)
`timescale 10fs/1 fs
`testmod(sm14)
`timescale 1 fs / 1 fs // Comment
`testmod(sm15)
module r0;
timeunit 10ns / 1ns;
task check; $write("%m %0t\n", $time); endtask
endmodule
module r1;
timeunit 10ns;
timeprecision 1ns;
task check; $write("%m %0t\n", $time); endtask
endmodule
module t;
sp2 sp2();
sp1 sp1();
sp0 sp0();
sm1 sm1();
sm2 sm2();
sm3 sm3();
sm4 sm4();
sm5 sm5();
sm6 sm6();
sm7 sm7();
sm8 sm8();
sm9 sm9();
sm10 sm10();
sm11 sm11();
sm12 sm12();
sm13 sm13();
sm14 sm14();
sm15 sm15();
r0 r0();
r1 r1();
final begin
sp2.check();
sp1.check();
sp0.check();
sm1.check();
sm2.check();
sm3.check();
sm4.check();
sm5.check();
sm6.check();
sm7.check();
sm8.check();
sm9.check();
sm10.check();
sm11.check();
sm12.check();
sm13.check();
sm14.check();
sm15.check();
r0.check();
r1.check();
$write("*-* All Finished *-*\n");
$finish;
end
endmodule
|