#! /usr/bin/vvp
:ivl_version "11.0 (stable)";
:ivl_delay_selection "TYPICAL";
:vpi_time_precision - 12;
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/system.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_sys.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_textio.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/v2005_math.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/va_math.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/v2009.vpi";
S_0x562890649e70 .scope package, "$unit" "$unit" 2 1;
 .timescale -9 -12;
S_0x5628906692a0 .scope module, "oc0ta1b_controller" "oc0ta1b_controller" 3 1;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rstn";
    .port_info 2 /OUTPUT 1 "config_finished";
    .port_info 3 /OUTPUT 1 "sioc";
    .port_info 4 /OUTPUT 1 "siod";
    .port_info 5 /OUTPUT 1 "siod_ioen";
    .port_info 6 /INPUT 1 "ovw_send";
    .port_info 7 /INPUT 16 "ovw_reg_addr";
    .port_info 8 /INPUT 8 "ovw_reg_value";
    .port_info 9 /OUTPUT 1 "ovw_busy";
L_0x56289064f730 .functor BUFZ 1, v0x5628906a0870_0, C4<0>, C4<0>, C4<0>;
v0x5628906a0eb0_0 .net *"_ivl_11", 7 0, L_0x5628906a2c80;  1 drivers
v0x5628906a0fb0_0 .net *"_ivl_15", 7 0, L_0x5628906a2ee0;  1 drivers
v0x5628906a1090_0 .net *"_ivl_3", 7 0, L_0x5628906a2870;  1 drivers
v0x5628906a1180_0 .net *"_ivl_5", 7 0, L_0x5628906a2970;  1 drivers
v0x5628906a1260_0 .net *"_ivl_9", 7 0, L_0x5628906a2b60;  1 drivers
o0x7f3fd03a9078 .functor BUFZ 1, C4<z>; HiZ drive
v0x5628906a1340_0 .net "clk", 0 0, o0x7f3fd03a9078;  0 drivers
v0x5628906a1430_0 .var "cnt", 31 0;
v0x5628906a1510_0 .net "command", 23 0, v0x5628906a0a20_0;  1 drivers
v0x5628906a15d0_0 .net "config_finished", 0 0, L_0x56289064f730;  1 drivers
v0x5628906a1700_0 .net "finished", 0 0, v0x5628906a0870_0;  1 drivers
o0x7f3fd03a99a8 .functor BUFZ 1, C4<z>; HiZ drive
v0x5628906a17a0_0 .net "ovw_busy", 0 0, o0x7f3fd03a99a8;  0 drivers
o0x7f3fd03a99d8 .functor BUFZ 16, C4<zzzzzzzzzzzzzzzz>; HiZ drive
v0x5628906a1840_0 .net "ovw_reg_addr", 15 0, o0x7f3fd03a99d8;  0 drivers
o0x7f3fd03a9a08 .functor BUFZ 8, C4<zzzzzzzz>; HiZ drive
v0x5628906a1920_0 .net "ovw_reg_value", 7 0, o0x7f3fd03a9a08;  0 drivers
o0x7f3fd03a9a38 .functor BUFZ 1, C4<z>; HiZ drive
v0x5628906a1a00_0 .net "ovw_send", 0 0, o0x7f3fd03a9a38;  0 drivers
v0x5628906a1ac0_0 .var "resend", 0 0;
o0x7f3fd03a9a68 .functor BUFZ 1, C4<z>; HiZ drive
v0x5628906a1b60_0 .net "rstn", 0 0, o0x7f3fd03a9a68;  0 drivers
v0x5628906a1c20_0 .var "send", 0 0;
v0x5628906a1dd0_0 .net "sioc", 0 0, L_0x5628906a2500;  1 drivers
v0x5628906a1ea0_0 .net "siod", 0 0, L_0x5628906a2440;  1 drivers
v0x5628906a1f70_0 .net "siod_ioen", 0 0, L_0x5628906a25e0;  1 drivers
v0x5628906a2040_0 .net "taken", 0 0, L_0x5628906a26a0;  1 drivers
v0x5628906a2130_0 .net "waitnull", 0 0, L_0x562890658940;  1 drivers
E_0x562890659ae0 .event edge, v0x5628906a07d0_0, v0x5628906a1a00_0;
E_0x5628906586b0/0 .event negedge, v0x5628906a1b60_0;
E_0x5628906586b0/1 .event posedge, v0x56289064b780_0;
E_0x5628906586b0 .event/or E_0x5628906586b0/0, E_0x5628906586b0/1;
L_0x5628906a2870 .part o0x7f3fd03a99d8, 8, 8;
L_0x5628906a2970 .part v0x5628906a0a20_0, 16, 8;
L_0x5628906a2a40 .functor MUXZ 8, L_0x5628906a2970, L_0x5628906a2870, v0x5628906a0870_0, C4<>;
L_0x5628906a2b60 .part o0x7f3fd03a99d8, 0, 8;
L_0x5628906a2c80 .part v0x5628906a0a20_0, 8, 8;
L_0x5628906a2db0 .functor MUXZ 8, L_0x5628906a2c80, L_0x5628906a2b60, v0x5628906a0870_0, C4<>;
L_0x5628906a2ee0 .part v0x5628906a0a20_0, 0, 8;
L_0x5628906a2f80 .functor MUXZ 8, L_0x5628906a2ee0, o0x7f3fd03a9a08, v0x5628906a0870_0, C4<>;
S_0x562890670cb0 .scope module, "I2C" "I2C_Interface" 3 91, 4 14 0, S_0x5628906692a0;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "resend";
    .port_info 1 /INPUT 1 "clk";
    .port_info 2 /OUTPUT 1 "sioc";
    .port_info 3 /OUTPUT 1 "siod";
    .port_info 4 /OUTPUT 1 "siod_ioen";
    .port_info 5 /OUTPUT 1 "taken";
    .port_info 6 /INPUT 1 "send";
    .port_info 7 /INPUT 1 "waitnull";
    .port_info 8 /INPUT 8 "regah";
    .port_info 9 /INPUT 8 "regal";
    .port_info 10 /INPUT 8 "value";
    .port_info 11 /OUTPUT 1 "busy";
