#! /usr/local/lib/ivl/../../bin/vvp
:vpi_time_precision + 0;
:vpi_module "system";
S_top .scope "top";
V_top.in1 .var "in1", 0, 0;
V_top.in2 .var "in2", 0, 0;
V_top.out .net "out", 0, 0, V_top.xor1.out[0];
S_top.xor1 .scope "top.xor1", S_top;
V_top.xor1.in1 .net "in1", 0, 0, V_top.in1[0];
V_top.xor1.in2 .net "in2", 0, 0, V_top.in2[0];
V_top.xor1.out .var "out", 0, 0;
E_top.xor1._s0 .event edge, V_top.in2[0], V_top.in1[0];
    .scope S_top.xor1;
T_0 ;
    %wait E_top.xor1._s0;
    %load  8, V_top.xor1.in1[0];
    %load  9, V_top.xor1.in2[0];
    %cmp/u 8, 9, 1;
    %mov 8, 4, 1;
    %cmp/u 8, 0, 1;
    %jmp/1 T_0.0, 6;
    %cmp/u 8, 1, 1;
    %jmp/1 T_0.1, 6;
    %cmp/u 8, 2, 1;
    %jmp/1 T_0.2, 6;
    %set V_top.xor1.out[0], 2;
    %set V_top.out[0], 2;
    %jmp T_0.4;
T_0.0 ;
    %set V_top.xor1.out[0], 1;
    %set V_top.out[0], 1;
    %jmp T_0.4;
T_0.1 ;
    %set V_top.xor1.out[0], 0;
    %set V_top.out[0], 0;
    %jmp T_0.4;
T_0.2 ;
    %set V_top.xor1.out[0], 2;
    %set V_top.out[0], 2;
    %jmp T_0.4;
T_0.4 ;
    %jmp T_0;
    .thread T_0;
    .scope S_top;
T_1 ;
    %vpi_call "$dumpfile", "xor.dmp";
    %end;
    .thread T_1;
    .scope S_top;
T_2 ;
    %vpi_call "$dumpvars", 32'b00000000000000000000000000000000, S_top;
    %delay 120;
    %vpi_call "$dumpoff";
    %end;
    .thread T_2;
    .scope S_top;
T_3 ;
    %delay 5;
    %set V_top.xor1.in1[0], 0;
    %set V_top.in1[0], 0;
    %delay 5;
    %set V_top.xor1.in1[0], 1;
    %set V_top.in1[0], 1;
    %delay 5;
    %set V_top.xor1.in1[0], 2;
    %set V_top.in1[0], 2;
    %delay 5;
    %set V_top.xor1.in1[0], 3;
    %set V_top.in1[0], 3;
    %delay 5;
    %set V_top.xor1.in2[0], 3;
    %set V_top.in2[0], 3;
    %set V_top.xor1.in1[0], 0;
    %set V_top.in1[0], 0;
    %delay 5;
    %set V_top.xor1.in1[0], 1;
    %set V_top.in1[0], 1;
    %delay 5;
    %set V_top.xor1.in1[0], 2;
    %set V_top.in1[0], 2;
    %delay 5;
    %set V_top.xor1.in1[0], 3;
    %set V_top.in1[0], 3;
    %delay 5;
    %set V_top.xor1.in2[0], 0;
    %set V_top.in2[0], 0;
    %set V_top.xor1.in1[0], 0;
    %set V_top.in1[0], 0;
    %delay 5;
    %set V_top.xor1.in1[0], 1;
    %set V_top.in1[0], 1;
    %delay 5;
    %set V_top.xor1.in1[0], 2;
    %set V_top.in1[0], 2;
    %delay 5;
    %set V_top.xor1.in1[0], 3;
    %set V_top.in1[0], 3;
    %delay 5;
    %set V_top.xor1.in2[0], 1;
    %set V_top.in2[0], 1;
    %set V_top.xor1.in1[0], 0;
    %set V_top.in1[0], 0;
    %delay 5;
    %set V_top.xor1.in1[0], 3;
    %set V_top.in1[0], 3;
    %delay 5;
    %set V_top.xor1.in1[0], 1;
    %set V_top.in1[0], 1;
    %delay 5;
    %set V_top.xor1.in1[0], 2;
    %set V_top.in1[0], 2;
    %delay 5;
    %set V_top.xor1.in1[0], 0;
    %set V_top.in1[0], 0;
    %delay 5;
    %vpi_call "$finish";
    %end;
    .thread T_3;
    .scope S_top;
T_4 ;
    %vpi_call "$monitor", $time, ": %b", V_top.out;
    %end;
    .thread T_4;
