#! /usr/bin/vvp :ivl_version "0.9.7 " "(v0_9_7)"; :vpi_time_precision + 0; :vpi_module "system"; :vpi_module "v2005_math"; :vpi_module "va_math"; S_0x184b000 .scope module, "top" "top" 2 1; .timescale 0 0; v0x184b0f0_0 .var/i "ival", 31 0; v0x185fe90_0 .var/real "rval", 0 0; .scope S_0x184b000; T_0 ; %vpi_call 2 5 "$display", "--- Printing as real ---"; %vpi_call 2 6 "$display", "1/0 is %f. (Should be 0 -- x prints as 0)", 2'sbxx; %loadi/wr 4, 0, 16383; load=+inf %vpi_call 2 7 "$display", "1/0.0 is %f. (Should be inf)", W<4,r>; %loadi/wr 4, 0, 16383; load=+inf %vpi_call 2 8 "$display", "1.0/0 is %f. (Should be inf)", W<4,r>; %loadi/wr 4, 0, 16383; load=+inf %vpi_call 2 9 "$display", "1.0/0.0 is %f. (should be inf)", W<4,r>; %loadi/wr 4, 0, 4065; load=0.00000 %set/wr v0x185fe90_0, 4; %set/v v0x184b0f0_0, 0, 32; %movi 8, 1, 32; %load/v 40, v0x184b0f0_0, 32; %div/s 8, 40, 32; %vpi_call 2 15 "$display", "1/integer zero is %f. (Should be 0 -- x prints as 0)", T<8,32,s>; %movi 8, 1, 2; %ix/get/s 4, 8, 2; %cvt/ri 4, 4; %load/wr 5, v0x185fe90_0; %div/wr 4, 5; %vpi_call 2 16 "$display", "1/real zero is %f. (should be inf)", W<4,r>; %loadi/wr 4, 1073741824, 4066; load=1.00000 %load/v 8, v0x184b0f0_0, 32; %ix/get/s 5, 8, 32; %cvt/ri 5, 5; %div/wr 4, 5; %vpi_call 2 17 "$display", "1.0/integer zero is %f. (Should be inf)", W<4,r>; %loadi/wr 4, 1073741824, 4066; load=1.00000 %load/wr 5, v0x185fe90_0; %div/wr 4, 5; %vpi_call 2 18 "$display", "1.0/real zero is %f.", W<4,r>; %vpi_call 2 20 "$display", "\012--- Printing as integer ---"; %vpi_call 2 21 "$display", "1/0 is %d (Should be x)", 2'sbxx; %loadi/wr 4, 0, 16383; load=+inf %vpi_call 2 22 "$display", "1/0.0 is %d", W<4,r>; %loadi/wr 4, 0, 16383; load=+inf %vpi_call 2 23 "$display", "1.0/0 is %d", W<4,r>; %loadi/wr 4, 0, 16383; load=+inf %vpi_call 2 24 "$display", "1.0/0.0 is %d", W<4,r>; %movi 8, 1, 32; %load/v 40, v0x184b0f0_0, 32; %div/s 8, 40, 32; %vpi_call 2 26 "$display", "1/integer zero is %d. (Should be x)", T<8,32,s>; %movi 8, 1, 2; %ix/get/s 4, 8, 2; %cvt/ri 4, 4; %load/wr 5, v0x185fe90_0; %div/wr 4, 5; %vpi_call 2 27 "$display", "1/real zero is %d.", W<4,r>; %loadi/wr 4, 1073741824, 4066; load=1.00000 %load/v 8, v0x184b0f0_0, 32; %ix/get/s 5, 8, 32; %cvt/ri 5, 5; %div/wr 4, 5; %vpi_call 2 28 "$display", "1.0/integer zero is %d.", W<4,r>; %loadi/wr 4, 1073741824, 4066; load=1.00000 %load/wr 5, v0x185fe90_0; %div/wr 4, 5; %vpi_call 2 29 "$display", "1.0/real zero is %d.", W<4,r>; %end; .thread T_0; # The file index is used to find the file name in the following table. :file_names 3; "N/A"; ""; "ivtest-master/ivltests/pr1703120.v";