P_0x56289067ead0 .param/l "SID" 0 4 14, C4<11000000>;
P_0x56289067eb10 .param/l "id" 1 4 40, C4<11000000>;
L_0x5628906a2440 .functor BUFZ 1, v0x56289069fb60_0, C4<0>, C4<0>, C4<0>;
L_0x5628906a2500 .functor BUFZ 1, v0x56289069f860_0, C4<0>, C4<0>, C4<0>;
L_0x5628906a25e0 .functor BUFZ 1, v0x56289069faa0_0, C4<0>, C4<0>, C4<0>;
L_0x5628906a26a0 .functor BUFZ 1, v0x56289069fce0_0, C4<0>, C4<0>, C4<0>;
v0x562890680000_0 .net "busy", 0 0, L_0x5628906a2770;  1 drivers
v0x5628906800a0_0 .var "busy_sr", 40 0;
v0x56289064b780_0 .net "clk", 0 0, o0x7f3fd03a9078;  alias, 0 drivers
v0x56289064c130_0 .var "data_sr", 40 0;
v0x56289064f430_0 .var "divider", 7 0;
v0x56289069f3d0_0 .net "regah", 7 0, L_0x5628906a2a40;  1 drivers
v0x56289069f4b0_0 .net "regal", 7 0, L_0x5628906a2db0;  1 drivers
v0x56289069f590_0 .net "resend", 0 0, v0x5628906a1ac0_0;  1 drivers
v0x56289069f650_0 .net "send", 0 0, v0x5628906a1c20_0;  1 drivers
v0x56289069f7a0_0 .net "sioc", 0 0, L_0x5628906a2500;  alias, 1 drivers
v0x56289069f860_0 .var "sioc_temp", 0 0;
v0x56289069f920_0 .net "siod", 0 0, L_0x5628906a2440;  alias, 1 drivers
v0x56289069f9e0_0 .net "siod_ioen", 0 0, L_0x5628906a25e0;  alias, 1 drivers
v0x56289069faa0_0 .var "siod_ioen_temp", 0 0;
v0x56289069fb60_0 .var "siod_temp", 0 0;
v0x56289069fc20_0 .net "taken", 0 0, L_0x5628906a26a0;  alias, 1 drivers
v0x56289069fce0_0 .var "taken_temp", 0 0;
v0x56289069feb0_0 .net "value", 7 0, L_0x5628906a2f80;  1 drivers
v0x56289069ff90_0 .net "waitnull", 0 0, L_0x562890658940;  alias, 1 drivers
E_0x562890657a60 .event posedge, v0x56289069f590_0, v0x56289064b780_0;
E_0x562890642410 .event posedge, v0x56289064b780_0;
L_0x5628906a2770 .part v0x5628906800a0_0, 40, 1;
S_0x5628906a01d0 .scope module, "Regs" "oc0ta1b_registers" 3 79, 5 1 0, S_0x5628906692a0;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "resend";
    .port_info 2 /INPUT 1 "taken";
    .port_info 3 /OUTPUT 1 "waitnull";
    .port_info 4 /OUTPUT 24 "command";
    .port_info 5 /OUTPUT 1 "finished";
