#! /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_0x920000 .scope module, "main" "main" 2 1; .timescale 0 0; P_0x9206d8 .param/l "INIT_00" 2 2, C4<11111111111111111111111111111111>; v0x920260_0 .var "c", 8 0; v0x934290_0 .var "error", 0 0; v0x934330_0 .var "t", 17 0; .scope S_0x920000; T_0 ; %set/v v0x934290_0, 0, 1; %set/v v0x920260_0, 0, 9; %load/v 8, v0x920260_0, 9; %ix/get 0, 8, 9; %mov 8, 1, 32; %jmp/1 T_0.0, 4; %ix/load 4, 31, 0; %cmp/ws 4, 0; %jmp/1 T_0.0, 5; %mov 4, 0, 1; %shiftr/i0 8, 32; %jmp T_0.1; T_0.0 ; %ix/mul 0, 4294967295, 4294967295; %shiftl/i0 8, 32; T_0.1 ; ; Save expression base=8 wid=1 in lookaside %vpi_call 2 9 "$display", "%b", T<8,1,u>; %movi 8, 1, 9; %set/v v0x920260_0, 8, 9; %load/v 8, v0x920260_0, 9; %ix/get 0, 8, 9; %mov 8, 1, 32; %jmp/1 T_0.2, 4; %ix/load 4, 31, 0; %cmp/ws 4, 0; %jmp/1 T_0.2, 5; %mov 4, 0, 1; %shiftr/i0 8, 32; %jmp T_0.3; T_0.2 ; %ix/mul 0, 4294967295, 4294967295; %shiftl/i0 8, 32; T_0.3 ; ; Save expression base=8 wid=1 in lookaside %vpi_call 2 11 "$display", "%b", T<8,1,u>; %movi 8, 2, 18; %set/v v0x934330_0, 8, 18; %load/v 8, v0x934330_0, 18; %cmpi/u 8, 2, 18; %inv 6, 1; %jmp/0xz T_0.4, 6; %vpi_call 2 16 "$display", "FAILED - shift operation {17'd0,INIT_00[0]}<<1; %b", v0x934330_0; %set/v v0x934290_0, 1, 1; %jmp T_0.5; T_0.4 ; %vpi_call 2 20 "$display", "%b", v0x934330_0; T_0.5 ; %set/v v0x920260_0, 0, 9; %load/v 26, v0x920260_0, 9; %ix/get 0, 26, 9; %mov 26, 1, 32; %jmp/1 T_0.6, 4; %ix/load 4, 31, 0; %cmp/ws 4, 0; %jmp/1 T_0.6, 5; %mov 4, 0, 1; %shiftr/i0 26, 32; %jmp T_0.7; T_0.6 ; %ix/mul 0, 4294967295, 4294967295; %shiftl/i0 26, 32; T_0.7 ; ; Save expression base=26 wid=1 in lookaside %mov 8, 26, 1; Move select into place %mov 9, 0, 17; %ix/load 0, 1, 0; %mov 4, 0, 1; %shiftl/i0 8, 18; %set/v v0x934330_0, 8, 18; %load/v 8, v0x934330_0, 18; %cmpi/u 8, 2, 18; %inv 6, 1; %jmp/0xz T_0.8, 6; %vpi_call 2 25 "$display", "FAILED - shift operation {17'd0,INIT_00[c]}<<1 %b", v0x934330_0; %set/v v0x934290_0, 1, 1; %jmp T_0.9; T_0.8 ; %vpi_call 2 29 "$display", "%b", v0x934330_0; T_0.9 ; %movi 8, 16, 9; %set/v v0x920260_0, 8, 9; %load/v 26, v0x920260_0, 9; %ix/get 0, 26, 9; %mov 26, 1, 32; %jmp/1 T_0.10, 4; %ix/load 4, 31, 0; %cmp/ws 4, 0; %jmp/1 T_0.10, 5; %mov 4, 0, 1; %shiftr/i0 26, 32; %jmp T_0.11; T_0.10 ; %ix/mul 0, 4294967295, 4294967295; %shiftl/i0 26, 32; T_0.11 ; ; Save expression base=26 wid=1 in lookaside %mov 8, 26, 1; Move select into place %mov 9, 0, 17; %ix/load 0, 1, 0; %mov 4, 0, 1; %shiftl/i0 8, 18; %set/v v0x934330_0, 8, 18; %load/v 8, v0x934330_0, 18; %cmpi/u 8, 2, 18; %inv 6, 1; %jmp/0xz T_0.12, 6; %vpi_call 2 34 "$display", "FAILED - shift operation {17'd0,INIT_00[c]}<<1 %b", v0x934330_0; %set/v v0x934290_0, 1, 1; %jmp T_0.13; T_0.12 ; %vpi_call 2 38 "$display", "%b", v0x934330_0; T_0.13 ; %load/v 8, v0x934290_0, 1; %mov 9, 0, 2; %cmpi/u 8, 1, 3; %jmp/0xz T_0.14, 4; %vpi_call 2 41 "$display", "FAILED"; %jmp T_0.15; T_0.14 ; %vpi_call 2 43 "$display", "PASSED"; T_0.15 ; %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/pr617.v";