#! /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_0xaf9000 .scope module, "test" "test" 2 1; .timescale 0 0; v0xaf90f0_0 .var "pass", 0 0; v0xb0d540_0 .var "str", 320 1; v0xb0d5e0_0 .var "v", 15 0; .scope S_0xaf9000; T_0 ; %set/v v0xaf90f0_0, 1, 1; %movi 8, 2, 16; %set/v v0xb0d5e0_0, 8, 16; %load/v 8, v0xb0d5e0_0, 16; %movi 24, 0, 19; %movi 43, 4294967295, 32; %movi 75, 1, 1; %mov 76, 0, 2; %sub 8, 43, 35; %muli 8, 1, 35; %vpi_call 2 10 "$sformat", v0xb0d540_0, "%0d", T<8,35,u>; %load/v 8, v0xb0d540_0, 8; Only need 8 of 320 bits ; Save base=8 wid=8 in lookaside. %movi 16, 51, 8; %cmp/u 8, 16, 8; %inv 6, 1; %mov 8, 6, 1; %ix/load 1, 8, 0; %mov 4, 0, 1; %jmp/1 T_0.0, 4; %load/x1p 24, v0xb0d540_0, 312; %jmp T_0.1; T_0.0 ; %mov 24, 2, 312; T_0.1 ; ; Save base=24 wid=312 in lookaside. %cmpi/u 24, 0, 312; %inv 6, 1; %or 8, 6, 1; %jmp/0xz T_0.2, 8; %vpi_call 2 12 "$display", "FAILED 1st test, expected \0423\042, got %s", v0xb0d540_0; %set/v v0xaf90f0_0, 0, 1; T_0.2 ; %movi 8, 4294967295, 33; %load/v 41, v0xb0d5e0_0, 16; %movi 57, 0, 17; %add 8, 41, 33; %vpi_call 2 16 "$sformat", v0xb0d540_0, "%0d", T<8,33,u>; %load/v 8, v0xb0d540_0, 8; Only need 8 of 320 bits ; Save base=8 wid=8 in lookaside. %movi 16, 49, 8; %cmp/u 8, 16, 8; %inv 6, 1; %mov 8, 6, 1; %ix/load 1, 8, 0; %mov 4, 0, 1; %jmp/1 T_0.4, 4; %load/x1p 24, v0xb0d540_0, 312; %jmp T_0.5; T_0.4 ; %mov 24, 2, 312; T_0.5 ; ; Save base=24 wid=312 in lookaside. %cmpi/u 24, 0, 312; %inv 6, 1; %or 8, 6, 1; %jmp/0xz T_0.6, 8; %vpi_call 2 18 "$display", "FAILED 2nd test, expected \0421\042, got %s", v0xb0d540_0; %set/v v0xaf90f0_0, 0, 1; T_0.6 ; %ix/load 0, 7, 0; %load/vp0 8, v0xb0d5e0_0, 32; %vpi_call 2 22 "$sformat", v0xb0d540_0, "%0d", T<8,32,u>; %load/v 8, v0xb0d540_0, 8; Only need 8 of 320 bits ; Save base=8 wid=8 in lookaside. %movi 16, 49, 8; %cmp/u 8, 16, 8; %inv 6, 1; %mov 8, 6, 1; %ix/load 1, 8, 0; %mov 4, 0, 1; %jmp/1 T_0.8, 4; %load/x1p 24, v0xb0d540_0, 312; %jmp T_0.9; T_0.8 ; %mov 24, 2, 312; T_0.9 ; ; Save base=24 wid=312 in lookaside. %cmpi/u 24, 0, 312; %inv 6, 1; %or 8, 6, 1; %jmp/0xz T_0.10, 8; %vpi_call 2 24 "$display", "FAILED 3rd test, expected \0421\042, got %s", v0xb0d540_0; %set/v v0xaf90f0_0, 0, 1; T_0.10 ; %load/v 8, v0xaf90f0_0, 1; %jmp/0xz T_0.12, 8; %vpi_call 2 28 "$display", "PASSED"; T_0.12 ; %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/pr3103880.v";