P_0x56289069f6f0 .param/l "STARTTIME" 1 5 14, C4<00000000000000000000111110100000>;
P_0x56289069f730 .param/l "WAITTIME" 1 5 15, C4<00000000000000001100001101010000>;
L_0x562890658940 .functor BUFZ 1, v0x5628906a0c40_0, C4<0>, C4<0>, C4<0>;
v0x5628906a0570_0 .var "address", 8 0;
v0x5628906a0670_0 .net "clk", 0 0, o0x7f3fd03a9078;  alias, 0 drivers
v0x5628906a0730_0 .net "command", 23 0, v0x5628906a0a20_0;  alias, 1 drivers
v0x5628906a07d0_0 .net "finished", 0 0, v0x5628906a0870_0;  alias, 1 drivers
v0x5628906a0870_0 .var "finished_temp", 0 0;
v0x5628906a0980_0 .net "resend", 0 0, v0x5628906a1ac0_0;  alias, 1 drivers
v0x5628906a0a20_0 .var "sreg", 23 0;
v0x5628906a0ae0_0 .net "taken", 0 0, L_0x5628906a26a0;  alias, 1 drivers
v0x5628906a0b80_0 .var "wait_cnt", 31 0;
v0x5628906a0c40_0 .var "wait_flag", 0 0;
v0x5628906a0d00_0 .net "waitnull", 0 0, L_0x562890658940;  alias, 1 drivers
E_0x562890680c70 .event edge, v0x5628906a0a20_0;
S_0x562890669530 .scope module, "cocotb_iverilog_dump" "cocotb_iverilog_dump" 6 1;
 .timescale -9 -12;
    .scope S_0x5628906a01d0;
T_0 ;
    %wait E_0x562890680c70;
    %load/vec4 v0x5628906a0a20_0;
    %cmpi/e 16777215, 0, 24;
    %jmp/0xz  T_0.0, 4;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x5628906a0870_0, 0;
    %jmp T_0.1;
T_0.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x5628906a0870_0, 0;
T_0.1 ;
    %jmp T_0;
    .thread T_0, $push;
    .scope S_0x5628906a01d0;
T_1 ;
    %wait E_0x562890642410;
    %load/vec4 v0x5628906a0980_0;
    %pad/u 32;
    %cmpi/e 1, 0, 32;
    %jmp/0xz  T_1.0, 4;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x5628906a0b80_0, 0;
    %jmp T_1.1;
T_1.0 ;
    %load/vec4 v0x5628906a0570_0;
    %pad/u 32;
    %cmpi/e 1, 0, 32;
    %jmp/0xz  T_1.2, 4;
    %load/vec4 v0x5628906a0b80_0;
    %cmpi/u 54000, 0, 32;
    %flag_inv 5; GE is !LT
    %jmp/0xz  T_1.4, 5;
    %load/vec4 v0x5628906a0b80_0;
    %assign/vec4 v0x5628906a0b80_0, 0;
    %jmp T_1.5;
