#! /usr/bin/vvp :ivl_version "0.9.7 " "(v0_9_7)"; :vpi_time_precision - 9; :vpi_module "system"; :vpi_module "v2005_math"; :vpi_module "va_math"; S_0x2269000 .scope module, "test" "test" 2 2; .timescale -9 -9; v0x227c530_0 .var "fail", 0 0; S_0x22690f0 .scope task, "check" "check" 2 6, 2 6, S_0x2269000; .timescale -9 -9; v0x2248c10_0 .var "expect", 80 1; v0x227c490_0 .var "s", 80 1; TD_test.check ; %vpi_call 2 10 "$swrite", v0x227c490_0, "Time %t", $time; %vpi_call 2 11 "$write", "%s", v0x227c490_0; %load/v 8, v0x227c490_0, 80; %load/v 88, v0x2248c10_0, 80; %cmp/u 8, 88, 80; %jmp/0xz T_0.0, 6; %vpi_call 2 13 "$display", "\000"; %jmp T_0.1; T_0.0 ; %vpi_call 2 16 "$display", " != %s", v0x2248c10_0; %set/v v0x227c530_0, 1, 1; T_0.1 ; %end; .scope S_0x2269000; T_1 ; %set/v v0x227c530_0, 0, 1; %end; .thread T_1; .scope S_0x2269000; T_2 ; %vpi_call 2 25 "$display", "Test display formatting of time values"; %vpi_call 2 26 "$timeformat", 5'sb11010, 3'sb011, " us", 6'sb010100; %fork t_1, S_0x2269000; %fork t_2, S_0x2269000; %fork t_3, S_0x2269000; %fork t_4, S_0x2269000; %fork t_5, S_0x2269000; %fork t_6, S_0x2269000; %fork t_7, S_0x2269000; %delay 1001, 0; %movi 8, 824210803, 32; %movi 40, 825110576, 32; %movi 72, 8224, 16; %set/v v0x2248c10_0, 8, 80; %fork TD_test.check, S_0x22690f0; %join; %join; %join; %join; %join; %join; %join; %join; %jmp t_0; t_1 ; %delay 0, 0; %movi 8, 807433587, 32; %movi 40, 808333360, 32; %movi 72, 8224, 16; %set/v v0x2248c10_0, 8, 80; %fork TD_test.check, S_0x22690f0; %join; %end; t_2 ; %delay 1, 0; %movi 8, 824210803, 32; %movi 40, 808333360, 32; %movi 72, 8224, 16; %set/v v0x2248c10_0, 8, 80; %fork TD_test.check, S_0x22690f0; %join; %end; t_3 ; %delay 10, 0; %movi 8, 807433587, 32; %movi 40, 808333361, 32; %movi 72, 8224, 16; %set/v v0x2248c10_0, 8, 80; %fork TD_test.check, S_0x22690f0; %join; %end; t_4 ; %delay 11, 0; %movi 8, 824210803, 32; %movi 40, 808333361, 32; %movi 72, 8224, 16; %set/v v0x2248c10_0, 8, 80; %fork TD_test.check, S_0x22690f0; %join; %end; t_5 ; %delay 100, 0; %movi 8, 807433587, 32; %movi 40, 808333616, 32; %movi 72, 8224, 16; %set/v v0x2248c10_0, 8, 80; %fork TD_test.check, S_0x22690f0; %join; %end; t_6 ; %delay 101, 0; %movi 8, 824210803, 32; %movi 40, 808333616, 32; %movi 72, 8224, 16; %set/v v0x2248c10_0, 8, 80; %fork TD_test.check, S_0x22690f0; %join; %end; t_7 ; %delay 1000, 0; %movi 8, 807433587, 32; %movi 40, 825110576, 32; %movi 72, 8224, 16; %set/v v0x2248c10_0, 8, 80; %fork TD_test.check, S_0x22690f0; %join; %end; t_0 ; %load/v 8, v0x227c530_0, 1; %jmp/0 T_2.0, 8; %movi 9, 1229735236, 32; %movi 41, 17985, 16; %jmp/1 T_2.2, 8; T_2.0 ; End of true expr. %movi 57, 1397966148, 32; %movi 89, 20545, 16; %jmp/0 T_2.1, 8; ; End of false expr. %blend 9, 57, 48; Condition unknown. %jmp T_2.2; T_2.1 ; %mov 9, 57, 48; Return false value T_2.2 ; %vpi_call 2 39 "$display", "%s", T<9,48,u>; %end; .thread T_2; # The file index is used to find the file name in the following table. :file_names 3; "N/A"; ""; "ivtest-master/ivltests/pr3477107.v";