#! /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_0x220a820 .scope module, "top" "top" 2 2; .timescale 0 0; v0x2242a10_0 .net "ca_out_full", 31 0, L_0x2242f80; 1 drivers v0x2242ae0_0 .net "ca_out_part", 31 0, L_0x2243220; 1 drivers v0x2242b90_0 .var "in_full", 31 0; v0x2242c40_0 .var "in_part", 29 0; v0x2242d20_0 .net "pa_out_full", 31 0, v0x2242820_0; 1 drivers v0x2242dd0_0 .net "pa_out_part", 31 0, v0x22422c0_0; 1 drivers v0x2242e90_0 .var "pass", 0 0; S_0x22424f0 .scope module, "full" "param" 2 34, 2 38, S_0x220a820; .timescale 0 0; P_0x22425e8 .param/l "width" 2 38, +C4<0100000>; v0x22426c0_0 .alias "ca_out", 31 0, v0x2242a10_0; v0x2242780_0 .net "in", 31 0, v0x2242b90_0; 1 drivers v0x2242820_0 .var "pa_out", 31 0; v0x22428c0_0 .net "x_pad", 0 0, C4; 1 drivers v0x2242970_0 .net "z_pad", 0 0, C4; 0 drivers E_0x2242340 .event edge, v0x22428c0_0, v0x2242780_0; L_0x2242f80 .concat [ 32 0 0 0], v0x2242b90_0; S_0x220a090 .scope module, "part" "param" 2 35, 2 38, S_0x220a820; .timescale 0 0; P_0x2230178 .param/l "width" 2 38, +C4<011110>; v0x221b490_0 .net *"_s4", 1 0, L_0x2243100; 1 drivers v0x2242180_0 .alias "ca_out", 31 0, v0x2242ae0_0; v0x2242220_0 .net "in", 29 0, v0x2242c40_0; 1 drivers v0x22422c0_0 .var "pa_out", 31 0; v0x2242370_0 .net "x_pad", 0 0, C4; 1 drivers v0x2242410_0 .net "z_pad", 0 0, C4; 0 drivers E_0x22090f0 .event edge, v0x2242370_0, v0x2242220_0; L_0x2243100 .concat [ 1 1 0 0], C4, C4; L_0x2243220 .concat [ 30 2 0 0], v0x2242c40_0, L_0x2243100; .scope S_0x22424f0; T_0 ; %wait E_0x2242340; %load/v 8, v0x2242780_0, 32; %load/v 40, v0x22428c0_0, 1; %set/v v0x2242820_0, 8, 32; %jmp T_0; .thread T_0, $push; .scope S_0x220a090; T_1 ; %wait E_0x22090f0; %load/v 8, v0x2242220_0, 30; %load/v 40, v0x2242370_0, 1; %mov 41, 40, 1; Repetition 2 %mov 38, 40, 2; %set/v v0x22422c0_0, 8, 32; %jmp T_1; .thread T_1, $push; .scope S_0x220a820; T_2 ; %set/v v0x2242e90_0, 1, 1; %movi 8, 2863311530, 32; %set/v v0x2242b90_0, 8, 32; %movi 8, 357913941, 30; %set/v v0x2242c40_0, 8, 30; %delay 1, 0; %load/v 8, v0x2242d20_0, 32; %movi 40, 2863311530, 32; %cmp/u 8, 40, 32; %inv 6, 1; %jmp/0xz T_2.0, 6; %vpi_call 2 15 "$display", "Failed: pa_out_full, got %b", v0x2242d20_0; %set/v v0x2242e90_0, 1, 1; T_2.0 ; %load/v 8, v0x2242a10_0, 32; %movi 40, 2863311530, 32; %cmp/u 8, 40, 32; %inv 6, 1; %jmp/0xz T_2.2, 6; %vpi_call 2 19 "$display", "Failed: ca_out_full, got %b", v0x2242a10_0; %set/v v0x2242e90_0, 1, 1; T_2.2 ; %load/v 8, v0x2242dd0_0, 32; %movi 40, 357913941, 30; %mov 70, 2, 2; %cmp/u 8, 40, 32; %inv 6, 1; %jmp/0xz T_2.4, 6; %vpi_call 2 23 "$display", "Failed: pa_out_part, got %b", v0x2242dd0_0; %set/v v0x2242e90_0, 1, 1; T_2.4 ; %load/v 8, v0x2242ae0_0, 32; %movi 40, 357913941, 30; %mov 70, 3, 2; %cmp/u 8, 40, 32; %inv 6, 1; %jmp/0xz T_2.6, 6; %vpi_call 2 27 "$display", "Failed: ca_out_part, got %b", v0x2242ae0_0; %set/v v0x2242e90_0, 1, 1; T_2.6 ; %load/v 8, v0x2242e90_0, 1; %jmp/0xz T_2.8, 8; %vpi_call 2 31 "$display", "PASSED"; T_2.8 ; %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/pr2974216b.v";