T_1.4 ;
    %load/vec4 v0x5628906a0b80_0;
    %addi 1, 0, 32;
    %assign/vec4 v0x5628906a0b80_0, 0;
T_1.5 ;
    %jmp T_1.3;
T_1.2 ;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x5628906a0b80_0, 0;
T_1.3 ;
T_1.1 ;
    %jmp T_1;
    .thread T_1;
    .scope S_0x5628906a01d0;
T_2 ;
    %wait E_0x562890642410;
    %load/vec4 v0x5628906a0980_0;
    %pad/u 32;
    %cmpi/e 1, 0, 32;
    %jmp/0xz  T_2.0, 4;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x5628906a0c40_0, 0;
    %jmp T_2.1;
T_2.0 ;
    %pushi/vec4 4000, 0, 32;
    %load/vec4 v0x5628906a0b80_0;
    %cmp/u;
    %flag_get/vec4 5;
    %load/vec4 v0x5628906a0b80_0;
    %cmpi/u 50000, 0, 32;
    %flag_get/vec4 5;
    %and;
    %flag_set/vec4 8;
    %jmp/0xz  T_2.2, 8;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x5628906a0c40_0, 0;
    %jmp T_2.3;
T_2.2 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x5628906a0c40_0, 0;
T_2.3 ;
T_2.1 ;
    %jmp T_2;
    .thread T_2;
    .scope S_0x5628906a01d0;
T_3 ;
    %wait E_0x562890642410;
    %load/vec4 v0x5628906a0980_0;
    %pad/u 32;
    %cmpi/e 1, 0, 32;
    %jmp/0xz  T_3.0, 4;
    %pushi/vec4 0, 0, 9;
    %assign/vec4 v0x5628906a0570_0, 0;
    %jmp T_3.1;
T_3.0 ;
    %load/vec4 v0x5628906a0ae0_0;
    %pad/u 32;
    %cmpi/e 1, 0, 32;
    %jmp/0xz  T_3.2, 4;
    %load/vec4 v0x5628906a0570_0;
    %addi 1, 0, 9;
    %assign/vec4 v0x5628906a0570_0, 0;
T_3.2 ;
T_3.1 ;
    %load/vec4 v0x5628906a0570_0;
    %dup/vec4;
    %pushi/vec4 0, 0, 9;
    %cmp/u;
    %jmp/1 T_3.4, 6;
    %dup/vec4;
    %pushi/vec4 1, 0, 9;
    %cmp/u;
    %jmp/1 T_3.5, 6;
    %dup/vec4;
    %pushi/vec4 2, 0, 9;
    %cmp/u;
    %jmp/1 T_3.6, 6;
    %dup/vec4;
    %pushi/vec4 3, 0, 9;
    %cmp/u;
    %jmp/1 T_3.7, 6;
    %dup/vec4;
    %pushi/vec4 4, 0, 9;
    %cmp/u;
    %jmp/1 T_3.8, 6;
    %dup/vec4;
    %pushi/vec4 5, 0, 9;
    %cmp/u;
    %jmp/1 T_3.9, 6;
    %dup/vec4;
    %pushi/vec4 6, 0, 9;
    %cmp/u;
    %jmp/1 T_3.10, 6;
    %dup/vec4;
    %pushi/vec4 7, 0, 9;
    %cmp/u;
    %jmp/1 T_3.11, 6;
    %dup/vec4;
    %pushi/vec4 8, 0, 9;
    %cmp/u;
    %jmp/1 T_3.12, 6;
    %dup/vec4;
    %pushi/vec4 9, 0, 9;
    %cmp/u;
    %jmp/1 T_3.13, 6;
    %dup/vec4;
    %pushi/vec4 10, 0, 9;
    %cmp/u;
    %jmp/1 T_3.14, 6;
    %dup/vec4;
    %pushi/vec4 11, 0, 9;
    %cmp/u;
    %jmp/1 T_3.15, 6;
    %dup/vec4;
    %pushi/vec4 12, 0, 9;
    %cmp/u;
    %jmp/1 T_3.16, 6;
    %dup/vec4;
    %pushi/vec4 13, 0, 9;
    %cmp/u;
    %jmp/1 T_3.17, 6;
    %dup/vec4;
    %pushi/vec4 14, 0, 9;
    %cmp/u;
    %jmp/1 T_3.18, 6;
    %dup/vec4;
    %pushi/vec4 15, 0, 9;
    %cmp/u;
    %jmp/1 T_3.19, 6;
    %dup/vec4;
    %pushi/vec4 16, 0, 9;
    %cmp/u;
    %jmp/1 T_3.20, 6;
    %pushi/vec4 16777215, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.4 ;
    %pushi/vec4 66305, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.5 ;
    %pushi/vec4 197169, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.6 ;
    %pushi/vec4 197633, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.7 ;
    %pushi/vec4 198112, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.8 ;
    %pushi/vec4 198144, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.9 ;
    %pushi/vec4 206552, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.10 ;
    %pushi/vec4 3147278, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.11 ;
    %pushi/vec4 3149064, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.12 ;
    %pushi/vec4 3152112, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.13 ;
    %pushi/vec4 3153136, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.14 ;
    %pushi/vec4 3153952, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.15 ;
    %pushi/vec4 3162127, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.16 ;
    %pushi/vec4 3154433, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.17 ;
    %pushi/vec4 3213120, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.18 ;
    %pushi/vec4 3282433, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.19 ;
    %pushi/vec4 3282688, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.20 ;
    %pushi/vec4 3283136, 0, 24;
    %assign/vec4 v0x5628906a0a20_0, 0;
    %jmp T_3.22;
