#! /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_0x897f00 .scope module, "main" "main" 2 23; .timescale 0 0; v0x897320_0 .net/s *"_s0", 31 0, L_0x8cd770; 1 drivers v0x8cd1d0_0 .net/s *"_s10", 31 0, C4<00000000000000000000000000000001>; 1 drivers v0x8cd270_0 .net/s *"_s12", 31 0, L_0x8cdd00; 1 drivers v0x8cd310_0 .net/s *"_s2", 31 0, C4<00000000000000000000000000000001>; 1 drivers v0x8cd3c0_0 .net/s *"_s4", 31 0, L_0x8cd8a0; 1 drivers v0x8cd460_0 .net/s *"_s8", 31 0, L_0x8cdbd0; 1 drivers v0x8cd540_0 .var/s "val_rs", 7 0; v0x8cd5e0_0 .net "val_w", 7 0, L_0x8cdae0; 1 drivers v0x8cd6d0_0 .net/s "val_ws", 7 0, L_0x8cdea0; 1 drivers L_0x8cd770 .extend/s 32, v0x8cd540_0; L_0x8cd8a0 .arith/sum 32, L_0x8cd770, C4<00000000000000000000000000000001>; L_0x8cdae0 .part L_0x8cd8a0, 0, 8; L_0x8cdbd0 .extend/s 32, v0x8cd540_0; L_0x8cdd00 .arith/sum 32, L_0x8cdbd0, C4<00000000000000000000000000000001>; L_0x8cdea0 .part L_0x8cdd00, 0, 8; .scope S_0x897f00; T_0 ; %movi 8, 251, 8; %set/v v0x8cd540_0, 8, 8; %end; .thread T_0; .scope S_0x897f00; T_1 ; %delay 1, 0; %vpi_call 2 31 "$display", "val_w=%d, val_ws=%d", v0x8cd5e0_0, v0x8cd6d0_0; %load/v 8, v0x8cd5e0_0, 8; %cmpi/u 8, 252, 8; %inv 6, 1; %jmp/0xz T_1.0, 6; %vpi_call 2 34 "$display", "FAILED -- val_w is wrong: %b", v0x8cd5e0_0; %vpi_call 2 35 "$finish"; T_1.0 ; %load/v 8, v0x8cd6d0_0, 8; %movi 16, 252, 8; %cmp/u 8, 16, 8; %inv 6, 1; %jmp/0xz T_1.2, 6; %vpi_call 2 39 "$display", "FAILED == val_ws is wrong: %b", v0x8cd6d0_0; %vpi_call 2 40 "$finish"; T_1.2 ; %load/v 8, v0x8cd6d0_0, 8; %mov 16, 15, 1; %cmp/s 0, 8, 9; %jmp/0xz T_1.4, 5; %vpi_call 2 44 "$display", "FAILED -- signed test of val_ws failed"; %vpi_call 2 45 "$finish"; T_1.4 ; %load/v 8, v0x8cd5e0_0, 8; %mov 16, 0, 1; %cmpi/u 8, 0, 9; %jmp/0xz T_1.6, 5; %vpi_call 2 49 "$display", "FAILED -- signed test of val_w failed"; %vpi_call 2 50 "$finish"; T_1.6 ; %vpi_call 2 53 "$display", "PASSED"; %end; .thread T_1; # The file index is used to find the file name in the following table. :file_names 3; "N/A"; ""; "ivtest-master/ivltests/signed6.v";