T_3.22 ;
    %pop/vec4 1;
    %jmp T_3;
    .thread T_3;
    .scope S_0x562890670cb0;
T_4 ;
    %wait E_0x562890642410;
    %load/vec4 v0x5628906800a0_0;
    %parti/s 2, 10, 5;
    %cmpi/e 2, 0, 2;
    %flag_mov 8, 4;
    %load/vec4 v0x5628906800a0_0;
    %parti/s 2, 19, 6;
    %cmpi/e 2, 0, 2;
    %flag_or 4, 8;
    %flag_mov 8, 4;
    %load/vec4 v0x5628906800a0_0;
    %parti/s 2, 28, 6;
    %cmpi/e 2, 0, 2;
    %flag_or 4, 8;
    %flag_mov 8, 4;
    %load/vec4 v0x5628906800a0_0;
    %parti/s 2, 37, 7;
    %cmpi/e 2, 0, 2;
    %flag_or 4, 8;
    %jmp/0xz  T_4.0, 4;
    %pushi/vec4 1, 0, 1;
    %store/vec4 v0x56289069faa0_0, 0, 1;
    %jmp T_4.1;
T_4.0 ;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x56289069faa0_0, 0, 1;
T_4.1 ;
    %load/vec4 v0x56289064c130_0;
    %parti/s 1, 40, 7;
    %assign/vec4 v0x56289069fb60_0, 0;
    %jmp T_4;
    .thread T_4;
    .scope S_0x562890670cb0;
T_5 ;
    %wait E_0x562890657a60;
    %load/vec4 v0x56289069f590_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_5.0, 8;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x56289069fce0_0, 0;
    %pushi/vec4 0, 0, 41;
    %assign/vec4 v0x5628906800a0_0, 0;
    %pushi/vec4 4294967295, 0, 32;
    %concati/vec4 511, 0, 9;
    %assign/vec4 v0x56289064c130_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x56289064f430_0, 0;
    %jmp T_5.1;
T_5.0 ;
    %load/vec4 v0x5628906800a0_0;
    %parti/s 1, 40, 7;
    %pad/u 32;
    %cmpi/e 0, 0, 32;
    %jmp/0xz  T_5.2, 4;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %load/vec4 v0x56289069f650_0;
    %pad/u 32;
    %pushi/vec4 1, 0, 32;
    %cmp/e;
    %flag_get/vec4 4;
    %load/vec4 v0x56289069ff90_0;
    %pushi/vec4 0, 0, 1;
    %cmp/e;
    %flag_get/vec4 4;
    %and;
    %flag_set/vec4 8;
    %jmp/0xz  T_5.4, 8;
    %load/vec4 v0x56289064f430_0;
    %pad/u 32;
    %cmpi/e 0, 0, 32;
    %jmp/0xz  T_5.6, 4;
    %pushi/vec4 4, 0, 3;
    %concati/vec4 192, 0, 8;
    %concati/vec4 0, 0, 1;
    %load/vec4 v0x56289069f3d0_0;
    %concat/vec4; draw_concat_vec4
    %concati/vec4 0, 0, 1;
    %load/vec4 v0x56289069f4b0_0;
    %concat/vec4; draw_concat_vec4
    %concati/vec4 0, 0, 1;
    %load/vec4 v0x56289069feb0_0;
    %concat/vec4; draw_concat_vec4
    %concati/vec4 0, 0, 1;
    %concati/vec4 1, 0, 2;
    %assign/vec4 v0x56289064c130_0, 0;
    %pushi/vec4 4294967295, 0, 32;
    %concati/vec4 511, 0, 9;
    %assign/vec4 v0x5628906800a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069fce0_0, 0;
    %jmp T_5.7;
T_5.6 ;
    %load/vec4 v0x56289064f430_0;
    %addi 1, 0, 8;
    %assign/vec4 v0x56289064f430_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x56289069fce0_0, 0;
T_5.7 ;
T_5.4 ;
    %jmp T_5.3;
T_5.2 ;
    %load/vec4 v0x5628906800a0_0;
    %parti/s 3, 38, 7;
    %load/vec4 v0x5628906800a0_0;
    %parti/s 3, 0, 2;
    %concat/vec4; draw_concat_vec4
    %dup/vec4;
    %pushi/vec4 63, 0, 6;
    %cmp/u;
    %jmp/1 T_5.8, 6;
    %dup/vec4;
    %pushi/vec4 62, 0, 6;
    %cmp/u;
    %jmp/1 T_5.9, 6;
    %dup/vec4;
    %pushi/vec4 60, 0, 6;
    %cmp/u;
    %jmp/1 T_5.10, 6;
    %dup/vec4;
    %pushi/vec4 48, 0, 6;
    %cmp/u;
    %jmp/1 T_5.11, 6;
    %dup/vec4;
    %pushi/vec4 32, 0, 6;
    %cmp/u;
    %jmp/1 T_5.12, 6;
    %dup/vec4;
    %pushi/vec4 0, 0, 6;
    %cmp/u;
    %jmp/1 T_5.13, 6;
    %load/vec4 v0x56289064f430_0;
    %parti/s 2, 6, 4;
    %dup/vec4;
    %pushi/vec4 0, 0, 2;
    %cmp/u;
    %jmp/1 T_5.16, 6;
    %dup/vec4;
    %pushi/vec4 1, 0, 2;
    %cmp/u;
    %jmp/1 T_5.17, 6;
    %dup/vec4;
    %pushi/vec4 2, 0, 2;
    %cmp/u;
    %jmp/1 T_5.18, 6;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.20;
T_5.16 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.20;
T_5.17 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.20;
T_5.18 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.20;
T_5.20 ;
    %pop/vec4 1;
    %jmp T_5.15;
T_5.8 ;
    %load/vec4 v0x56289064f430_0;
    %parti/s 2, 6, 4;
    %dup/vec4;
    %pushi/vec4 0, 0, 2;
    %cmp/u;
    %jmp/1 T_5.21, 6;
    %dup/vec4;
    %pushi/vec4 1, 0, 2;
    %cmp/u;
    %jmp/1 T_5.22, 6;
    %dup/vec4;
    %pushi/vec4 2, 0, 2;
    %cmp/u;
    %jmp/1 T_5.23, 6;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.25;
T_5.21 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.25;
T_5.22 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.25;
T_5.23 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.25;
T_5.25 ;
    %pop/vec4 1;
    %jmp T_5.15;
T_5.9 ;
    %load/vec4 v0x56289064f430_0;
    %parti/s 2, 6, 4;
    %dup/vec4;
    %pushi/vec4 0, 0, 2;
    %cmp/u;
    %jmp/1 T_5.26, 6;
    %dup/vec4;
    %pushi/vec4 1, 0, 2;
    %cmp/u;
    %jmp/1 T_5.27, 6;
    %dup/vec4;
    %pushi/vec4 2, 0, 2;
    %cmp/u;
    %jmp/1 T_5.28, 6;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.30;
T_5.26 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.30;
T_5.27 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.30;
T_5.28 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.30;
T_5.30 ;
    %pop/vec4 1;
    %jmp T_5.15;
T_5.10 ;
    %load/vec4 v0x56289064f430_0;
    %parti/s 2, 6, 4;
    %dup/vec4;
    %pushi/vec4 0, 0, 2;
    %cmp/u;
    %jmp/1 T_5.31, 6;
    %dup/vec4;
    %pushi/vec4 1, 0, 2;
    %cmp/u;
    %jmp/1 T_5.32, 6;
    %dup/vec4;
    %pushi/vec4 2, 0, 2;
    %cmp/u;
    %jmp/1 T_5.33, 6;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.35;
T_5.31 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.35;
T_5.32 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.35;
T_5.33 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.35;
T_5.35 ;
    %pop/vec4 1;
    %jmp T_5.15;
T_5.11 ;
    %load/vec4 v0x56289064f430_0;
    %parti/s 2, 6, 4;
    %dup/vec4;
    %pushi/vec4 0, 0, 2;
    %cmp/u;
    %jmp/1 T_5.36, 6;
    %dup/vec4;
    %pushi/vec4 1, 0, 2;
    %cmp/u;
    %jmp/1 T_5.37, 6;
    %dup/vec4;
    %pushi/vec4 2, 0, 2;
    %cmp/u;
    %jmp/1 T_5.38, 6;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.40;
T_5.36 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.40;
T_5.37 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.40;
T_5.38 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.40;
T_5.40 ;
    %pop/vec4 1;
    %jmp T_5.15;
T_5.12 ;
    %load/vec4 v0x56289064f430_0;
    %parti/s 2, 6, 4;
    %dup/vec4;
    %pushi/vec4 0, 0, 2;
    %cmp/u;
    %jmp/1 T_5.41, 6;
    %dup/vec4;
    %pushi/vec4 1, 0, 2;
    %cmp/u;
    %jmp/1 T_5.42, 6;
    %dup/vec4;
    %pushi/vec4 2, 0, 2;
    %cmp/u;
    %jmp/1 T_5.43, 6;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.45;
T_5.41 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.45;
T_5.42 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.45;
T_5.43 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.45;
T_5.45 ;
    %pop/vec4 1;
    %jmp T_5.15;
T_5.13 ;
    %load/vec4 v0x56289064f430_0;
    %parti/s 2, 6, 4;
    %dup/vec4;
    %pushi/vec4 0, 0, 2;
    %cmp/u;
    %jmp/1 T_5.46, 6;
    %dup/vec4;
    %pushi/vec4 1, 0, 2;
    %cmp/u;
    %jmp/1 T_5.47, 6;
    %dup/vec4;
    %pushi/vec4 2, 0, 2;
    %cmp/u;
    %jmp/1 T_5.48, 6;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.50;
T_5.46 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.50;
T_5.47 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.50;
T_5.48 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x56289069f860_0, 0;
    %jmp T_5.50;
T_5.50 ;
    %pop/vec4 1;
    %jmp T_5.15;
T_5.15 ;
    %pop/vec4 1;
    %load/vec4 v0x56289064f430_0;
    %cmpi/e 255, 0, 8;
    %jmp/0xz  T_5.51, 4;
    %load/vec4 v0x5628906800a0_0;
    %parti/s 40, 0, 2;
    %concati/vec4 0, 0, 1;
    %assign/vec4 v0x5628906800a0_0, 0;
    %load/vec4 v0x56289064c130_0;
    %parti/s 40, 0, 2;
    %concati/vec4 1, 0, 1;
    %assign/vec4 v0x56289064c130_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x56289064f430_0, 0;
    %jmp T_5.52;
T_5.51 ;
    %load/vec4 v0x5628906800a0_0;
    %assign/vec4 v0x5628906800a0_0, 0;
    %load/vec4 v0x56289064c130_0;
    %assign/vec4 v0x56289064c130_0, 0;
    %load/vec4 v0x56289064f430_0;
    %addi 1, 0, 8;
    %assign/vec4 v0x56289064f430_0, 0;
T_5.52 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x56289069fce0_0, 0;
T_5.3 ;
T_5.1 ;
    %jmp T_5;
    .thread T_5;
    .scope S_0x5628906692a0;
T_6 ;
    %wait E_0x5628906586b0;
    %load/vec4 v0x5628906a1b60_0;
    %nor/r;
    %flag_set/vec4 8;
    %jmp/0xz  T_6.0, 8;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x5628906a1430_0, 0;
    %jmp T_6.1;
T_6.0 ;
    %load/vec4 v0x5628906a1430_0;
    %cmpi/ne 4294967295, 0, 32;
    %jmp/0xz  T_6.2, 4;
    %load/vec4 v0x5628906a1430_0;
    %addi 1, 0, 32;
    %assign/vec4 v0x5628906a1430_0, 0;
T_6.2 ;
T_6.1 ;
    %jmp T_6;
    .thread T_6;
    .scope S_0x5628906692a0;
T_7 ;
    %wait E_0x5628906586b0;
    %load/vec4 v0x5628906a1b60_0;
    %nor/r;
    %flag_set/vec4 8;
    %jmp/0xz  T_7.0, 8;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x5628906a1ac0_0, 0;
    %jmp T_7.1;
T_7.0 ;
    %load/vec4 v0x5628906a1430_0;
    %cmpi/u 16000, 0, 32;
    %flag_inv 5; GE is !LT
    %jmp/0xz  T_7.2, 5;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x5628906a1ac0_0, 0;
    %jmp T_7.3;
T_7.2 ;
    %load/vec4 v0x5628906a1ac0_0;
    %assign/vec4 v0x5628906a1ac0_0, 0;
T_7.3 ;
T_7.1 ;
    %jmp T_7;
    .thread T_7;
    .scope S_0x5628906692a0;
T_8 ;
    %wait E_0x562890659ae0;
    %load/vec4 v0x5628906a1700_0;
    %inv;
    %flag_set/vec4 8;
    %jmp/0xz  T_8.0, 8;
    %pushi/vec4 1, 0, 1;
    %store/vec4 v0x5628906a1c20_0, 0, 1;
    %jmp T_8.1;
T_8.0 ;
    %load/vec4 v0x5628906a1a00_0;
    %store/vec4 v0x5628906a1c20_0, 0, 1;
T_8.1 ;
    %jmp T_8;
    .thread T_8, $push;
    .scope S_0x562890669530;
T_9 ;
    %vpi_call/w 6 3 "$dumpfile", "sim_build/oc0ta1b_controller.fst" {0 0 0};
    %vpi_call/w 6 4 "$dumpvars", 32'sb00000000000000000000000000000000, S_0x5628906692a0 {0 0 0};
    %end;
    .thread T_9;
# The file index is used to find the file name in the following table.
:file_names 7;
    "N/A";
    "<interactive>";
    "-";
    "/mnt/c/Users/david/Documents/fpga/bs2_eyetracking/src/oc0ta1b/testbench/../oc0ta1b_controller.v";
    "/mnt/c/Users/david/Documents/fpga/bs2_eyetracking/src/oc0ta1b/testbench/../i2c_interface.v";
    "/mnt/c/Users/david/Documents/fpga/bs2_eyetracking/src/oc0ta1b/testbench/../oc0ta1b_registers.v";
    "sim_build/cocotb_iverilog_dump.v";
