#! /opt/homebrew/Cellar/icarus-verilog/13.0/bin/vvp
:ivl_version "13.0 (stable)" "(v13_0)";
:ivl_delay_selection "TYPICAL";
:vpi_time_precision - 12;
:vpi_module "/opt/homebrew/Cellar/icarus-verilog/13.0/lib/ivl/system.vpi";
:vpi_module "/opt/homebrew/Cellar/icarus-verilog/13.0/lib/ivl/vhdl_sys.vpi";
:vpi_module "/opt/homebrew/Cellar/icarus-verilog/13.0/lib/ivl/vhdl_textio.vpi";
:vpi_module "/opt/homebrew/Cellar/icarus-verilog/13.0/lib/ivl/v2005_math.vpi";
:vpi_module "/opt/homebrew/Cellar/icarus-verilog/13.0/lib/ivl/va_math.vpi";
:vpi_module "/opt/homebrew/Cellar/icarus-verilog/13.0/lib/ivl/v2009.vpi";
S_0x100bfacb0 .scope package, "$unit" "$unit" 2 1;
 .timescale 0 0;
S_0x100bfba30 .scope module, "layer" "layer" 3 1;
 .timescale 0 0;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "start";
    .port_info 3 /INPUT 1024 "x_bus";
    .port_info 4 /INPUT 8192 "weights_bus";
    .port_info 5 /INPUT 128 "bias_bus";
    .port_info 6 /OUTPUT 128 "y_bus";
    .port_info 7 /OUTPUT 1 "busy";
    .port_info 8 /OUTPUT 1 "done";
P_0x85cd93980 .param/l "ACC_WIDTH" 0 3 6, +C4<00000000000000000000000000101000>;
P_0x85cd939c0 .param/l "DATA_WIDTH" 0 3 2, +C4<00000000000000000000000000010000>;
P_0x85cd93a00 .param/l "N_INPUTS" 0 3 3, +C4<00000000000000000000000001000000>;
P_0x85cd93a40 .param/l "N_NEURONS" 0 3 4, +C4<00000000000000000000000000001000>;
P_0x85cd93a80 .param/l "PARALLEL" 0 3 5, +C4<00000000000000000000000000001000>;
o0x85c855350 .functor BUFZ 128, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d2392c0_0 .net/s "bias_bus", 127 0, o0x85c855350;  0 drivers
v0x85d239360_0 .net "busy", 0 0, L_0x85ce38780;  1 drivers
o0x85c845fc0 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d239400_0 .net "clk", 0 0, o0x85c845fc0;  0 drivers
v0x85d2394a0_0 .net "done", 0 0, L_0x85ce38820;  1 drivers
v0x85d239540_0 .net "neuron_busy", 7 0, L_0x85d26b200;  1 drivers
v0x85d2395e0_0 .net "neuron_done", 7 0, L_0x85d26b2a0;  1 drivers
o0x85c846080 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d239680_0 .net "rst", 0 0, o0x85c846080;  0 drivers
o0x85c8460b0 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d239720_0 .net "start", 0 0, o0x85c8460b0;  0 drivers
o0x85c855440 .functor BUFZ 8192, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d2397c0_0 .net/s "weights_bus", 8191 0, o0x85c855440;  0 drivers
o0x85c846110 .functor BUFZ 1024, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d239860_0 .net/s "x_bus", 1023 0, o0x85c846110;  0 drivers
v0x85d239900_0 .net/s "y_bus", 127 0, L_0x85d26b0c0;  1 drivers
L_0x85cdd6760 .part o0x85c855440, 0, 1024;
L_0x85cdd6800 .part o0x85c855350, 0, 16;
L_0x85cdd7f20 .part o0x85c855440, 1024, 1024;
L_0x85cd8d720 .part o0x85c855350, 16, 16;
L_0x85ce24f00 .part o0x85c855440, 2048, 1024;
L_0x85ce24fa0 .part o0x85c855350, 32, 16;
L_0x85ce266c0 .part o0x85c855440, 3072, 1024;
L_0x85ce26760 .part o0x85c855350, 48, 16;
L_0x85ce27e80 .part o0x85c855440, 4096, 1024;
L_0x85ce27f20 .part o0x85c855350, 64, 16;
L_0x85ce31680 .part o0x85c855440, 5120, 1024;
L_0x85ce31720 .part o0x85c855350, 80, 16;
L_0x85ce32e40 .part o0x85c855440, 6144, 1024;
L_0x85ce32ee0 .part o0x85c855350, 96, 16;
L_0x85ce38640 .part o0x85c855440, 7168, 1024;
L_0x85ce386e0 .part o0x85c855350, 112, 16;
LS_0x85d26b0c0_0_0 .concat8 [ 16 16 16 16], v0x85d1fd4a0_0, v0x85d205d60_0, v0x85d20a620_0, v0x85d212ee0_0;
LS_0x85d26b0c0_0_4 .concat8 [ 16 16 16 16], v0x85d21f7a0_0, v0x85d22c0a0_0, v0x85d234960_0, v0x85d239220_0;
L_0x85d26b0c0 .concat8 [ 64 64 0 0], LS_0x85d26b0c0_0_0, LS_0x85d26b0c0_0_4;
LS_0x85d26b200_0_0 .concat8 [ 1 1 1 1], v0x85d1fcdc0_0, v0x85d205680_0, v0x85d209f40_0, v0x85d212800_0;
LS_0x85d26b200_0_4 .concat8 [ 1 1 1 1], v0x85d21f0c0_0, v0x85d227980_0, v0x85d234280_0, v0x85d238b40_0;
L_0x85d26b200 .concat8 [ 4 4 0 0], LS_0x85d26b200_0_0, LS_0x85d26b200_0_4;
LS_0x85d26b2a0_0_0 .concat8 [ 1 1 1 1], v0x85d1fcf00_0, v0x85d2057c0_0, v0x85d20a080_0, v0x85d212940_0;
LS_0x85d26b2a0_0_4 .concat8 [ 1 1 1 1], v0x85d21f200_0, v0x85d227ac0_0, v0x85d2343c0_0, v0x85d238c80_0;
L_0x85d26b2a0 .concat8 [ 4 4 0 0], LS_0x85d26b2a0_0_0, LS_0x85d26b2a0_0_4;
L_0x85ce38780 .reduce/or L_0x85d26b200;
L_0x85ce38820 .reduce/and L_0x85d26b2a0;
S_0x100bef970 .scope generate, "GEN_NEURON[0]" "GEN_NEURON[0]" 3 34, 3 34 0, S_0x100bfba30;
 .timescale 0 0;
P_0x85cdb94c0 .param/l "n" 1 3 34, +C4<00>;
S_0x100befaf0 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0x100bef970;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "start";
    .port_info 3 /INPUT 1024 "x_bus";
    .port_info 4 /INPUT 1024 "w_bus";
    .port_info 5 /INPUT 16 "bias";
    .port_info 6 /OUTPUT 16 "y";
    .port_info 7 /OUTPUT 1 "busy";
    .port_info 8 /OUTPUT 1 "done";
P_0x100bef100 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0x100bef140 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0x100bef180 .param/l "GROUPS" 1 4 49, +C4<00000000000000000000000000001000>;
P_0x100bef1c0 .param/l "GROUP_INDEX_WIDTH" 1 4 50, +C4<00000000000000000000000000000011>;
P_0x100bef200 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0x100bef240 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0x85d1fc280_0 .net *"_ivl_0", 31 0, L_0x85d256800;  1 drivers
v0x85d1fc320_0 .net *"_ivl_11", 31 0, L_0x85d256940;  1 drivers
v0x85d1fc3c0_0 .net *"_ivl_14", 31 0, L_0x85d2569e0;  1 drivers
L_0x85c8780e8 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d1fc460_0 .net *"_ivl_17", 28 0, L_0x85c8780e8;  1 drivers
L_0x85c878130 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d1fc500_0 .net/2u *"_ivl_18", 31 0, L_0x85c878130;  1 drivers
v0x85d1fc5a0_0 .net *"_ivl_21", 31 0, L_0x85d256a80;  1 drivers
L_0x85c878178 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d1fc640_0 .net/2u *"_ivl_22", 31 0, L_0x85c878178;  1 drivers
v0x85d1fc6e0_0 .net *"_ivl_25", 31 0, L_0x85d256b20;  1 drivers
v0x85d1fc780_0 .net *"_ivl_29", 0 0, L_0x85cdd6620;  1 drivers
L_0x85c878010 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d1fc820_0 .net *"_ivl_3", 28 0, L_0x85c878010;  1 drivers
v0x85d1fc8c0_0 .net *"_ivl_31", 23 0, L_0x85cdd66c0;  1 drivers
L_0x85c878058 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d1fc960_0 .net/2u *"_ivl_4", 31 0, L_0x85c878058;  1 drivers
v0x85d1fca00_0 .net *"_ivl_7", 31 0, L_0x85d2568a0;  1 drivers
L_0x85c8780a0 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d1fcaa0_0 .net/2u *"_ivl_8", 31 0, L_0x85c8780a0;  1 drivers
v0x85d1fcb40_0 .var/s "acc", 39 0;
v0x85d1fcbe0_0 .net/s "acc_next", 39 0, L_0x85cd6e3a0;  1 drivers
v0x85d1fcc80_0 .net/s "bias", 15 0, L_0x85cdd6800;  1 drivers
v0x85d1fcd20_0 .net/s "bias_ext", 39 0, L_0x85d2600a0;  1 drivers
v0x85d1fcdc0_0 .var "busy", 0 0;
v0x85d1fce60_0 .net "clk", 0 0, o0x85c845fc0;  alias, 0 drivers
v0x85d1fcf00_0 .var "done", 0 0;
v0x85d1fcfa0_0 .net/s "final_acc", 39 0, L_0x85cd6e440;  1 drivers
v0x85d1fd040_0 .var "group_index", 2 0;
v0x85d1fd0e0_0 .net "rst", 0 0, o0x85c846080;  alias, 0 drivers
v0x85d1fd180_0 .net "start", 0 0, o0x85c8460b0;  alias, 0 drivers
v0x85d1fd220_0 .net/s "w_bus", 1023 0, L_0x85cdd6760;  1 drivers
v0x85d1fd2c0_0 .net/s "w_group", 127 0, L_0x85cdd50e0;  1 drivers
v0x85d1fd360_0 .net/s "x_bus", 1023 0, o0x85c846110;  alias, 0 drivers
v0x85d1fd400_0 .net/s "x_group", 127 0, L_0x85cdd5180;  1 drivers
v0x85d1fd4a0_0 .var/s "y", 15 0;
E_0x85cdc7d80 .event posedge, v0x85d1fce60_0;
L_0x85d256800 .concat [ 3 29 0 0], v0x85d1fd040_0, L_0x85c878010;
L_0x85d2568a0 .arith/mult 32, L_0x85d256800, L_0x85c878058;
L_0x85d256940 .arith/mult 32, L_0x85d2568a0, L_0x85c8780a0;
L_0x85cdd5180 .part/v o0x85c846110, L_0x85d256940, 128;
L_0x85d2569e0 .concat [ 3 29 0 0], v0x85d1fd040_0, L_0x85c8780e8;
L_0x85d256a80 .arith/mult 32, L_0x85d2569e0, L_0x85c878130;
L_0x85d256b20 .arith/mult 32, L_0x85d256a80, L_0x85c878178;
L_0x85cdd50e0 .part/v L_0x85cdd6760, L_0x85d256b20, 128;
L_0x85cdd6620 .part L_0x85cdd6800, 15, 1;
L_0x85cdd66c0 .repeat 24, 24, L_0x85cdd6620;
L_0x85d2600a0 .concat [ 16 24 0 0], L_0x85cdd6800, L_0x85cdd66c0;
L_0x85cd6e440 .arith/sum 40, L_0x85cd6e3a0, L_0x85d2600a0;
S_0x100bef280 .scope module, "u_mac8" "mac8" 4 81, 5 1 0, S_0x100befaf0;
 .timescale 0 0;
    .port_info 0 /INPUT 128 "x_bus";
    .port_info 1 /INPUT 128 "w_bus";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85d090300 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0x85d090340 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0x85d090380 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0x85d0903c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0x85d103e80_0 .net/s "acc_in", 39 0, v0x85d1fcb40_0;  1 drivers
v0x85d103f20_0 .net/s "acc_out", 39 0, L_0x85cd6e3a0;  alias, 1 drivers
v0x85d1fc000 .array "products", 7 0;
v0x85d1fc000_0 .net/s v0x85d1fc000 0, 39 0, L_0x85cd6d860; 1 drivers
v0x85d1fc000_1 .net/s v0x85d1fc000 1, 39 0, L_0x85cd6db80; 1 drivers
v0x85d1fc000_2 .net/s v0x85d1fc000 2, 39 0, L_0x85cd6dc20; 1 drivers
v0x85d1fc000_3 .net/s v0x85d1fc000 3, 39 0, L_0x85cd6dcc0; 1 drivers
v0x85d1fc000_4 .net/s v0x85d1fc000 4, 39 0, L_0x85cd6dae0; 1 drivers
v0x85d1fc000_5 .net/s v0x85d1fc000 5, 39 0, L_0x85cd6dd60; 1 drivers
v0x85d1fc000_6 .net/s v0x85d1fc000 6, 39 0, L_0x85cd6de00; 1 drivers
v0x85d1fc000_7 .net/s v0x85d1fc000 7, 39 0, L_0x85cd6dea0; 1 drivers
v0x85d1fc0a0 .array "tree", 31 0;
v0x85d1fc0a0_0 .net/s v0x85d1fc0a0 0, 39 0, L_0x85d04c690; 1 drivers
v0x85d1fc0a0_1 .net/s v0x85d1fc0a0 1, 39 0, L_0x85d04c700; 1 drivers
v0x85d1fc0a0_2 .net/s v0x85d1fc0a0 2, 39 0, L_0x85d04c770; 1 drivers
v0x85d1fc0a0_3 .net/s v0x85d1fc0a0 3, 39 0, L_0x85d04c7e0; 1 drivers
v0x85d1fc0a0_4 .net/s v0x85d1fc0a0 4, 39 0, L_0x85d04c850; 1 drivers
v0x85d1fc0a0_5 .net/s v0x85d1fc0a0 5, 39 0, L_0x85d04c8c0; 1 drivers
v0x85d1fc0a0_6 .net/s v0x85d1fc0a0 6, 39 0, L_0x85d04c930; 1 drivers
v0x85d1fc0a0_7 .net/s v0x85d1fc0a0 7, 39 0, L_0x85d04c9a0; 1 drivers
v0x85d1fc0a0_8 .net/s v0x85d1fc0a0 8, 39 0, L_0x85cd6df40; 1 drivers
v0x85d1fc0a0_9 .net/s v0x85d1fc0a0 9, 39 0, L_0x85cd6dfe0; 1 drivers
v0x85d1fc0a0_10 .net/s v0x85d1fc0a0 10, 39 0, L_0x85cd6e080; 1 drivers
v0x85d1fc0a0_11 .net/s v0x85d1fc0a0 11, 39 0, L_0x85cd6e120; 1 drivers
o0x85c8457b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_12 .net/s v0x85d1fc0a0 12, 39 0, o0x85c8457b0; 0 drivers
o0x85c8457e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_13 .net/s v0x85d1fc0a0 13, 39 0, o0x85c8457e0; 0 drivers
o0x85c845810 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_14 .net/s v0x85d1fc0a0 14, 39 0, o0x85c845810; 0 drivers
o0x85c845840 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_15 .net/s v0x85d1fc0a0 15, 39 0, o0x85c845840; 0 drivers
v0x85d1fc0a0_16 .net/s v0x85d1fc0a0 16, 39 0, L_0x85cd6e1c0; 1 drivers
v0x85d1fc0a0_17 .net/s v0x85d1fc0a0 17, 39 0, L_0x85cd6e260; 1 drivers
o0x85c8458d0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_18 .net/s v0x85d1fc0a0 18, 39 0, o0x85c8458d0; 0 drivers
o0x85c845900 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_19 .net/s v0x85d1fc0a0 19, 39 0, o0x85c845900; 0 drivers
o0x85c845930 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_20 .net/s v0x85d1fc0a0 20, 39 0, o0x85c845930; 0 drivers
o0x85c845960 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_21 .net/s v0x85d1fc0a0 21, 39 0, o0x85c845960; 0 drivers
o0x85c845990 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_22 .net/s v0x85d1fc0a0 22, 39 0, o0x85c845990; 0 drivers
o0x85c8459c0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_23 .net/s v0x85d1fc0a0 23, 39 0, o0x85c8459c0; 0 drivers
v0x85d1fc0a0_24 .net/s v0x85d1fc0a0 24, 39 0, L_0x85cd6e300; 1 drivers
o0x85c845a20 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_25 .net/s v0x85d1fc0a0 25, 39 0, o0x85c845a20; 0 drivers
o0x85c845a50 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_26 .net/s v0x85d1fc0a0 26, 39 0, o0x85c845a50; 0 drivers
o0x85c845a80 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_27 .net/s v0x85d1fc0a0 27, 39 0, o0x85c845a80; 0 drivers
o0x85c845ab0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_28 .net/s v0x85d1fc0a0 28, 39 0, o0x85c845ab0; 0 drivers
o0x85c845ae0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_29 .net/s v0x85d1fc0a0 29, 39 0, o0x85c845ae0; 0 drivers
o0x85c845b10 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_30 .net/s v0x85d1fc0a0 30, 39 0, o0x85c845b10; 0 drivers
o0x85c845b40 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d1fc0a0_31 .net/s v0x85d1fc0a0 31, 39 0, o0x85c845b40; 0 drivers
v0x85d1fc140_0 .net/s "w_bus", 127 0, L_0x85cdd50e0;  alias, 1 drivers
v0x85d1fc1e0_0 .net/s "x_bus", 127 0, L_0x85cdd5180;  alias, 1 drivers
L_0x85cdd5360 .part L_0x85cdd5180, 0, 16;
L_0x85cdd5400 .part L_0x85cdd50e0, 0, 16;
L_0x85cdd55e0 .part L_0x85cdd5180, 16, 16;
L_0x85cdd5680 .part L_0x85cdd50e0, 16, 16;
L_0x85cdd5860 .part L_0x85cdd5180, 32, 16;
L_0x85cdd5900 .part L_0x85cdd50e0, 32, 16;
L_0x85cdd5ae0 .part L_0x85cdd5180, 48, 16;
L_0x85cdd5b80 .part L_0x85cdd50e0, 48, 16;
L_0x85cdd5d60 .part L_0x85cdd5180, 64, 16;
L_0x85cdd5e00 .part L_0x85cdd50e0, 64, 16;
L_0x85cdd5fe0 .part L_0x85cdd5180, 80, 16;
L_0x85cdd6080 .part L_0x85cdd50e0, 80, 16;
L_0x85cdd6260 .part L_0x85cdd5180, 96, 16;
L_0x85cdd6300 .part L_0x85cdd50e0, 96, 16;
L_0x85cdd64e0 .part L_0x85cdd5180, 112, 16;
L_0x85cdd6580 .part L_0x85cdd50e0, 112, 16;
L_0x85cd6e3a0 .arith/sum 40, v0x85d1fcb40_0, L_0x85cd6e300;
S_0x100bee930 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9500 .param/l "i" 1 5 20, +C4<00>;
S_0x100beeab0 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x100bee930;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x100bf19c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x100bf1a00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x100bf1a40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d100c80_0 .net/s *"_ivl_0", 31 0, L_0x85d256bc0;  1 drivers
v0x85d100d20_0 .net/s *"_ivl_2", 31 0, L_0x85d256c60;  1 drivers
v0x85d100dc0_0 .net *"_ivl_7", 0 0, L_0x85cdd5220;  1 drivers
v0x85d100e60_0 .net *"_ivl_9", 7 0, L_0x85cdd52c0;  1 drivers
L_0x85c8781c0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d100f00_0 .net/s "acc_in", 39 0, L_0x85c8781c0;  1 drivers
v0x85d100fa0_0 .net/s "acc_out", 39 0, L_0x85cd6d860;  alias, 1 drivers
v0x85d101040_0 .net/s "product", 31 0, L_0x85d256d00;  1 drivers
v0x85d1010e0_0 .net/s "product_ext", 39 0, L_0x85d256da0;  1 drivers
v0x85d101180_0 .net/s "w", 15 0, L_0x85cdd5400;  1 drivers
v0x85d101220_0 .net/s "x", 15 0, L_0x85cdd5360;  1 drivers
L_0x85d256bc0 .extend/s 32, L_0x85cdd5360;
L_0x85d256c60 .extend/s 32, L_0x85cdd5400;
L_0x85d256d00 .arith/mult 32, L_0x85d256bc0, L_0x85d256c60;
L_0x85cdd5220 .part L_0x85d256d00, 31, 1;
L_0x85cdd52c0 .repeat 8, 8, L_0x85cdd5220;
L_0x85d256da0 .concat [ 32 8 0 0], L_0x85d256d00, L_0x85cdd52c0;
L_0x85cd6d860 .arith/sum 40, L_0x85c8781c0, L_0x85d256da0;
S_0x100bebf40 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9540 .param/l "i" 1 5 20, +C4<01>;
S_0x100bec0c0 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x100bebf40;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x100bfb2b0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x100bfb2f0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x100bfb330 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d1012c0_0 .net/s *"_ivl_0", 31 0, L_0x85d256e40;  1 drivers
v0x85d101360_0 .net/s *"_ivl_2", 31 0, L_0x85d256ee0;  1 drivers
v0x85d101400_0 .net *"_ivl_7", 0 0, L_0x85cdd54a0;  1 drivers
v0x85d1014a0_0 .net *"_ivl_9", 7 0, L_0x85cdd5540;  1 drivers
L_0x85c878208 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d101540_0 .net/s "acc_in", 39 0, L_0x85c878208;  1 drivers
v0x85d1015e0_0 .net/s "acc_out", 39 0, L_0x85cd6db80;  alias, 1 drivers
v0x85d101680_0 .net/s "product", 31 0, L_0x85d256f80;  1 drivers
v0x85d101720_0 .net/s "product_ext", 39 0, L_0x85d257020;  1 drivers
v0x85d1017c0_0 .net/s "w", 15 0, L_0x85cdd5680;  1 drivers
v0x85d101860_0 .net/s "x", 15 0, L_0x85cdd55e0;  1 drivers
L_0x85d256e40 .extend/s 32, L_0x85cdd55e0;
L_0x85d256ee0 .extend/s 32, L_0x85cdd5680;
L_0x85d256f80 .arith/mult 32, L_0x85d256e40, L_0x85d256ee0;
L_0x85cdd54a0 .part L_0x85d256f80, 31, 1;
L_0x85cdd5540 .repeat 8, 8, L_0x85cdd54a0;
L_0x85d257020 .concat [ 32 8 0 0], L_0x85d256f80, L_0x85cdd5540;
L_0x85cd6db80 .arith/sum 40, L_0x85c878208, L_0x85d257020;
S_0x100becb50 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9580 .param/l "i" 1 5 20, +C4<010>;
S_0x100beccd0 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x100becb50;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x100bfef10 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x100bfef50 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x100bfef90 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d101900_0 .net/s *"_ivl_0", 31 0, L_0x85d2570c0;  1 drivers
v0x85d1019a0_0 .net/s *"_ivl_2", 31 0, L_0x85d257160;  1 drivers
v0x85d101a40_0 .net *"_ivl_7", 0 0, L_0x85cdd5720;  1 drivers
v0x85d101ae0_0 .net *"_ivl_9", 7 0, L_0x85cdd57c0;  1 drivers
L_0x85c878250 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d101b80_0 .net/s "acc_in", 39 0, L_0x85c878250;  1 drivers
v0x85d101c20_0 .net/s "acc_out", 39 0, L_0x85cd6dc20;  alias, 1 drivers
v0x85d101cc0_0 .net/s "product", 31 0, L_0x85d257200;  1 drivers
v0x85d101d60_0 .net/s "product_ext", 39 0, L_0x85d2572a0;  1 drivers
v0x85d101e00_0 .net/s "w", 15 0, L_0x85cdd5900;  1 drivers
v0x85d101ea0_0 .net/s "x", 15 0, L_0x85cdd5860;  1 drivers
L_0x85d2570c0 .extend/s 32, L_0x85cdd5860;
L_0x85d257160 .extend/s 32, L_0x85cdd5900;
L_0x85d257200 .arith/mult 32, L_0x85d2570c0, L_0x85d257160;
L_0x85cdd5720 .part L_0x85d257200, 31, 1;
L_0x85cdd57c0 .repeat 8, 8, L_0x85cdd5720;
L_0x85d2572a0 .concat [ 32 8 0 0], L_0x85d257200, L_0x85cdd57c0;
L_0x85cd6dc20 .arith/sum 40, L_0x85c878250, L_0x85d2572a0;
S_0x85d1f8000 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb95c0 .param/l "i" 1 5 20, +C4<011>;
S_0x85d1f8180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d1f8000;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x100bfb730 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x100bfb770 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x100bfb7b0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d101f40_0 .net/s *"_ivl_0", 31 0, L_0x85d257340;  1 drivers
v0x85d101fe0_0 .net/s *"_ivl_2", 31 0, L_0x85d2573e0;  1 drivers
v0x85d102080_0 .net *"_ivl_7", 0 0, L_0x85cdd59a0;  1 drivers
v0x85d102120_0 .net *"_ivl_9", 7 0, L_0x85cdd5a40;  1 drivers
L_0x85c878298 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d1021c0_0 .net/s "acc_in", 39 0, L_0x85c878298;  1 drivers
v0x85d102260_0 .net/s "acc_out", 39 0, L_0x85cd6dcc0;  alias, 1 drivers
v0x85d102300_0 .net/s "product", 31 0, L_0x85d257480;  1 drivers
v0x85d1023a0_0 .net/s "product_ext", 39 0, L_0x85d257520;  1 drivers
v0x85d102440_0 .net/s "w", 15 0, L_0x85cdd5b80;  1 drivers
v0x85d1024e0_0 .net/s "x", 15 0, L_0x85cdd5ae0;  1 drivers
L_0x85d257340 .extend/s 32, L_0x85cdd5ae0;
L_0x85d2573e0 .extend/s 32, L_0x85cdd5b80;
L_0x85d257480 .arith/mult 32, L_0x85d257340, L_0x85d2573e0;
L_0x85cdd59a0 .part L_0x85d257480, 31, 1;
L_0x85cdd5a40 .repeat 8, 8, L_0x85cdd59a0;
L_0x85d257520 .concat [ 32 8 0 0], L_0x85d257480, L_0x85cdd5a40;
L_0x85cd6dcc0 .arith/sum 40, L_0x85c878298, L_0x85d257520;
S_0x85d1f8300 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9600 .param/l "i" 1 5 20, +C4<0100>;
S_0x85d1f8480 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d1f8300;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec000 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec040 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec080 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d102580_0 .net/s *"_ivl_0", 31 0, L_0x85d2575c0;  1 drivers
v0x85d102620_0 .net/s *"_ivl_2", 31 0, L_0x85d257660;  1 drivers
v0x85d1026c0_0 .net *"_ivl_7", 0 0, L_0x85cdd5c20;  1 drivers
v0x85d102760_0 .net *"_ivl_9", 7 0, L_0x85cdd5cc0;  1 drivers
L_0x85c8782e0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d102800_0 .net/s "acc_in", 39 0, L_0x85c8782e0;  1 drivers
v0x85d1028a0_0 .net/s "acc_out", 39 0, L_0x85cd6dae0;  alias, 1 drivers
v0x85d102940_0 .net/s "product", 31 0, L_0x85d257700;  1 drivers
v0x85d1029e0_0 .net/s "product_ext", 39 0, L_0x85d2577a0;  1 drivers
v0x85d102a80_0 .net/s "w", 15 0, L_0x85cdd5e00;  1 drivers
v0x85d102b20_0 .net/s "x", 15 0, L_0x85cdd5d60;  1 drivers
L_0x85d2575c0 .extend/s 32, L_0x85cdd5d60;
L_0x85d257660 .extend/s 32, L_0x85cdd5e00;
L_0x85d257700 .arith/mult 32, L_0x85d2575c0, L_0x85d257660;
L_0x85cdd5c20 .part L_0x85d257700, 31, 1;
L_0x85cdd5cc0 .repeat 8, 8, L_0x85cdd5c20;
L_0x85d2577a0 .concat [ 32 8 0 0], L_0x85d257700, L_0x85cdd5cc0;
L_0x85cd6dae0 .arith/sum 40, L_0x85c8782e0, L_0x85d2577a0;
S_0x85d1f8600 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9640 .param/l "i" 1 5 20, +C4<0101>;
S_0x85d1f8780 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d1f8600;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec0c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec100 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec140 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d102bc0_0 .net/s *"_ivl_0", 31 0, L_0x85d257840;  1 drivers
v0x85d102c60_0 .net/s *"_ivl_2", 31 0, L_0x85d2578e0;  1 drivers
v0x85d102d00_0 .net *"_ivl_7", 0 0, L_0x85cdd5ea0;  1 drivers
v0x85d102da0_0 .net *"_ivl_9", 7 0, L_0x85cdd5f40;  1 drivers
L_0x85c878328 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d102e40_0 .net/s "acc_in", 39 0, L_0x85c878328;  1 drivers
v0x85d102ee0_0 .net/s "acc_out", 39 0, L_0x85cd6dd60;  alias, 1 drivers
v0x85d102f80_0 .net/s "product", 31 0, L_0x85d257980;  1 drivers
v0x85d103020_0 .net/s "product_ext", 39 0, L_0x85d257a20;  1 drivers
v0x85d1030c0_0 .net/s "w", 15 0, L_0x85cdd6080;  1 drivers
v0x85d103160_0 .net/s "x", 15 0, L_0x85cdd5fe0;  1 drivers
L_0x85d257840 .extend/s 32, L_0x85cdd5fe0;
L_0x85d2578e0 .extend/s 32, L_0x85cdd6080;
L_0x85d257980 .arith/mult 32, L_0x85d257840, L_0x85d2578e0;
L_0x85cdd5ea0 .part L_0x85d257980, 31, 1;
L_0x85cdd5f40 .repeat 8, 8, L_0x85cdd5ea0;
L_0x85d257a20 .concat [ 32 8 0 0], L_0x85d257980, L_0x85cdd5f40;
L_0x85cd6dd60 .arith/sum 40, L_0x85c878328, L_0x85d257a20;
S_0x85d1f8900 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9680 .param/l "i" 1 5 20, +C4<0110>;
S_0x85d1f8a80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d1f8900;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec180 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec1c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec200 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d103200_0 .net/s *"_ivl_0", 31 0, L_0x85d257ac0;  1 drivers
v0x85d1032a0_0 .net/s *"_ivl_2", 31 0, L_0x85d257b60;  1 drivers
v0x85d103340_0 .net *"_ivl_7", 0 0, L_0x85cdd6120;  1 drivers
v0x85d1033e0_0 .net *"_ivl_9", 7 0, L_0x85cdd61c0;  1 drivers
L_0x85c878370 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d103480_0 .net/s "acc_in", 39 0, L_0x85c878370;  1 drivers
v0x85d103520_0 .net/s "acc_out", 39 0, L_0x85cd6de00;  alias, 1 drivers
v0x85d1035c0_0 .net/s "product", 31 0, L_0x85d257c00;  1 drivers
v0x85d103660_0 .net/s "product_ext", 39 0, L_0x85d257ca0;  1 drivers
v0x85d103700_0 .net/s "w", 15 0, L_0x85cdd6300;  1 drivers
v0x85d1037a0_0 .net/s "x", 15 0, L_0x85cdd6260;  1 drivers
L_0x85d257ac0 .extend/s 32, L_0x85cdd6260;
L_0x85d257b60 .extend/s 32, L_0x85cdd6300;
L_0x85d257c00 .arith/mult 32, L_0x85d257ac0, L_0x85d257b60;
L_0x85cdd6120 .part L_0x85d257c00, 31, 1;
L_0x85cdd61c0 .repeat 8, 8, L_0x85cdd6120;
L_0x85d257ca0 .concat [ 32 8 0 0], L_0x85d257c00, L_0x85cdd61c0;
L_0x85cd6de00 .arith/sum 40, L_0x85c878370, L_0x85d257ca0;
S_0x85d1f8c00 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb96c0 .param/l "i" 1 5 20, +C4<0111>;
S_0x85d1f8d80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d1f8c00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec240 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec280 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec2c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d103840_0 .net/s *"_ivl_0", 31 0, L_0x85d257d40;  1 drivers
v0x85d1038e0_0 .net/s *"_ivl_2", 31 0, L_0x85d257de0;  1 drivers
v0x85d103980_0 .net *"_ivl_7", 0 0, L_0x85cdd63a0;  1 drivers
v0x85d103a20_0 .net *"_ivl_9", 7 0, L_0x85cdd6440;  1 drivers
L_0x85c8783b8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d103ac0_0 .net/s "acc_in", 39 0, L_0x85c8783b8;  1 drivers
v0x85d103b60_0 .net/s "acc_out", 39 0, L_0x85cd6dea0;  alias, 1 drivers
v0x85d103c00_0 .net/s "product", 31 0, L_0x85d257e80;  1 drivers
v0x85d103ca0_0 .net/s "product_ext", 39 0, L_0x85d257f20;  1 drivers
v0x85d103d40_0 .net/s "w", 15 0, L_0x85cdd6580;  1 drivers
v0x85d103de0_0 .net/s "x", 15 0, L_0x85cdd64e0;  1 drivers
L_0x85d257d40 .extend/s 32, L_0x85cdd64e0;
L_0x85d257de0 .extend/s 32, L_0x85cdd6580;
L_0x85d257e80 .arith/mult 32, L_0x85d257d40, L_0x85d257de0;
L_0x85cdd63a0 .part L_0x85d257e80, 31, 1;
L_0x85cdd6440 .repeat 8, 8, L_0x85cdd63a0;
L_0x85d257f20 .concat [ 32 8 0 0], L_0x85d257e80, L_0x85cdd6440;
L_0x85cd6dea0 .arith/sum 40, L_0x85c8783b8, L_0x85d257f20;
S_0x85d1f8f00 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9700 .param/l "i" 1 5 80, +C4<00>;
L_0x85d04c690 .functor BUFZ 40, L_0x85cd6d860, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d1f9080 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9740 .param/l "i" 1 5 80, +C4<01>;
L_0x85d04c700 .functor BUFZ 40, L_0x85cd6db80, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d1f9200 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9780 .param/l "i" 1 5 80, +C4<010>;
L_0x85d04c770 .functor BUFZ 40, L_0x85cd6dc20, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d1f9380 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb97c0 .param/l "i" 1 5 80, +C4<011>;
L_0x85d04c7e0 .functor BUFZ 40, L_0x85cd6dcc0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d1f9500 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9800 .param/l "i" 1 5 80, +C4<0100>;
L_0x85d04c850 .functor BUFZ 40, L_0x85cd6dae0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d1f9680 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9840 .param/l "i" 1 5 80, +C4<0101>;
L_0x85d04c8c0 .functor BUFZ 40, L_0x85cd6dd60, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d1f9800 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9880 .param/l "i" 1 5 80, +C4<0110>;
L_0x85d04c930 .functor BUFZ 40, L_0x85cd6de00, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d1f9980 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb98c0 .param/l "i" 1 5 80, +C4<0111>;
L_0x85d04c9a0 .functor BUFZ 40, L_0x85cd6dea0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d1f9b00 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9900 .param/l "level" 1 5 92, +C4<00>;
S_0x85d1f9c80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d1f9b00;
 .timescale 0 0;
P_0x85cdb9940 .param/l "node" 1 5 94, +C4<00>;
L_0x85cd6df40 .arith/sum 40, L_0x85d04c690, L_0x85d04c700;
S_0x85d1f9e00 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d1f9b00;
 .timescale 0 0;
P_0x85cdb9980 .param/l "node" 1 5 94, +C4<01>;
L_0x85cd6dfe0 .arith/sum 40, L_0x85d04c770, L_0x85d04c7e0;
S_0x85d1f9f80 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0x85d1f9b00;
 .timescale 0 0;
P_0x85cdb99c0 .param/l "node" 1 5 94, +C4<010>;
L_0x85cd6e080 .arith/sum 40, L_0x85d04c850, L_0x85d04c8c0;
S_0x85d1fa100 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0x85d1f9b00;
 .timescale 0 0;
P_0x85cdb9a00 .param/l "node" 1 5 94, +C4<011>;
L_0x85cd6e120 .arith/sum 40, L_0x85d04c930, L_0x85d04c9a0;
S_0x85d1fa280 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9a40 .param/l "level" 1 5 92, +C4<01>;
S_0x85d1fa400 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d1fa280;
 .timescale 0 0;
P_0x85cdb9a80 .param/l "node" 1 5 94, +C4<00>;
L_0x85cd6e1c0 .arith/sum 40, L_0x85cd6df40, L_0x85cd6dfe0;
S_0x85d1fa580 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d1fa280;
 .timescale 0 0;
P_0x85cdb9ac0 .param/l "node" 1 5 94, +C4<01>;
L_0x85cd6e260 .arith/sum 40, L_0x85cd6e080, L_0x85cd6e120;
S_0x85d1fa700 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0x100bef280;
 .timescale 0 0;
P_0x85cdb9b00 .param/l "level" 1 5 92, +C4<010>;
S_0x85d1fa880 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d1fa700;
 .timescale 0 0;
P_0x85cdb9b40 .param/l "node" 1 5 94, +C4<00>;
L_0x85cd6e300 .arith/sum 40, L_0x85cd6e1c0, L_0x85cd6e260;
S_0x85d1faa00 .scope generate, "GEN_NEURON[1]" "GEN_NEURON[1]" 3 34, 3 34 0, S_0x100bfba30;
 .timescale 0 0;
P_0x85cdb9b80 .param/l "n" 1 3 34, +C4<01>;
S_0x85d1fab80 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0x85d1faa00;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "start";
    .port_info 3 /INPUT 1024 "x_bus";
    .port_info 4 /INPUT 1024 "w_bus";
    .port_info 5 /INPUT 16 "bias";
    .port_info 6 /OUTPUT 16 "y";
    .port_info 7 /OUTPUT 1 "busy";
    .port_info 8 /OUTPUT 1 "done";
P_0x85d1fad00 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0x85d1fad40 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0x85d1fad80 .param/l "GROUPS" 1 4 49, +C4<00000000000000000000000000001000>;
P_0x85d1fadc0 .param/l "GROUP_INDEX_WIDTH" 1 4 50, +C4<00000000000000000000000000000011>;
P_0x85d1fae00 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0x85d1fae40 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0x85d204b40_0 .net *"_ivl_0", 31 0, L_0x85d260140;  1 drivers
v0x85d204be0_0 .net *"_ivl_11", 31 0, L_0x85d260280;  1 drivers
v0x85d204c80_0 .net *"_ivl_14", 31 0, L_0x85d260320;  1 drivers
L_0x85c8784d8 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d204d20_0 .net *"_ivl_17", 28 0, L_0x85c8784d8;  1 drivers
L_0x85c878520 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d204dc0_0 .net/2u *"_ivl_18", 31 0, L_0x85c878520;  1 drivers
v0x85d204e60_0 .net *"_ivl_21", 31 0, L_0x85d2603c0;  1 drivers
L_0x85c878568 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d204f00_0 .net/2u *"_ivl_22", 31 0, L_0x85c878568;  1 drivers
v0x85d204fa0_0 .net *"_ivl_25", 31 0, L_0x85d260460;  1 drivers
v0x85d205040_0 .net *"_ivl_29", 0 0, L_0x85cdd7de0;  1 drivers
L_0x85c878400 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2050e0_0 .net *"_ivl_3", 28 0, L_0x85c878400;  1 drivers
v0x85d205180_0 .net *"_ivl_31", 23 0, L_0x85cdd7e80;  1 drivers
L_0x85c878448 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d205220_0 .net/2u *"_ivl_4", 31 0, L_0x85c878448;  1 drivers
v0x85d2052c0_0 .net *"_ivl_7", 31 0, L_0x85d2601e0;  1 drivers
L_0x85c878490 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d205360_0 .net/2u *"_ivl_8", 31 0, L_0x85c878490;  1 drivers
v0x85d205400_0 .var/s "acc", 39 0;
v0x85d2054a0_0 .net/s "acc_next", 39 0, L_0x85cd6ee40;  1 drivers
v0x85d205540_0 .net/s "bias", 15 0, L_0x85cd8d720;  1 drivers
v0x85d2055e0_0 .net/s "bias_ext", 39 0, L_0x85d2619a0;  1 drivers
v0x85d205680_0 .var "busy", 0 0;
v0x85d205720_0 .net "clk", 0 0, o0x85c845fc0;  alias, 0 drivers
v0x85d2057c0_0 .var "done", 0 0;
v0x85d205860_0 .net/s "final_acc", 39 0, L_0x85cd6eee0;  1 drivers
v0x85d205900_0 .var "group_index", 2 0;
v0x85d2059a0_0 .net "rst", 0 0, o0x85c846080;  alias, 0 drivers
v0x85d205a40_0 .net "start", 0 0, o0x85c8460b0;  alias, 0 drivers
v0x85d205ae0_0 .net/s "w_bus", 1023 0, L_0x85cdd7f20;  1 drivers
v0x85d205b80_0 .net/s "w_group", 127 0, L_0x85cdd6940;  1 drivers
v0x85d205c20_0 .net/s "x_bus", 1023 0, o0x85c846110;  alias, 0 drivers
v0x85d205cc0_0 .net/s "x_group", 127 0, L_0x85cdd68a0;  1 drivers
v0x85d205d60_0 .var/s "y", 15 0;
L_0x85d260140 .concat [ 3 29 0 0], v0x85d205900_0, L_0x85c878400;
L_0x85d2601e0 .arith/mult 32, L_0x85d260140, L_0x85c878448;
L_0x85d260280 .arith/mult 32, L_0x85d2601e0, L_0x85c878490;
L_0x85cdd68a0 .part/v o0x85c846110, L_0x85d260280, 128;
L_0x85d260320 .concat [ 3 29 0 0], v0x85d205900_0, L_0x85c8784d8;
L_0x85d2603c0 .arith/mult 32, L_0x85d260320, L_0x85c878520;
L_0x85d260460 .arith/mult 32, L_0x85d2603c0, L_0x85c878568;
L_0x85cdd6940 .part/v L_0x85cdd7f20, L_0x85d260460, 128;
L_0x85cdd7de0 .part L_0x85cd8d720, 15, 1;
L_0x85cdd7e80 .repeat 24, 24, L_0x85cdd7de0;
L_0x85d2619a0 .concat [ 16 24 0 0], L_0x85cd8d720, L_0x85cdd7e80;
L_0x85cd6eee0 .arith/sum 40, L_0x85cd6ee40, L_0x85d2619a0;
S_0x85d1fae80 .scope module, "u_mac8" "mac8" 4 81, 5 1 0, S_0x85d1fab80;
 .timescale 0 0;
    .port_info 0 /INPUT 128 "x_bus";
    .port_info 1 /INPUT 128 "w_bus";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85d090400 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0x85d090440 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0x85d090480 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0x85d0904c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0x85d204780_0 .net/s "acc_in", 39 0, v0x85d205400_0;  1 drivers
v0x85d204820_0 .net/s "acc_out", 39 0, L_0x85cd6ee40;  alias, 1 drivers
v0x85d2048c0 .array "products", 7 0;
v0x85d2048c0_0 .net/s v0x85d2048c0 0, 39 0, L_0x85cd6e4e0; 1 drivers
v0x85d2048c0_1 .net/s v0x85d2048c0 1, 39 0, L_0x85cd6e580; 1 drivers
v0x85d2048c0_2 .net/s v0x85d2048c0 2, 39 0, L_0x85cd6e620; 1 drivers
v0x85d2048c0_3 .net/s v0x85d2048c0 3, 39 0, L_0x85cd6e6c0; 1 drivers
v0x85d2048c0_4 .net/s v0x85d2048c0 4, 39 0, L_0x85cd6e760; 1 drivers
v0x85d2048c0_5 .net/s v0x85d2048c0 5, 39 0, L_0x85cd6e800; 1 drivers
v0x85d2048c0_6 .net/s v0x85d2048c0 6, 39 0, L_0x85cd6e8a0; 1 drivers
v0x85d2048c0_7 .net/s v0x85d2048c0 7, 39 0, L_0x85cd6e940; 1 drivers
v0x85d204960 .array "tree", 31 0;
v0x85d204960_0 .net/s v0x85d204960 0, 39 0, L_0x85d04ca10; 1 drivers
v0x85d204960_1 .net/s v0x85d204960 1, 39 0, L_0x85d04ca80; 1 drivers
v0x85d204960_2 .net/s v0x85d204960 2, 39 0, L_0x85d04caf0; 1 drivers
v0x85d204960_3 .net/s v0x85d204960 3, 39 0, L_0x85d04cb60; 1 drivers
v0x85d204960_4 .net/s v0x85d204960 4, 39 0, L_0x85d04cbd0; 1 drivers
v0x85d204960_5 .net/s v0x85d204960 5, 39 0, L_0x85d04cc40; 1 drivers
v0x85d204960_6 .net/s v0x85d204960 6, 39 0, L_0x85d04ccb0; 1 drivers
v0x85d204960_7 .net/s v0x85d204960 7, 39 0, L_0x85d04cd20; 1 drivers
v0x85d204960_8 .net/s v0x85d204960 8, 39 0, L_0x85cd6e9e0; 1 drivers
v0x85d204960_9 .net/s v0x85d204960 9, 39 0, L_0x85cd6ea80; 1 drivers
v0x85d204960_10 .net/s v0x85d204960 10, 39 0, L_0x85cd6eb20; 1 drivers
v0x85d204960_11 .net/s v0x85d204960 11, 39 0, L_0x85cd6ebc0; 1 drivers
o0x85c847ac0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_12 .net/s v0x85d204960 12, 39 0, o0x85c847ac0; 0 drivers
o0x85c847af0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_13 .net/s v0x85d204960 13, 39 0, o0x85c847af0; 0 drivers
o0x85c847b20 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_14 .net/s v0x85d204960 14, 39 0, o0x85c847b20; 0 drivers
o0x85c847b50 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_15 .net/s v0x85d204960 15, 39 0, o0x85c847b50; 0 drivers
v0x85d204960_16 .net/s v0x85d204960 16, 39 0, L_0x85cd6ec60; 1 drivers
v0x85d204960_17 .net/s v0x85d204960 17, 39 0, L_0x85cd6ed00; 1 drivers
o0x85c847be0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_18 .net/s v0x85d204960 18, 39 0, o0x85c847be0; 0 drivers
o0x85c847c10 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_19 .net/s v0x85d204960 19, 39 0, o0x85c847c10; 0 drivers
o0x85c847c40 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_20 .net/s v0x85d204960 20, 39 0, o0x85c847c40; 0 drivers
o0x85c847c70 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_21 .net/s v0x85d204960 21, 39 0, o0x85c847c70; 0 drivers
o0x85c847ca0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_22 .net/s v0x85d204960 22, 39 0, o0x85c847ca0; 0 drivers
o0x85c847cd0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_23 .net/s v0x85d204960 23, 39 0, o0x85c847cd0; 0 drivers
v0x85d204960_24 .net/s v0x85d204960 24, 39 0, L_0x85cd6eda0; 1 drivers
o0x85c847d30 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_25 .net/s v0x85d204960 25, 39 0, o0x85c847d30; 0 drivers
o0x85c847d60 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_26 .net/s v0x85d204960 26, 39 0, o0x85c847d60; 0 drivers
o0x85c847d90 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_27 .net/s v0x85d204960 27, 39 0, o0x85c847d90; 0 drivers
o0x85c847dc0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_28 .net/s v0x85d204960 28, 39 0, o0x85c847dc0; 0 drivers
o0x85c847df0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_29 .net/s v0x85d204960 29, 39 0, o0x85c847df0; 0 drivers
o0x85c847e20 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_30 .net/s v0x85d204960 30, 39 0, o0x85c847e20; 0 drivers
o0x85c847e50 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d204960_31 .net/s v0x85d204960 31, 39 0, o0x85c847e50; 0 drivers
v0x85d204a00_0 .net/s "w_bus", 127 0, L_0x85cdd6940;  alias, 1 drivers
v0x85d204aa0_0 .net/s "x_bus", 127 0, L_0x85cdd68a0;  alias, 1 drivers
L_0x85cdd6b20 .part L_0x85cdd68a0, 0, 16;
L_0x85cdd6bc0 .part L_0x85cdd6940, 0, 16;
L_0x85cdd6da0 .part L_0x85cdd68a0, 16, 16;
L_0x85cdd6e40 .part L_0x85cdd6940, 16, 16;
L_0x85cdd7020 .part L_0x85cdd68a0, 32, 16;
L_0x85cdd70c0 .part L_0x85cdd6940, 32, 16;
L_0x85cdd72a0 .part L_0x85cdd68a0, 48, 16;
L_0x85cdd7340 .part L_0x85cdd6940, 48, 16;
L_0x85cdd7520 .part L_0x85cdd68a0, 64, 16;
L_0x85cdd75c0 .part L_0x85cdd6940, 64, 16;
L_0x85cdd77a0 .part L_0x85cdd68a0, 80, 16;
L_0x85cdd7840 .part L_0x85cdd6940, 80, 16;
L_0x85cdd7a20 .part L_0x85cdd68a0, 96, 16;
L_0x85cdd7ac0 .part L_0x85cdd6940, 96, 16;
L_0x85cdd7ca0 .part L_0x85cdd68a0, 112, 16;
L_0x85cdd7d40 .part L_0x85cdd6940, 112, 16;
L_0x85cd6ee40 .arith/sum 40, v0x85d205400_0, L_0x85cd6eda0;
S_0x85d1fb000 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9bc0 .param/l "i" 1 5 20, +C4<00>;
S_0x85d1fb180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d1fb000;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec300 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec340 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec380 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d1fd540_0 .net/s *"_ivl_0", 31 0, L_0x85d260500;  1 drivers
v0x85d1fd5e0_0 .net/s *"_ivl_2", 31 0, L_0x85d2605a0;  1 drivers
v0x85d1fd680_0 .net *"_ivl_7", 0 0, L_0x85cdd69e0;  1 drivers
v0x85d1fd720_0 .net *"_ivl_9", 7 0, L_0x85cdd6a80;  1 drivers
L_0x85c8785b0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d1fd7c0_0 .net/s "acc_in", 39 0, L_0x85c8785b0;  1 drivers
v0x85d1fd860_0 .net/s "acc_out", 39 0, L_0x85cd6e4e0;  alias, 1 drivers
v0x85d1fd900_0 .net/s "product", 31 0, L_0x85d260640;  1 drivers
v0x85d1fd9a0_0 .net/s "product_ext", 39 0, L_0x85d2606e0;  1 drivers
v0x85d1fda40_0 .net/s "w", 15 0, L_0x85cdd6bc0;  1 drivers
v0x85d1fdae0_0 .net/s "x", 15 0, L_0x85cdd6b20;  1 drivers
L_0x85d260500 .extend/s 32, L_0x85cdd6b20;
L_0x85d2605a0 .extend/s 32, L_0x85cdd6bc0;
L_0x85d260640 .arith/mult 32, L_0x85d260500, L_0x85d2605a0;
L_0x85cdd69e0 .part L_0x85d260640, 31, 1;
L_0x85cdd6a80 .repeat 8, 8, L_0x85cdd69e0;
L_0x85d2606e0 .concat [ 32 8 0 0], L_0x85d260640, L_0x85cdd6a80;
L_0x85cd6e4e0 .arith/sum 40, L_0x85c8785b0, L_0x85d2606e0;
S_0x85d1fb300 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9c00 .param/l "i" 1 5 20, +C4<01>;
S_0x85d1fb480 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d1fb300;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec3c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec400 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec440 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d1fdb80_0 .net/s *"_ivl_0", 31 0, L_0x85d260780;  1 drivers
v0x85d1fdc20_0 .net/s *"_ivl_2", 31 0, L_0x85d260820;  1 drivers
v0x85d1fdcc0_0 .net *"_ivl_7", 0 0, L_0x85cdd6c60;  1 drivers
v0x85d1fdd60_0 .net *"_ivl_9", 7 0, L_0x85cdd6d00;  1 drivers
L_0x85c8785f8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d1fde00_0 .net/s "acc_in", 39 0, L_0x85c8785f8;  1 drivers
v0x85d1fdea0_0 .net/s "acc_out", 39 0, L_0x85cd6e580;  alias, 1 drivers
v0x85d1fdf40_0 .net/s "product", 31 0, L_0x85d2608c0;  1 drivers
v0x85d1fdfe0_0 .net/s "product_ext", 39 0, L_0x85d260960;  1 drivers
v0x85d1fe080_0 .net/s "w", 15 0, L_0x85cdd6e40;  1 drivers
v0x85d1fe120_0 .net/s "x", 15 0, L_0x85cdd6da0;  1 drivers
L_0x85d260780 .extend/s 32, L_0x85cdd6da0;
L_0x85d260820 .extend/s 32, L_0x85cdd6e40;
L_0x85d2608c0 .arith/mult 32, L_0x85d260780, L_0x85d260820;
L_0x85cdd6c60 .part L_0x85d2608c0, 31, 1;
L_0x85cdd6d00 .repeat 8, 8, L_0x85cdd6c60;
L_0x85d260960 .concat [ 32 8 0 0], L_0x85d2608c0, L_0x85cdd6d00;
L_0x85cd6e580 .arith/sum 40, L_0x85c8785f8, L_0x85d260960;
S_0x85d1fb600 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9c40 .param/l "i" 1 5 20, +C4<010>;
S_0x85d1fb780 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d1fb600;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec480 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec4c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec500 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d1fe1c0_0 .net/s *"_ivl_0", 31 0, L_0x85d260a00;  1 drivers
v0x85d1fe260_0 .net/s *"_ivl_2", 31 0, L_0x85d260aa0;  1 drivers
v0x85d1fe300_0 .net *"_ivl_7", 0 0, L_0x85cdd6ee0;  1 drivers
v0x85d1fe3a0_0 .net *"_ivl_9", 7 0, L_0x85cdd6f80;  1 drivers
L_0x85c878640 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d1fe440_0 .net/s "acc_in", 39 0, L_0x85c878640;  1 drivers
v0x85d1fe4e0_0 .net/s "acc_out", 39 0, L_0x85cd6e620;  alias, 1 drivers
v0x85d1fe580_0 .net/s "product", 31 0, L_0x85d260b40;  1 drivers
v0x85d1fe620_0 .net/s "product_ext", 39 0, L_0x85d260be0;  1 drivers
v0x85d1fe6c0_0 .net/s "w", 15 0, L_0x85cdd70c0;  1 drivers
v0x85d1fe760_0 .net/s "x", 15 0, L_0x85cdd7020;  1 drivers
L_0x85d260a00 .extend/s 32, L_0x85cdd7020;
L_0x85d260aa0 .extend/s 32, L_0x85cdd70c0;
L_0x85d260b40 .arith/mult 32, L_0x85d260a00, L_0x85d260aa0;
L_0x85cdd6ee0 .part L_0x85d260b40, 31, 1;
L_0x85cdd6f80 .repeat 8, 8, L_0x85cdd6ee0;
L_0x85d260be0 .concat [ 32 8 0 0], L_0x85d260b40, L_0x85cdd6f80;
L_0x85cd6e620 .arith/sum 40, L_0x85c878640, L_0x85d260be0;
S_0x85d1fb900 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9c80 .param/l "i" 1 5 20, +C4<011>;
S_0x85d1fba80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d1fb900;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec540 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec580 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec5c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d1fe800_0 .net/s *"_ivl_0", 31 0, L_0x85d260c80;  1 drivers
v0x85d1fe8a0_0 .net/s *"_ivl_2", 31 0, L_0x85d260d20;  1 drivers
v0x85d1fe940_0 .net *"_ivl_7", 0 0, L_0x85cdd7160;  1 drivers
v0x85d1fe9e0_0 .net *"_ivl_9", 7 0, L_0x85cdd7200;  1 drivers
L_0x85c878688 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d1fea80_0 .net/s "acc_in", 39 0, L_0x85c878688;  1 drivers
v0x85d1feb20_0 .net/s "acc_out", 39 0, L_0x85cd6e6c0;  alias, 1 drivers
v0x85d1febc0_0 .net/s "product", 31 0, L_0x85d260dc0;  1 drivers
v0x85d1fec60_0 .net/s "product_ext", 39 0, L_0x85d260e60;  1 drivers
v0x85d1fed00_0 .net/s "w", 15 0, L_0x85cdd7340;  1 drivers
v0x85d1feda0_0 .net/s "x", 15 0, L_0x85cdd72a0;  1 drivers
L_0x85d260c80 .extend/s 32, L_0x85cdd72a0;
L_0x85d260d20 .extend/s 32, L_0x85cdd7340;
L_0x85d260dc0 .arith/mult 32, L_0x85d260c80, L_0x85d260d20;
L_0x85cdd7160 .part L_0x85d260dc0, 31, 1;
L_0x85cdd7200 .repeat 8, 8, L_0x85cdd7160;
L_0x85d260e60 .concat [ 32 8 0 0], L_0x85d260dc0, L_0x85cdd7200;
L_0x85cd6e6c0 .arith/sum 40, L_0x85c878688, L_0x85d260e60;
S_0x85d1fbc00 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9cc0 .param/l "i" 1 5 20, +C4<0100>;
S_0x85d1fbd80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d1fbc00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec600 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec640 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec680 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d1fee40_0 .net/s *"_ivl_0", 31 0, L_0x85d260f00;  1 drivers
v0x85d1feee0_0 .net/s *"_ivl_2", 31 0, L_0x85d260fa0;  1 drivers
v0x85d1fef80_0 .net *"_ivl_7", 0 0, L_0x85cdd73e0;  1 drivers
v0x85d1ff020_0 .net *"_ivl_9", 7 0, L_0x85cdd7480;  1 drivers
L_0x85c8786d0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d1ff0c0_0 .net/s "acc_in", 39 0, L_0x85c8786d0;  1 drivers
v0x85d1ff160_0 .net/s "acc_out", 39 0, L_0x85cd6e760;  alias, 1 drivers
v0x85d1ff200_0 .net/s "product", 31 0, L_0x85d261040;  1 drivers
v0x85d1ff2a0_0 .net/s "product_ext", 39 0, L_0x85d2610e0;  1 drivers
v0x85d1ff340_0 .net/s "w", 15 0, L_0x85cdd75c0;  1 drivers
v0x85d1ff3e0_0 .net/s "x", 15 0, L_0x85cdd7520;  1 drivers
L_0x85d260f00 .extend/s 32, L_0x85cdd7520;
L_0x85d260fa0 .extend/s 32, L_0x85cdd75c0;
L_0x85d261040 .arith/mult 32, L_0x85d260f00, L_0x85d260fa0;
L_0x85cdd73e0 .part L_0x85d261040, 31, 1;
L_0x85cdd7480 .repeat 8, 8, L_0x85cdd73e0;
L_0x85d2610e0 .concat [ 32 8 0 0], L_0x85d261040, L_0x85cdd7480;
L_0x85cd6e760 .arith/sum 40, L_0x85c8786d0, L_0x85d2610e0;
S_0x85d200000 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9d00 .param/l "i" 1 5 20, +C4<0101>;
S_0x85d200180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d200000;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec6c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec700 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec740 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d1ff480_0 .net/s *"_ivl_0", 31 0, L_0x85d261180;  1 drivers
v0x85d1ff520_0 .net/s *"_ivl_2", 31 0, L_0x85d261220;  1 drivers
v0x85d1ff5c0_0 .net *"_ivl_7", 0 0, L_0x85cdd7660;  1 drivers
v0x85d1ff660_0 .net *"_ivl_9", 7 0, L_0x85cdd7700;  1 drivers
L_0x85c878718 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d1ff700_0 .net/s "acc_in", 39 0, L_0x85c878718;  1 drivers
v0x85d1ff7a0_0 .net/s "acc_out", 39 0, L_0x85cd6e800;  alias, 1 drivers
v0x85d1ff840_0 .net/s "product", 31 0, L_0x85d2612c0;  1 drivers
v0x85d1ff8e0_0 .net/s "product_ext", 39 0, L_0x85d261360;  1 drivers
v0x85d1ff980_0 .net/s "w", 15 0, L_0x85cdd7840;  1 drivers
v0x85d1ffa20_0 .net/s "x", 15 0, L_0x85cdd77a0;  1 drivers
L_0x85d261180 .extend/s 32, L_0x85cdd77a0;
L_0x85d261220 .extend/s 32, L_0x85cdd7840;
L_0x85d2612c0 .arith/mult 32, L_0x85d261180, L_0x85d261220;
L_0x85cdd7660 .part L_0x85d2612c0, 31, 1;
L_0x85cdd7700 .repeat 8, 8, L_0x85cdd7660;
L_0x85d261360 .concat [ 32 8 0 0], L_0x85d2612c0, L_0x85cdd7700;
L_0x85cd6e800 .arith/sum 40, L_0x85c878718, L_0x85d261360;
S_0x85d200300 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9d40 .param/l "i" 1 5 20, +C4<0110>;
S_0x85d200480 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d200300;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec780 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec7c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec800 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d1ffac0_0 .net/s *"_ivl_0", 31 0, L_0x85d261400;  1 drivers
v0x85d1ffb60_0 .net/s *"_ivl_2", 31 0, L_0x85d2614a0;  1 drivers
v0x85d1ffc00_0 .net *"_ivl_7", 0 0, L_0x85cdd78e0;  1 drivers
v0x85d1ffca0_0 .net *"_ivl_9", 7 0, L_0x85cdd7980;  1 drivers
L_0x85c878760 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d1ffd40_0 .net/s "acc_in", 39 0, L_0x85c878760;  1 drivers
v0x85d1ffde0_0 .net/s "acc_out", 39 0, L_0x85cd6e8a0;  alias, 1 drivers
v0x85d1ffe80_0 .net/s "product", 31 0, L_0x85d261540;  1 drivers
v0x85d1fff20_0 .net/s "product_ext", 39 0, L_0x85d2615e0;  1 drivers
v0x85d204000_0 .net/s "w", 15 0, L_0x85cdd7ac0;  1 drivers
v0x85d2040a0_0 .net/s "x", 15 0, L_0x85cdd7a20;  1 drivers
L_0x85d261400 .extend/s 32, L_0x85cdd7a20;
L_0x85d2614a0 .extend/s 32, L_0x85cdd7ac0;
L_0x85d261540 .arith/mult 32, L_0x85d261400, L_0x85d2614a0;
L_0x85cdd78e0 .part L_0x85d261540, 31, 1;
L_0x85cdd7980 .repeat 8, 8, L_0x85cdd78e0;
L_0x85d2615e0 .concat [ 32 8 0 0], L_0x85d261540, L_0x85cdd7980;
L_0x85cd6e8a0 .arith/sum 40, L_0x85c878760, L_0x85d2615e0;
S_0x85d200600 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9d80 .param/l "i" 1 5 20, +C4<0111>;
S_0x85d200780 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d200600;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec840 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec880 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec8c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d204140_0 .net/s *"_ivl_0", 31 0, L_0x85d261680;  1 drivers
v0x85d2041e0_0 .net/s *"_ivl_2", 31 0, L_0x85d261720;  1 drivers
v0x85d204280_0 .net *"_ivl_7", 0 0, L_0x85cdd7b60;  1 drivers
v0x85d204320_0 .net *"_ivl_9", 7 0, L_0x85cdd7c00;  1 drivers
L_0x85c8787a8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2043c0_0 .net/s "acc_in", 39 0, L_0x85c8787a8;  1 drivers
v0x85d204460_0 .net/s "acc_out", 39 0, L_0x85cd6e940;  alias, 1 drivers
v0x85d204500_0 .net/s "product", 31 0, L_0x85d2617c0;  1 drivers
v0x85d2045a0_0 .net/s "product_ext", 39 0, L_0x85d261860;  1 drivers
v0x85d204640_0 .net/s "w", 15 0, L_0x85cdd7d40;  1 drivers
v0x85d2046e0_0 .net/s "x", 15 0, L_0x85cdd7ca0;  1 drivers
L_0x85d261680 .extend/s 32, L_0x85cdd7ca0;
L_0x85d261720 .extend/s 32, L_0x85cdd7d40;
L_0x85d2617c0 .arith/mult 32, L_0x85d261680, L_0x85d261720;
L_0x85cdd7b60 .part L_0x85d2617c0, 31, 1;
L_0x85cdd7c00 .repeat 8, 8, L_0x85cdd7b60;
L_0x85d261860 .concat [ 32 8 0 0], L_0x85d2617c0, L_0x85cdd7c00;
L_0x85cd6e940 .arith/sum 40, L_0x85c8787a8, L_0x85d261860;
S_0x85d200900 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9dc0 .param/l "i" 1 5 80, +C4<00>;
L_0x85d04ca10 .functor BUFZ 40, L_0x85cd6e4e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d200a80 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9e00 .param/l "i" 1 5 80, +C4<01>;
L_0x85d04ca80 .functor BUFZ 40, L_0x85cd6e580, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d200c00 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9e40 .param/l "i" 1 5 80, +C4<010>;
L_0x85d04caf0 .functor BUFZ 40, L_0x85cd6e620, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d200d80 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9e80 .param/l "i" 1 5 80, +C4<011>;
L_0x85d04cb60 .functor BUFZ 40, L_0x85cd6e6c0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d200f00 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9ec0 .param/l "i" 1 5 80, +C4<0100>;
L_0x85d04cbd0 .functor BUFZ 40, L_0x85cd6e760, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d201080 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9f00 .param/l "i" 1 5 80, +C4<0101>;
L_0x85d04cc40 .functor BUFZ 40, L_0x85cd6e800, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d201200 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9f40 .param/l "i" 1 5 80, +C4<0110>;
L_0x85d04ccb0 .functor BUFZ 40, L_0x85cd6e8a0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d201380 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9f80 .param/l "i" 1 5 80, +C4<0111>;
L_0x85d04cd20 .functor BUFZ 40, L_0x85cd6e940, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d201500 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdb9fc0 .param/l "level" 1 5 92, +C4<00>;
S_0x85d201680 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d201500;
 .timescale 0 0;
P_0x85cdba000 .param/l "node" 1 5 94, +C4<00>;
L_0x85cd6e9e0 .arith/sum 40, L_0x85d04ca10, L_0x85d04ca80;
S_0x85d201800 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d201500;
 .timescale 0 0;
P_0x85cdba040 .param/l "node" 1 5 94, +C4<01>;
L_0x85cd6ea80 .arith/sum 40, L_0x85d04caf0, L_0x85d04cb60;
S_0x85d201980 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0x85d201500;
 .timescale 0 0;
P_0x85cdba080 .param/l "node" 1 5 94, +C4<010>;
L_0x85cd6eb20 .arith/sum 40, L_0x85d04cbd0, L_0x85d04cc40;
S_0x85d201b00 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0x85d201500;
 .timescale 0 0;
P_0x85cdba0c0 .param/l "node" 1 5 94, +C4<011>;
L_0x85cd6ebc0 .arith/sum 40, L_0x85d04ccb0, L_0x85d04cd20;
S_0x85d201c80 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdba100 .param/l "level" 1 5 92, +C4<01>;
S_0x85d201e00 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d201c80;
 .timescale 0 0;
P_0x85cdba140 .param/l "node" 1 5 94, +C4<00>;
L_0x85cd6ec60 .arith/sum 40, L_0x85cd6e9e0, L_0x85cd6ea80;
S_0x85d201f80 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d201c80;
 .timescale 0 0;
P_0x85cdba180 .param/l "node" 1 5 94, +C4<01>;
L_0x85cd6ed00 .arith/sum 40, L_0x85cd6eb20, L_0x85cd6ebc0;
S_0x85d202100 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0x85d1fae80;
 .timescale 0 0;
P_0x85cdba1c0 .param/l "level" 1 5 92, +C4<010>;
S_0x85d202280 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d202100;
 .timescale 0 0;
P_0x85cdba200 .param/l "node" 1 5 94, +C4<00>;
L_0x85cd6eda0 .arith/sum 40, L_0x85cd6ec60, L_0x85cd6ed00;
S_0x85d202400 .scope generate, "GEN_NEURON[2]" "GEN_NEURON[2]" 3 34, 3 34 0, S_0x100bfba30;
 .timescale 0 0;
P_0x85cdba240 .param/l "n" 1 3 34, +C4<010>;
S_0x85d202580 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0x85d202400;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "start";
    .port_info 3 /INPUT 1024 "x_bus";
    .port_info 4 /INPUT 1024 "w_bus";
    .port_info 5 /INPUT 16 "bias";
    .port_info 6 /OUTPUT 16 "y";
    .port_info 7 /OUTPUT 1 "busy";
    .port_info 8 /OUTPUT 1 "done";
P_0x85d202700 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0x85d202740 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0x85d202780 .param/l "GROUPS" 1 4 49, +C4<00000000000000000000000000001000>;
P_0x85d2027c0 .param/l "GROUP_INDEX_WIDTH" 1 4 50, +C4<00000000000000000000000000000011>;
P_0x85d202800 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0x85d202840 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0x85d209400_0 .net *"_ivl_0", 31 0, L_0x85d261a40;  1 drivers
v0x85d2094a0_0 .net *"_ivl_11", 31 0, L_0x85d261b80;  1 drivers
v0x85d209540_0 .net *"_ivl_14", 31 0, L_0x85d261c20;  1 drivers
L_0x85c8788c8 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2095e0_0 .net *"_ivl_17", 28 0, L_0x85c8788c8;  1 drivers
L_0x85c878910 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d209680_0 .net/2u *"_ivl_18", 31 0, L_0x85c878910;  1 drivers
v0x85d209720_0 .net *"_ivl_21", 31 0, L_0x85d261cc0;  1 drivers
L_0x85c878958 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d2097c0_0 .net/2u *"_ivl_22", 31 0, L_0x85c878958;  1 drivers
v0x85d209860_0 .net *"_ivl_25", 31 0, L_0x85d261d60;  1 drivers
v0x85d209900_0 .net *"_ivl_29", 0 0, L_0x85ce24dc0;  1 drivers
L_0x85c8787f0 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2099a0_0 .net *"_ivl_3", 28 0, L_0x85c8787f0;  1 drivers
v0x85d209a40_0 .net *"_ivl_31", 23 0, L_0x85ce24e60;  1 drivers
L_0x85c878838 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d209ae0_0 .net/2u *"_ivl_4", 31 0, L_0x85c878838;  1 drivers
v0x85d209b80_0 .net *"_ivl_7", 31 0, L_0x85d261ae0;  1 drivers
L_0x85c878880 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d209c20_0 .net/2u *"_ivl_8", 31 0, L_0x85c878880;  1 drivers
v0x85d209cc0_0 .var/s "acc", 39 0;
v0x85d209d60_0 .net/s "acc_next", 39 0, L_0x85cd6f8e0;  1 drivers
v0x85d209e00_0 .net/s "bias", 15 0, L_0x85ce24fa0;  1 drivers
v0x85d209ea0_0 .net/s "bias_ext", 39 0, L_0x85d2632a0;  1 drivers
v0x85d209f40_0 .var "busy", 0 0;
v0x85d209fe0_0 .net "clk", 0 0, o0x85c845fc0;  alias, 0 drivers
v0x85d20a080_0 .var "done", 0 0;
v0x85d20a120_0 .net/s "final_acc", 39 0, L_0x85cd6f980;  1 drivers
v0x85d20a1c0_0 .var "group_index", 2 0;
v0x85d20a260_0 .net "rst", 0 0, o0x85c846080;  alias, 0 drivers
v0x85d20a300_0 .net "start", 0 0, o0x85c8460b0;  alias, 0 drivers
v0x85d20a3a0_0 .net/s "w_bus", 1023 0, L_0x85ce24f00;  1 drivers
v0x85d20a440_0 .net/s "w_group", 127 0, L_0x85cd61220;  1 drivers
v0x85d20a4e0_0 .net/s "x_bus", 1023 0, o0x85c846110;  alias, 0 drivers
v0x85d20a580_0 .net/s "x_group", 127 0, L_0x85cd7d4a0;  1 drivers
v0x85d20a620_0 .var/s "y", 15 0;
L_0x85d261a40 .concat [ 3 29 0 0], v0x85d20a1c0_0, L_0x85c8787f0;
L_0x85d261ae0 .arith/mult 32, L_0x85d261a40, L_0x85c878838;
L_0x85d261b80 .arith/mult 32, L_0x85d261ae0, L_0x85c878880;
L_0x85cd7d4a0 .part/v o0x85c846110, L_0x85d261b80, 128;
L_0x85d261c20 .concat [ 3 29 0 0], v0x85d20a1c0_0, L_0x85c8788c8;
L_0x85d261cc0 .arith/mult 32, L_0x85d261c20, L_0x85c878910;
L_0x85d261d60 .arith/mult 32, L_0x85d261cc0, L_0x85c878958;
L_0x85cd61220 .part/v L_0x85ce24f00, L_0x85d261d60, 128;
L_0x85ce24dc0 .part L_0x85ce24fa0, 15, 1;
L_0x85ce24e60 .repeat 24, 24, L_0x85ce24dc0;
L_0x85d2632a0 .concat [ 16 24 0 0], L_0x85ce24fa0, L_0x85ce24e60;
L_0x85cd6f980 .arith/sum 40, L_0x85cd6f8e0, L_0x85d2632a0;
S_0x85d202880 .scope module, "u_mac8" "mac8" 4 81, 5 1 0, S_0x85d202580;
 .timescale 0 0;
    .port_info 0 /INPUT 128 "x_bus";
    .port_info 1 /INPUT 128 "w_bus";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85d090500 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0x85d090540 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0x85d090580 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0x85d0905c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0x85d209040_0 .net/s "acc_in", 39 0, v0x85d209cc0_0;  1 drivers
v0x85d2090e0_0 .net/s "acc_out", 39 0, L_0x85cd6f8e0;  alias, 1 drivers
v0x85d209180 .array "products", 7 0;
v0x85d209180_0 .net/s v0x85d209180 0, 39 0, L_0x85cd6ef80; 1 drivers
v0x85d209180_1 .net/s v0x85d209180 1, 39 0, L_0x85cd6f020; 1 drivers
v0x85d209180_2 .net/s v0x85d209180 2, 39 0, L_0x85cd6f0c0; 1 drivers
v0x85d209180_3 .net/s v0x85d209180 3, 39 0, L_0x85cd6f160; 1 drivers
v0x85d209180_4 .net/s v0x85d209180 4, 39 0, L_0x85cd6f200; 1 drivers
v0x85d209180_5 .net/s v0x85d209180 5, 39 0, L_0x85cd6f2a0; 1 drivers
v0x85d209180_6 .net/s v0x85d209180 6, 39 0, L_0x85cd6f340; 1 drivers
v0x85d209180_7 .net/s v0x85d209180 7, 39 0, L_0x85cd6f3e0; 1 drivers
v0x85d209220 .array "tree", 31 0;
v0x85d209220_0 .net/s v0x85d209220 0, 39 0, L_0x85d04cd90; 1 drivers
v0x85d209220_1 .net/s v0x85d209220 1, 39 0, L_0x85d04ce00; 1 drivers
v0x85d209220_2 .net/s v0x85d209220 2, 39 0, L_0x85d04ce70; 1 drivers
v0x85d209220_3 .net/s v0x85d209220 3, 39 0, L_0x85d04cee0; 1 drivers
v0x85d209220_4 .net/s v0x85d209220 4, 39 0, L_0x85d04cf50; 1 drivers
v0x85d209220_5 .net/s v0x85d209220 5, 39 0, L_0x85d04cfc0; 1 drivers
v0x85d209220_6 .net/s v0x85d209220 6, 39 0, L_0x85d04d030; 1 drivers
v0x85d209220_7 .net/s v0x85d209220 7, 39 0, L_0x85d04d0a0; 1 drivers
v0x85d209220_8 .net/s v0x85d209220 8, 39 0, L_0x85cd6f480; 1 drivers
v0x85d209220_9 .net/s v0x85d209220 9, 39 0, L_0x85cd6f520; 1 drivers
v0x85d209220_10 .net/s v0x85d209220 10, 39 0, L_0x85cd6f5c0; 1 drivers
v0x85d209220_11 .net/s v0x85d209220 11, 39 0, L_0x85cd6f660; 1 drivers
o0x85c849d10 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_12 .net/s v0x85d209220 12, 39 0, o0x85c849d10; 0 drivers
o0x85c849d40 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_13 .net/s v0x85d209220 13, 39 0, o0x85c849d40; 0 drivers
o0x85c849d70 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_14 .net/s v0x85d209220 14, 39 0, o0x85c849d70; 0 drivers
o0x85c849da0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_15 .net/s v0x85d209220 15, 39 0, o0x85c849da0; 0 drivers
v0x85d209220_16 .net/s v0x85d209220 16, 39 0, L_0x85cd6f700; 1 drivers
v0x85d209220_17 .net/s v0x85d209220 17, 39 0, L_0x85cd6f7a0; 1 drivers
o0x85c849e30 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_18 .net/s v0x85d209220 18, 39 0, o0x85c849e30; 0 drivers
o0x85c849e60 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_19 .net/s v0x85d209220 19, 39 0, o0x85c849e60; 0 drivers
o0x85c849e90 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_20 .net/s v0x85d209220 20, 39 0, o0x85c849e90; 0 drivers
o0x85c849ec0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_21 .net/s v0x85d209220 21, 39 0, o0x85c849ec0; 0 drivers
o0x85c849ef0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_22 .net/s v0x85d209220 22, 39 0, o0x85c849ef0; 0 drivers
o0x85c849f20 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_23 .net/s v0x85d209220 23, 39 0, o0x85c849f20; 0 drivers
v0x85d209220_24 .net/s v0x85d209220 24, 39 0, L_0x85cd6f840; 1 drivers
o0x85c849f80 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_25 .net/s v0x85d209220 25, 39 0, o0x85c849f80; 0 drivers
o0x85c849fb0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_26 .net/s v0x85d209220 26, 39 0, o0x85c849fb0; 0 drivers
o0x85c849fe0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_27 .net/s v0x85d209220 27, 39 0, o0x85c849fe0; 0 drivers
o0x85c84a010 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_28 .net/s v0x85d209220 28, 39 0, o0x85c84a010; 0 drivers
o0x85c84a040 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_29 .net/s v0x85d209220 29, 39 0, o0x85c84a040; 0 drivers
o0x85c84a070 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_30 .net/s v0x85d209220 30, 39 0, o0x85c84a070; 0 drivers
o0x85c84a0a0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d209220_31 .net/s v0x85d209220 31, 39 0, o0x85c84a0a0; 0 drivers
v0x85d2092c0_0 .net/s "w_bus", 127 0, L_0x85cd61220;  alias, 1 drivers
v0x85d209360_0 .net/s "x_bus", 127 0, L_0x85cd7d4a0;  alias, 1 drivers
L_0x85cd2caa0 .part L_0x85cd7d4a0, 0, 16;
L_0x85cd18820 .part L_0x85cd61220, 0, 16;
L_0x85cdacf00 .part L_0x85cd7d4a0, 16, 16;
L_0x85cdacaa0 .part L_0x85cd61220, 16, 16;
L_0x85ce24000 .part L_0x85cd7d4a0, 32, 16;
L_0x85ce240a0 .part L_0x85cd61220, 32, 16;
L_0x85ce24280 .part L_0x85cd7d4a0, 48, 16;
L_0x85ce24320 .part L_0x85cd61220, 48, 16;
L_0x85ce24500 .part L_0x85cd7d4a0, 64, 16;
L_0x85ce245a0 .part L_0x85cd61220, 64, 16;
L_0x85ce24780 .part L_0x85cd7d4a0, 80, 16;
L_0x85ce24820 .part L_0x85cd61220, 80, 16;
L_0x85ce24a00 .part L_0x85cd7d4a0, 96, 16;
L_0x85ce24aa0 .part L_0x85cd61220, 96, 16;
L_0x85ce24c80 .part L_0x85cd7d4a0, 112, 16;
L_0x85ce24d20 .part L_0x85cd61220, 112, 16;
L_0x85cd6f8e0 .arith/sum 40, v0x85d209cc0_0, L_0x85cd6f840;
S_0x85d202a00 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba280 .param/l "i" 1 5 20, +C4<00>;
S_0x85d202b80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d202a00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec900 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdec940 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdec980 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d205e00_0 .net/s *"_ivl_0", 31 0, L_0x85d261e00;  1 drivers
v0x85d205ea0_0 .net/s *"_ivl_2", 31 0, L_0x85d261ea0;  1 drivers
v0x85d205f40_0 .net *"_ivl_7", 0 0, L_0x85cd50fa0;  1 drivers
v0x85d205fe0_0 .net *"_ivl_9", 7 0, L_0x85cd40d20;  1 drivers
L_0x85c8789a0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d206080_0 .net/s "acc_in", 39 0, L_0x85c8789a0;  1 drivers
v0x85d206120_0 .net/s "acc_out", 39 0, L_0x85cd6ef80;  alias, 1 drivers
v0x85d2061c0_0 .net/s "product", 31 0, L_0x85d261f40;  1 drivers
v0x85d206260_0 .net/s "product_ext", 39 0, L_0x85d261fe0;  1 drivers
v0x85d206300_0 .net/s "w", 15 0, L_0x85cd18820;  1 drivers
v0x85d2063a0_0 .net/s "x", 15 0, L_0x85cd2caa0;  1 drivers
L_0x85d261e00 .extend/s 32, L_0x85cd2caa0;
L_0x85d261ea0 .extend/s 32, L_0x85cd18820;
L_0x85d261f40 .arith/mult 32, L_0x85d261e00, L_0x85d261ea0;
L_0x85cd50fa0 .part L_0x85d261f40, 31, 1;
L_0x85cd40d20 .repeat 8, 8, L_0x85cd50fa0;
L_0x85d261fe0 .concat [ 32 8 0 0], L_0x85d261f40, L_0x85cd40d20;
L_0x85cd6ef80 .arith/sum 40, L_0x85c8789a0, L_0x85d261fe0;
S_0x85d202d00 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba2c0 .param/l "i" 1 5 20, +C4<01>;
S_0x85d202e80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d202d00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdec9c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdeca00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdeca40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d206440_0 .net/s *"_ivl_0", 31 0, L_0x85d262080;  1 drivers
v0x85d2064e0_0 .net/s *"_ivl_2", 31 0, L_0x85d262120;  1 drivers
v0x85d206580_0 .net *"_ivl_7", 0 0, L_0x85cdacd20;  1 drivers
v0x85d206620_0 .net *"_ivl_9", 7 0, L_0x85cdacdc0;  1 drivers
L_0x85c8789e8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2066c0_0 .net/s "acc_in", 39 0, L_0x85c8789e8;  1 drivers
v0x85d206760_0 .net/s "acc_out", 39 0, L_0x85cd6f020;  alias, 1 drivers
v0x85d206800_0 .net/s "product", 31 0, L_0x85d2621c0;  1 drivers
v0x85d2068a0_0 .net/s "product_ext", 39 0, L_0x85d262260;  1 drivers
v0x85d206940_0 .net/s "w", 15 0, L_0x85cdacaa0;  1 drivers
v0x85d2069e0_0 .net/s "x", 15 0, L_0x85cdacf00;  1 drivers
L_0x85d262080 .extend/s 32, L_0x85cdacf00;
L_0x85d262120 .extend/s 32, L_0x85cdacaa0;
L_0x85d2621c0 .arith/mult 32, L_0x85d262080, L_0x85d262120;
L_0x85cdacd20 .part L_0x85d2621c0, 31, 1;
L_0x85cdacdc0 .repeat 8, 8, L_0x85cdacd20;
L_0x85d262260 .concat [ 32 8 0 0], L_0x85d2621c0, L_0x85cdacdc0;
L_0x85cd6f020 .arith/sum 40, L_0x85c8789e8, L_0x85d262260;
S_0x85d203000 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba300 .param/l "i" 1 5 20, +C4<010>;
S_0x85d203180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d203000;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdeca80 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdecac0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdecb00 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d206a80_0 .net/s *"_ivl_0", 31 0, L_0x85d262300;  1 drivers
v0x85d206b20_0 .net/s *"_ivl_2", 31 0, L_0x85d2623a0;  1 drivers
v0x85d206bc0_0 .net *"_ivl_7", 0 0, L_0x85cdaca00;  1 drivers
v0x85d206c60_0 .net *"_ivl_9", 7 0, L_0x85cdacb40;  1 drivers
L_0x85c878a30 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d206d00_0 .net/s "acc_in", 39 0, L_0x85c878a30;  1 drivers
v0x85d206da0_0 .net/s "acc_out", 39 0, L_0x85cd6f0c0;  alias, 1 drivers
v0x85d206e40_0 .net/s "product", 31 0, L_0x85d262440;  1 drivers
v0x85d206ee0_0 .net/s "product_ext", 39 0, L_0x85d2624e0;  1 drivers
v0x85d206f80_0 .net/s "w", 15 0, L_0x85ce240a0;  1 drivers
v0x85d207020_0 .net/s "x", 15 0, L_0x85ce24000;  1 drivers
L_0x85d262300 .extend/s 32, L_0x85ce24000;
L_0x85d2623a0 .extend/s 32, L_0x85ce240a0;
L_0x85d262440 .arith/mult 32, L_0x85d262300, L_0x85d2623a0;
L_0x85cdaca00 .part L_0x85d262440, 31, 1;
L_0x85cdacb40 .repeat 8, 8, L_0x85cdaca00;
L_0x85d2624e0 .concat [ 32 8 0 0], L_0x85d262440, L_0x85cdacb40;
L_0x85cd6f0c0 .arith/sum 40, L_0x85c878a30, L_0x85d2624e0;
S_0x85d203300 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba340 .param/l "i" 1 5 20, +C4<011>;
S_0x85d203480 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d203300;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdecb40 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdecb80 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdecbc0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d2070c0_0 .net/s *"_ivl_0", 31 0, L_0x85d262580;  1 drivers
v0x85d207160_0 .net/s *"_ivl_2", 31 0, L_0x85d262620;  1 drivers
v0x85d207200_0 .net *"_ivl_7", 0 0, L_0x85ce24140;  1 drivers
v0x85d2072a0_0 .net *"_ivl_9", 7 0, L_0x85ce241e0;  1 drivers
L_0x85c878a78 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d207340_0 .net/s "acc_in", 39 0, L_0x85c878a78;  1 drivers
v0x85d2073e0_0 .net/s "acc_out", 39 0, L_0x85cd6f160;  alias, 1 drivers
v0x85d207480_0 .net/s "product", 31 0, L_0x85d2626c0;  1 drivers
v0x85d207520_0 .net/s "product_ext", 39 0, L_0x85d262760;  1 drivers
v0x85d2075c0_0 .net/s "w", 15 0, L_0x85ce24320;  1 drivers
v0x85d207660_0 .net/s "x", 15 0, L_0x85ce24280;  1 drivers
L_0x85d262580 .extend/s 32, L_0x85ce24280;
L_0x85d262620 .extend/s 32, L_0x85ce24320;
L_0x85d2626c0 .arith/mult 32, L_0x85d262580, L_0x85d262620;
L_0x85ce24140 .part L_0x85d2626c0, 31, 1;
L_0x85ce241e0 .repeat 8, 8, L_0x85ce24140;
L_0x85d262760 .concat [ 32 8 0 0], L_0x85d2626c0, L_0x85ce241e0;
L_0x85cd6f160 .arith/sum 40, L_0x85c878a78, L_0x85d262760;
S_0x85d203600 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba380 .param/l "i" 1 5 20, +C4<0100>;
S_0x85d203780 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d203600;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdecc00 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdecc40 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdecc80 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d207700_0 .net/s *"_ivl_0", 31 0, L_0x85d262800;  1 drivers
v0x85d2077a0_0 .net/s *"_ivl_2", 31 0, L_0x85d2628a0;  1 drivers
v0x85d207840_0 .net *"_ivl_7", 0 0, L_0x85ce243c0;  1 drivers
v0x85d2078e0_0 .net *"_ivl_9", 7 0, L_0x85ce24460;  1 drivers
L_0x85c878ac0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d207980_0 .net/s "acc_in", 39 0, L_0x85c878ac0;  1 drivers
v0x85d207a20_0 .net/s "acc_out", 39 0, L_0x85cd6f200;  alias, 1 drivers
v0x85d207ac0_0 .net/s "product", 31 0, L_0x85d262940;  1 drivers
v0x85d207b60_0 .net/s "product_ext", 39 0, L_0x85d2629e0;  1 drivers
v0x85d207c00_0 .net/s "w", 15 0, L_0x85ce245a0;  1 drivers
v0x85d207ca0_0 .net/s "x", 15 0, L_0x85ce24500;  1 drivers
L_0x85d262800 .extend/s 32, L_0x85ce24500;
L_0x85d2628a0 .extend/s 32, L_0x85ce245a0;
L_0x85d262940 .arith/mult 32, L_0x85d262800, L_0x85d2628a0;
L_0x85ce243c0 .part L_0x85d262940, 31, 1;
L_0x85ce24460 .repeat 8, 8, L_0x85ce243c0;
L_0x85d2629e0 .concat [ 32 8 0 0], L_0x85d262940, L_0x85ce24460;
L_0x85cd6f200 .arith/sum 40, L_0x85c878ac0, L_0x85d2629e0;
S_0x85d203900 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba3c0 .param/l "i" 1 5 20, +C4<0101>;
S_0x85d203a80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d203900;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdeccc0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdecd00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdecd40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d207d40_0 .net/s *"_ivl_0", 31 0, L_0x85d262a80;  1 drivers
v0x85d207de0_0 .net/s *"_ivl_2", 31 0, L_0x85d262b20;  1 drivers
v0x85d207e80_0 .net *"_ivl_7", 0 0, L_0x85ce24640;  1 drivers
v0x85d207f20_0 .net *"_ivl_9", 7 0, L_0x85ce246e0;  1 drivers
L_0x85c878b08 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d208000_0 .net/s "acc_in", 39 0, L_0x85c878b08;  1 drivers
v0x85d2080a0_0 .net/s "acc_out", 39 0, L_0x85cd6f2a0;  alias, 1 drivers
v0x85d208140_0 .net/s "product", 31 0, L_0x85d262bc0;  1 drivers
v0x85d2081e0_0 .net/s "product_ext", 39 0, L_0x85d262c60;  1 drivers
v0x85d208280_0 .net/s "w", 15 0, L_0x85ce24820;  1 drivers
v0x85d208320_0 .net/s "x", 15 0, L_0x85ce24780;  1 drivers
L_0x85d262a80 .extend/s 32, L_0x85ce24780;
L_0x85d262b20 .extend/s 32, L_0x85ce24820;
L_0x85d262bc0 .arith/mult 32, L_0x85d262a80, L_0x85d262b20;
L_0x85ce24640 .part L_0x85d262bc0, 31, 1;
L_0x85ce246e0 .repeat 8, 8, L_0x85ce24640;
L_0x85d262c60 .concat [ 32 8 0 0], L_0x85d262bc0, L_0x85ce246e0;
L_0x85cd6f2a0 .arith/sum 40, L_0x85c878b08, L_0x85d262c60;
S_0x85d203c00 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba400 .param/l "i" 1 5 20, +C4<0110>;
S_0x85d203d80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d203c00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdecd80 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdecdc0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdece00 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d2083c0_0 .net/s *"_ivl_0", 31 0, L_0x85d262d00;  1 drivers
v0x85d208460_0 .net/s *"_ivl_2", 31 0, L_0x85d262da0;  1 drivers
v0x85d208500_0 .net *"_ivl_7", 0 0, L_0x85ce248c0;  1 drivers
v0x85d2085a0_0 .net *"_ivl_9", 7 0, L_0x85ce24960;  1 drivers
L_0x85c878b50 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d208640_0 .net/s "acc_in", 39 0, L_0x85c878b50;  1 drivers
v0x85d2086e0_0 .net/s "acc_out", 39 0, L_0x85cd6f340;  alias, 1 drivers
v0x85d208780_0 .net/s "product", 31 0, L_0x85d262e40;  1 drivers
v0x85d208820_0 .net/s "product_ext", 39 0, L_0x85d262ee0;  1 drivers
v0x85d2088c0_0 .net/s "w", 15 0, L_0x85ce24aa0;  1 drivers
v0x85d208960_0 .net/s "x", 15 0, L_0x85ce24a00;  1 drivers
L_0x85d262d00 .extend/s 32, L_0x85ce24a00;
L_0x85d262da0 .extend/s 32, L_0x85ce24aa0;
L_0x85d262e40 .arith/mult 32, L_0x85d262d00, L_0x85d262da0;
L_0x85ce248c0 .part L_0x85d262e40, 31, 1;
L_0x85ce24960 .repeat 8, 8, L_0x85ce248c0;
L_0x85d262ee0 .concat [ 32 8 0 0], L_0x85d262e40, L_0x85ce24960;
L_0x85cd6f340 .arith/sum 40, L_0x85c878b50, L_0x85d262ee0;
S_0x85d20c000 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba440 .param/l "i" 1 5 20, +C4<0111>;
S_0x85d20c180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d20c000;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdece40 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdece80 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdecec0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d208a00_0 .net/s *"_ivl_0", 31 0, L_0x85d262f80;  1 drivers
v0x85d208aa0_0 .net/s *"_ivl_2", 31 0, L_0x85d263020;  1 drivers
v0x85d208b40_0 .net *"_ivl_7", 0 0, L_0x85ce24b40;  1 drivers
v0x85d208be0_0 .net *"_ivl_9", 7 0, L_0x85ce24be0;  1 drivers
L_0x85c878b98 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d208c80_0 .net/s "acc_in", 39 0, L_0x85c878b98;  1 drivers
v0x85d208d20_0 .net/s "acc_out", 39 0, L_0x85cd6f3e0;  alias, 1 drivers
v0x85d208dc0_0 .net/s "product", 31 0, L_0x85d2630c0;  1 drivers
v0x85d208e60_0 .net/s "product_ext", 39 0, L_0x85d263160;  1 drivers
v0x85d208f00_0 .net/s "w", 15 0, L_0x85ce24d20;  1 drivers
v0x85d208fa0_0 .net/s "x", 15 0, L_0x85ce24c80;  1 drivers
L_0x85d262f80 .extend/s 32, L_0x85ce24c80;
L_0x85d263020 .extend/s 32, L_0x85ce24d20;
L_0x85d2630c0 .arith/mult 32, L_0x85d262f80, L_0x85d263020;
L_0x85ce24b40 .part L_0x85d2630c0, 31, 1;
L_0x85ce24be0 .repeat 8, 8, L_0x85ce24b40;
L_0x85d263160 .concat [ 32 8 0 0], L_0x85d2630c0, L_0x85ce24be0;
L_0x85cd6f3e0 .arith/sum 40, L_0x85c878b98, L_0x85d263160;
S_0x85d20c300 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba480 .param/l "i" 1 5 80, +C4<00>;
L_0x85d04cd90 .functor BUFZ 40, L_0x85cd6ef80, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d20c480 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba4c0 .param/l "i" 1 5 80, +C4<01>;
L_0x85d04ce00 .functor BUFZ 40, L_0x85cd6f020, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d20c600 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba500 .param/l "i" 1 5 80, +C4<010>;
L_0x85d04ce70 .functor BUFZ 40, L_0x85cd6f0c0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d20c780 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba540 .param/l "i" 1 5 80, +C4<011>;
L_0x85d04cee0 .functor BUFZ 40, L_0x85cd6f160, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d20c900 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba580 .param/l "i" 1 5 80, +C4<0100>;
L_0x85d04cf50 .functor BUFZ 40, L_0x85cd6f200, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d20ca80 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba5c0 .param/l "i" 1 5 80, +C4<0101>;
L_0x85d04cfc0 .functor BUFZ 40, L_0x85cd6f2a0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d20cc00 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba600 .param/l "i" 1 5 80, +C4<0110>;
L_0x85d04d030 .functor BUFZ 40, L_0x85cd6f340, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d20cd80 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba640 .param/l "i" 1 5 80, +C4<0111>;
L_0x85d04d0a0 .functor BUFZ 40, L_0x85cd6f3e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d20cf00 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba680 .param/l "level" 1 5 92, +C4<00>;
S_0x85d20d080 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d20cf00;
 .timescale 0 0;
P_0x85cdba6c0 .param/l "node" 1 5 94, +C4<00>;
L_0x85cd6f480 .arith/sum 40, L_0x85d04cd90, L_0x85d04ce00;
S_0x85d20d200 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d20cf00;
 .timescale 0 0;
P_0x85cdba700 .param/l "node" 1 5 94, +C4<01>;
L_0x85cd6f520 .arith/sum 40, L_0x85d04ce70, L_0x85d04cee0;
S_0x85d20d380 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0x85d20cf00;
 .timescale 0 0;
P_0x85cdba740 .param/l "node" 1 5 94, +C4<010>;
L_0x85cd6f5c0 .arith/sum 40, L_0x85d04cf50, L_0x85d04cfc0;
S_0x85d20d500 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0x85d20cf00;
 .timescale 0 0;
P_0x85cdba780 .param/l "node" 1 5 94, +C4<011>;
L_0x85cd6f660 .arith/sum 40, L_0x85d04d030, L_0x85d04d0a0;
S_0x85d20d680 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba7c0 .param/l "level" 1 5 92, +C4<01>;
S_0x85d20d800 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d20d680;
 .timescale 0 0;
P_0x85cdba800 .param/l "node" 1 5 94, +C4<00>;
L_0x85cd6f700 .arith/sum 40, L_0x85cd6f480, L_0x85cd6f520;
S_0x85d20d980 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d20d680;
 .timescale 0 0;
P_0x85cdba840 .param/l "node" 1 5 94, +C4<01>;
L_0x85cd6f7a0 .arith/sum 40, L_0x85cd6f5c0, L_0x85cd6f660;
S_0x85d20db00 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0x85d202880;
 .timescale 0 0;
P_0x85cdba880 .param/l "level" 1 5 92, +C4<010>;
S_0x85d20dc80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d20db00;
 .timescale 0 0;
P_0x85cdba8c0 .param/l "node" 1 5 94, +C4<00>;
L_0x85cd6f840 .arith/sum 40, L_0x85cd6f700, L_0x85cd6f7a0;
S_0x85d20de00 .scope generate, "GEN_NEURON[3]" "GEN_NEURON[3]" 3 34, 3 34 0, S_0x100bfba30;
 .timescale 0 0;
P_0x85cdba900 .param/l "n" 1 3 34, +C4<011>;
S_0x85d20df80 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0x85d20de00;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "start";
    .port_info 3 /INPUT 1024 "x_bus";
    .port_info 4 /INPUT 1024 "w_bus";
    .port_info 5 /INPUT 16 "bias";
    .port_info 6 /OUTPUT 16 "y";
    .port_info 7 /OUTPUT 1 "busy";
    .port_info 8 /OUTPUT 1 "done";
P_0x85d20e100 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0x85d20e140 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0x85d20e180 .param/l "GROUPS" 1 4 49, +C4<00000000000000000000000000001000>;
P_0x85d20e1c0 .param/l "GROUP_INDEX_WIDTH" 1 4 50, +C4<00000000000000000000000000000011>;
P_0x85d20e200 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0x85d20e240 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0x85d211cc0_0 .net *"_ivl_0", 31 0, L_0x85d263340;  1 drivers
v0x85d211d60_0 .net *"_ivl_11", 31 0, L_0x85d263480;  1 drivers
v0x85d211e00_0 .net *"_ivl_14", 31 0, L_0x85d263520;  1 drivers
L_0x85c878cb8 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d211ea0_0 .net *"_ivl_17", 28 0, L_0x85c878cb8;  1 drivers
L_0x85c878d00 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d211f40_0 .net/2u *"_ivl_18", 31 0, L_0x85c878d00;  1 drivers
v0x85d211fe0_0 .net *"_ivl_21", 31 0, L_0x85d2635c0;  1 drivers
L_0x85c878d48 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d212080_0 .net/2u *"_ivl_22", 31 0, L_0x85c878d48;  1 drivers
v0x85d212120_0 .net *"_ivl_25", 31 0, L_0x85d263660;  1 drivers
v0x85d2121c0_0 .net *"_ivl_29", 0 0, L_0x85ce26580;  1 drivers
L_0x85c878be0 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d212260_0 .net *"_ivl_3", 28 0, L_0x85c878be0;  1 drivers
v0x85d212300_0 .net *"_ivl_31", 23 0, L_0x85ce26620;  1 drivers
L_0x85c878c28 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d2123a0_0 .net/2u *"_ivl_4", 31 0, L_0x85c878c28;  1 drivers
v0x85d212440_0 .net *"_ivl_7", 31 0, L_0x85d2633e0;  1 drivers
L_0x85c878c70 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d2124e0_0 .net/2u *"_ivl_8", 31 0, L_0x85c878c70;  1 drivers
v0x85d212580_0 .var/s "acc", 39 0;
v0x85d212620_0 .net/s "acc_next", 39 0, L_0x85ce283c0;  1 drivers
v0x85d2126c0_0 .net/s "bias", 15 0, L_0x85ce26760;  1 drivers
v0x85d212760_0 .net/s "bias_ext", 39 0, L_0x85d264be0;  1 drivers
v0x85d212800_0 .var "busy", 0 0;
v0x85d2128a0_0 .net "clk", 0 0, o0x85c845fc0;  alias, 0 drivers
v0x85d212940_0 .var "done", 0 0;
v0x85d2129e0_0 .net/s "final_acc", 39 0, L_0x85ce28460;  1 drivers
v0x85d212a80_0 .var "group_index", 2 0;
v0x85d212b20_0 .net "rst", 0 0, o0x85c846080;  alias, 0 drivers
v0x85d212bc0_0 .net "start", 0 0, o0x85c8460b0;  alias, 0 drivers
v0x85d212c60_0 .net/s "w_bus", 1023 0, L_0x85ce266c0;  1 drivers
v0x85d212d00_0 .net/s "w_group", 127 0, L_0x85ce250e0;  1 drivers
v0x85d212da0_0 .net/s "x_bus", 1023 0, o0x85c846110;  alias, 0 drivers
v0x85d212e40_0 .net/s "x_group", 127 0, L_0x85ce25040;  1 drivers
v0x85d212ee0_0 .var/s "y", 15 0;
L_0x85d263340 .concat [ 3 29 0 0], v0x85d212a80_0, L_0x85c878be0;
L_0x85d2633e0 .arith/mult 32, L_0x85d263340, L_0x85c878c28;
L_0x85d263480 .arith/mult 32, L_0x85d2633e0, L_0x85c878c70;
L_0x85ce25040 .part/v o0x85c846110, L_0x85d263480, 128;
L_0x85d263520 .concat [ 3 29 0 0], v0x85d212a80_0, L_0x85c878cb8;
L_0x85d2635c0 .arith/mult 32, L_0x85d263520, L_0x85c878d00;
L_0x85d263660 .arith/mult 32, L_0x85d2635c0, L_0x85c878d48;
L_0x85ce250e0 .part/v L_0x85ce266c0, L_0x85d263660, 128;
L_0x85ce26580 .part L_0x85ce26760, 15, 1;
L_0x85ce26620 .repeat 24, 24, L_0x85ce26580;
L_0x85d264be0 .concat [ 16 24 0 0], L_0x85ce26760, L_0x85ce26620;
L_0x85ce28460 .arith/sum 40, L_0x85ce283c0, L_0x85d264be0;
S_0x85d20e280 .scope module, "u_mac8" "mac8" 4 81, 5 1 0, S_0x85d20df80;
 .timescale 0 0;
    .port_info 0 /INPUT 128 "x_bus";
    .port_info 1 /INPUT 128 "w_bus";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85d090600 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0x85d090640 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0x85d090680 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0x85d0906c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0x85d211900_0 .net/s "acc_in", 39 0, v0x85d212580_0;  1 drivers
v0x85d2119a0_0 .net/s "acc_out", 39 0, L_0x85ce283c0;  alias, 1 drivers
v0x85d211a40 .array "products", 7 0;
v0x85d211a40_0 .net/s v0x85d211a40 0, 39 0, L_0x85cd6fa20; 1 drivers
v0x85d211a40_1 .net/s v0x85d211a40 1, 39 0, L_0x85cd6fac0; 1 drivers
v0x85d211a40_2 .net/s v0x85d211a40 2, 39 0, L_0x85cd6fb60; 1 drivers
v0x85d211a40_3 .net/s v0x85d211a40 3, 39 0, L_0x85cd6fc00; 1 drivers
v0x85d211a40_4 .net/s v0x85d211a40 4, 39 0, L_0x85cd6fca0; 1 drivers
v0x85d211a40_5 .net/s v0x85d211a40 5, 39 0, L_0x85cd6fd40; 1 drivers
v0x85d211a40_6 .net/s v0x85d211a40 6, 39 0, L_0x85cd6fde0; 1 drivers
v0x85d211a40_7 .net/s v0x85d211a40 7, 39 0, L_0x85cd6fe80; 1 drivers
v0x85d211ae0 .array "tree", 31 0;
v0x85d211ae0_0 .net/s v0x85d211ae0 0, 39 0, L_0x85d04d110; 1 drivers
v0x85d211ae0_1 .net/s v0x85d211ae0 1, 39 0, L_0x85d04d180; 1 drivers
v0x85d211ae0_2 .net/s v0x85d211ae0 2, 39 0, L_0x85d04d1f0; 1 drivers
v0x85d211ae0_3 .net/s v0x85d211ae0 3, 39 0, L_0x85d04d260; 1 drivers
v0x85d211ae0_4 .net/s v0x85d211ae0 4, 39 0, L_0x85d04d2d0; 1 drivers
v0x85d211ae0_5 .net/s v0x85d211ae0 5, 39 0, L_0x85d04d340; 1 drivers
v0x85d211ae0_6 .net/s v0x85d211ae0 6, 39 0, L_0x85d04d3b0; 1 drivers
v0x85d211ae0_7 .net/s v0x85d211ae0 7, 39 0, L_0x85d04d420; 1 drivers
v0x85d211ae0_8 .net/s v0x85d211ae0 8, 39 0, L_0x85cd6ff20; 1 drivers
v0x85d211ae0_9 .net/s v0x85d211ae0 9, 39 0, L_0x85ce28000; 1 drivers
v0x85d211ae0_10 .net/s v0x85d211ae0 10, 39 0, L_0x85ce280a0; 1 drivers
v0x85d211ae0_11 .net/s v0x85d211ae0 11, 39 0, L_0x85ce28140; 1 drivers
o0x85c84bf60 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_12 .net/s v0x85d211ae0 12, 39 0, o0x85c84bf60; 0 drivers
o0x85c84bf90 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_13 .net/s v0x85d211ae0 13, 39 0, o0x85c84bf90; 0 drivers
o0x85c84bfc0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_14 .net/s v0x85d211ae0 14, 39 0, o0x85c84bfc0; 0 drivers
o0x85c84bff0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_15 .net/s v0x85d211ae0 15, 39 0, o0x85c84bff0; 0 drivers
v0x85d211ae0_16 .net/s v0x85d211ae0 16, 39 0, L_0x85ce281e0; 1 drivers
v0x85d211ae0_17 .net/s v0x85d211ae0 17, 39 0, L_0x85ce28280; 1 drivers
o0x85c84c080 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_18 .net/s v0x85d211ae0 18, 39 0, o0x85c84c080; 0 drivers
o0x85c84c0b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_19 .net/s v0x85d211ae0 19, 39 0, o0x85c84c0b0; 0 drivers
o0x85c84c0e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_20 .net/s v0x85d211ae0 20, 39 0, o0x85c84c0e0; 0 drivers
o0x85c84c110 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_21 .net/s v0x85d211ae0 21, 39 0, o0x85c84c110; 0 drivers
o0x85c84c140 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_22 .net/s v0x85d211ae0 22, 39 0, o0x85c84c140; 0 drivers
o0x85c84c170 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_23 .net/s v0x85d211ae0 23, 39 0, o0x85c84c170; 0 drivers
v0x85d211ae0_24 .net/s v0x85d211ae0 24, 39 0, L_0x85ce28320; 1 drivers
o0x85c84c1d0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_25 .net/s v0x85d211ae0 25, 39 0, o0x85c84c1d0; 0 drivers
o0x85c84c200 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_26 .net/s v0x85d211ae0 26, 39 0, o0x85c84c200; 0 drivers
o0x85c84c230 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_27 .net/s v0x85d211ae0 27, 39 0, o0x85c84c230; 0 drivers
o0x85c84c260 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_28 .net/s v0x85d211ae0 28, 39 0, o0x85c84c260; 0 drivers
o0x85c84c290 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_29 .net/s v0x85d211ae0 29, 39 0, o0x85c84c290; 0 drivers
o0x85c84c2c0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_30 .net/s v0x85d211ae0 30, 39 0, o0x85c84c2c0; 0 drivers
o0x85c84c2f0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d211ae0_31 .net/s v0x85d211ae0 31, 39 0, o0x85c84c2f0; 0 drivers
v0x85d211b80_0 .net/s "w_bus", 127 0, L_0x85ce250e0;  alias, 1 drivers
v0x85d211c20_0 .net/s "x_bus", 127 0, L_0x85ce25040;  alias, 1 drivers
L_0x85ce252c0 .part L_0x85ce25040, 0, 16;
L_0x85ce25360 .part L_0x85ce250e0, 0, 16;
L_0x85ce25540 .part L_0x85ce25040, 16, 16;
L_0x85ce255e0 .part L_0x85ce250e0, 16, 16;
L_0x85ce257c0 .part L_0x85ce25040, 32, 16;
L_0x85ce25860 .part L_0x85ce250e0, 32, 16;
L_0x85ce25a40 .part L_0x85ce25040, 48, 16;
L_0x85ce25ae0 .part L_0x85ce250e0, 48, 16;
L_0x85ce25cc0 .part L_0x85ce25040, 64, 16;
L_0x85ce25d60 .part L_0x85ce250e0, 64, 16;
L_0x85ce25f40 .part L_0x85ce25040, 80, 16;
L_0x85ce25fe0 .part L_0x85ce250e0, 80, 16;
L_0x85ce261c0 .part L_0x85ce25040, 96, 16;
L_0x85ce26260 .part L_0x85ce250e0, 96, 16;
L_0x85ce26440 .part L_0x85ce25040, 112, 16;
L_0x85ce264e0 .part L_0x85ce250e0, 112, 16;
L_0x85ce283c0 .arith/sum 40, v0x85d212580_0, L_0x85ce28320;
S_0x85d20e400 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdba940 .param/l "i" 1 5 20, +C4<00>;
S_0x85d20e580 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d20e400;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdecf00 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdecf40 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdecf80 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d20a6c0_0 .net/s *"_ivl_0", 31 0, L_0x85d263700;  1 drivers
v0x85d20a760_0 .net/s *"_ivl_2", 31 0, L_0x85d2637a0;  1 drivers
v0x85d20a800_0 .net *"_ivl_7", 0 0, L_0x85ce25180;  1 drivers
v0x85d20a8a0_0 .net *"_ivl_9", 7 0, L_0x85ce25220;  1 drivers
L_0x85c878d90 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d20a940_0 .net/s "acc_in", 39 0, L_0x85c878d90;  1 drivers
v0x85d20a9e0_0 .net/s "acc_out", 39 0, L_0x85cd6fa20;  alias, 1 drivers
v0x85d20aa80_0 .net/s "product", 31 0, L_0x85d263840;  1 drivers
v0x85d20ab20_0 .net/s "product_ext", 39 0, L_0x85d2638e0;  1 drivers
v0x85d20abc0_0 .net/s "w", 15 0, L_0x85ce25360;  1 drivers
v0x85d20ac60_0 .net/s "x", 15 0, L_0x85ce252c0;  1 drivers
L_0x85d263700 .extend/s 32, L_0x85ce252c0;
L_0x85d2637a0 .extend/s 32, L_0x85ce25360;
L_0x85d263840 .arith/mult 32, L_0x85d263700, L_0x85d2637a0;
L_0x85ce25180 .part L_0x85d263840, 31, 1;
L_0x85ce25220 .repeat 8, 8, L_0x85ce25180;
L_0x85d2638e0 .concat [ 32 8 0 0], L_0x85d263840, L_0x85ce25220;
L_0x85cd6fa20 .arith/sum 40, L_0x85c878d90, L_0x85d2638e0;
S_0x85d20e700 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdba980 .param/l "i" 1 5 20, +C4<01>;
S_0x85d20e880 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d20e700;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdecfc0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded000 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded040 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d20ad00_0 .net/s *"_ivl_0", 31 0, L_0x85d263980;  1 drivers
v0x85d20ada0_0 .net/s *"_ivl_2", 31 0, L_0x85d263a20;  1 drivers
v0x85d20ae40_0 .net *"_ivl_7", 0 0, L_0x85ce25400;  1 drivers
v0x85d20aee0_0 .net *"_ivl_9", 7 0, L_0x85ce254a0;  1 drivers
L_0x85c878dd8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d20af80_0 .net/s "acc_in", 39 0, L_0x85c878dd8;  1 drivers
v0x85d20b020_0 .net/s "acc_out", 39 0, L_0x85cd6fac0;  alias, 1 drivers
v0x85d20b0c0_0 .net/s "product", 31 0, L_0x85d263ac0;  1 drivers
v0x85d20b160_0 .net/s "product_ext", 39 0, L_0x85d263b60;  1 drivers
v0x85d20b200_0 .net/s "w", 15 0, L_0x85ce255e0;  1 drivers
v0x85d20b2a0_0 .net/s "x", 15 0, L_0x85ce25540;  1 drivers
L_0x85d263980 .extend/s 32, L_0x85ce25540;
L_0x85d263a20 .extend/s 32, L_0x85ce255e0;
L_0x85d263ac0 .arith/mult 32, L_0x85d263980, L_0x85d263a20;
L_0x85ce25400 .part L_0x85d263ac0, 31, 1;
L_0x85ce254a0 .repeat 8, 8, L_0x85ce25400;
L_0x85d263b60 .concat [ 32 8 0 0], L_0x85d263ac0, L_0x85ce254a0;
L_0x85cd6fac0 .arith/sum 40, L_0x85c878dd8, L_0x85d263b60;
S_0x85d20ea00 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdba9c0 .param/l "i" 1 5 20, +C4<010>;
S_0x85d20eb80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d20ea00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded080 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded0c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded100 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d20b340_0 .net/s *"_ivl_0", 31 0, L_0x85d263c00;  1 drivers
v0x85d20b3e0_0 .net/s *"_ivl_2", 31 0, L_0x85d263ca0;  1 drivers
v0x85d20b480_0 .net *"_ivl_7", 0 0, L_0x85ce25680;  1 drivers
v0x85d20b520_0 .net *"_ivl_9", 7 0, L_0x85ce25720;  1 drivers
L_0x85c878e20 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d20b5c0_0 .net/s "acc_in", 39 0, L_0x85c878e20;  1 drivers
v0x85d20b660_0 .net/s "acc_out", 39 0, L_0x85cd6fb60;  alias, 1 drivers
v0x85d20b700_0 .net/s "product", 31 0, L_0x85d263d40;  1 drivers
v0x85d20b7a0_0 .net/s "product_ext", 39 0, L_0x85d263de0;  1 drivers
v0x85d20b840_0 .net/s "w", 15 0, L_0x85ce25860;  1 drivers
v0x85d20b8e0_0 .net/s "x", 15 0, L_0x85ce257c0;  1 drivers
L_0x85d263c00 .extend/s 32, L_0x85ce257c0;
L_0x85d263ca0 .extend/s 32, L_0x85ce25860;
L_0x85d263d40 .arith/mult 32, L_0x85d263c00, L_0x85d263ca0;
L_0x85ce25680 .part L_0x85d263d40, 31, 1;
L_0x85ce25720 .repeat 8, 8, L_0x85ce25680;
L_0x85d263de0 .concat [ 32 8 0 0], L_0x85d263d40, L_0x85ce25720;
L_0x85cd6fb60 .arith/sum 40, L_0x85c878e20, L_0x85d263de0;
S_0x85d20ed00 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbaa00 .param/l "i" 1 5 20, +C4<011>;
S_0x85d20ee80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d20ed00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded140 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded180 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded1c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d20b980_0 .net/s *"_ivl_0", 31 0, L_0x85d263e80;  1 drivers
v0x85d20ba20_0 .net/s *"_ivl_2", 31 0, L_0x85d263f20;  1 drivers
v0x85d20bac0_0 .net *"_ivl_7", 0 0, L_0x85ce25900;  1 drivers
v0x85d20bb60_0 .net *"_ivl_9", 7 0, L_0x85ce259a0;  1 drivers
L_0x85c878e68 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d20bc00_0 .net/s "acc_in", 39 0, L_0x85c878e68;  1 drivers
v0x85d20bca0_0 .net/s "acc_out", 39 0, L_0x85cd6fc00;  alias, 1 drivers
v0x85d20bd40_0 .net/s "product", 31 0, L_0x85d264000;  1 drivers
v0x85d20bde0_0 .net/s "product_ext", 39 0, L_0x85d2640a0;  1 drivers
v0x85d20be80_0 .net/s "w", 15 0, L_0x85ce25ae0;  1 drivers
v0x85d20bf20_0 .net/s "x", 15 0, L_0x85ce25a40;  1 drivers
L_0x85d263e80 .extend/s 32, L_0x85ce25a40;
L_0x85d263f20 .extend/s 32, L_0x85ce25ae0;
L_0x85d264000 .arith/mult 32, L_0x85d263e80, L_0x85d263f20;
L_0x85ce25900 .part L_0x85d264000, 31, 1;
L_0x85ce259a0 .repeat 8, 8, L_0x85ce25900;
L_0x85d2640a0 .concat [ 32 8 0 0], L_0x85d264000, L_0x85ce259a0;
L_0x85cd6fc00 .arith/sum 40, L_0x85c878e68, L_0x85d2640a0;
S_0x85d20f000 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbaa40 .param/l "i" 1 5 20, +C4<0100>;
S_0x85d20f180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d20f000;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded200 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded240 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded280 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d210000_0 .net/s *"_ivl_0", 31 0, L_0x85d264140;  1 drivers
v0x85d2100a0_0 .net/s *"_ivl_2", 31 0, L_0x85d2641e0;  1 drivers
v0x85d210140_0 .net *"_ivl_7", 0 0, L_0x85ce25b80;  1 drivers
v0x85d2101e0_0 .net *"_ivl_9", 7 0, L_0x85ce25c20;  1 drivers
L_0x85c878eb0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d210280_0 .net/s "acc_in", 39 0, L_0x85c878eb0;  1 drivers
v0x85d210320_0 .net/s "acc_out", 39 0, L_0x85cd6fca0;  alias, 1 drivers
v0x85d2103c0_0 .net/s "product", 31 0, L_0x85d264280;  1 drivers
v0x85d210460_0 .net/s "product_ext", 39 0, L_0x85d264320;  1 drivers
v0x85d210500_0 .net/s "w", 15 0, L_0x85ce25d60;  1 drivers
v0x85d2105a0_0 .net/s "x", 15 0, L_0x85ce25cc0;  1 drivers
L_0x85d264140 .extend/s 32, L_0x85ce25cc0;
L_0x85d2641e0 .extend/s 32, L_0x85ce25d60;
L_0x85d264280 .arith/mult 32, L_0x85d264140, L_0x85d2641e0;
L_0x85ce25b80 .part L_0x85d264280, 31, 1;
L_0x85ce25c20 .repeat 8, 8, L_0x85ce25b80;
L_0x85d264320 .concat [ 32 8 0 0], L_0x85d264280, L_0x85ce25c20;
L_0x85cd6fca0 .arith/sum 40, L_0x85c878eb0, L_0x85d264320;
S_0x85d20f300 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbaa80 .param/l "i" 1 5 20, +C4<0101>;
S_0x85d20f480 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d20f300;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded2c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded300 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded340 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d210640_0 .net/s *"_ivl_0", 31 0, L_0x85d2643c0;  1 drivers
v0x85d2106e0_0 .net/s *"_ivl_2", 31 0, L_0x85d264460;  1 drivers
v0x85d210780_0 .net *"_ivl_7", 0 0, L_0x85ce25e00;  1 drivers
v0x85d210820_0 .net *"_ivl_9", 7 0, L_0x85ce25ea0;  1 drivers
L_0x85c878ef8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2108c0_0 .net/s "acc_in", 39 0, L_0x85c878ef8;  1 drivers
v0x85d210960_0 .net/s "acc_out", 39 0, L_0x85cd6fd40;  alias, 1 drivers
v0x85d210a00_0 .net/s "product", 31 0, L_0x85d264500;  1 drivers
v0x85d210aa0_0 .net/s "product_ext", 39 0, L_0x85d2645a0;  1 drivers
v0x85d210b40_0 .net/s "w", 15 0, L_0x85ce25fe0;  1 drivers
v0x85d210be0_0 .net/s "x", 15 0, L_0x85ce25f40;  1 drivers
L_0x85d2643c0 .extend/s 32, L_0x85ce25f40;
L_0x85d264460 .extend/s 32, L_0x85ce25fe0;
L_0x85d264500 .arith/mult 32, L_0x85d2643c0, L_0x85d264460;
L_0x85ce25e00 .part L_0x85d264500, 31, 1;
L_0x85ce25ea0 .repeat 8, 8, L_0x85ce25e00;
L_0x85d2645a0 .concat [ 32 8 0 0], L_0x85d264500, L_0x85ce25ea0;
L_0x85cd6fd40 .arith/sum 40, L_0x85c878ef8, L_0x85d2645a0;
S_0x85d20f600 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbaac0 .param/l "i" 1 5 20, +C4<0110>;
S_0x85d20f780 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d20f600;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded380 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded3c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded400 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d210c80_0 .net/s *"_ivl_0", 31 0, L_0x85d264640;  1 drivers
v0x85d210d20_0 .net/s *"_ivl_2", 31 0, L_0x85d2646e0;  1 drivers
v0x85d210dc0_0 .net *"_ivl_7", 0 0, L_0x85ce26080;  1 drivers
v0x85d210e60_0 .net *"_ivl_9", 7 0, L_0x85ce26120;  1 drivers
L_0x85c878f40 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d210f00_0 .net/s "acc_in", 39 0, L_0x85c878f40;  1 drivers
v0x85d210fa0_0 .net/s "acc_out", 39 0, L_0x85cd6fde0;  alias, 1 drivers
v0x85d211040_0 .net/s "product", 31 0, L_0x85d264780;  1 drivers
v0x85d2110e0_0 .net/s "product_ext", 39 0, L_0x85d264820;  1 drivers
v0x85d211180_0 .net/s "w", 15 0, L_0x85ce26260;  1 drivers
v0x85d211220_0 .net/s "x", 15 0, L_0x85ce261c0;  1 drivers
L_0x85d264640 .extend/s 32, L_0x85ce261c0;
L_0x85d2646e0 .extend/s 32, L_0x85ce26260;
L_0x85d264780 .arith/mult 32, L_0x85d264640, L_0x85d2646e0;
L_0x85ce26080 .part L_0x85d264780, 31, 1;
L_0x85ce26120 .repeat 8, 8, L_0x85ce26080;
L_0x85d264820 .concat [ 32 8 0 0], L_0x85d264780, L_0x85ce26120;
L_0x85cd6fde0 .arith/sum 40, L_0x85c878f40, L_0x85d264820;
S_0x85d20f900 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbab00 .param/l "i" 1 5 20, +C4<0111>;
S_0x85d20fa80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d20f900;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded440 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded480 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded4c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d2112c0_0 .net/s *"_ivl_0", 31 0, L_0x85d2648c0;  1 drivers
v0x85d211360_0 .net/s *"_ivl_2", 31 0, L_0x85d264960;  1 drivers
v0x85d211400_0 .net *"_ivl_7", 0 0, L_0x85ce26300;  1 drivers
v0x85d2114a0_0 .net *"_ivl_9", 7 0, L_0x85ce263a0;  1 drivers
L_0x85c878f88 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d211540_0 .net/s "acc_in", 39 0, L_0x85c878f88;  1 drivers
v0x85d2115e0_0 .net/s "acc_out", 39 0, L_0x85cd6fe80;  alias, 1 drivers
v0x85d211680_0 .net/s "product", 31 0, L_0x85d264a00;  1 drivers
v0x85d211720_0 .net/s "product_ext", 39 0, L_0x85d264aa0;  1 drivers
v0x85d2117c0_0 .net/s "w", 15 0, L_0x85ce264e0;  1 drivers
v0x85d211860_0 .net/s "x", 15 0, L_0x85ce26440;  1 drivers
L_0x85d2648c0 .extend/s 32, L_0x85ce26440;
L_0x85d264960 .extend/s 32, L_0x85ce264e0;
L_0x85d264a00 .arith/mult 32, L_0x85d2648c0, L_0x85d264960;
L_0x85ce26300 .part L_0x85d264a00, 31, 1;
L_0x85ce263a0 .repeat 8, 8, L_0x85ce26300;
L_0x85d264aa0 .concat [ 32 8 0 0], L_0x85d264a00, L_0x85ce263a0;
L_0x85cd6fe80 .arith/sum 40, L_0x85c878f88, L_0x85d264aa0;
S_0x85d20fc00 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbab40 .param/l "i" 1 5 80, +C4<00>;
L_0x85d04d110 .functor BUFZ 40, L_0x85cd6fa20, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d20fd80 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbab80 .param/l "i" 1 5 80, +C4<01>;
L_0x85d04d180 .functor BUFZ 40, L_0x85cd6fac0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d214000 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbabc0 .param/l "i" 1 5 80, +C4<010>;
L_0x85d04d1f0 .functor BUFZ 40, L_0x85cd6fb60, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d214180 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbac00 .param/l "i" 1 5 80, +C4<011>;
L_0x85d04d260 .functor BUFZ 40, L_0x85cd6fc00, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d214300 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbac40 .param/l "i" 1 5 80, +C4<0100>;
L_0x85d04d2d0 .functor BUFZ 40, L_0x85cd6fca0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d214480 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbac80 .param/l "i" 1 5 80, +C4<0101>;
L_0x85d04d340 .functor BUFZ 40, L_0x85cd6fd40, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d214600 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbacc0 .param/l "i" 1 5 80, +C4<0110>;
L_0x85d04d3b0 .functor BUFZ 40, L_0x85cd6fde0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d214780 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbad00 .param/l "i" 1 5 80, +C4<0111>;
L_0x85d04d420 .functor BUFZ 40, L_0x85cd6fe80, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d214900 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbad40 .param/l "level" 1 5 92, +C4<00>;
S_0x85d214a80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d214900;
 .timescale 0 0;
P_0x85cdbad80 .param/l "node" 1 5 94, +C4<00>;
L_0x85cd6ff20 .arith/sum 40, L_0x85d04d110, L_0x85d04d180;
S_0x85d214c00 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d214900;
 .timescale 0 0;
P_0x85cdbadc0 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce28000 .arith/sum 40, L_0x85d04d1f0, L_0x85d04d260;
S_0x85d214d80 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0x85d214900;
 .timescale 0 0;
P_0x85cdbae00 .param/l "node" 1 5 94, +C4<010>;
L_0x85ce280a0 .arith/sum 40, L_0x85d04d2d0, L_0x85d04d340;
S_0x85d214f00 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0x85d214900;
 .timescale 0 0;
P_0x85cdbae40 .param/l "node" 1 5 94, +C4<011>;
L_0x85ce28140 .arith/sum 40, L_0x85d04d3b0, L_0x85d04d420;
S_0x85d215080 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbae80 .param/l "level" 1 5 92, +C4<01>;
S_0x85d215200 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d215080;
 .timescale 0 0;
P_0x85cdbaec0 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce281e0 .arith/sum 40, L_0x85cd6ff20, L_0x85ce28000;
S_0x85d215380 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d215080;
 .timescale 0 0;
P_0x85cdbaf00 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce28280 .arith/sum 40, L_0x85ce280a0, L_0x85ce28140;
S_0x85d215500 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0x85d20e280;
 .timescale 0 0;
P_0x85cdbaf40 .param/l "level" 1 5 92, +C4<010>;
S_0x85d215680 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d215500;
 .timescale 0 0;
P_0x85cdbaf80 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce28320 .arith/sum 40, L_0x85ce281e0, L_0x85ce28280;
S_0x85d215800 .scope generate, "GEN_NEURON[4]" "GEN_NEURON[4]" 3 34, 3 34 0, S_0x100bfba30;
 .timescale 0 0;
P_0x85cdbafc0 .param/l "n" 1 3 34, +C4<0100>;
S_0x85d215980 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0x85d215800;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "start";
    .port_info 3 /INPUT 1024 "x_bus";
    .port_info 4 /INPUT 1024 "w_bus";
    .port_info 5 /INPUT 16 "bias";
    .port_info 6 /OUTPUT 16 "y";
    .port_info 7 /OUTPUT 1 "busy";
    .port_info 8 /OUTPUT 1 "done";
P_0x85d215b00 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0x85d215b40 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0x85d215b80 .param/l "GROUPS" 1 4 49, +C4<00000000000000000000000000001000>;
P_0x85d215bc0 .param/l "GROUP_INDEX_WIDTH" 1 4 50, +C4<00000000000000000000000000000011>;
P_0x85d215c00 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0x85d215c40 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0x85d21e580_0 .net *"_ivl_0", 31 0, L_0x85d264c80;  1 drivers
v0x85d21e620_0 .net *"_ivl_11", 31 0, L_0x85d264dc0;  1 drivers
v0x85d21e6c0_0 .net *"_ivl_14", 31 0, L_0x85d264e60;  1 drivers
L_0x85c8790a8 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d21e760_0 .net *"_ivl_17", 28 0, L_0x85c8790a8;  1 drivers
L_0x85c8790f0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d21e800_0 .net/2u *"_ivl_18", 31 0, L_0x85c8790f0;  1 drivers
v0x85d21e8a0_0 .net *"_ivl_21", 31 0, L_0x85d264f00;  1 drivers
L_0x85c879138 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d21e940_0 .net/2u *"_ivl_22", 31 0, L_0x85c879138;  1 drivers
v0x85d21e9e0_0 .net *"_ivl_25", 31 0, L_0x85d264fa0;  1 drivers
v0x85d21ea80_0 .net *"_ivl_29", 0 0, L_0x85ce27d40;  1 drivers
L_0x85c878fd0 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d21eb20_0 .net *"_ivl_3", 28 0, L_0x85c878fd0;  1 drivers
v0x85d21ebc0_0 .net *"_ivl_31", 23 0, L_0x85ce27de0;  1 drivers
L_0x85c879018 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d21ec60_0 .net/2u *"_ivl_4", 31 0, L_0x85c879018;  1 drivers
v0x85d21ed00_0 .net *"_ivl_7", 31 0, L_0x85d264d20;  1 drivers
L_0x85c879060 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d21eda0_0 .net/2u *"_ivl_8", 31 0, L_0x85c879060;  1 drivers
v0x85d21ee40_0 .var/s "acc", 39 0;
v0x85d21eee0_0 .net/s "acc_next", 39 0, L_0x85ce28e60;  1 drivers
v0x85d21ef80_0 .net/s "bias", 15 0, L_0x85ce27f20;  1 drivers
v0x85d21f020_0 .net/s "bias_ext", 39 0, L_0x85d2664e0;  1 drivers
v0x85d21f0c0_0 .var "busy", 0 0;
v0x85d21f160_0 .net "clk", 0 0, o0x85c845fc0;  alias, 0 drivers
v0x85d21f200_0 .var "done", 0 0;
v0x85d21f2a0_0 .net/s "final_acc", 39 0, L_0x85ce28f00;  1 drivers
v0x85d21f340_0 .var "group_index", 2 0;
v0x85d21f3e0_0 .net "rst", 0 0, o0x85c846080;  alias, 0 drivers
v0x85d21f480_0 .net "start", 0 0, o0x85c8460b0;  alias, 0 drivers
v0x85d21f520_0 .net/s "w_bus", 1023 0, L_0x85ce27e80;  1 drivers
v0x85d21f5c0_0 .net/s "w_group", 127 0, L_0x85ce268a0;  1 drivers
v0x85d21f660_0 .net/s "x_bus", 1023 0, o0x85c846110;  alias, 0 drivers
v0x85d21f700_0 .net/s "x_group", 127 0, L_0x85ce26800;  1 drivers
v0x85d21f7a0_0 .var/s "y", 15 0;
L_0x85d264c80 .concat [ 3 29 0 0], v0x85d21f340_0, L_0x85c878fd0;
L_0x85d264d20 .arith/mult 32, L_0x85d264c80, L_0x85c879018;
L_0x85d264dc0 .arith/mult 32, L_0x85d264d20, L_0x85c879060;
L_0x85ce26800 .part/v o0x85c846110, L_0x85d264dc0, 128;
L_0x85d264e60 .concat [ 3 29 0 0], v0x85d21f340_0, L_0x85c8790a8;
L_0x85d264f00 .arith/mult 32, L_0x85d264e60, L_0x85c8790f0;
L_0x85d264fa0 .arith/mult 32, L_0x85d264f00, L_0x85c879138;
L_0x85ce268a0 .part/v L_0x85ce27e80, L_0x85d264fa0, 128;
L_0x85ce27d40 .part L_0x85ce27f20, 15, 1;
L_0x85ce27de0 .repeat 24, 24, L_0x85ce27d40;
L_0x85d2664e0 .concat [ 16 24 0 0], L_0x85ce27f20, L_0x85ce27de0;
L_0x85ce28f00 .arith/sum 40, L_0x85ce28e60, L_0x85d2664e0;
S_0x85d215c80 .scope module, "u_mac8" "mac8" 4 81, 5 1 0, S_0x85d215980;
 .timescale 0 0;
    .port_info 0 /INPUT 128 "x_bus";
    .port_info 1 /INPUT 128 "w_bus";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85d090700 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0x85d090740 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0x85d090780 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0x85d0907c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0x85d21e1c0_0 .net/s "acc_in", 39 0, v0x85d21ee40_0;  1 drivers
v0x85d21e260_0 .net/s "acc_out", 39 0, L_0x85ce28e60;  alias, 1 drivers
v0x85d21e300 .array "products", 7 0;
v0x85d21e300_0 .net/s v0x85d21e300 0, 39 0, L_0x85ce28500; 1 drivers
v0x85d21e300_1 .net/s v0x85d21e300 1, 39 0, L_0x85ce285a0; 1 drivers
v0x85d21e300_2 .net/s v0x85d21e300 2, 39 0, L_0x85ce28640; 1 drivers
v0x85d21e300_3 .net/s v0x85d21e300 3, 39 0, L_0x85ce286e0; 1 drivers
v0x85d21e300_4 .net/s v0x85d21e300 4, 39 0, L_0x85ce28780; 1 drivers
v0x85d21e300_5 .net/s v0x85d21e300 5, 39 0, L_0x85ce28820; 1 drivers
v0x85d21e300_6 .net/s v0x85d21e300 6, 39 0, L_0x85ce288c0; 1 drivers
v0x85d21e300_7 .net/s v0x85d21e300 7, 39 0, L_0x85ce28960; 1 drivers
v0x85d21e3a0 .array "tree", 31 0;
v0x85d21e3a0_0 .net/s v0x85d21e3a0 0, 39 0, L_0x85d04d490; 1 drivers
v0x85d21e3a0_1 .net/s v0x85d21e3a0 1, 39 0, L_0x85d04d500; 1 drivers
v0x85d21e3a0_2 .net/s v0x85d21e3a0 2, 39 0, L_0x85d04d570; 1 drivers
v0x85d21e3a0_3 .net/s v0x85d21e3a0 3, 39 0, L_0x85d04d5e0; 1 drivers
v0x85d21e3a0_4 .net/s v0x85d21e3a0 4, 39 0, L_0x85d04d650; 1 drivers
v0x85d21e3a0_5 .net/s v0x85d21e3a0 5, 39 0, L_0x85d04d6c0; 1 drivers
v0x85d21e3a0_6 .net/s v0x85d21e3a0 6, 39 0, L_0x85d04d730; 1 drivers
v0x85d21e3a0_7 .net/s v0x85d21e3a0 7, 39 0, L_0x85d04d7a0; 1 drivers
v0x85d21e3a0_8 .net/s v0x85d21e3a0 8, 39 0, L_0x85ce28a00; 1 drivers
v0x85d21e3a0_9 .net/s v0x85d21e3a0 9, 39 0, L_0x85ce28aa0; 1 drivers
v0x85d21e3a0_10 .net/s v0x85d21e3a0 10, 39 0, L_0x85ce28b40; 1 drivers
v0x85d21e3a0_11 .net/s v0x85d21e3a0 11, 39 0, L_0x85ce28be0; 1 drivers
o0x85c84e1b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_12 .net/s v0x85d21e3a0 12, 39 0, o0x85c84e1b0; 0 drivers
o0x85c84e1e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_13 .net/s v0x85d21e3a0 13, 39 0, o0x85c84e1e0; 0 drivers
o0x85c84e210 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_14 .net/s v0x85d21e3a0 14, 39 0, o0x85c84e210; 0 drivers
o0x85c84e240 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_15 .net/s v0x85d21e3a0 15, 39 0, o0x85c84e240; 0 drivers
v0x85d21e3a0_16 .net/s v0x85d21e3a0 16, 39 0, L_0x85ce28c80; 1 drivers
v0x85d21e3a0_17 .net/s v0x85d21e3a0 17, 39 0, L_0x85ce28d20; 1 drivers
o0x85c84e2d0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_18 .net/s v0x85d21e3a0 18, 39 0, o0x85c84e2d0; 0 drivers
o0x85c84e300 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_19 .net/s v0x85d21e3a0 19, 39 0, o0x85c84e300; 0 drivers
o0x85c84e330 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_20 .net/s v0x85d21e3a0 20, 39 0, o0x85c84e330; 0 drivers
o0x85c84e360 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_21 .net/s v0x85d21e3a0 21, 39 0, o0x85c84e360; 0 drivers
o0x85c84e390 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_22 .net/s v0x85d21e3a0 22, 39 0, o0x85c84e390; 0 drivers
o0x85c84e3c0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_23 .net/s v0x85d21e3a0 23, 39 0, o0x85c84e3c0; 0 drivers
v0x85d21e3a0_24 .net/s v0x85d21e3a0 24, 39 0, L_0x85ce28dc0; 1 drivers
o0x85c84e420 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_25 .net/s v0x85d21e3a0 25, 39 0, o0x85c84e420; 0 drivers
o0x85c84e450 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_26 .net/s v0x85d21e3a0 26, 39 0, o0x85c84e450; 0 drivers
o0x85c84e480 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_27 .net/s v0x85d21e3a0 27, 39 0, o0x85c84e480; 0 drivers
o0x85c84e4b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_28 .net/s v0x85d21e3a0 28, 39 0, o0x85c84e4b0; 0 drivers
o0x85c84e4e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_29 .net/s v0x85d21e3a0 29, 39 0, o0x85c84e4e0; 0 drivers
o0x85c84e510 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_30 .net/s v0x85d21e3a0 30, 39 0, o0x85c84e510; 0 drivers
o0x85c84e540 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d21e3a0_31 .net/s v0x85d21e3a0 31, 39 0, o0x85c84e540; 0 drivers
v0x85d21e440_0 .net/s "w_bus", 127 0, L_0x85ce268a0;  alias, 1 drivers
v0x85d21e4e0_0 .net/s "x_bus", 127 0, L_0x85ce26800;  alias, 1 drivers
L_0x85ce26a80 .part L_0x85ce26800, 0, 16;
L_0x85ce26b20 .part L_0x85ce268a0, 0, 16;
L_0x85ce26d00 .part L_0x85ce26800, 16, 16;
L_0x85ce26da0 .part L_0x85ce268a0, 16, 16;
L_0x85ce26f80 .part L_0x85ce26800, 32, 16;
L_0x85ce27020 .part L_0x85ce268a0, 32, 16;
L_0x85ce27200 .part L_0x85ce26800, 48, 16;
L_0x85ce272a0 .part L_0x85ce268a0, 48, 16;
L_0x85ce27480 .part L_0x85ce26800, 64, 16;
L_0x85ce27520 .part L_0x85ce268a0, 64, 16;
L_0x85ce27700 .part L_0x85ce26800, 80, 16;
L_0x85ce277a0 .part L_0x85ce268a0, 80, 16;
L_0x85ce27980 .part L_0x85ce26800, 96, 16;
L_0x85ce27a20 .part L_0x85ce268a0, 96, 16;
L_0x85ce27c00 .part L_0x85ce26800, 112, 16;
L_0x85ce27ca0 .part L_0x85ce268a0, 112, 16;
L_0x85ce28e60 .arith/sum 40, v0x85d21ee40_0, L_0x85ce28dc0;
S_0x85d215e00 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb000 .param/l "i" 1 5 20, +C4<00>;
S_0x85d215f80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d215e00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded500 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded540 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded580 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d212f80_0 .net/s *"_ivl_0", 31 0, L_0x85d265040;  1 drivers
v0x85d213020_0 .net/s *"_ivl_2", 31 0, L_0x85d2650e0;  1 drivers
v0x85d2130c0_0 .net *"_ivl_7", 0 0, L_0x85ce26940;  1 drivers
v0x85d213160_0 .net *"_ivl_9", 7 0, L_0x85ce269e0;  1 drivers
L_0x85c879180 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d213200_0 .net/s "acc_in", 39 0, L_0x85c879180;  1 drivers
v0x85d2132a0_0 .net/s "acc_out", 39 0, L_0x85ce28500;  alias, 1 drivers
v0x85d213340_0 .net/s "product", 31 0, L_0x85d265180;  1 drivers
v0x85d2133e0_0 .net/s "product_ext", 39 0, L_0x85d265220;  1 drivers
v0x85d213480_0 .net/s "w", 15 0, L_0x85ce26b20;  1 drivers
v0x85d213520_0 .net/s "x", 15 0, L_0x85ce26a80;  1 drivers
L_0x85d265040 .extend/s 32, L_0x85ce26a80;
L_0x85d2650e0 .extend/s 32, L_0x85ce26b20;
L_0x85d265180 .arith/mult 32, L_0x85d265040, L_0x85d2650e0;
L_0x85ce26940 .part L_0x85d265180, 31, 1;
L_0x85ce269e0 .repeat 8, 8, L_0x85ce26940;
L_0x85d265220 .concat [ 32 8 0 0], L_0x85d265180, L_0x85ce269e0;
L_0x85ce28500 .arith/sum 40, L_0x85c879180, L_0x85d265220;
S_0x85d216100 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb040 .param/l "i" 1 5 20, +C4<01>;
S_0x85d216280 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d216100;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded5c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded600 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded640 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d2135c0_0 .net/s *"_ivl_0", 31 0, L_0x85d2652c0;  1 drivers
v0x85d213660_0 .net/s *"_ivl_2", 31 0, L_0x85d265360;  1 drivers
v0x85d213700_0 .net *"_ivl_7", 0 0, L_0x85ce26bc0;  1 drivers
v0x85d2137a0_0 .net *"_ivl_9", 7 0, L_0x85ce26c60;  1 drivers
L_0x85c8791c8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d213840_0 .net/s "acc_in", 39 0, L_0x85c8791c8;  1 drivers
v0x85d2138e0_0 .net/s "acc_out", 39 0, L_0x85ce285a0;  alias, 1 drivers
v0x85d213980_0 .net/s "product", 31 0, L_0x85d265400;  1 drivers
v0x85d213a20_0 .net/s "product_ext", 39 0, L_0x85d2654a0;  1 drivers
v0x85d213ac0_0 .net/s "w", 15 0, L_0x85ce26da0;  1 drivers
v0x85d213b60_0 .net/s "x", 15 0, L_0x85ce26d00;  1 drivers
L_0x85d2652c0 .extend/s 32, L_0x85ce26d00;
L_0x85d265360 .extend/s 32, L_0x85ce26da0;
L_0x85d265400 .arith/mult 32, L_0x85d2652c0, L_0x85d265360;
L_0x85ce26bc0 .part L_0x85d265400, 31, 1;
L_0x85ce26c60 .repeat 8, 8, L_0x85ce26bc0;
L_0x85d2654a0 .concat [ 32 8 0 0], L_0x85d265400, L_0x85ce26c60;
L_0x85ce285a0 .arith/sum 40, L_0x85c8791c8, L_0x85d2654a0;
S_0x85d216400 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb080 .param/l "i" 1 5 20, +C4<010>;
S_0x85d216580 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d216400;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded680 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded6c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded700 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d213c00_0 .net/s *"_ivl_0", 31 0, L_0x85d265540;  1 drivers
v0x85d213ca0_0 .net/s *"_ivl_2", 31 0, L_0x85d2655e0;  1 drivers
v0x85d213d40_0 .net *"_ivl_7", 0 0, L_0x85ce26e40;  1 drivers
v0x85d213de0_0 .net *"_ivl_9", 7 0, L_0x85ce26ee0;  1 drivers
L_0x85c879210 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d213e80_0 .net/s "acc_in", 39 0, L_0x85c879210;  1 drivers
v0x85d213f20_0 .net/s "acc_out", 39 0, L_0x85ce28640;  alias, 1 drivers
v0x85d21c000_0 .net/s "product", 31 0, L_0x85d265680;  1 drivers
v0x85d21c0a0_0 .net/s "product_ext", 39 0, L_0x85d265720;  1 drivers
v0x85d21c140_0 .net/s "w", 15 0, L_0x85ce27020;  1 drivers
v0x85d21c1e0_0 .net/s "x", 15 0, L_0x85ce26f80;  1 drivers
L_0x85d265540 .extend/s 32, L_0x85ce26f80;
L_0x85d2655e0 .extend/s 32, L_0x85ce27020;
L_0x85d265680 .arith/mult 32, L_0x85d265540, L_0x85d2655e0;
L_0x85ce26e40 .part L_0x85d265680, 31, 1;
L_0x85ce26ee0 .repeat 8, 8, L_0x85ce26e40;
L_0x85d265720 .concat [ 32 8 0 0], L_0x85d265680, L_0x85ce26ee0;
L_0x85ce28640 .arith/sum 40, L_0x85c879210, L_0x85d265720;
S_0x85d216700 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb0c0 .param/l "i" 1 5 20, +C4<011>;
S_0x85d216880 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d216700;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded740 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded780 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded7c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d21c280_0 .net/s *"_ivl_0", 31 0, L_0x85d2657c0;  1 drivers
v0x85d21c320_0 .net/s *"_ivl_2", 31 0, L_0x85d265860;  1 drivers
v0x85d21c3c0_0 .net *"_ivl_7", 0 0, L_0x85ce270c0;  1 drivers
v0x85d21c460_0 .net *"_ivl_9", 7 0, L_0x85ce27160;  1 drivers
L_0x85c879258 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d21c500_0 .net/s "acc_in", 39 0, L_0x85c879258;  1 drivers
v0x85d21c5a0_0 .net/s "acc_out", 39 0, L_0x85ce286e0;  alias, 1 drivers
v0x85d21c640_0 .net/s "product", 31 0, L_0x85d265900;  1 drivers
v0x85d21c6e0_0 .net/s "product_ext", 39 0, L_0x85d2659a0;  1 drivers
v0x85d21c780_0 .net/s "w", 15 0, L_0x85ce272a0;  1 drivers
v0x85d21c820_0 .net/s "x", 15 0, L_0x85ce27200;  1 drivers
L_0x85d2657c0 .extend/s 32, L_0x85ce27200;
L_0x85d265860 .extend/s 32, L_0x85ce272a0;
L_0x85d265900 .arith/mult 32, L_0x85d2657c0, L_0x85d265860;
L_0x85ce270c0 .part L_0x85d265900, 31, 1;
L_0x85ce27160 .repeat 8, 8, L_0x85ce270c0;
L_0x85d2659a0 .concat [ 32 8 0 0], L_0x85d265900, L_0x85ce27160;
L_0x85ce286e0 .arith/sum 40, L_0x85c879258, L_0x85d2659a0;
S_0x85d216a00 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb100 .param/l "i" 1 5 20, +C4<0100>;
S_0x85d216b80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d216a00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded800 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded840 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded880 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d21c8c0_0 .net/s *"_ivl_0", 31 0, L_0x85d265a40;  1 drivers
v0x85d21c960_0 .net/s *"_ivl_2", 31 0, L_0x85d265ae0;  1 drivers
v0x85d21ca00_0 .net *"_ivl_7", 0 0, L_0x85ce27340;  1 drivers
v0x85d21caa0_0 .net *"_ivl_9", 7 0, L_0x85ce273e0;  1 drivers
L_0x85c8792a0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d21cb40_0 .net/s "acc_in", 39 0, L_0x85c8792a0;  1 drivers
v0x85d21cbe0_0 .net/s "acc_out", 39 0, L_0x85ce28780;  alias, 1 drivers
v0x85d21cc80_0 .net/s "product", 31 0, L_0x85d265b80;  1 drivers
v0x85d21cd20_0 .net/s "product_ext", 39 0, L_0x85d265c20;  1 drivers
v0x85d21cdc0_0 .net/s "w", 15 0, L_0x85ce27520;  1 drivers
v0x85d21ce60_0 .net/s "x", 15 0, L_0x85ce27480;  1 drivers
L_0x85d265a40 .extend/s 32, L_0x85ce27480;
L_0x85d265ae0 .extend/s 32, L_0x85ce27520;
L_0x85d265b80 .arith/mult 32, L_0x85d265a40, L_0x85d265ae0;
L_0x85ce27340 .part L_0x85d265b80, 31, 1;
L_0x85ce273e0 .repeat 8, 8, L_0x85ce27340;
L_0x85d265c20 .concat [ 32 8 0 0], L_0x85d265b80, L_0x85ce273e0;
L_0x85ce28780 .arith/sum 40, L_0x85c8792a0, L_0x85d265c20;
S_0x85d216d00 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb140 .param/l "i" 1 5 20, +C4<0101>;
S_0x85d216e80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d216d00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded8c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded900 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cded940 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d21cf00_0 .net/s *"_ivl_0", 31 0, L_0x85d265cc0;  1 drivers
v0x85d21cfa0_0 .net/s *"_ivl_2", 31 0, L_0x85d265d60;  1 drivers
v0x85d21d040_0 .net *"_ivl_7", 0 0, L_0x85ce275c0;  1 drivers
v0x85d21d0e0_0 .net *"_ivl_9", 7 0, L_0x85ce27660;  1 drivers
L_0x85c8792e8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d21d180_0 .net/s "acc_in", 39 0, L_0x85c8792e8;  1 drivers
v0x85d21d220_0 .net/s "acc_out", 39 0, L_0x85ce28820;  alias, 1 drivers
v0x85d21d2c0_0 .net/s "product", 31 0, L_0x85d265e00;  1 drivers
v0x85d21d360_0 .net/s "product_ext", 39 0, L_0x85d265ea0;  1 drivers
v0x85d21d400_0 .net/s "w", 15 0, L_0x85ce277a0;  1 drivers
v0x85d21d4a0_0 .net/s "x", 15 0, L_0x85ce27700;  1 drivers
L_0x85d265cc0 .extend/s 32, L_0x85ce27700;
L_0x85d265d60 .extend/s 32, L_0x85ce277a0;
L_0x85d265e00 .arith/mult 32, L_0x85d265cc0, L_0x85d265d60;
L_0x85ce275c0 .part L_0x85d265e00, 31, 1;
L_0x85ce27660 .repeat 8, 8, L_0x85ce275c0;
L_0x85d265ea0 .concat [ 32 8 0 0], L_0x85d265e00, L_0x85ce27660;
L_0x85ce28820 .arith/sum 40, L_0x85c8792e8, L_0x85d265ea0;
S_0x85d217000 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb180 .param/l "i" 1 5 20, +C4<0110>;
S_0x85d217180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d217000;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cded980 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cded9c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdeda00 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d21d540_0 .net/s *"_ivl_0", 31 0, L_0x85d265f40;  1 drivers
v0x85d21d5e0_0 .net/s *"_ivl_2", 31 0, L_0x85d265fe0;  1 drivers
v0x85d21d680_0 .net *"_ivl_7", 0 0, L_0x85ce27840;  1 drivers
v0x85d21d720_0 .net *"_ivl_9", 7 0, L_0x85ce278e0;  1 drivers
L_0x85c879330 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d21d7c0_0 .net/s "acc_in", 39 0, L_0x85c879330;  1 drivers
v0x85d21d860_0 .net/s "acc_out", 39 0, L_0x85ce288c0;  alias, 1 drivers
v0x85d21d900_0 .net/s "product", 31 0, L_0x85d266080;  1 drivers
v0x85d21d9a0_0 .net/s "product_ext", 39 0, L_0x85d266120;  1 drivers
v0x85d21da40_0 .net/s "w", 15 0, L_0x85ce27a20;  1 drivers
v0x85d21dae0_0 .net/s "x", 15 0, L_0x85ce27980;  1 drivers
L_0x85d265f40 .extend/s 32, L_0x85ce27980;
L_0x85d265fe0 .extend/s 32, L_0x85ce27a20;
L_0x85d266080 .arith/mult 32, L_0x85d265f40, L_0x85d265fe0;
L_0x85ce27840 .part L_0x85d266080, 31, 1;
L_0x85ce278e0 .repeat 8, 8, L_0x85ce27840;
L_0x85d266120 .concat [ 32 8 0 0], L_0x85d266080, L_0x85ce278e0;
L_0x85ce288c0 .arith/sum 40, L_0x85c879330, L_0x85d266120;
S_0x85d217300 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb1c0 .param/l "i" 1 5 20, +C4<0111>;
S_0x85d217480 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d217300;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdeda40 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdeda80 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdedac0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d21db80_0 .net/s *"_ivl_0", 31 0, L_0x85d2661c0;  1 drivers
v0x85d21dc20_0 .net/s *"_ivl_2", 31 0, L_0x85d266260;  1 drivers
v0x85d21dcc0_0 .net *"_ivl_7", 0 0, L_0x85ce27ac0;  1 drivers
v0x85d21dd60_0 .net *"_ivl_9", 7 0, L_0x85ce27b60;  1 drivers
L_0x85c879378 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d21de00_0 .net/s "acc_in", 39 0, L_0x85c879378;  1 drivers
v0x85d21dea0_0 .net/s "acc_out", 39 0, L_0x85ce28960;  alias, 1 drivers
v0x85d21df40_0 .net/s "product", 31 0, L_0x85d266300;  1 drivers
v0x85d21dfe0_0 .net/s "product_ext", 39 0, L_0x85d2663a0;  1 drivers
v0x85d21e080_0 .net/s "w", 15 0, L_0x85ce27ca0;  1 drivers
v0x85d21e120_0 .net/s "x", 15 0, L_0x85ce27c00;  1 drivers
L_0x85d2661c0 .extend/s 32, L_0x85ce27c00;
L_0x85d266260 .extend/s 32, L_0x85ce27ca0;
L_0x85d266300 .arith/mult 32, L_0x85d2661c0, L_0x85d266260;
L_0x85ce27ac0 .part L_0x85d266300, 31, 1;
L_0x85ce27b60 .repeat 8, 8, L_0x85ce27ac0;
L_0x85d2663a0 .concat [ 32 8 0 0], L_0x85d266300, L_0x85ce27b60;
L_0x85ce28960 .arith/sum 40, L_0x85c879378, L_0x85d2663a0;
S_0x85d217600 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb200 .param/l "i" 1 5 80, +C4<00>;
L_0x85d04d490 .functor BUFZ 40, L_0x85ce28500, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d217780 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb240 .param/l "i" 1 5 80, +C4<01>;
L_0x85d04d500 .functor BUFZ 40, L_0x85ce285a0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d217900 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb280 .param/l "i" 1 5 80, +C4<010>;
L_0x85d04d570 .functor BUFZ 40, L_0x85ce28640, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d217a80 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb2c0 .param/l "i" 1 5 80, +C4<011>;
L_0x85d04d5e0 .functor BUFZ 40, L_0x85ce286e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d217c00 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb300 .param/l "i" 1 5 80, +C4<0100>;
L_0x85d04d650 .functor BUFZ 40, L_0x85ce28780, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d217d80 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb340 .param/l "i" 1 5 80, +C4<0101>;
L_0x85d04d6c0 .functor BUFZ 40, L_0x85ce28820, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d220000 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb380 .param/l "i" 1 5 80, +C4<0110>;
L_0x85d04d730 .functor BUFZ 40, L_0x85ce288c0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d220180 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb3c0 .param/l "i" 1 5 80, +C4<0111>;
L_0x85d04d7a0 .functor BUFZ 40, L_0x85ce28960, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d220300 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb400 .param/l "level" 1 5 92, +C4<00>;
S_0x85d220480 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d220300;
 .timescale 0 0;
P_0x85cdbb440 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce28a00 .arith/sum 40, L_0x85d04d490, L_0x85d04d500;
S_0x85d220600 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d220300;
 .timescale 0 0;
P_0x85cdbb480 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce28aa0 .arith/sum 40, L_0x85d04d570, L_0x85d04d5e0;
S_0x85d220780 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0x85d220300;
 .timescale 0 0;
P_0x85cdbb4c0 .param/l "node" 1 5 94, +C4<010>;
L_0x85ce28b40 .arith/sum 40, L_0x85d04d650, L_0x85d04d6c0;
S_0x85d220900 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0x85d220300;
 .timescale 0 0;
P_0x85cdbb500 .param/l "node" 1 5 94, +C4<011>;
L_0x85ce28be0 .arith/sum 40, L_0x85d04d730, L_0x85d04d7a0;
S_0x85d220a80 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb540 .param/l "level" 1 5 92, +C4<01>;
S_0x85d220c00 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d220a80;
 .timescale 0 0;
P_0x85cdbb580 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce28c80 .arith/sum 40, L_0x85ce28a00, L_0x85ce28aa0;
S_0x85d220d80 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d220a80;
 .timescale 0 0;
P_0x85cdbb5c0 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce28d20 .arith/sum 40, L_0x85ce28b40, L_0x85ce28be0;
S_0x85d220f00 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0x85d215c80;
 .timescale 0 0;
P_0x85cdbb600 .param/l "level" 1 5 92, +C4<010>;
S_0x85d221080 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d220f00;
 .timescale 0 0;
P_0x85cdbb640 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce28dc0 .arith/sum 40, L_0x85ce28c80, L_0x85ce28d20;
S_0x85d221200 .scope generate, "GEN_NEURON[5]" "GEN_NEURON[5]" 3 34, 3 34 0, S_0x100bfba30;
 .timescale 0 0;
P_0x85cdbb680 .param/l "n" 1 3 34, +C4<0101>;
S_0x85d221380 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0x85d221200;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "start";
    .port_info 3 /INPUT 1024 "x_bus";
    .port_info 4 /INPUT 1024 "w_bus";
    .port_info 5 /INPUT 16 "bias";
    .port_info 6 /OUTPUT 16 "y";
    .port_info 7 /OUTPUT 1 "busy";
    .port_info 8 /OUTPUT 1 "done";
P_0x85d221500 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0x85d221540 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0x85d221580 .param/l "GROUPS" 1 4 49, +C4<00000000000000000000000000001000>;
P_0x85d2215c0 .param/l "GROUP_INDEX_WIDTH" 1 4 50, +C4<00000000000000000000000000000011>;
P_0x85d221600 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0x85d221640 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0x85d226e40_0 .net *"_ivl_0", 31 0, L_0x85d266580;  1 drivers
v0x85d226ee0_0 .net *"_ivl_11", 31 0, L_0x85d2666c0;  1 drivers
v0x85d226f80_0 .net *"_ivl_14", 31 0, L_0x85d266760;  1 drivers
L_0x85c879498 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d227020_0 .net *"_ivl_17", 28 0, L_0x85c879498;  1 drivers
L_0x85c8794e0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d2270c0_0 .net/2u *"_ivl_18", 31 0, L_0x85c8794e0;  1 drivers
v0x85d227160_0 .net *"_ivl_21", 31 0, L_0x85d266800;  1 drivers
L_0x85c879528 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d227200_0 .net/2u *"_ivl_22", 31 0, L_0x85c879528;  1 drivers
v0x85d2272a0_0 .net *"_ivl_25", 31 0, L_0x85d2668a0;  1 drivers
v0x85d227340_0 .net *"_ivl_29", 0 0, L_0x85ce31540;  1 drivers
L_0x85c8793c0 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2273e0_0 .net *"_ivl_3", 28 0, L_0x85c8793c0;  1 drivers
v0x85d227480_0 .net *"_ivl_31", 23 0, L_0x85ce315e0;  1 drivers
L_0x85c879408 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d227520_0 .net/2u *"_ivl_4", 31 0, L_0x85c879408;  1 drivers
v0x85d2275c0_0 .net *"_ivl_7", 31 0, L_0x85d266620;  1 drivers
L_0x85c879450 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d227660_0 .net/2u *"_ivl_8", 31 0, L_0x85c879450;  1 drivers
v0x85d227700_0 .var/s "acc", 39 0;
v0x85d2277a0_0 .net/s "acc_next", 39 0, L_0x85ce29900;  1 drivers
v0x85d227840_0 .net/s "bias", 15 0, L_0x85ce31720;  1 drivers
v0x85d2278e0_0 .net/s "bias_ext", 39 0, L_0x85d267de0;  1 drivers
v0x85d227980_0 .var "busy", 0 0;
v0x85d227a20_0 .net "clk", 0 0, o0x85c845fc0;  alias, 0 drivers
v0x85d227ac0_0 .var "done", 0 0;
v0x85d227b60_0 .net/s "final_acc", 39 0, L_0x85ce299a0;  1 drivers
v0x85d227c00_0 .var "group_index", 2 0;
v0x85d227ca0_0 .net "rst", 0 0, o0x85c846080;  alias, 0 drivers
v0x85d227d40_0 .net "start", 0 0, o0x85c8460b0;  alias, 0 drivers
v0x85d227de0_0 .net/s "w_bus", 1023 0, L_0x85ce31680;  1 drivers
v0x85d227e80_0 .net/s "w_group", 127 0, L_0x85ce300a0;  1 drivers
v0x85d227f20_0 .net/s "x_bus", 1023 0, o0x85c846110;  alias, 0 drivers
v0x85d22c000_0 .net/s "x_group", 127 0, L_0x85ce30000;  1 drivers
v0x85d22c0a0_0 .var/s "y", 15 0;
L_0x85d266580 .concat [ 3 29 0 0], v0x85d227c00_0, L_0x85c8793c0;
L_0x85d266620 .arith/mult 32, L_0x85d266580, L_0x85c879408;
L_0x85d2666c0 .arith/mult 32, L_0x85d266620, L_0x85c879450;
L_0x85ce30000 .part/v o0x85c846110, L_0x85d2666c0, 128;
L_0x85d266760 .concat [ 3 29 0 0], v0x85d227c00_0, L_0x85c879498;
L_0x85d266800 .arith/mult 32, L_0x85d266760, L_0x85c8794e0;
L_0x85d2668a0 .arith/mult 32, L_0x85d266800, L_0x85c879528;
L_0x85ce300a0 .part/v L_0x85ce31680, L_0x85d2668a0, 128;
L_0x85ce31540 .part L_0x85ce31720, 15, 1;
L_0x85ce315e0 .repeat 24, 24, L_0x85ce31540;
L_0x85d267de0 .concat [ 16 24 0 0], L_0x85ce31720, L_0x85ce315e0;
L_0x85ce299a0 .arith/sum 40, L_0x85ce29900, L_0x85d267de0;
S_0x85d221680 .scope module, "u_mac8" "mac8" 4 81, 5 1 0, S_0x85d221380;
 .timescale 0 0;
    .port_info 0 /INPUT 128 "x_bus";
    .port_info 1 /INPUT 128 "w_bus";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85d090800 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0x85d090840 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0x85d090880 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0x85d0908c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0x85d226a80_0 .net/s "acc_in", 39 0, v0x85d227700_0;  1 drivers
v0x85d226b20_0 .net/s "acc_out", 39 0, L_0x85ce29900;  alias, 1 drivers
v0x85d226bc0 .array "products", 7 0;
v0x85d226bc0_0 .net/s v0x85d226bc0 0, 39 0, L_0x85ce28fa0; 1 drivers
v0x85d226bc0_1 .net/s v0x85d226bc0 1, 39 0, L_0x85ce29040; 1 drivers
v0x85d226bc0_2 .net/s v0x85d226bc0 2, 39 0, L_0x85ce290e0; 1 drivers
v0x85d226bc0_3 .net/s v0x85d226bc0 3, 39 0, L_0x85ce29180; 1 drivers
v0x85d226bc0_4 .net/s v0x85d226bc0 4, 39 0, L_0x85ce29220; 1 drivers
v0x85d226bc0_5 .net/s v0x85d226bc0 5, 39 0, L_0x85ce292c0; 1 drivers
v0x85d226bc0_6 .net/s v0x85d226bc0 6, 39 0, L_0x85ce29360; 1 drivers
v0x85d226bc0_7 .net/s v0x85d226bc0 7, 39 0, L_0x85ce29400; 1 drivers
v0x85d226c60 .array "tree", 31 0;
v0x85d226c60_0 .net/s v0x85d226c60 0, 39 0, L_0x85d04d810; 1 drivers
v0x85d226c60_1 .net/s v0x85d226c60 1, 39 0, L_0x85d04d880; 1 drivers
v0x85d226c60_2 .net/s v0x85d226c60 2, 39 0, L_0x85d04d8f0; 1 drivers
v0x85d226c60_3 .net/s v0x85d226c60 3, 39 0, L_0x85d04d960; 1 drivers
v0x85d226c60_4 .net/s v0x85d226c60 4, 39 0, L_0x85d04d9d0; 1 drivers
v0x85d226c60_5 .net/s v0x85d226c60 5, 39 0, L_0x85d04da40; 1 drivers
v0x85d226c60_6 .net/s v0x85d226c60 6, 39 0, L_0x85d04dab0; 1 drivers
v0x85d226c60_7 .net/s v0x85d226c60 7, 39 0, L_0x85d04db20; 1 drivers
v0x85d226c60_8 .net/s v0x85d226c60 8, 39 0, L_0x85ce294a0; 1 drivers
v0x85d226c60_9 .net/s v0x85d226c60 9, 39 0, L_0x85ce29540; 1 drivers
v0x85d226c60_10 .net/s v0x85d226c60 10, 39 0, L_0x85ce295e0; 1 drivers
v0x85d226c60_11 .net/s v0x85d226c60 11, 39 0, L_0x85ce29680; 1 drivers
o0x85c850400 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_12 .net/s v0x85d226c60 12, 39 0, o0x85c850400; 0 drivers
o0x85c850430 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_13 .net/s v0x85d226c60 13, 39 0, o0x85c850430; 0 drivers
o0x85c850460 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_14 .net/s v0x85d226c60 14, 39 0, o0x85c850460; 0 drivers
o0x85c850490 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_15 .net/s v0x85d226c60 15, 39 0, o0x85c850490; 0 drivers
v0x85d226c60_16 .net/s v0x85d226c60 16, 39 0, L_0x85ce29720; 1 drivers
v0x85d226c60_17 .net/s v0x85d226c60 17, 39 0, L_0x85ce297c0; 1 drivers
o0x85c850520 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_18 .net/s v0x85d226c60 18, 39 0, o0x85c850520; 0 drivers
o0x85c850550 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_19 .net/s v0x85d226c60 19, 39 0, o0x85c850550; 0 drivers
o0x85c850580 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_20 .net/s v0x85d226c60 20, 39 0, o0x85c850580; 0 drivers
o0x85c8505b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_21 .net/s v0x85d226c60 21, 39 0, o0x85c8505b0; 0 drivers
o0x85c8505e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_22 .net/s v0x85d226c60 22, 39 0, o0x85c8505e0; 0 drivers
o0x85c850610 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_23 .net/s v0x85d226c60 23, 39 0, o0x85c850610; 0 drivers
v0x85d226c60_24 .net/s v0x85d226c60 24, 39 0, L_0x85ce29860; 1 drivers
o0x85c850670 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_25 .net/s v0x85d226c60 25, 39 0, o0x85c850670; 0 drivers
o0x85c8506a0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_26 .net/s v0x85d226c60 26, 39 0, o0x85c8506a0; 0 drivers
o0x85c8506d0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_27 .net/s v0x85d226c60 27, 39 0, o0x85c8506d0; 0 drivers
o0x85c850700 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_28 .net/s v0x85d226c60 28, 39 0, o0x85c850700; 0 drivers
o0x85c850730 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_29 .net/s v0x85d226c60 29, 39 0, o0x85c850730; 0 drivers
o0x85c850760 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_30 .net/s v0x85d226c60 30, 39 0, o0x85c850760; 0 drivers
o0x85c850790 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d226c60_31 .net/s v0x85d226c60 31, 39 0, o0x85c850790; 0 drivers
v0x85d226d00_0 .net/s "w_bus", 127 0, L_0x85ce300a0;  alias, 1 drivers
v0x85d226da0_0 .net/s "x_bus", 127 0, L_0x85ce30000;  alias, 1 drivers
L_0x85ce30280 .part L_0x85ce30000, 0, 16;
L_0x85ce30320 .part L_0x85ce300a0, 0, 16;
L_0x85ce30500 .part L_0x85ce30000, 16, 16;
L_0x85ce305a0 .part L_0x85ce300a0, 16, 16;
L_0x85ce30780 .part L_0x85ce30000, 32, 16;
L_0x85ce30820 .part L_0x85ce300a0, 32, 16;
L_0x85ce30a00 .part L_0x85ce30000, 48, 16;
L_0x85ce30aa0 .part L_0x85ce300a0, 48, 16;
L_0x85ce30c80 .part L_0x85ce30000, 64, 16;
L_0x85ce30d20 .part L_0x85ce300a0, 64, 16;
L_0x85ce30f00 .part L_0x85ce30000, 80, 16;
L_0x85ce30fa0 .part L_0x85ce300a0, 80, 16;
L_0x85ce31180 .part L_0x85ce30000, 96, 16;
L_0x85ce31220 .part L_0x85ce300a0, 96, 16;
L_0x85ce31400 .part L_0x85ce30000, 112, 16;
L_0x85ce314a0 .part L_0x85ce300a0, 112, 16;
L_0x85ce29900 .arith/sum 40, v0x85d227700_0, L_0x85ce29860;
S_0x85d221800 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb6c0 .param/l "i" 1 5 20, +C4<00>;
S_0x85d221980 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d221800;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdedb00 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdedb40 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdedb80 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d21f840_0 .net/s *"_ivl_0", 31 0, L_0x85d266940;  1 drivers
v0x85d21f8e0_0 .net/s *"_ivl_2", 31 0, L_0x85d2669e0;  1 drivers
v0x85d21f980_0 .net *"_ivl_7", 0 0, L_0x85ce30140;  1 drivers
v0x85d21fa20_0 .net *"_ivl_9", 7 0, L_0x85ce301e0;  1 drivers
L_0x85c879570 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d21fac0_0 .net/s "acc_in", 39 0, L_0x85c879570;  1 drivers
v0x85d21fb60_0 .net/s "acc_out", 39 0, L_0x85ce28fa0;  alias, 1 drivers
v0x85d21fc00_0 .net/s "product", 31 0, L_0x85d266a80;  1 drivers
v0x85d21fca0_0 .net/s "product_ext", 39 0, L_0x85d266b20;  1 drivers
v0x85d21fd40_0 .net/s "w", 15 0, L_0x85ce30320;  1 drivers
v0x85d21fde0_0 .net/s "x", 15 0, L_0x85ce30280;  1 drivers
L_0x85d266940 .extend/s 32, L_0x85ce30280;
L_0x85d2669e0 .extend/s 32, L_0x85ce30320;
L_0x85d266a80 .arith/mult 32, L_0x85d266940, L_0x85d2669e0;
L_0x85ce30140 .part L_0x85d266a80, 31, 1;
L_0x85ce301e0 .repeat 8, 8, L_0x85ce30140;
L_0x85d266b20 .concat [ 32 8 0 0], L_0x85d266a80, L_0x85ce301e0;
L_0x85ce28fa0 .arith/sum 40, L_0x85c879570, L_0x85d266b20;
S_0x85d221b00 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb700 .param/l "i" 1 5 20, +C4<01>;
S_0x85d221c80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d221b00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdedbc0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdedc00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdedc40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d21fe80_0 .net/s *"_ivl_0", 31 0, L_0x85d266bc0;  1 drivers
v0x85d21ff20_0 .net/s *"_ivl_2", 31 0, L_0x85d266c60;  1 drivers
v0x85d224000_0 .net *"_ivl_7", 0 0, L_0x85ce303c0;  1 drivers
v0x85d2240a0_0 .net *"_ivl_9", 7 0, L_0x85ce30460;  1 drivers
L_0x85c8795b8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d224140_0 .net/s "acc_in", 39 0, L_0x85c8795b8;  1 drivers
v0x85d2241e0_0 .net/s "acc_out", 39 0, L_0x85ce29040;  alias, 1 drivers
v0x85d224280_0 .net/s "product", 31 0, L_0x85d266d00;  1 drivers
v0x85d224320_0 .net/s "product_ext", 39 0, L_0x85d266da0;  1 drivers
v0x85d2243c0_0 .net/s "w", 15 0, L_0x85ce305a0;  1 drivers
v0x85d224460_0 .net/s "x", 15 0, L_0x85ce30500;  1 drivers
L_0x85d266bc0 .extend/s 32, L_0x85ce30500;
L_0x85d266c60 .extend/s 32, L_0x85ce305a0;
L_0x85d266d00 .arith/mult 32, L_0x85d266bc0, L_0x85d266c60;
L_0x85ce303c0 .part L_0x85d266d00, 31, 1;
L_0x85ce30460 .repeat 8, 8, L_0x85ce303c0;
L_0x85d266da0 .concat [ 32 8 0 0], L_0x85d266d00, L_0x85ce30460;
L_0x85ce29040 .arith/sum 40, L_0x85c8795b8, L_0x85d266da0;
S_0x85d221e00 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb740 .param/l "i" 1 5 20, +C4<010>;
S_0x85d221f80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d221e00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdedc80 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdedcc0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdedd00 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d224500_0 .net/s *"_ivl_0", 31 0, L_0x85d266e40;  1 drivers
v0x85d2245a0_0 .net/s *"_ivl_2", 31 0, L_0x85d266ee0;  1 drivers
v0x85d224640_0 .net *"_ivl_7", 0 0, L_0x85ce30640;  1 drivers
v0x85d2246e0_0 .net *"_ivl_9", 7 0, L_0x85ce306e0;  1 drivers
L_0x85c879600 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d224780_0 .net/s "acc_in", 39 0, L_0x85c879600;  1 drivers
v0x85d224820_0 .net/s "acc_out", 39 0, L_0x85ce290e0;  alias, 1 drivers
v0x85d2248c0_0 .net/s "product", 31 0, L_0x85d266f80;  1 drivers
v0x85d224960_0 .net/s "product_ext", 39 0, L_0x85d267020;  1 drivers
v0x85d224a00_0 .net/s "w", 15 0, L_0x85ce30820;  1 drivers
v0x85d224aa0_0 .net/s "x", 15 0, L_0x85ce30780;  1 drivers
L_0x85d266e40 .extend/s 32, L_0x85ce30780;
L_0x85d266ee0 .extend/s 32, L_0x85ce30820;
L_0x85d266f80 .arith/mult 32, L_0x85d266e40, L_0x85d266ee0;
L_0x85ce30640 .part L_0x85d266f80, 31, 1;
L_0x85ce306e0 .repeat 8, 8, L_0x85ce30640;
L_0x85d267020 .concat [ 32 8 0 0], L_0x85d266f80, L_0x85ce306e0;
L_0x85ce290e0 .arith/sum 40, L_0x85c879600, L_0x85d267020;
S_0x85d222100 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb780 .param/l "i" 1 5 20, +C4<011>;
S_0x85d222280 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d222100;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdedd40 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdedd80 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdeddc0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d224b40_0 .net/s *"_ivl_0", 31 0, L_0x85d2670c0;  1 drivers
v0x85d224be0_0 .net/s *"_ivl_2", 31 0, L_0x85d267160;  1 drivers
v0x85d224c80_0 .net *"_ivl_7", 0 0, L_0x85ce308c0;  1 drivers
v0x85d224d20_0 .net *"_ivl_9", 7 0, L_0x85ce30960;  1 drivers
L_0x85c879648 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d224dc0_0 .net/s "acc_in", 39 0, L_0x85c879648;  1 drivers
v0x85d224e60_0 .net/s "acc_out", 39 0, L_0x85ce29180;  alias, 1 drivers
v0x85d224f00_0 .net/s "product", 31 0, L_0x85d267200;  1 drivers
v0x85d224fa0_0 .net/s "product_ext", 39 0, L_0x85d2672a0;  1 drivers
v0x85d225040_0 .net/s "w", 15 0, L_0x85ce30aa0;  1 drivers
v0x85d2250e0_0 .net/s "x", 15 0, L_0x85ce30a00;  1 drivers
L_0x85d2670c0 .extend/s 32, L_0x85ce30a00;
L_0x85d267160 .extend/s 32, L_0x85ce30aa0;
L_0x85d267200 .arith/mult 32, L_0x85d2670c0, L_0x85d267160;
L_0x85ce308c0 .part L_0x85d267200, 31, 1;
L_0x85ce30960 .repeat 8, 8, L_0x85ce308c0;
L_0x85d2672a0 .concat [ 32 8 0 0], L_0x85d267200, L_0x85ce30960;
L_0x85ce29180 .arith/sum 40, L_0x85c879648, L_0x85d2672a0;
S_0x85d222400 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb7c0 .param/l "i" 1 5 20, +C4<0100>;
S_0x85d222580 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d222400;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdede00 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdede40 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdede80 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d225180_0 .net/s *"_ivl_0", 31 0, L_0x85d267340;  1 drivers
v0x85d225220_0 .net/s *"_ivl_2", 31 0, L_0x85d2673e0;  1 drivers
v0x85d2252c0_0 .net *"_ivl_7", 0 0, L_0x85ce30b40;  1 drivers
v0x85d225360_0 .net *"_ivl_9", 7 0, L_0x85ce30be0;  1 drivers
L_0x85c879690 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d225400_0 .net/s "acc_in", 39 0, L_0x85c879690;  1 drivers
v0x85d2254a0_0 .net/s "acc_out", 39 0, L_0x85ce29220;  alias, 1 drivers
v0x85d225540_0 .net/s "product", 31 0, L_0x85d267480;  1 drivers
v0x85d2255e0_0 .net/s "product_ext", 39 0, L_0x85d267520;  1 drivers
v0x85d225680_0 .net/s "w", 15 0, L_0x85ce30d20;  1 drivers
v0x85d225720_0 .net/s "x", 15 0, L_0x85ce30c80;  1 drivers
L_0x85d267340 .extend/s 32, L_0x85ce30c80;
L_0x85d2673e0 .extend/s 32, L_0x85ce30d20;
L_0x85d267480 .arith/mult 32, L_0x85d267340, L_0x85d2673e0;
L_0x85ce30b40 .part L_0x85d267480, 31, 1;
L_0x85ce30be0 .repeat 8, 8, L_0x85ce30b40;
L_0x85d267520 .concat [ 32 8 0 0], L_0x85d267480, L_0x85ce30be0;
L_0x85ce29220 .arith/sum 40, L_0x85c879690, L_0x85d267520;
S_0x85d222700 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb800 .param/l "i" 1 5 20, +C4<0101>;
S_0x85d222880 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d222700;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdedec0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdedf00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdedf40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d2257c0_0 .net/s *"_ivl_0", 31 0, L_0x85d2675c0;  1 drivers
v0x85d225860_0 .net/s *"_ivl_2", 31 0, L_0x85d267660;  1 drivers
v0x85d225900_0 .net *"_ivl_7", 0 0, L_0x85ce30dc0;  1 drivers
v0x85d2259a0_0 .net *"_ivl_9", 7 0, L_0x85ce30e60;  1 drivers
L_0x85c8796d8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d225a40_0 .net/s "acc_in", 39 0, L_0x85c8796d8;  1 drivers
v0x85d225ae0_0 .net/s "acc_out", 39 0, L_0x85ce292c0;  alias, 1 drivers
v0x85d225b80_0 .net/s "product", 31 0, L_0x85d267700;  1 drivers
v0x85d225c20_0 .net/s "product_ext", 39 0, L_0x85d2677a0;  1 drivers
v0x85d225cc0_0 .net/s "w", 15 0, L_0x85ce30fa0;  1 drivers
v0x85d225d60_0 .net/s "x", 15 0, L_0x85ce30f00;  1 drivers
L_0x85d2675c0 .extend/s 32, L_0x85ce30f00;
L_0x85d267660 .extend/s 32, L_0x85ce30fa0;
L_0x85d267700 .arith/mult 32, L_0x85d2675c0, L_0x85d267660;
L_0x85ce30dc0 .part L_0x85d267700, 31, 1;
L_0x85ce30e60 .repeat 8, 8, L_0x85ce30dc0;
L_0x85d2677a0 .concat [ 32 8 0 0], L_0x85d267700, L_0x85ce30e60;
L_0x85ce292c0 .arith/sum 40, L_0x85c8796d8, L_0x85d2677a0;
S_0x85d222a00 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb840 .param/l "i" 1 5 20, +C4<0110>;
S_0x85d222b80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d222a00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdedf80 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdedfc0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee000 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d225e00_0 .net/s *"_ivl_0", 31 0, L_0x85d267840;  1 drivers
v0x85d225ea0_0 .net/s *"_ivl_2", 31 0, L_0x85d2678e0;  1 drivers
v0x85d225f40_0 .net *"_ivl_7", 0 0, L_0x85ce31040;  1 drivers
v0x85d225fe0_0 .net *"_ivl_9", 7 0, L_0x85ce310e0;  1 drivers
L_0x85c879720 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d226080_0 .net/s "acc_in", 39 0, L_0x85c879720;  1 drivers
v0x85d226120_0 .net/s "acc_out", 39 0, L_0x85ce29360;  alias, 1 drivers
v0x85d2261c0_0 .net/s "product", 31 0, L_0x85d267980;  1 drivers
v0x85d226260_0 .net/s "product_ext", 39 0, L_0x85d267a20;  1 drivers
v0x85d226300_0 .net/s "w", 15 0, L_0x85ce31220;  1 drivers
v0x85d2263a0_0 .net/s "x", 15 0, L_0x85ce31180;  1 drivers
L_0x85d267840 .extend/s 32, L_0x85ce31180;
L_0x85d2678e0 .extend/s 32, L_0x85ce31220;
L_0x85d267980 .arith/mult 32, L_0x85d267840, L_0x85d2678e0;
L_0x85ce31040 .part L_0x85d267980, 31, 1;
L_0x85ce310e0 .repeat 8, 8, L_0x85ce31040;
L_0x85d267a20 .concat [ 32 8 0 0], L_0x85d267980, L_0x85ce310e0;
L_0x85ce29360 .arith/sum 40, L_0x85c879720, L_0x85d267a20;
S_0x85d222d00 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb880 .param/l "i" 1 5 20, +C4<0111>;
S_0x85d222e80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d222d00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee040 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee080 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee0c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d226440_0 .net/s *"_ivl_0", 31 0, L_0x85d267ac0;  1 drivers
v0x85d2264e0_0 .net/s *"_ivl_2", 31 0, L_0x85d267b60;  1 drivers
v0x85d226580_0 .net *"_ivl_7", 0 0, L_0x85ce312c0;  1 drivers
v0x85d226620_0 .net *"_ivl_9", 7 0, L_0x85ce31360;  1 drivers
L_0x85c879768 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2266c0_0 .net/s "acc_in", 39 0, L_0x85c879768;  1 drivers
v0x85d226760_0 .net/s "acc_out", 39 0, L_0x85ce29400;  alias, 1 drivers
v0x85d226800_0 .net/s "product", 31 0, L_0x85d267c00;  1 drivers
v0x85d2268a0_0 .net/s "product_ext", 39 0, L_0x85d267ca0;  1 drivers
v0x85d226940_0 .net/s "w", 15 0, L_0x85ce314a0;  1 drivers
v0x85d2269e0_0 .net/s "x", 15 0, L_0x85ce31400;  1 drivers
L_0x85d267ac0 .extend/s 32, L_0x85ce31400;
L_0x85d267b60 .extend/s 32, L_0x85ce314a0;
L_0x85d267c00 .arith/mult 32, L_0x85d267ac0, L_0x85d267b60;
L_0x85ce312c0 .part L_0x85d267c00, 31, 1;
L_0x85ce31360 .repeat 8, 8, L_0x85ce312c0;
L_0x85d267ca0 .concat [ 32 8 0 0], L_0x85d267c00, L_0x85ce31360;
L_0x85ce29400 .arith/sum 40, L_0x85c879768, L_0x85d267ca0;
S_0x85d223000 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb8c0 .param/l "i" 1 5 80, +C4<00>;
L_0x85d04d810 .functor BUFZ 40, L_0x85ce28fa0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d223180 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb900 .param/l "i" 1 5 80, +C4<01>;
L_0x85d04d880 .functor BUFZ 40, L_0x85ce29040, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d223300 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb940 .param/l "i" 1 5 80, +C4<010>;
L_0x85d04d8f0 .functor BUFZ 40, L_0x85ce290e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d223480 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb980 .param/l "i" 1 5 80, +C4<011>;
L_0x85d04d960 .functor BUFZ 40, L_0x85ce29180, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d223600 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbb9c0 .param/l "i" 1 5 80, +C4<0100>;
L_0x85d04d9d0 .functor BUFZ 40, L_0x85ce29220, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d223780 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbba00 .param/l "i" 1 5 80, +C4<0101>;
L_0x85d04da40 .functor BUFZ 40, L_0x85ce292c0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d223900 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbba40 .param/l "i" 1 5 80, +C4<0110>;
L_0x85d04dab0 .functor BUFZ 40, L_0x85ce29360, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d223a80 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbba80 .param/l "i" 1 5 80, +C4<0111>;
L_0x85d04db20 .functor BUFZ 40, L_0x85ce29400, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d223c00 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbbac0 .param/l "level" 1 5 92, +C4<00>;
S_0x85d223d80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d223c00;
 .timescale 0 0;
P_0x85cdbbb00 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce294a0 .arith/sum 40, L_0x85d04d810, L_0x85d04d880;
S_0x85d228000 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d223c00;
 .timescale 0 0;
P_0x85cdbbb40 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce29540 .arith/sum 40, L_0x85d04d8f0, L_0x85d04d960;
S_0x85d228180 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0x85d223c00;
 .timescale 0 0;
P_0x85cdbbb80 .param/l "node" 1 5 94, +C4<010>;
L_0x85ce295e0 .arith/sum 40, L_0x85d04d9d0, L_0x85d04da40;
S_0x85d228300 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0x85d223c00;
 .timescale 0 0;
P_0x85cdbbbc0 .param/l "node" 1 5 94, +C4<011>;
L_0x85ce29680 .arith/sum 40, L_0x85d04dab0, L_0x85d04db20;
S_0x85d228480 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbbc00 .param/l "level" 1 5 92, +C4<01>;
S_0x85d228600 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d228480;
 .timescale 0 0;
P_0x85cdbbc40 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce29720 .arith/sum 40, L_0x85ce294a0, L_0x85ce29540;
S_0x85d228780 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d228480;
 .timescale 0 0;
P_0x85cdbbc80 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce297c0 .arith/sum 40, L_0x85ce295e0, L_0x85ce29680;
S_0x85d228900 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0x85d221680;
 .timescale 0 0;
P_0x85cdbbcc0 .param/l "level" 1 5 92, +C4<010>;
S_0x85d228a80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d228900;
 .timescale 0 0;
P_0x85cdbbd00 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce29860 .arith/sum 40, L_0x85ce29720, L_0x85ce297c0;
S_0x85d228c00 .scope generate, "GEN_NEURON[6]" "GEN_NEURON[6]" 3 34, 3 34 0, S_0x100bfba30;
 .timescale 0 0;
P_0x85cdbbd40 .param/l "n" 1 3 34, +C4<0110>;
S_0x85d228d80 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0x85d228c00;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "start";
    .port_info 3 /INPUT 1024 "x_bus";
    .port_info 4 /INPUT 1024 "w_bus";
    .port_info 5 /INPUT 16 "bias";
    .port_info 6 /OUTPUT 16 "y";
    .port_info 7 /OUTPUT 1 "busy";
    .port_info 8 /OUTPUT 1 "done";
P_0x85d228f00 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0x85d228f40 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0x85d228f80 .param/l "GROUPS" 1 4 49, +C4<00000000000000000000000000001000>;
P_0x85d228fc0 .param/l "GROUP_INDEX_WIDTH" 1 4 50, +C4<00000000000000000000000000000011>;
P_0x85d229000 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0x85d229040 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0x85d22f700_0 .net *"_ivl_0", 31 0, L_0x85d267e80;  1 drivers
v0x85d22f7a0_0 .net *"_ivl_11", 31 0, L_0x85d268000;  1 drivers
v0x85d22f840_0 .net *"_ivl_14", 31 0, L_0x85d2680a0;  1 drivers
L_0x85c879888 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d22f8e0_0 .net *"_ivl_17", 28 0, L_0x85c879888;  1 drivers
L_0x85c8798d0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d22f980_0 .net/2u *"_ivl_18", 31 0, L_0x85c8798d0;  1 drivers
v0x85d22fa20_0 .net *"_ivl_21", 31 0, L_0x85d268140;  1 drivers
L_0x85c879918 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d22fac0_0 .net/2u *"_ivl_22", 31 0, L_0x85c879918;  1 drivers
v0x85d22fb60_0 .net *"_ivl_25", 31 0, L_0x85d2681e0;  1 drivers
v0x85d22fc00_0 .net *"_ivl_29", 0 0, L_0x85ce32d00;  1 drivers
L_0x85c8797b0 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d22fca0_0 .net *"_ivl_3", 28 0, L_0x85c8797b0;  1 drivers
v0x85d22fd40_0 .net *"_ivl_31", 23 0, L_0x85ce32da0;  1 drivers
L_0x85c8797f8 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d22fde0_0 .net/2u *"_ivl_4", 31 0, L_0x85c8797f8;  1 drivers
v0x85d22fe80_0 .net *"_ivl_7", 31 0, L_0x85d267f20;  1 drivers
L_0x85c879840 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d22ff20_0 .net/2u *"_ivl_8", 31 0, L_0x85c879840;  1 drivers
v0x85d234000_0 .var/s "acc", 39 0;
v0x85d2340a0_0 .net/s "acc_next", 39 0, L_0x85ce2a3a0;  1 drivers
v0x85d234140_0 .net/s "bias", 15 0, L_0x85ce32ee0;  1 drivers
v0x85d2341e0_0 .net/s "bias_ext", 39 0, L_0x85d269720;  1 drivers
v0x85d234280_0 .var "busy", 0 0;
v0x85d234320_0 .net "clk", 0 0, o0x85c845fc0;  alias, 0 drivers
v0x85d2343c0_0 .var "done", 0 0;
v0x85d234460_0 .net/s "final_acc", 39 0, L_0x85ce2a440;  1 drivers
v0x85d234500_0 .var "group_index", 2 0;
v0x85d2345a0_0 .net "rst", 0 0, o0x85c846080;  alias, 0 drivers
v0x85d234640_0 .net "start", 0 0, o0x85c8460b0;  alias, 0 drivers
v0x85d2346e0_0 .net/s "w_bus", 1023 0, L_0x85ce32e40;  1 drivers
v0x85d234780_0 .net/s "w_group", 127 0, L_0x85ce31860;  1 drivers
v0x85d234820_0 .net/s "x_bus", 1023 0, o0x85c846110;  alias, 0 drivers
v0x85d2348c0_0 .net/s "x_group", 127 0, L_0x85ce317c0;  1 drivers
v0x85d234960_0 .var/s "y", 15 0;
L_0x85d267e80 .concat [ 3 29 0 0], v0x85d234500_0, L_0x85c8797b0;
L_0x85d267f20 .arith/mult 32, L_0x85d267e80, L_0x85c8797f8;
L_0x85d268000 .arith/mult 32, L_0x85d267f20, L_0x85c879840;
L_0x85ce317c0 .part/v o0x85c846110, L_0x85d268000, 128;
L_0x85d2680a0 .concat [ 3 29 0 0], v0x85d234500_0, L_0x85c879888;
L_0x85d268140 .arith/mult 32, L_0x85d2680a0, L_0x85c8798d0;
L_0x85d2681e0 .arith/mult 32, L_0x85d268140, L_0x85c879918;
L_0x85ce31860 .part/v L_0x85ce32e40, L_0x85d2681e0, 128;
L_0x85ce32d00 .part L_0x85ce32ee0, 15, 1;
L_0x85ce32da0 .repeat 24, 24, L_0x85ce32d00;
L_0x85d269720 .concat [ 16 24 0 0], L_0x85ce32ee0, L_0x85ce32da0;
L_0x85ce2a440 .arith/sum 40, L_0x85ce2a3a0, L_0x85d269720;
S_0x85d229080 .scope module, "u_mac8" "mac8" 4 81, 5 1 0, S_0x85d228d80;
 .timescale 0 0;
    .port_info 0 /INPUT 128 "x_bus";
    .port_info 1 /INPUT 128 "w_bus";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85d090900 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0x85d090940 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0x85d090980 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0x85d0909c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0x85d22f340_0 .net/s "acc_in", 39 0, v0x85d234000_0;  1 drivers
v0x85d22f3e0_0 .net/s "acc_out", 39 0, L_0x85ce2a3a0;  alias, 1 drivers
v0x85d22f480 .array "products", 7 0;
v0x85d22f480_0 .net/s v0x85d22f480 0, 39 0, L_0x85ce29a40; 1 drivers
v0x85d22f480_1 .net/s v0x85d22f480 1, 39 0, L_0x85ce29ae0; 1 drivers
v0x85d22f480_2 .net/s v0x85d22f480 2, 39 0, L_0x85ce29b80; 1 drivers
v0x85d22f480_3 .net/s v0x85d22f480 3, 39 0, L_0x85ce29c20; 1 drivers
v0x85d22f480_4 .net/s v0x85d22f480 4, 39 0, L_0x85ce29cc0; 1 drivers
v0x85d22f480_5 .net/s v0x85d22f480 5, 39 0, L_0x85ce29d60; 1 drivers
v0x85d22f480_6 .net/s v0x85d22f480 6, 39 0, L_0x85ce29e00; 1 drivers
v0x85d22f480_7 .net/s v0x85d22f480 7, 39 0, L_0x85ce29ea0; 1 drivers
v0x85d22f520 .array "tree", 31 0;
v0x85d22f520_0 .net/s v0x85d22f520 0, 39 0, L_0x85d04db90; 1 drivers
v0x85d22f520_1 .net/s v0x85d22f520 1, 39 0, L_0x85d04dc00; 1 drivers
v0x85d22f520_2 .net/s v0x85d22f520 2, 39 0, L_0x85d04dc70; 1 drivers
v0x85d22f520_3 .net/s v0x85d22f520 3, 39 0, L_0x85d04dce0; 1 drivers
v0x85d22f520_4 .net/s v0x85d22f520 4, 39 0, L_0x85d04dd50; 1 drivers
v0x85d22f520_5 .net/s v0x85d22f520 5, 39 0, L_0x85d04ddc0; 1 drivers
v0x85d22f520_6 .net/s v0x85d22f520 6, 39 0, L_0x85d04de30; 1 drivers
v0x85d22f520_7 .net/s v0x85d22f520 7, 39 0, L_0x85d04dea0; 1 drivers
v0x85d22f520_8 .net/s v0x85d22f520 8, 39 0, L_0x85ce29f40; 1 drivers
v0x85d22f520_9 .net/s v0x85d22f520 9, 39 0, L_0x85ce29fe0; 1 drivers
v0x85d22f520_10 .net/s v0x85d22f520 10, 39 0, L_0x85ce2a080; 1 drivers
v0x85d22f520_11 .net/s v0x85d22f520 11, 39 0, L_0x85ce2a120; 1 drivers
o0x85c852650 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_12 .net/s v0x85d22f520 12, 39 0, o0x85c852650; 0 drivers
o0x85c852680 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_13 .net/s v0x85d22f520 13, 39 0, o0x85c852680; 0 drivers
o0x85c8526b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_14 .net/s v0x85d22f520 14, 39 0, o0x85c8526b0; 0 drivers
o0x85c8526e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_15 .net/s v0x85d22f520 15, 39 0, o0x85c8526e0; 0 drivers
v0x85d22f520_16 .net/s v0x85d22f520 16, 39 0, L_0x85ce2a1c0; 1 drivers
v0x85d22f520_17 .net/s v0x85d22f520 17, 39 0, L_0x85ce2a260; 1 drivers
o0x85c852770 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_18 .net/s v0x85d22f520 18, 39 0, o0x85c852770; 0 drivers
o0x85c8527a0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_19 .net/s v0x85d22f520 19, 39 0, o0x85c8527a0; 0 drivers
o0x85c8527d0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_20 .net/s v0x85d22f520 20, 39 0, o0x85c8527d0; 0 drivers
o0x85c852800 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_21 .net/s v0x85d22f520 21, 39 0, o0x85c852800; 0 drivers
o0x85c852830 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_22 .net/s v0x85d22f520 22, 39 0, o0x85c852830; 0 drivers
o0x85c852860 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_23 .net/s v0x85d22f520 23, 39 0, o0x85c852860; 0 drivers
v0x85d22f520_24 .net/s v0x85d22f520 24, 39 0, L_0x85ce2a300; 1 drivers
o0x85c8528c0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_25 .net/s v0x85d22f520 25, 39 0, o0x85c8528c0; 0 drivers
o0x85c8528f0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_26 .net/s v0x85d22f520 26, 39 0, o0x85c8528f0; 0 drivers
o0x85c852920 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_27 .net/s v0x85d22f520 27, 39 0, o0x85c852920; 0 drivers
o0x85c852950 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_28 .net/s v0x85d22f520 28, 39 0, o0x85c852950; 0 drivers
o0x85c852980 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_29 .net/s v0x85d22f520 29, 39 0, o0x85c852980; 0 drivers
o0x85c8529b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_30 .net/s v0x85d22f520 30, 39 0, o0x85c8529b0; 0 drivers
o0x85c8529e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d22f520_31 .net/s v0x85d22f520 31, 39 0, o0x85c8529e0; 0 drivers
v0x85d22f5c0_0 .net/s "w_bus", 127 0, L_0x85ce31860;  alias, 1 drivers
v0x85d22f660_0 .net/s "x_bus", 127 0, L_0x85ce317c0;  alias, 1 drivers
L_0x85ce31a40 .part L_0x85ce317c0, 0, 16;
L_0x85ce31ae0 .part L_0x85ce31860, 0, 16;
L_0x85ce31cc0 .part L_0x85ce317c0, 16, 16;
L_0x85ce31d60 .part L_0x85ce31860, 16, 16;
L_0x85ce31f40 .part L_0x85ce317c0, 32, 16;
L_0x85ce31fe0 .part L_0x85ce31860, 32, 16;
L_0x85ce321c0 .part L_0x85ce317c0, 48, 16;
L_0x85ce32260 .part L_0x85ce31860, 48, 16;
L_0x85ce32440 .part L_0x85ce317c0, 64, 16;
L_0x85ce324e0 .part L_0x85ce31860, 64, 16;
L_0x85ce326c0 .part L_0x85ce317c0, 80, 16;
L_0x85ce32760 .part L_0x85ce31860, 80, 16;
L_0x85ce32940 .part L_0x85ce317c0, 96, 16;
L_0x85ce329e0 .part L_0x85ce31860, 96, 16;
L_0x85ce32bc0 .part L_0x85ce317c0, 112, 16;
L_0x85ce32c60 .part L_0x85ce31860, 112, 16;
L_0x85ce2a3a0 .arith/sum 40, v0x85d234000_0, L_0x85ce2a300;
S_0x85d229200 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0x85d229080;
 .timescale 0 0;
P_0x85cdbbd80 .param/l "i" 1 5 20, +C4<00>;
S_0x85d229380 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d229200;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee100 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee140 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee180 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d22c140_0 .net/s *"_ivl_0", 31 0, L_0x85d268280;  1 drivers
v0x85d22c1e0_0 .net/s *"_ivl_2", 31 0, L_0x85d268320;  1 drivers
v0x85d22c280_0 .net *"_ivl_7", 0 0, L_0x85ce31900;  1 drivers
v0x85d22c320_0 .net *"_ivl_9", 7 0, L_0x85ce319a0;  1 drivers
L_0x85c879960 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d22c3c0_0 .net/s "acc_in", 39 0, L_0x85c879960;  1 drivers
v0x85d22c460_0 .net/s "acc_out", 39 0, L_0x85ce29a40;  alias, 1 drivers
v0x85d22c500_0 .net/s "product", 31 0, L_0x85d2683c0;  1 drivers
v0x85d22c5a0_0 .net/s "product_ext", 39 0, L_0x85d268460;  1 drivers
v0x85d22c640_0 .net/s "w", 15 0, L_0x85ce31ae0;  1 drivers
v0x85d22c6e0_0 .net/s "x", 15 0, L_0x85ce31a40;  1 drivers
L_0x85d268280 .extend/s 32, L_0x85ce31a40;
L_0x85d268320 .extend/s 32, L_0x85ce31ae0;
L_0x85d2683c0 .arith/mult 32, L_0x85d268280, L_0x85d268320;
L_0x85ce31900 .part L_0x85d2683c0, 31, 1;
L_0x85ce319a0 .repeat 8, 8, L_0x85ce31900;
L_0x85d268460 .concat [ 32 8 0 0], L_0x85d2683c0, L_0x85ce319a0;
L_0x85ce29a40 .arith/sum 40, L_0x85c879960, L_0x85d268460;
S_0x85d229500 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0x85d229080;
 .timescale 0 0;
P_0x85cdbbdc0 .param/l "i" 1 5 20, +C4<01>;
S_0x85d229680 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d229500;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee1c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee200 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee240 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d22c780_0 .net/s *"_ivl_0", 31 0, L_0x85d268500;  1 drivers
v0x85d22c820_0 .net/s *"_ivl_2", 31 0, L_0x85d2685a0;  1 drivers
v0x85d22c8c0_0 .net *"_ivl_7", 0 0, L_0x85ce31b80;  1 drivers
v0x85d22c960_0 .net *"_ivl_9", 7 0, L_0x85ce31c20;  1 drivers
L_0x85c8799a8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d22ca00_0 .net/s "acc_in", 39 0, L_0x85c8799a8;  1 drivers
v0x85d22caa0_0 .net/s "acc_out", 39 0, L_0x85ce29ae0;  alias, 1 drivers
v0x85d22cb40_0 .net/s "product", 31 0, L_0x85d268640;  1 drivers
v0x85d22cbe0_0 .net/s "product_ext", 39 0, L_0x85d2686e0;  1 drivers
v0x85d22cc80_0 .net/s "w", 15 0, L_0x85ce31d60;  1 drivers
v0x85d22cd20_0 .net/s "x", 15 0, L_0x85ce31cc0;  1 drivers
L_0x85d268500 .extend/s 32, L_0x85ce31cc0;
L_0x85d2685a0 .extend/s 32, L_0x85ce31d60;
L_0x85d268640 .arith/mult 32, L_0x85d268500, L_0x85d2685a0;
L_0x85ce31b80 .part L_0x85d268640, 31, 1;
L_0x85ce31c20 .repeat 8, 8, L_0x85ce31b80;
L_0x85d2686e0 .concat [ 32 8 0 0], L_0x85d268640, L_0x85ce31c20;
L_0x85ce29ae0 .arith/sum 40, L_0x85c8799a8, L_0x85d2686e0;
S_0x85d229800 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0x85d229080;
 .timescale 0 0;
P_0x85cdbbe00 .param/l "i" 1 5 20, +C4<010>;
S_0x85d229980 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d229800;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee280 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee2c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee300 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d22cdc0_0 .net/s *"_ivl_0", 31 0, L_0x85d268780;  1 drivers
v0x85d22ce60_0 .net/s *"_ivl_2", 31 0, L_0x85d268820;  1 drivers
v0x85d22cf00_0 .net *"_ivl_7", 0 0, L_0x85ce31e00;  1 drivers
v0x85d22cfa0_0 .net *"_ivl_9", 7 0, L_0x85ce31ea0;  1 drivers
L_0x85c8799f0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d22d040_0 .net/s "acc_in", 39 0, L_0x85c8799f0;  1 drivers
v0x85d22d0e0_0 .net/s "acc_out", 39 0, L_0x85ce29b80;  alias, 1 drivers
v0x85d22d180_0 .net/s "product", 31 0, L_0x85d2688c0;  1 drivers
v0x85d22d220_0 .net/s "product_ext", 39 0, L_0x85d268960;  1 drivers
v0x85d22d2c0_0 .net/s "w", 15 0, L_0x85ce31fe0;  1 drivers
v0x85d22d360_0 .net/s "x", 15 0, L_0x85ce31f40;  1 drivers
L_0x85d268780 .extend/s 32, L_0x85ce31f40;
L_0x85d268820 .extend/s 32, L_0x85ce31fe0;
L_0x85d2688c0 .arith/mult 32, L_0x85d268780, L_0x85d268820;
L_0x85ce31e00 .part L_0x85d2688c0, 31, 1;
L_0x85ce31ea0 .repeat 8, 8, L_0x85ce31e00;
L_0x85d268960 .concat [ 32 8 0 0], L_0x85d2688c0, L_0x85ce31ea0;
L_0x85ce29b80 .arith/sum 40, L_0x85c8799f0, L_0x85d268960;
S_0x85d229b00 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0x85d229080;
 .timescale 0 0;
P_0x85cdbbe40 .param/l "i" 1 5 20, +C4<011>;
S_0x85d229c80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d229b00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee340 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee380 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee3c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d22d400_0 .net/s *"_ivl_0", 31 0, L_0x85d268a00;  1 drivers
v0x85d22d4a0_0 .net/s *"_ivl_2", 31 0, L_0x85d268aa0;  1 drivers
v0x85d22d540_0 .net *"_ivl_7", 0 0, L_0x85ce32080;  1 drivers
v0x85d22d5e0_0 .net *"_ivl_9", 7 0, L_0x85ce32120;  1 drivers
L_0x85c879a38 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d22d680_0 .net/s "acc_in", 39 0, L_0x85c879a38;  1 drivers
v0x85d22d720_0 .net/s "acc_out", 39 0, L_0x85ce29c20;  alias, 1 drivers
v0x85d22d7c0_0 .net/s "product", 31 0, L_0x85d268b40;  1 drivers
v0x85d22d860_0 .net/s "product_ext", 39 0, L_0x85d268be0;  1 drivers
v0x85d22d900_0 .net/s "w", 15 0, L_0x85ce32260;  1 drivers
v0x85d22d9a0_0 .net/s "x", 15 0, L_0x85ce321c0;  1 drivers
L_0x85d268a00 .extend/s 32, L_0x85ce321c0;
L_0x85d268aa0 .extend/s 32, L_0x85ce32260;
L_0x85d268b40 .arith/mult 32, L_0x85d268a00, L_0x85d268aa0;
L_0x85ce32080 .part L_0x85d268b40, 31, 1;
L_0x85ce32120 .repeat 8, 8, L_0x85ce32080;
L_0x85d268be0 .concat [ 32 8 0 0], L_0x85d268b40, L_0x85ce32120;
L_0x85ce29c20 .arith/sum 40, L_0x85c879a38, L_0x85d268be0;
S_0x85d229e00 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0x85d229080;
 .timescale 0 0;
P_0x85cdbbe80 .param/l "i" 1 5 20, +C4<0100>;
S_0x85d229f80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d229e00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee400 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee440 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee480 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d22da40_0 .net/s *"_ivl_0", 31 0, L_0x85d268c80;  1 drivers
v0x85d22dae0_0 .net/s *"_ivl_2", 31 0, L_0x85d268d20;  1 drivers
v0x85d22db80_0 .net *"_ivl_7", 0 0, L_0x85ce32300;  1 drivers
v0x85d22dc20_0 .net *"_ivl_9", 7 0, L_0x85ce323a0;  1 drivers
L_0x85c879a80 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d22dcc0_0 .net/s "acc_in", 39 0, L_0x85c879a80;  1 drivers
v0x85d22dd60_0 .net/s "acc_out", 39 0, L_0x85ce29cc0;  alias, 1 drivers
v0x85d22de00_0 .net/s "product", 31 0, L_0x85d268dc0;  1 drivers
v0x85d22dea0_0 .net/s "product_ext", 39 0, L_0x85d268e60;  1 drivers
v0x85d22df40_0 .net/s "w", 15 0, L_0x85ce324e0;  1 drivers
v0x85d22dfe0_0 .net/s "x", 15 0, L_0x85ce32440;  1 drivers
L_0x85d268c80 .extend/s 32, L_0x85ce32440;
L_0x85d268d20 .extend/s 32, L_0x85ce324e0;
L_0x85d268dc0 .arith/mult 32, L_0x85d268c80, L_0x85d268d20;
L_0x85ce32300 .part L_0x85d268dc0, 31, 1;
L_0x85ce323a0 .repeat 8, 8, L_0x85ce32300;
L_0x85d268e60 .concat [ 32 8 0 0], L_0x85d268dc0, L_0x85ce323a0;
L_0x85ce29cc0 .arith/sum 40, L_0x85c879a80, L_0x85d268e60;
S_0x85d22a100 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0x85d229080;
 .timescale 0 0;
P_0x85cdbbec0 .param/l "i" 1 5 20, +C4<0101>;
S_0x85d22a280 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d22a100;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee4c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee500 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee540 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d22e080_0 .net/s *"_ivl_0", 31 0, L_0x85d268f00;  1 drivers
v0x85d22e120_0 .net/s *"_ivl_2", 31 0, L_0x85d268fa0;  1 drivers
v0x85d22e1c0_0 .net *"_ivl_7", 0 0, L_0x85ce32580;  1 drivers
v0x85d22e260_0 .net *"_ivl_9", 7 0, L_0x85ce32620;  1 drivers
L_0x85c879ac8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d22e300_0 .net/s "acc_in", 39 0, L_0x85c879ac8;  1 drivers
v0x85d22e3a0_0 .net/s "acc_out", 39 0, L_0x85ce29d60;  alias, 1 drivers
v0x85d22e440_0 .net/s "product", 31 0, L_0x85d269040;  1 drivers
v0x85d22e4e0_0 .net/s "product_ext", 39 0, L_0x85d2690e0;  1 drivers
v0x85d22e580_0 .net/s "w", 15 0, L_0x85ce32760;  1 drivers
v0x85d22e620_0 .net/s "x", 15 0, L_0x85ce326c0;  1 drivers
L_0x85d268f00 .extend/s 32, L_0x85ce326c0;
L_0x85d268fa0 .extend/s 32, L_0x85ce32760;
L_0x85d269040 .arith/mult 32, L_0x85d268f00, L_0x85d268fa0;
L_0x85ce32580 .part L_0x85d269040, 31, 1;
L_0x85ce32620 .repeat 8, 8, L_0x85ce32580;
L_0x85d2690e0 .concat [ 32 8 0 0], L_0x85d269040, L_0x85ce32620;
L_0x85ce29d60 .arith/sum 40, L_0x85c879ac8, L_0x85d2690e0;
S_0x85d22a400 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0x85d229080;
 .timescale 0 0;
P_0x85cdbbf00 .param/l "i" 1 5 20, +C4<0110>;
S_0x85d22a580 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d22a400;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee580 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee5c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee600 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d22e6c0_0 .net/s *"_ivl_0", 31 0, L_0x85d269180;  1 drivers
v0x85d22e760_0 .net/s *"_ivl_2", 31 0, L_0x85d269220;  1 drivers
v0x85d22e800_0 .net *"_ivl_7", 0 0, L_0x85ce32800;  1 drivers
v0x85d22e8a0_0 .net *"_ivl_9", 7 0, L_0x85ce328a0;  1 drivers
L_0x85c879b10 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d22e940_0 .net/s "acc_in", 39 0, L_0x85c879b10;  1 drivers
v0x85d22e9e0_0 .net/s "acc_out", 39 0, L_0x85ce29e00;  alias, 1 drivers
v0x85d22ea80_0 .net/s "product", 31 0, L_0x85d2692c0;  1 drivers
v0x85d22eb20_0 .net/s "product_ext", 39 0, L_0x85d269360;  1 drivers
v0x85d22ebc0_0 .net/s "w", 15 0, L_0x85ce329e0;  1 drivers
v0x85d22ec60_0 .net/s "x", 15 0, L_0x85ce32940;  1 drivers
L_0x85d269180 .extend/s 32, L_0x85ce32940;
L_0x85d269220 .extend/s 32, L_0x85ce329e0;
L_0x85d2692c0 .arith/mult 32, L_0x85d269180, L_0x85d269220;
L_0x85ce32800 .part L_0x85d2692c0, 31, 1;
L_0x85ce328a0 .repeat 8, 8, L_0x85ce32800;
L_0x85d269360 .concat [ 32 8 0 0], L_0x85d2692c0, L_0x85ce328a0;
L_0x85ce29e00 .arith/sum 40, L_0x85c879b10, L_0x85d269360;
S_0x85d22a700 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0x85d229080;
 .timescale 0 0;
P_0x85cdbbf40 .param/l "i" 1 5 20, +C4<0111>;
S_0x85d22a880 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d22a700;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee640 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee680 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee6c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d22ed00_0 .net/s *"_ivl_0", 31 0, L_0x85d269400;  1 drivers
v0x85d22eda0_0 .net/s *"_ivl_2", 31 0, L_0x85d2694a0;  1 drivers
v0x85d22ee40_0 .net *"_ivl_7", 0 0, L_0x85ce32a80;  1 drivers
v0x85d22eee0_0 .net *"_ivl_9", 7 0, L_0x85ce32b20;  1 drivers
L_0x85c879b58 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d22ef80_0 .net/s "acc_in", 39 0, L_0x85c879b58;  1 drivers
v0x85d22f020_0 .net/s "acc_out", 39 0, L_0x85ce29ea0;  alias, 1 drivers
v0x85d22f0c0_0 .net/s "product", 31 0, L_0x85d269540;  1 drivers
v0x85d22f160_0 .net/s "product_ext", 39 0, L_0x85d2695e0;  1 drivers
v0x85d22f200_0 .net/s "w", 15 0, L_0x85ce32c60;  1 drivers
v0x85d22f2a0_0 .net/s "x", 15 0, L_0x85ce32bc0;  1 drivers
L_0x85d269400 .extend/s 32, L_0x85ce32bc0;
L_0x85d2694a0 .extend/s 32, L_0x85ce32c60;
L_0x85d269540 .arith/mult 32, L_0x85d269400, L_0x85d2694a0;
L_0x85ce32a80 .part L_0x85d269540, 31, 1;
L_0x85ce32b20 .repeat 8, 8, L_0x85ce32a80;
L_0x85d2695e0 .concat [ 32 8 0 0], L_0x85d269540, L_0x85ce32b20;
L_0x85ce29ea0 .arith/sum 40, L_0x85c879b58, L_0x85d2695e0;
S_0x85d22aa00 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0x85d229080;
 .timescale 0 0;
P_0x85cdbbf80 .param/l "i" 1 5 80, +C4<00>;
L_0x85d04db90 .functor BUFZ 40, L_0x85ce29a40, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d22ab80 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0x85d229080;
 .timescale 0 0;
P_0x85cdbbfc0 .param/l "i" 1 5 80, +C4<01>;
L_0x85d04dc00 .functor BUFZ 40, L_0x85ce29ae0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d22ad00 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0x85d229080;
 .timescale 0 0;
P_0x85ce08000 .param/l "i" 1 5 80, +C4<010>;
L_0x85d04dc70 .functor BUFZ 40, L_0x85ce29b80, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d22ae80 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0x85d229080;
 .timescale 0 0;
P_0x85ce08040 .param/l "i" 1 5 80, +C4<011>;
L_0x85d04dce0 .functor BUFZ 40, L_0x85ce29c20, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d22b000 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0x85d229080;
 .timescale 0 0;
P_0x85ce08080 .param/l "i" 1 5 80, +C4<0100>;
L_0x85d04dd50 .functor BUFZ 40, L_0x85ce29cc0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d22b180 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0x85d229080;
 .timescale 0 0;
P_0x85ce080c0 .param/l "i" 1 5 80, +C4<0101>;
L_0x85d04ddc0 .functor BUFZ 40, L_0x85ce29d60, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d22b300 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0x85d229080;
 .timescale 0 0;
P_0x85ce08100 .param/l "i" 1 5 80, +C4<0110>;
L_0x85d04de30 .functor BUFZ 40, L_0x85ce29e00, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d22b480 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0x85d229080;
 .timescale 0 0;
P_0x85ce08140 .param/l "i" 1 5 80, +C4<0111>;
L_0x85d04dea0 .functor BUFZ 40, L_0x85ce29ea0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d22b600 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0x85d229080;
 .timescale 0 0;
P_0x85ce08180 .param/l "level" 1 5 92, +C4<00>;
S_0x85d22b780 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d22b600;
 .timescale 0 0;
P_0x85ce081c0 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce29f40 .arith/sum 40, L_0x85d04db90, L_0x85d04dc00;
S_0x85d22b900 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d22b600;
 .timescale 0 0;
P_0x85ce08200 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce29fe0 .arith/sum 40, L_0x85d04dc70, L_0x85d04dce0;
S_0x85d22ba80 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0x85d22b600;
 .timescale 0 0;
P_0x85ce08240 .param/l "node" 1 5 94, +C4<010>;
L_0x85ce2a080 .arith/sum 40, L_0x85d04dd50, L_0x85d04ddc0;
S_0x85d22bc00 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0x85d22b600;
 .timescale 0 0;
P_0x85ce08280 .param/l "node" 1 5 94, +C4<011>;
L_0x85ce2a120 .arith/sum 40, L_0x85d04de30, L_0x85d04dea0;
S_0x85d22bd80 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0x85d229080;
 .timescale 0 0;
P_0x85ce082c0 .param/l "level" 1 5 92, +C4<01>;
S_0x85d230000 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d22bd80;
 .timescale 0 0;
P_0x85ce08300 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce2a1c0 .arith/sum 40, L_0x85ce29f40, L_0x85ce29fe0;
S_0x85d230180 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d22bd80;
 .timescale 0 0;
P_0x85ce08340 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce2a260 .arith/sum 40, L_0x85ce2a080, L_0x85ce2a120;
S_0x85d230300 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0x85d229080;
 .timescale 0 0;
P_0x85ce08380 .param/l "level" 1 5 92, +C4<010>;
S_0x85d230480 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d230300;
 .timescale 0 0;
P_0x85ce083c0 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce2a300 .arith/sum 40, L_0x85ce2a1c0, L_0x85ce2a260;
S_0x85d230600 .scope generate, "GEN_NEURON[7]" "GEN_NEURON[7]" 3 34, 3 34 0, S_0x100bfba30;
 .timescale 0 0;
P_0x85ce08400 .param/l "n" 1 3 34, +C4<0111>;
S_0x85d230780 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0x85d230600;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "start";
    .port_info 3 /INPUT 1024 "x_bus";
    .port_info 4 /INPUT 1024 "w_bus";
    .port_info 5 /INPUT 16 "bias";
    .port_info 6 /OUTPUT 16 "y";
    .port_info 7 /OUTPUT 1 "busy";
    .port_info 8 /OUTPUT 1 "done";
P_0x85d230900 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0x85d230940 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0x85d230980 .param/l "GROUPS" 1 4 49, +C4<00000000000000000000000000001000>;
P_0x85d2309c0 .param/l "GROUP_INDEX_WIDTH" 1 4 50, +C4<00000000000000000000000000000011>;
P_0x85d230a00 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0x85d230a40 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0x85d238000_0 .net *"_ivl_0", 31 0, L_0x85d2697c0;  1 drivers
v0x85d2380a0_0 .net *"_ivl_11", 31 0, L_0x85d269900;  1 drivers
v0x85d238140_0 .net *"_ivl_14", 31 0, L_0x85d2699a0;  1 drivers
L_0x85c879c78 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2381e0_0 .net *"_ivl_17", 28 0, L_0x85c879c78;  1 drivers
L_0x85c879cc0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d238280_0 .net/2u *"_ivl_18", 31 0, L_0x85c879cc0;  1 drivers
v0x85d238320_0 .net *"_ivl_21", 31 0, L_0x85d269a40;  1 drivers
L_0x85c879d08 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d2383c0_0 .net/2u *"_ivl_22", 31 0, L_0x85c879d08;  1 drivers
v0x85d238460_0 .net *"_ivl_25", 31 0, L_0x85d269ae0;  1 drivers
v0x85d238500_0 .net *"_ivl_29", 0 0, L_0x85ce38500;  1 drivers
L_0x85c879ba0 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2385a0_0 .net *"_ivl_3", 28 0, L_0x85c879ba0;  1 drivers
v0x85d238640_0 .net *"_ivl_31", 23 0, L_0x85ce385a0;  1 drivers
L_0x85c879be8 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d2386e0_0 .net/2u *"_ivl_4", 31 0, L_0x85c879be8;  1 drivers
v0x85d238780_0 .net *"_ivl_7", 31 0, L_0x85d269860;  1 drivers
L_0x85c879c30 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0x85d238820_0 .net/2u *"_ivl_8", 31 0, L_0x85c879c30;  1 drivers
v0x85d2388c0_0 .var/s "acc", 39 0;
v0x85d238960_0 .net/s "acc_next", 39 0, L_0x85ce2ae40;  1 drivers
v0x85d238a00_0 .net/s "bias", 15 0, L_0x85ce386e0;  1 drivers
v0x85d238aa0_0 .net/s "bias_ext", 39 0, L_0x85d26b020;  1 drivers
v0x85d238b40_0 .var "busy", 0 0;
v0x85d238be0_0 .net "clk", 0 0, o0x85c845fc0;  alias, 0 drivers
v0x85d238c80_0 .var "done", 0 0;
v0x85d238d20_0 .net/s "final_acc", 39 0, L_0x85ce2aee0;  1 drivers
v0x85d238dc0_0 .var "group_index", 2 0;
v0x85d238e60_0 .net "rst", 0 0, o0x85c846080;  alias, 0 drivers
v0x85d238f00_0 .net "start", 0 0, o0x85c8460b0;  alias, 0 drivers
v0x85d238fa0_0 .net/s "w_bus", 1023 0, L_0x85ce38640;  1 drivers
v0x85d239040_0 .net/s "w_group", 127 0, L_0x85ce33020;  1 drivers
v0x85d2390e0_0 .net/s "x_bus", 1023 0, o0x85c846110;  alias, 0 drivers
v0x85d239180_0 .net/s "x_group", 127 0, L_0x85ce32f80;  1 drivers
v0x85d239220_0 .var/s "y", 15 0;
L_0x85d2697c0 .concat [ 3 29 0 0], v0x85d238dc0_0, L_0x85c879ba0;
L_0x85d269860 .arith/mult 32, L_0x85d2697c0, L_0x85c879be8;
L_0x85d269900 .arith/mult 32, L_0x85d269860, L_0x85c879c30;
L_0x85ce32f80 .part/v o0x85c846110, L_0x85d269900, 128;
L_0x85d2699a0 .concat [ 3 29 0 0], v0x85d238dc0_0, L_0x85c879c78;
L_0x85d269a40 .arith/mult 32, L_0x85d2699a0, L_0x85c879cc0;
L_0x85d269ae0 .arith/mult 32, L_0x85d269a40, L_0x85c879d08;
L_0x85ce33020 .part/v L_0x85ce38640, L_0x85d269ae0, 128;
L_0x85ce38500 .part L_0x85ce386e0, 15, 1;
L_0x85ce385a0 .repeat 24, 24, L_0x85ce38500;
L_0x85d26b020 .concat [ 16 24 0 0], L_0x85ce386e0, L_0x85ce385a0;
L_0x85ce2aee0 .arith/sum 40, L_0x85ce2ae40, L_0x85d26b020;
S_0x85d230a80 .scope module, "u_mac8" "mac8" 4 81, 5 1 0, S_0x85d230780;
 .timescale 0 0;
    .port_info 0 /INPUT 128 "x_bus";
    .port_info 1 /INPUT 128 "w_bus";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85d090a00 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0x85d090a40 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0x85d090a80 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0x85d090ac0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0x85d237c00_0 .net/s "acc_in", 39 0, v0x85d2388c0_0;  1 drivers
v0x85d237ca0_0 .net/s "acc_out", 39 0, L_0x85ce2ae40;  alias, 1 drivers
v0x85d237d40 .array "products", 7 0;
v0x85d237d40_0 .net/s v0x85d237d40 0, 39 0, L_0x85ce2a4e0; 1 drivers
v0x85d237d40_1 .net/s v0x85d237d40 1, 39 0, L_0x85ce2a580; 1 drivers
v0x85d237d40_2 .net/s v0x85d237d40 2, 39 0, L_0x85ce2a620; 1 drivers
v0x85d237d40_3 .net/s v0x85d237d40 3, 39 0, L_0x85ce2a6c0; 1 drivers
v0x85d237d40_4 .net/s v0x85d237d40 4, 39 0, L_0x85ce2a760; 1 drivers
v0x85d237d40_5 .net/s v0x85d237d40 5, 39 0, L_0x85ce2a800; 1 drivers
v0x85d237d40_6 .net/s v0x85d237d40 6, 39 0, L_0x85ce2a8a0; 1 drivers
v0x85d237d40_7 .net/s v0x85d237d40 7, 39 0, L_0x85ce2a940; 1 drivers
v0x85d237de0 .array "tree", 31 0;
v0x85d237de0_0 .net/s v0x85d237de0 0, 39 0, L_0x85d04df10; 1 drivers
v0x85d237de0_1 .net/s v0x85d237de0 1, 39 0, L_0x85d04df80; 1 drivers
v0x85d237de0_2 .net/s v0x85d237de0 2, 39 0, L_0x85d04dff0; 1 drivers
v0x85d237de0_3 .net/s v0x85d237de0 3, 39 0, L_0x85d04e060; 1 drivers
v0x85d237de0_4 .net/s v0x85d237de0 4, 39 0, L_0x85d04e0d0; 1 drivers
v0x85d237de0_5 .net/s v0x85d237de0 5, 39 0, L_0x85d04e140; 1 drivers
v0x85d237de0_6 .net/s v0x85d237de0 6, 39 0, L_0x85d04e1b0; 1 drivers
v0x85d237de0_7 .net/s v0x85d237de0 7, 39 0, L_0x85d04e220; 1 drivers
v0x85d237de0_8 .net/s v0x85d237de0 8, 39 0, L_0x85ce2a9e0; 1 drivers
v0x85d237de0_9 .net/s v0x85d237de0 9, 39 0, L_0x85ce2aa80; 1 drivers
v0x85d237de0_10 .net/s v0x85d237de0 10, 39 0, L_0x85ce2ab20; 1 drivers
v0x85d237de0_11 .net/s v0x85d237de0 11, 39 0, L_0x85ce2abc0; 1 drivers
o0x85c8548a0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_12 .net/s v0x85d237de0 12, 39 0, o0x85c8548a0; 0 drivers
o0x85c8548d0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_13 .net/s v0x85d237de0 13, 39 0, o0x85c8548d0; 0 drivers
o0x85c854900 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_14 .net/s v0x85d237de0 14, 39 0, o0x85c854900; 0 drivers
o0x85c854930 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_15 .net/s v0x85d237de0 15, 39 0, o0x85c854930; 0 drivers
v0x85d237de0_16 .net/s v0x85d237de0 16, 39 0, L_0x85ce2ac60; 1 drivers
v0x85d237de0_17 .net/s v0x85d237de0 17, 39 0, L_0x85ce2ad00; 1 drivers
o0x85c8549c0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_18 .net/s v0x85d237de0 18, 39 0, o0x85c8549c0; 0 drivers
o0x85c8549f0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_19 .net/s v0x85d237de0 19, 39 0, o0x85c8549f0; 0 drivers
o0x85c854a20 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_20 .net/s v0x85d237de0 20, 39 0, o0x85c854a20; 0 drivers
o0x85c854a50 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_21 .net/s v0x85d237de0 21, 39 0, o0x85c854a50; 0 drivers
o0x85c854a80 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_22 .net/s v0x85d237de0 22, 39 0, o0x85c854a80; 0 drivers
o0x85c854ab0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_23 .net/s v0x85d237de0 23, 39 0, o0x85c854ab0; 0 drivers
v0x85d237de0_24 .net/s v0x85d237de0 24, 39 0, L_0x85ce2ada0; 1 drivers
o0x85c854b10 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_25 .net/s v0x85d237de0 25, 39 0, o0x85c854b10; 0 drivers
o0x85c854b40 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_26 .net/s v0x85d237de0 26, 39 0, o0x85c854b40; 0 drivers
o0x85c854b70 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_27 .net/s v0x85d237de0 27, 39 0, o0x85c854b70; 0 drivers
o0x85c854ba0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_28 .net/s v0x85d237de0 28, 39 0, o0x85c854ba0; 0 drivers
o0x85c854bd0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_29 .net/s v0x85d237de0 29, 39 0, o0x85c854bd0; 0 drivers
o0x85c854c00 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_30 .net/s v0x85d237de0 30, 39 0, o0x85c854c00; 0 drivers
o0x85c854c30 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d237de0_31 .net/s v0x85d237de0 31, 39 0, o0x85c854c30; 0 drivers
v0x85d237e80_0 .net/s "w_bus", 127 0, L_0x85ce33020;  alias, 1 drivers
v0x85d237f20_0 .net/s "x_bus", 127 0, L_0x85ce32f80;  alias, 1 drivers
L_0x85ce33200 .part L_0x85ce32f80, 0, 16;
L_0x85ce332a0 .part L_0x85ce33020, 0, 16;
L_0x85ce33480 .part L_0x85ce32f80, 16, 16;
L_0x85ce33520 .part L_0x85ce33020, 16, 16;
L_0x85ce33700 .part L_0x85ce32f80, 32, 16;
L_0x85ce337a0 .part L_0x85ce33020, 32, 16;
L_0x85ce33980 .part L_0x85ce32f80, 48, 16;
L_0x85ce33a20 .part L_0x85ce33020, 48, 16;
L_0x85ce33c00 .part L_0x85ce32f80, 64, 16;
L_0x85ce33ca0 .part L_0x85ce33020, 64, 16;
L_0x85ce33e80 .part L_0x85ce32f80, 80, 16;
L_0x85ce33f20 .part L_0x85ce33020, 80, 16;
L_0x85ce38140 .part L_0x85ce32f80, 96, 16;
L_0x85ce381e0 .part L_0x85ce33020, 96, 16;
L_0x85ce383c0 .part L_0x85ce32f80, 112, 16;
L_0x85ce38460 .part L_0x85ce33020, 112, 16;
L_0x85ce2ae40 .arith/sum 40, v0x85d2388c0_0, L_0x85ce2ada0;
S_0x85d230c00 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08440 .param/l "i" 1 5 20, +C4<00>;
S_0x85d230d80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d230c00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee700 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee740 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee780 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d234a00_0 .net/s *"_ivl_0", 31 0, L_0x85d269b80;  1 drivers
v0x85d234aa0_0 .net/s *"_ivl_2", 31 0, L_0x85d269c20;  1 drivers
v0x85d234b40_0 .net *"_ivl_7", 0 0, L_0x85ce330c0;  1 drivers
v0x85d234be0_0 .net *"_ivl_9", 7 0, L_0x85ce33160;  1 drivers
L_0x85c879d50 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d234c80_0 .net/s "acc_in", 39 0, L_0x85c879d50;  1 drivers
v0x85d234d20_0 .net/s "acc_out", 39 0, L_0x85ce2a4e0;  alias, 1 drivers
v0x85d234dc0_0 .net/s "product", 31 0, L_0x85d269cc0;  1 drivers
v0x85d234e60_0 .net/s "product_ext", 39 0, L_0x85d269d60;  1 drivers
v0x85d234f00_0 .net/s "w", 15 0, L_0x85ce332a0;  1 drivers
v0x85d234fa0_0 .net/s "x", 15 0, L_0x85ce33200;  1 drivers
L_0x85d269b80 .extend/s 32, L_0x85ce33200;
L_0x85d269c20 .extend/s 32, L_0x85ce332a0;
L_0x85d269cc0 .arith/mult 32, L_0x85d269b80, L_0x85d269c20;
L_0x85ce330c0 .part L_0x85d269cc0, 31, 1;
L_0x85ce33160 .repeat 8, 8, L_0x85ce330c0;
L_0x85d269d60 .concat [ 32 8 0 0], L_0x85d269cc0, L_0x85ce33160;
L_0x85ce2a4e0 .arith/sum 40, L_0x85c879d50, L_0x85d269d60;
S_0x85d230f00 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08480 .param/l "i" 1 5 20, +C4<01>;
S_0x85d231080 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d230f00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee7c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee800 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee840 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d235040_0 .net/s *"_ivl_0", 31 0, L_0x85d269e00;  1 drivers
v0x85d2350e0_0 .net/s *"_ivl_2", 31 0, L_0x85d269ea0;  1 drivers
v0x85d235180_0 .net *"_ivl_7", 0 0, L_0x85ce33340;  1 drivers
v0x85d235220_0 .net *"_ivl_9", 7 0, L_0x85ce333e0;  1 drivers
L_0x85c879d98 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2352c0_0 .net/s "acc_in", 39 0, L_0x85c879d98;  1 drivers
v0x85d235360_0 .net/s "acc_out", 39 0, L_0x85ce2a580;  alias, 1 drivers
v0x85d235400_0 .net/s "product", 31 0, L_0x85d269f40;  1 drivers
v0x85d2354a0_0 .net/s "product_ext", 39 0, L_0x85d269fe0;  1 drivers
v0x85d235540_0 .net/s "w", 15 0, L_0x85ce33520;  1 drivers
v0x85d2355e0_0 .net/s "x", 15 0, L_0x85ce33480;  1 drivers
L_0x85d269e00 .extend/s 32, L_0x85ce33480;
L_0x85d269ea0 .extend/s 32, L_0x85ce33520;
L_0x85d269f40 .arith/mult 32, L_0x85d269e00, L_0x85d269ea0;
L_0x85ce33340 .part L_0x85d269f40, 31, 1;
L_0x85ce333e0 .repeat 8, 8, L_0x85ce33340;
L_0x85d269fe0 .concat [ 32 8 0 0], L_0x85d269f40, L_0x85ce333e0;
L_0x85ce2a580 .arith/sum 40, L_0x85c879d98, L_0x85d269fe0;
S_0x85d231200 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce084c0 .param/l "i" 1 5 20, +C4<010>;
S_0x85d231380 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d231200;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee880 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee8c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee900 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d235680_0 .net/s *"_ivl_0", 31 0, L_0x85d26a080;  1 drivers
v0x85d235720_0 .net/s *"_ivl_2", 31 0, L_0x85d26a120;  1 drivers
v0x85d2357c0_0 .net *"_ivl_7", 0 0, L_0x85ce335c0;  1 drivers
v0x85d235860_0 .net *"_ivl_9", 7 0, L_0x85ce33660;  1 drivers
L_0x85c879de0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d235900_0 .net/s "acc_in", 39 0, L_0x85c879de0;  1 drivers
v0x85d2359a0_0 .net/s "acc_out", 39 0, L_0x85ce2a620;  alias, 1 drivers
v0x85d235a40_0 .net/s "product", 31 0, L_0x85d26a1c0;  1 drivers
v0x85d235ae0_0 .net/s "product_ext", 39 0, L_0x85d26a260;  1 drivers
v0x85d235b80_0 .net/s "w", 15 0, L_0x85ce337a0;  1 drivers
v0x85d235c20_0 .net/s "x", 15 0, L_0x85ce33700;  1 drivers
L_0x85d26a080 .extend/s 32, L_0x85ce33700;
L_0x85d26a120 .extend/s 32, L_0x85ce337a0;
L_0x85d26a1c0 .arith/mult 32, L_0x85d26a080, L_0x85d26a120;
L_0x85ce335c0 .part L_0x85d26a1c0, 31, 1;
L_0x85ce33660 .repeat 8, 8, L_0x85ce335c0;
L_0x85d26a260 .concat [ 32 8 0 0], L_0x85d26a1c0, L_0x85ce33660;
L_0x85ce2a620 .arith/sum 40, L_0x85c879de0, L_0x85d26a260;
S_0x85d231500 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08500 .param/l "i" 1 5 20, +C4<011>;
S_0x85d231680 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d231500;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdee940 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdee980 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdee9c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d235cc0_0 .net/s *"_ivl_0", 31 0, L_0x85d26a300;  1 drivers
v0x85d235d60_0 .net/s *"_ivl_2", 31 0, L_0x85d26a3a0;  1 drivers
v0x85d235e00_0 .net *"_ivl_7", 0 0, L_0x85ce33840;  1 drivers
v0x85d235ea0_0 .net *"_ivl_9", 7 0, L_0x85ce338e0;  1 drivers
L_0x85c879e28 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d235f40_0 .net/s "acc_in", 39 0, L_0x85c879e28;  1 drivers
v0x85d235fe0_0 .net/s "acc_out", 39 0, L_0x85ce2a6c0;  alias, 1 drivers
v0x85d236080_0 .net/s "product", 31 0, L_0x85d26a440;  1 drivers
v0x85d236120_0 .net/s "product_ext", 39 0, L_0x85d26a4e0;  1 drivers
v0x85d2361c0_0 .net/s "w", 15 0, L_0x85ce33a20;  1 drivers
v0x85d236260_0 .net/s "x", 15 0, L_0x85ce33980;  1 drivers
L_0x85d26a300 .extend/s 32, L_0x85ce33980;
L_0x85d26a3a0 .extend/s 32, L_0x85ce33a20;
L_0x85d26a440 .arith/mult 32, L_0x85d26a300, L_0x85d26a3a0;
L_0x85ce33840 .part L_0x85d26a440, 31, 1;
L_0x85ce338e0 .repeat 8, 8, L_0x85ce33840;
L_0x85d26a4e0 .concat [ 32 8 0 0], L_0x85d26a440, L_0x85ce338e0;
L_0x85ce2a6c0 .arith/sum 40, L_0x85c879e28, L_0x85d26a4e0;
S_0x85d231800 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08540 .param/l "i" 1 5 20, +C4<0100>;
S_0x85d231980 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d231800;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdeea00 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdeea40 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdeea80 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d236300_0 .net/s *"_ivl_0", 31 0, L_0x85d26a580;  1 drivers
v0x85d2363a0_0 .net/s *"_ivl_2", 31 0, L_0x85d26a620;  1 drivers
v0x85d236440_0 .net *"_ivl_7", 0 0, L_0x85ce33ac0;  1 drivers
v0x85d2364e0_0 .net *"_ivl_9", 7 0, L_0x85ce33b60;  1 drivers
L_0x85c879e70 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d236580_0 .net/s "acc_in", 39 0, L_0x85c879e70;  1 drivers
v0x85d236620_0 .net/s "acc_out", 39 0, L_0x85ce2a760;  alias, 1 drivers
v0x85d2366c0_0 .net/s "product", 31 0, L_0x85d26a6c0;  1 drivers
v0x85d236760_0 .net/s "product_ext", 39 0, L_0x85d26a760;  1 drivers
v0x85d236800_0 .net/s "w", 15 0, L_0x85ce33ca0;  1 drivers
v0x85d2368a0_0 .net/s "x", 15 0, L_0x85ce33c00;  1 drivers
L_0x85d26a580 .extend/s 32, L_0x85ce33c00;
L_0x85d26a620 .extend/s 32, L_0x85ce33ca0;
L_0x85d26a6c0 .arith/mult 32, L_0x85d26a580, L_0x85d26a620;
L_0x85ce33ac0 .part L_0x85d26a6c0, 31, 1;
L_0x85ce33b60 .repeat 8, 8, L_0x85ce33ac0;
L_0x85d26a760 .concat [ 32 8 0 0], L_0x85d26a6c0, L_0x85ce33b60;
L_0x85ce2a760 .arith/sum 40, L_0x85c879e70, L_0x85d26a760;
S_0x85d231b00 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08580 .param/l "i" 1 5 20, +C4<0101>;
S_0x85d231c80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d231b00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdeeac0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdeeb00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdeeb40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d236940_0 .net/s *"_ivl_0", 31 0, L_0x85d26a800;  1 drivers
v0x85d2369e0_0 .net/s *"_ivl_2", 31 0, L_0x85d26a8a0;  1 drivers
v0x85d236a80_0 .net *"_ivl_7", 0 0, L_0x85ce33d40;  1 drivers
v0x85d236b20_0 .net *"_ivl_9", 7 0, L_0x85ce33de0;  1 drivers
L_0x85c879eb8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d236bc0_0 .net/s "acc_in", 39 0, L_0x85c879eb8;  1 drivers
v0x85d236c60_0 .net/s "acc_out", 39 0, L_0x85ce2a800;  alias, 1 drivers
v0x85d236d00_0 .net/s "product", 31 0, L_0x85d26a940;  1 drivers
v0x85d236da0_0 .net/s "product_ext", 39 0, L_0x85d26a9e0;  1 drivers
v0x85d236e40_0 .net/s "w", 15 0, L_0x85ce33f20;  1 drivers
v0x85d236ee0_0 .net/s "x", 15 0, L_0x85ce33e80;  1 drivers
L_0x85d26a800 .extend/s 32, L_0x85ce33e80;
L_0x85d26a8a0 .extend/s 32, L_0x85ce33f20;
L_0x85d26a940 .arith/mult 32, L_0x85d26a800, L_0x85d26a8a0;
L_0x85ce33d40 .part L_0x85d26a940, 31, 1;
L_0x85ce33de0 .repeat 8, 8, L_0x85ce33d40;
L_0x85d26a9e0 .concat [ 32 8 0 0], L_0x85d26a940, L_0x85ce33de0;
L_0x85ce2a800 .arith/sum 40, L_0x85c879eb8, L_0x85d26a9e0;
S_0x85d231e00 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce085c0 .param/l "i" 1 5 20, +C4<0110>;
S_0x85d231f80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d231e00;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdeeb80 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdeebc0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdeec00 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d236f80_0 .net/s *"_ivl_0", 31 0, L_0x85d26aa80;  1 drivers
v0x85d237020_0 .net/s *"_ivl_2", 31 0, L_0x85d26ab20;  1 drivers
v0x85d2370c0_0 .net *"_ivl_7", 0 0, L_0x85ce38000;  1 drivers
v0x85d237160_0 .net *"_ivl_9", 7 0, L_0x85ce380a0;  1 drivers
L_0x85c879f00 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d237200_0 .net/s "acc_in", 39 0, L_0x85c879f00;  1 drivers
v0x85d2372a0_0 .net/s "acc_out", 39 0, L_0x85ce2a8a0;  alias, 1 drivers
v0x85d237340_0 .net/s "product", 31 0, L_0x85d26abc0;  1 drivers
v0x85d2373e0_0 .net/s "product_ext", 39 0, L_0x85d26ac60;  1 drivers
v0x85d237480_0 .net/s "w", 15 0, L_0x85ce381e0;  1 drivers
v0x85d237520_0 .net/s "x", 15 0, L_0x85ce38140;  1 drivers
L_0x85d26aa80 .extend/s 32, L_0x85ce38140;
L_0x85d26ab20 .extend/s 32, L_0x85ce381e0;
L_0x85d26abc0 .arith/mult 32, L_0x85d26aa80, L_0x85d26ab20;
L_0x85ce38000 .part L_0x85d26abc0, 31, 1;
L_0x85ce380a0 .repeat 8, 8, L_0x85ce38000;
L_0x85d26ac60 .concat [ 32 8 0 0], L_0x85d26abc0, L_0x85ce380a0;
L_0x85ce2a8a0 .arith/sum 40, L_0x85c879f00, L_0x85d26ac60;
S_0x85d232100 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08600 .param/l "i" 1 5 20, +C4<0111>;
S_0x85d232280 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d232100;
 .timescale 0 0;
    .port_info 0 /INPUT 16 "x";
    .port_info 1 /INPUT 16 "w";
    .port_info 2 /INPUT 40 "acc_in";
    .port_info 3 /OUTPUT 40 "acc_out";
P_0x85cdeec40 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x85cdeec80 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x85cdeecc0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0x85d2375c0_0 .net/s *"_ivl_0", 31 0, L_0x85d26ad00;  1 drivers
v0x85d237660_0 .net/s *"_ivl_2", 31 0, L_0x85d26ada0;  1 drivers
v0x85d237700_0 .net *"_ivl_7", 0 0, L_0x85ce38280;  1 drivers
v0x85d2377a0_0 .net *"_ivl_9", 7 0, L_0x85ce38320;  1 drivers
L_0x85c879f48 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d237840_0 .net/s "acc_in", 39 0, L_0x85c879f48;  1 drivers
v0x85d2378e0_0 .net/s "acc_out", 39 0, L_0x85ce2a940;  alias, 1 drivers
v0x85d237980_0 .net/s "product", 31 0, L_0x85d26ae40;  1 drivers
v0x85d237a20_0 .net/s "product_ext", 39 0, L_0x85d26aee0;  1 drivers
v0x85d237ac0_0 .net/s "w", 15 0, L_0x85ce38460;  1 drivers
v0x85d237b60_0 .net/s "x", 15 0, L_0x85ce383c0;  1 drivers
L_0x85d26ad00 .extend/s 32, L_0x85ce383c0;
L_0x85d26ada0 .extend/s 32, L_0x85ce38460;
L_0x85d26ae40 .arith/mult 32, L_0x85d26ad00, L_0x85d26ada0;
L_0x85ce38280 .part L_0x85d26ae40, 31, 1;
L_0x85ce38320 .repeat 8, 8, L_0x85ce38280;
L_0x85d26aee0 .concat [ 32 8 0 0], L_0x85d26ae40, L_0x85ce38320;
L_0x85ce2a940 .arith/sum 40, L_0x85c879f48, L_0x85d26aee0;
S_0x85d232400 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08640 .param/l "i" 1 5 80, +C4<00>;
L_0x85d04df10 .functor BUFZ 40, L_0x85ce2a4e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d232580 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08680 .param/l "i" 1 5 80, +C4<01>;
L_0x85d04df80 .functor BUFZ 40, L_0x85ce2a580, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d232700 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce086c0 .param/l "i" 1 5 80, +C4<010>;
L_0x85d04dff0 .functor BUFZ 40, L_0x85ce2a620, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d232880 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08700 .param/l "i" 1 5 80, +C4<011>;
L_0x85d04e060 .functor BUFZ 40, L_0x85ce2a6c0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d232a00 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08740 .param/l "i" 1 5 80, +C4<0100>;
L_0x85d04e0d0 .functor BUFZ 40, L_0x85ce2a760, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d232b80 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08780 .param/l "i" 1 5 80, +C4<0101>;
L_0x85d04e140 .functor BUFZ 40, L_0x85ce2a800, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d232d00 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce087c0 .param/l "i" 1 5 80, +C4<0110>;
L_0x85d04e1b0 .functor BUFZ 40, L_0x85ce2a8a0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d232e80 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08800 .param/l "i" 1 5 80, +C4<0111>;
L_0x85d04e220 .functor BUFZ 40, L_0x85ce2a940, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0x85d233000 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08840 .param/l "level" 1 5 92, +C4<00>;
S_0x85d233180 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d233000;
 .timescale 0 0;
P_0x85ce08880 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce2a9e0 .arith/sum 40, L_0x85d04df10, L_0x85d04df80;
S_0x85d233300 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d233000;
 .timescale 0 0;
P_0x85ce088c0 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce2aa80 .arith/sum 40, L_0x85d04dff0, L_0x85d04e060;
S_0x85d233480 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0x85d233000;
 .timescale 0 0;
P_0x85ce08900 .param/l "node" 1 5 94, +C4<010>;
L_0x85ce2ab20 .arith/sum 40, L_0x85d04e0d0, L_0x85d04e140;
S_0x85d233600 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0x85d233000;
 .timescale 0 0;
P_0x85ce08940 .param/l "node" 1 5 94, +C4<011>;
L_0x85ce2abc0 .arith/sum 40, L_0x85d04e1b0, L_0x85d04e220;
S_0x85d233780 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08980 .param/l "level" 1 5 92, +C4<01>;
S_0x85d233900 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d233780;
 .timescale 0 0;
P_0x85ce089c0 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce2ac60 .arith/sum 40, L_0x85ce2a9e0, L_0x85ce2aa80;
S_0x85d233a80 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d233780;
 .timescale 0 0;
P_0x85ce08a00 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce2ad00 .arith/sum 40, L_0x85ce2ab20, L_0x85ce2abc0;
S_0x85d233c00 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0x85d230a80;
 .timescale 0 0;
P_0x85ce08a40 .param/l "level" 1 5 92, +C4<010>;
S_0x85d233d80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d233c00;
 .timescale 0 0;
P_0x85ce08a80 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce2ada0 .arith/sum 40, L_0x85ce2ac60, L_0x85ce2ad00;
S_0x100bfb5b0 .scope module, "memory_interface" "memory_interface" 7 1;
 .timescale 0 0;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "req";
    .port_info 3 /INPUT 1 "wr";
    .port_info 4 /INPUT 22 "addr";
    .port_info 5 /INPUT 16 "wdata";
    .port_info 6 /INPUT 1 "lb_n";
    .port_info 7 /INPUT 1 "ub_n";
    .port_info 8 /OUTPUT 16 "rdata";
    .port_info 9 /OUTPUT 1 "ready";
    .port_info 10 /OUTPUT 1 "mem_req";
    .port_info 11 /OUTPUT 1 "mem_wr";
    .port_info 12 /OUTPUT 22 "mem_addr";
    .port_info 13 /OUTPUT 16 "mem_wdata";
    .port_info 14 /OUTPUT 1 "mem_lb_n";
    .port_info 15 /OUTPUT 1 "mem_ub_n";
    .port_info 16 /INPUT 16 "mem_rdata";
    .port_info 17 /INPUT 1 "mem_ready";
P_0x85d090000 .param/l "ADDR_WIDTH" 0 7 2, +C4<00000000000000000000000000010110>;
P_0x85d090040 .param/l "DATA_WIDTH" 0 7 3, +C4<00000000000000000000000000010000>;
P_0x85d090080 .param/l "STATE_IDLE" 1 7 28, C4<00>;
P_0x85d0900c0 .param/l "STATE_WAIT" 1 7 29, C4<01>;
o0x85c855650 .functor BUFZ 22, c4<zzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d2399a0_0 .net "addr", 21 0, o0x85c855650;  0 drivers
o0x85c855680 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d239a40_0 .net "clk", 0 0, o0x85c855680;  0 drivers
o0x85c8556b0 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d239ae0_0 .net "lb_n", 0 0, o0x85c8556b0;  0 drivers
v0x85d239b80_0 .var "mem_addr", 21 0;
v0x85d239c20_0 .var "mem_lb_n", 0 0;
o0x85c855740 .functor BUFZ 16, c4<zzzzzzzzzzzzzzzz>; HiZ drive
v0x85d239cc0_0 .net "mem_rdata", 15 0, o0x85c855740;  0 drivers
o0x85c855770 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d239d60_0 .net "mem_ready", 0 0, o0x85c855770;  0 drivers
v0x85d239e00_0 .var "mem_req", 0 0;
v0x85d239ea0_0 .var "mem_ub_n", 0 0;
v0x85d239f40_0 .var "mem_wdata", 15 0;
v0x85d239fe0_0 .var "mem_wr", 0 0;
v0x85d23a080_0 .var "rdata", 15 0;
v0x85d23a120_0 .var "ready", 0 0;
o0x85c8558c0 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d23a1c0_0 .net "req", 0 0, o0x85c8558c0;  0 drivers
o0x85c8558f0 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d23a260_0 .net "rst", 0 0, o0x85c8558f0;  0 drivers
v0x85d23a300_0 .var "state", 1 0;
o0x85c855950 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d23a3a0_0 .net "ub_n", 0 0, o0x85c855950;  0 drivers
o0x85c855980 .functor BUFZ 16, c4<zzzzzzzzzzzzzzzz>; HiZ drive
v0x85d23a440_0 .net "wdata", 15 0, o0x85c855980;  0 drivers
o0x85c8559b0 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d23a4e0_0 .net "wr", 0 0, o0x85c8559b0;  0 drivers
E_0x85cdf0f80 .event posedge, v0x85d239a40_0;
S_0x100bfed90 .scope module, "memory_model" "memory_model" 8 1;
 .timescale 0 0;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "req";
    .port_info 3 /INPUT 1 "wr";
    .port_info 4 /INPUT 22 "addr";
    .port_info 5 /INPUT 16 "wdata";
    .port_info 6 /OUTPUT 16 "rdata";
    .port_info 7 /OUTPUT 1 "ready";
P_0x85d090100 .param/l "ADDR_WIDTH" 0 8 2, +C4<00000000000000000000000000010110>;
P_0x85d090140 .param/l "DATA_WIDTH" 0 8 3, +C4<00000000000000000000000000010000>;
P_0x85d090180 .param/l "DEPTH" 0 8 4, +C4<00000000000000000001000000000000>;
P_0x85d0901c0 .param/l "READ_LATENCY" 0 8 5, +C4<00000000000000000000000000000010>;
o0x85c855d40 .functor BUFZ 22, c4<zzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d23a580_0 .net "addr", 21 0, o0x85c855d40;  0 drivers
v0x85d23a620_0 .var "busy", 0 0;
o0x85c855da0 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d23a6c0_0 .net "clk", 0 0, o0x85c855da0;  0 drivers
v0x85d23a760_0 .var/i "delay_count", 31 0;
v0x85d23a800_0 .var/i "i", 31 0;
v0x85d23a8a0 .array "mem", 4095 0, 15 0;
v0x85d23a940_0 .var "pending_addr", 21 0;
v0x85d23a9e0_0 .var "pending_wdata", 15 0;
v0x85d23aa80_0 .var "pending_wr", 0 0;
v0x85d23ab20_0 .var "rdata", 15 0;
v0x85d23abc0_0 .var "ready", 0 0;
o0x85c855f20 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d23ac60_0 .net "req", 0 0, o0x85c855f20;  0 drivers
o0x85c855f50 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d23ad00_0 .net "rst", 0 0, o0x85c855f50;  0 drivers
o0x85c855f80 .functor BUFZ 16, c4<zzzzzzzzzzzzzzzz>; HiZ drive
v0x85d23ada0_0 .net "wdata", 15 0, o0x85c855f80;  0 drivers
o0x85c855fb0 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d23ae40_0 .net "wr", 0 0, o0x85c855fb0;  0 drivers
E_0x85cdf0fc0 .event posedge, v0x85d23a6c0_0;
S_0x100bfb130 .scope module, "neuron_memory" "neuron_memory" 9 3;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "start";
    .port_info 3 /OUTPUT 1 "mem_req";
    .port_info 4 /OUTPUT 1 "mem_wr";
    .port_info 5 /OUTPUT 22 "mem_addr";
    .port_info 6 /OUTPUT 8 "mem_wdata";
    .port_info 7 /INPUT 8 "mem_rdata";
    .port_info 8 /INPUT 1 "mem_ready";
    .port_info 9 /INPUT 22 "x_base";
    .port_info 10 /INPUT 22 "w_base";
    .port_info 11 /INPUT 22 "bias_addr";
    .port_info 12 /OUTPUT 8 "y";
    .port_info 13 /OUTPUT 1 "busy";
    .port_info 14 /OUTPUT 1 "done";
P_0x100bff810 .param/l "ACC_WIDTH" 0 9 8, +C4<00000000000000000000000000100000>;
P_0x100bff850 .param/l "ADDR_WIDTH" 0 9 4, +C4<00000000000000000000000000010110>;
P_0x100bff890 .param/l "DATA_WIDTH" 0 9 5, +C4<00000000000000000000000000001000>;
P_0x100bff8d0 .param/l "N_INPUTS" 0 9 6, +C4<00000000000000000000000000100000>;
P_0x100bff910 .param/l "PARALLEL" 0 9 7, +C4<00000000000000000000000000001000>;
P_0x100bff950 .param/l "STATE_IDLE" 1 9 49, C4<0000>;
P_0x100bff990 .param/l "STATE_READ_BIAS" 1 9 52, C4<0011>;
P_0x100bff9d0 .param/l "STATE_READ_W" 1 9 51, C4<0010>;
P_0x100bffa10 .param/l "STATE_READ_X" 1 9 50, C4<0001>;
P_0x100bffa50 .param/l "STATE_START_N" 1 9 53, C4<0100>;
P_0x100bffa90 .param/l "STATE_WAIT_N" 1 9 54, C4<0101>;
L_0x85d04fe90 .functor BUFZ 1, v0x85d241b80_0, C4<0>, C4<0>, C4<0>;
L_0x85d04ff00 .functor BUFZ 1, v0x85d241d60_0, C4<0>, C4<0>, C4<0>;
L_0x85d04ff70 .functor BUFZ 22, v0x85d24ae40_0, C4<0000000000000000000000>, C4<0000000000000000000000>, C4<0000000000000000000000>;
L_0x85d26c000 .functor BUFZ 8, v0x85d24b520_0, C4<00000000>, C4<00000000>, C4<00000000>;
v0x85d24ab20_0 .net *"_ivl_131", 0 0, L_0x85ce388c0;  1 drivers
L_0x85c879f90 .functor BUFT 1, C4<00000000>, C4<0>, C4<0>, C4<0>;
v0x85d24abc0_0 .net/2u *"_ivl_132", 7 0, L_0x85c879f90;  1 drivers
v0x85d24ac60_0 .net *"_ivl_134", 15 0, L_0x85d26b3e0;  1 drivers
L_0x85c879fd8 .functor BUFT 1, C4<00000000>, C4<0>, C4<0>, C4<0>;
v0x85d24ad00_0 .net/2u *"_ivl_136", 7 0, L_0x85c879fd8;  1 drivers
v0x85d24ada0_0 .net *"_ivl_138", 15 0, L_0x85d26b480;  1 drivers
v0x85d24ae40_0 .var "access_addr", 21 0;
v0x85d24aee0_0 .net "access_mem_addr", 21 0, v0x85d241900_0;  1 drivers
v0x85d24af80_0 .net "access_mem_lb_n", 0 0, v0x85d2419a0_0;  1 drivers
v0x85d24b020_0 .net "access_mem_rdata", 15 0, L_0x85ce38960;  1 drivers
v0x85d24b0c0_0 .net "access_mem_req", 0 0, v0x85d241b80_0;  1 drivers
v0x85d24b160_0 .net "access_mem_ub_n", 0 0, v0x85d241c20_0;  1 drivers
v0x85d24b200_0 .net "access_mem_wdata", 15 0, v0x85d241cc0_0;  1 drivers
v0x85d24b2a0_0 .net "access_mem_wr", 0 0, v0x85d241d60_0;  1 drivers
v0x85d24b340_0 .net/s "access_rdata", 7 0, v0x85d241e00_0;  1 drivers
v0x85d24b3e0_0 .net "access_ready", 0 0, v0x85d241ea0_0;  1 drivers
v0x85d24b480_0 .var "access_req", 0 0;
v0x85d24b520_0 .var/s "access_wdata", 7 0;
v0x85d24b5c0_0 .var "access_wr", 0 0;
o0x85c859760 .functor BUFZ 22, c4<zzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d24b660_0 .net "bias_addr", 21 0, o0x85c859760;  0 drivers
v0x85d24b700_0 .var/s "bias_reg", 7 0;
v0x85d24b7a0_0 .var "busy", 0 0;
o0x85c856dc0 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d24b840_0 .net "clk", 0 0, o0x85c856dc0;  0 drivers
v0x85d24b8e0_0 .var "done", 0 0;
v0x85d24b980_0 .var "index", 5 0;
v0x85d24ba20_0 .net "mem_addr", 21 0, L_0x85d04ff70;  1 drivers
o0x85c859850 .functor BUFZ 8, c4<zzzzzzzz>; HiZ drive
v0x85d24bac0_0 .net/s "mem_rdata", 7 0, o0x85c859850;  0 drivers
o0x85c856e80 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d24bb60_0 .net "mem_ready", 0 0, o0x85c856e80;  0 drivers
v0x85d24bc00_0 .net "mem_req", 0 0, L_0x85d04fe90;  1 drivers
v0x85d24bca0_0 .net/s "mem_wdata", 7 0, L_0x85d26c000;  1 drivers
v0x85d24bd40_0 .net "mem_wr", 0 0, L_0x85d04ff00;  1 drivers
v0x85d24bde0_0 .net "neuron_busy", 0 0, v0x85d24a3a0_0;  1 drivers
v0x85d24be80_0 .net "neuron_done", 0 0, v0x85d24a4e0_0;  1 drivers
v0x85d24bf20_0 .var "neuron_start", 0 0;
v0x85d24c000_0 .net/s "neuron_y", 7 0, v0x85d24aa80_0;  1 drivers
o0x85c857000 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d24c0a0_0 .net "rst", 0 0, o0x85c857000;  0 drivers
o0x85c859910 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d24c140_0 .net "start", 0 0, o0x85c859910;  0 drivers
v0x85d24c1e0_0 .var "state", 3 0;
o0x85c859970 .functor BUFZ 22, c4<zzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d24c280_0 .net "w_base", 21 0, o0x85c859970;  0 drivers
v0x85d24c320_0 .net/s "w_bus", 255 0, L_0x85d26b340;  1 drivers
v0x85d24c3c0 .array/s "w_mem", 31 0, 7 0;
o0x85c859fa0 .functor BUFZ 22, c4<zzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d24c460_0 .net "x_base", 21 0, o0x85c859fa0;  0 drivers
v0x85d24c500_0 .net/s "x_bus", 255 0, L_0x85d26b160;  1 drivers
v0x85d24c5a0 .array/s "x_mem", 31 0, 7 0;
v0x85d24c640_0 .var/s "y", 7 0;
v0x85d24c5a0_0 .array/port v0x85d24c5a0, 0;
v0x85d24c5a0_1 .array/port v0x85d24c5a0, 1;
v0x85d24c5a0_2 .array/port v0x85d24c5a0, 2;
v0x85d24c5a0_3 .array/port v0x85d24c5a0, 3;
LS_0x85d26b160_0_0 .concat8 [ 8 8 8 8], v0x85d24c5a0_0, v0x85d24c5a0_1, v0x85d24c5a0_2, v0x85d24c5a0_3;
v0x85d24c5a0_4 .array/port v0x85d24c5a0, 4;
v0x85d24c5a0_5 .array/port v0x85d24c5a0, 5;
v0x85d24c5a0_6 .array/port v0x85d24c5a0, 6;
v0x85d24c5a0_7 .array/port v0x85d24c5a0, 7;
LS_0x85d26b160_0_4 .concat8 [ 8 8 8 8], v0x85d24c5a0_4, v0x85d24c5a0_5, v0x85d24c5a0_6, v0x85d24c5a0_7;
v0x85d24c5a0_8 .array/port v0x85d24c5a0, 8;
v0x85d24c5a0_9 .array/port v0x85d24c5a0, 9;
v0x85d24c5a0_10 .array/port v0x85d24c5a0, 10;
v0x85d24c5a0_11 .array/port v0x85d24c5a0, 11;
LS_0x85d26b160_0_8 .concat8 [ 8 8 8 8], v0x85d24c5a0_8, v0x85d24c5a0_9, v0x85d24c5a0_10, v0x85d24c5a0_11;
v0x85d24c5a0_12 .array/port v0x85d24c5a0, 12;
v0x85d24c5a0_13 .array/port v0x85d24c5a0, 13;
v0x85d24c5a0_14 .array/port v0x85d24c5a0, 14;
v0x85d24c5a0_15 .array/port v0x85d24c5a0, 15;
LS_0x85d26b160_0_12 .concat8 [ 8 8 8 8], v0x85d24c5a0_12, v0x85d24c5a0_13, v0x85d24c5a0_14, v0x85d24c5a0_15;
v0x85d24c5a0_16 .array/port v0x85d24c5a0, 16;
v0x85d24c5a0_17 .array/port v0x85d24c5a0, 17;
v0x85d24c5a0_18 .array/port v0x85d24c5a0, 18;
v0x85d24c5a0_19 .array/port v0x85d24c5a0, 19;
LS_0x85d26b160_0_16 .concat8 [ 8 8 8 8], v0x85d24c5a0_16, v0x85d24c5a0_17, v0x85d24c5a0_18, v0x85d24c5a0_19;
v0x85d24c5a0_20 .array/port v0x85d24c5a0, 20;
v0x85d24c5a0_21 .array/port v0x85d24c5a0, 21;
v0x85d24c5a0_22 .array/port v0x85d24c5a0, 22;
v0x85d24c5a0_23 .array/port v0x85d24c5a0, 23;
LS_0x85d26b160_0_20 .concat8 [ 8 8 8 8], v0x85d24c5a0_20, v0x85d24c5a0_21, v0x85d24c5a0_22, v0x85d24c5a0_23;
v0x85d24c5a0_24 .array/port v0x85d24c5a0, 24;
v0x85d24c5a0_25 .array/port v0x85d24c5a0, 25;
v0x85d24c5a0_26 .array/port v0x85d24c5a0, 26;
v0x85d24c5a0_27 .array/port v0x85d24c5a0, 27;
LS_0x85d26b160_0_24 .concat8 [ 8 8 8 8], v0x85d24c5a0_24, v0x85d24c5a0_25, v0x85d24c5a0_26, v0x85d24c5a0_27;
v0x85d24c5a0_28 .array/port v0x85d24c5a0, 28;
v0x85d24c5a0_29 .array/port v0x85d24c5a0, 29;
v0x85d24c5a0_30 .array/port v0x85d24c5a0, 30;
v0x85d24c5a0_31 .array/port v0x85d24c5a0, 31;
LS_0x85d26b160_0_28 .concat8 [ 8 8 8 8], v0x85d24c5a0_28, v0x85d24c5a0_29, v0x85d24c5a0_30, v0x85d24c5a0_31;
LS_0x85d26b160_1_0 .concat8 [ 32 32 32 32], LS_0x85d26b160_0_0, LS_0x85d26b160_0_4, LS_0x85d26b160_0_8, LS_0x85d26b160_0_12;
LS_0x85d26b160_1_4 .concat8 [ 32 32 32 32], LS_0x85d26b160_0_16, LS_0x85d26b160_0_20, LS_0x85d26b160_0_24, LS_0x85d26b160_0_28;
L_0x85d26b160 .concat8 [ 128 128 0 0], LS_0x85d26b160_1_0, LS_0x85d26b160_1_4;
v0x85d24c3c0_0 .array/port v0x85d24c3c0, 0;
v0x85d24c3c0_1 .array/port v0x85d24c3c0, 1;
v0x85d24c3c0_2 .array/port v0x85d24c3c0, 2;
v0x85d24c3c0_3 .array/port v0x85d24c3c0, 3;
LS_0x85d26b340_0_0 .concat8 [ 8 8 8 8], v0x85d24c3c0_0, v0x85d24c3c0_1, v0x85d24c3c0_2, v0x85d24c3c0_3;
v0x85d24c3c0_4 .array/port v0x85d24c3c0, 4;
v0x85d24c3c0_5 .array/port v0x85d24c3c0, 5;
v0x85d24c3c0_6 .array/port v0x85d24c3c0, 6;
v0x85d24c3c0_7 .array/port v0x85d24c3c0, 7;
LS_0x85d26b340_0_4 .concat8 [ 8 8 8 8], v0x85d24c3c0_4, v0x85d24c3c0_5, v0x85d24c3c0_6, v0x85d24c3c0_7;
v0x85d24c3c0_8 .array/port v0x85d24c3c0, 8;
v0x85d24c3c0_9 .array/port v0x85d24c3c0, 9;
v0x85d24c3c0_10 .array/port v0x85d24c3c0, 10;
v0x85d24c3c0_11 .array/port v0x85d24c3c0, 11;
LS_0x85d26b340_0_8 .concat8 [ 8 8 8 8], v0x85d24c3c0_8, v0x85d24c3c0_9, v0x85d24c3c0_10, v0x85d24c3c0_11;
v0x85d24c3c0_12 .array/port v0x85d24c3c0, 12;
v0x85d24c3c0_13 .array/port v0x85d24c3c0, 13;
v0x85d24c3c0_14 .array/port v0x85d24c3c0, 14;
v0x85d24c3c0_15 .array/port v0x85d24c3c0, 15;
LS_0x85d26b340_0_12 .concat8 [ 8 8 8 8], v0x85d24c3c0_12, v0x85d24c3c0_13, v0x85d24c3c0_14, v0x85d24c3c0_15;
v0x85d24c3c0_16 .array/port v0x85d24c3c0, 16;
v0x85d24c3c0_17 .array/port v0x85d24c3c0, 17;
v0x85d24c3c0_18 .array/port v0x85d24c3c0, 18;
v0x85d24c3c0_19 .array/port v0x85d24c3c0, 19;
LS_0x85d26b340_0_16 .concat8 [ 8 8 8 8], v0x85d24c3c0_16, v0x85d24c3c0_17, v0x85d24c3c0_18, v0x85d24c3c0_19;
v0x85d24c3c0_20 .array/port v0x85d24c3c0, 20;
v0x85d24c3c0_21 .array/port v0x85d24c3c0, 21;
v0x85d24c3c0_22 .array/port v0x85d24c3c0, 22;
v0x85d24c3c0_23 .array/port v0x85d24c3c0, 23;
LS_0x85d26b340_0_20 .concat8 [ 8 8 8 8], v0x85d24c3c0_20, v0x85d24c3c0_21, v0x85d24c3c0_22, v0x85d24c3c0_23;
v0x85d24c3c0_24 .array/port v0x85d24c3c0, 24;
v0x85d24c3c0_25 .array/port v0x85d24c3c0, 25;
v0x85d24c3c0_26 .array/port v0x85d24c3c0, 26;
v0x85d24c3c0_27 .array/port v0x85d24c3c0, 27;
LS_0x85d26b340_0_24 .concat8 [ 8 8 8 8], v0x85d24c3c0_24, v0x85d24c3c0_25, v0x85d24c3c0_26, v0x85d24c3c0_27;
v0x85d24c3c0_28 .array/port v0x85d24c3c0, 28;
v0x85d24c3c0_29 .array/port v0x85d24c3c0, 29;
v0x85d24c3c0_30 .array/port v0x85d24c3c0, 30;
v0x85d24c3c0_31 .array/port v0x85d24c3c0, 31;
LS_0x85d26b340_0_28 .concat8 [ 8 8 8 8], v0x85d24c3c0_28, v0x85d24c3c0_29, v0x85d24c3c0_30, v0x85d24c3c0_31;
LS_0x85d26b340_1_0 .concat8 [ 32 32 32 32], LS_0x85d26b340_0_0, LS_0x85d26b340_0_4, LS_0x85d26b340_0_8, LS_0x85d26b340_0_12;
LS_0x85d26b340_1_4 .concat8 [ 32 32 32 32], LS_0x85d26b340_0_16, LS_0x85d26b340_0_20, LS_0x85d26b340_0_24, LS_0x85d26b340_0_28;
L_0x85d26b340 .concat8 [ 128 128 0 0], LS_0x85d26b340_1_0, LS_0x85d26b340_1_4;
L_0x85ce388c0 .part v0x85d24ae40_0, 0, 1;
L_0x85d26b3e0 .concat [ 8 8 0 0], L_0x85c879f90, o0x85c859850;
L_0x85d26b480 .concat [ 8 8 0 0], o0x85c859850, L_0x85c879fd8;
L_0x85ce38960 .functor MUXZ 16, L_0x85d26b480, L_0x85d26b3e0, L_0x85ce388c0, C4<>;
S_0x85d23c000 .scope generate, "GEN_BUS[0]" "GEN_BUS[0]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08ac0 .param/l "i" 1 9 79, +C4<00>;
v0x85d23aee0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_0;  1 drivers
v0x85d23af80_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_0;  1 drivers
S_0x85d23c180 .scope generate, "GEN_BUS[1]" "GEN_BUS[1]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08b00 .param/l "i" 1 9 79, +C4<01>;
v0x85d23b020_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_1;  1 drivers
v0x85d23b0c0_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_1;  1 drivers
S_0x85d23c300 .scope generate, "GEN_BUS[2]" "GEN_BUS[2]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08b40 .param/l "i" 1 9 79, +C4<010>;
v0x85d23b160_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_2;  1 drivers
v0x85d23b200_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_2;  1 drivers
S_0x85d23c480 .scope generate, "GEN_BUS[3]" "GEN_BUS[3]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08b80 .param/l "i" 1 9 79, +C4<011>;
v0x85d23b2a0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_3;  1 drivers
v0x85d23b340_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_3;  1 drivers
S_0x85d23c600 .scope generate, "GEN_BUS[4]" "GEN_BUS[4]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08bc0 .param/l "i" 1 9 79, +C4<0100>;
v0x85d23b3e0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_4;  1 drivers
v0x85d23b480_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_4;  1 drivers
S_0x85d23c780 .scope generate, "GEN_BUS[5]" "GEN_BUS[5]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08c00 .param/l "i" 1 9 79, +C4<0101>;
v0x85d23b520_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_5;  1 drivers
v0x85d23b5c0_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_5;  1 drivers
S_0x85d23c900 .scope generate, "GEN_BUS[6]" "GEN_BUS[6]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08c40 .param/l "i" 1 9 79, +C4<0110>;
v0x85d23b660_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_6;  1 drivers
v0x85d23b700_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_6;  1 drivers
S_0x85d23ca80 .scope generate, "GEN_BUS[7]" "GEN_BUS[7]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08c80 .param/l "i" 1 9 79, +C4<0111>;
v0x85d23b7a0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_7;  1 drivers
v0x85d23b840_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_7;  1 drivers
S_0x85d23cc00 .scope generate, "GEN_BUS[8]" "GEN_BUS[8]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08cc0 .param/l "i" 1 9 79, +C4<01000>;
v0x85d23b8e0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_8;  1 drivers
v0x85d23b980_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_8;  1 drivers
S_0x85d23cd80 .scope generate, "GEN_BUS[9]" "GEN_BUS[9]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08d00 .param/l "i" 1 9 79, +C4<01001>;
v0x85d23ba20_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_9;  1 drivers
v0x85d23bac0_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_9;  1 drivers
S_0x85d23cf00 .scope generate, "GEN_BUS[10]" "GEN_BUS[10]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08d40 .param/l "i" 1 9 79, +C4<01010>;
v0x85d23bb60_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_10;  1 drivers
v0x85d23bc00_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_10;  1 drivers
S_0x85d23d080 .scope generate, "GEN_BUS[11]" "GEN_BUS[11]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08d80 .param/l "i" 1 9 79, +C4<01011>;
v0x85d23bca0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_11;  1 drivers
v0x85d23bd40_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_11;  1 drivers
S_0x85d23d200 .scope generate, "GEN_BUS[12]" "GEN_BUS[12]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08dc0 .param/l "i" 1 9 79, +C4<01100>;
v0x85d23bde0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_12;  1 drivers
v0x85d23be80_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_12;  1 drivers
S_0x85d23d380 .scope generate, "GEN_BUS[13]" "GEN_BUS[13]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08e00 .param/l "i" 1 9 79, +C4<01101>;
v0x85d23bf20_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_13;  1 drivers
v0x85d240000_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_13;  1 drivers
S_0x85d23d500 .scope generate, "GEN_BUS[14]" "GEN_BUS[14]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08e40 .param/l "i" 1 9 79, +C4<01110>;
v0x85d2400a0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_14;  1 drivers
v0x85d240140_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_14;  1 drivers
S_0x85d23d680 .scope generate, "GEN_BUS[15]" "GEN_BUS[15]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08e80 .param/l "i" 1 9 79, +C4<01111>;
v0x85d2401e0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_15;  1 drivers
v0x85d240280_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_15;  1 drivers
S_0x85d23d800 .scope generate, "GEN_BUS[16]" "GEN_BUS[16]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08ec0 .param/l "i" 1 9 79, +C4<010000>;
v0x85d240320_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_16;  1 drivers
v0x85d2403c0_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_16;  1 drivers
S_0x85d23d980 .scope generate, "GEN_BUS[17]" "GEN_BUS[17]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08f00 .param/l "i" 1 9 79, +C4<010001>;
v0x85d240460_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_17;  1 drivers
v0x85d240500_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_17;  1 drivers
S_0x85d23db00 .scope generate, "GEN_BUS[18]" "GEN_BUS[18]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08f40 .param/l "i" 1 9 79, +C4<010010>;
v0x85d2405a0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_18;  1 drivers
v0x85d240640_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_18;  1 drivers
S_0x85d23dc80 .scope generate, "GEN_BUS[19]" "GEN_BUS[19]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08f80 .param/l "i" 1 9 79, +C4<010011>;
v0x85d2406e0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_19;  1 drivers
v0x85d240780_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_19;  1 drivers
S_0x85d23de00 .scope generate, "GEN_BUS[20]" "GEN_BUS[20]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce08fc0 .param/l "i" 1 9 79, +C4<010100>;
v0x85d240820_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_20;  1 drivers
v0x85d2408c0_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_20;  1 drivers
S_0x85d23df80 .scope generate, "GEN_BUS[21]" "GEN_BUS[21]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce09000 .param/l "i" 1 9 79, +C4<010101>;
v0x85d240960_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_21;  1 drivers
v0x85d240a00_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_21;  1 drivers
S_0x85d23e100 .scope generate, "GEN_BUS[22]" "GEN_BUS[22]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce09040 .param/l "i" 1 9 79, +C4<010110>;
v0x85d240aa0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_22;  1 drivers
v0x85d240b40_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_22;  1 drivers
S_0x85d23e280 .scope generate, "GEN_BUS[23]" "GEN_BUS[23]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce09080 .param/l "i" 1 9 79, +C4<010111>;
v0x85d240be0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_23;  1 drivers
v0x85d240c80_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_23;  1 drivers
S_0x85d23e400 .scope generate, "GEN_BUS[24]" "GEN_BUS[24]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce090c0 .param/l "i" 1 9 79, +C4<011000>;
v0x85d240d20_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_24;  1 drivers
v0x85d240dc0_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_24;  1 drivers
S_0x85d23e580 .scope generate, "GEN_BUS[25]" "GEN_BUS[25]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce09100 .param/l "i" 1 9 79, +C4<011001>;
v0x85d240e60_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_25;  1 drivers
v0x85d240f00_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_25;  1 drivers
S_0x85d23e700 .scope generate, "GEN_BUS[26]" "GEN_BUS[26]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce09140 .param/l "i" 1 9 79, +C4<011010>;
v0x85d240fa0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_26;  1 drivers
v0x85d241040_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_26;  1 drivers
S_0x85d23e880 .scope generate, "GEN_BUS[27]" "GEN_BUS[27]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce09180 .param/l "i" 1 9 79, +C4<011011>;
v0x85d2410e0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_27;  1 drivers
v0x85d241180_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_27;  1 drivers
S_0x85d23ea00 .scope generate, "GEN_BUS[28]" "GEN_BUS[28]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce091c0 .param/l "i" 1 9 79, +C4<011100>;
v0x85d241220_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_28;  1 drivers
v0x85d2412c0_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_28;  1 drivers
S_0x85d23eb80 .scope generate, "GEN_BUS[29]" "GEN_BUS[29]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce09200 .param/l "i" 1 9 79, +C4<011101>;
v0x85d241360_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_29;  1 drivers
v0x85d241400_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_29;  1 drivers
S_0x85d23ed00 .scope generate, "GEN_BUS[30]" "GEN_BUS[30]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce09240 .param/l "i" 1 9 79, +C4<011110>;
v0x85d2414a0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_30;  1 drivers
v0x85d241540_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_30;  1 drivers
S_0x85d23ee80 .scope generate, "GEN_BUS[31]" "GEN_BUS[31]" 9 79, 9 79 0, S_0x100bfb130;
 .timescale -9 -12;
P_0x85ce09280 .param/l "i" 1 9 79, +C4<011111>;
v0x85d2415e0_0 .net *"_ivl_2", 7 0, v0x85d24c5a0_31;  1 drivers
v0x85d241680_0 .net *"_ivl_5", 7 0, v0x85d24c3c0_31;  1 drivers
S_0x85d23f000 .scope module, "u_mem" "int8_memory_access" 9 142, 10 1 0, S_0x100bfb130;
 .timescale 0 0;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "req";
    .port_info 3 /INPUT 1 "wr";
    .port_info 4 /INPUT 22 "addr";
    .port_info 5 /INPUT 8 "wdata";
    .port_info 6 /OUTPUT 8 "rdata";
    .port_info 7 /OUTPUT 1 "ready";
    .port_info 8 /OUTPUT 1 "mem_req";
    .port_info 9 /OUTPUT 1 "mem_wr";
    .port_info 10 /OUTPUT 22 "mem_addr";
    .port_info 11 /OUTPUT 16 "mem_wdata";
    .port_info 12 /OUTPUT 1 "mem_lb_n";
    .port_info 13 /OUTPUT 1 "mem_ub_n";
    .port_info 14 /INPUT 16 "mem_rdata";
    .port_info 15 /INPUT 1 "mem_ready";
P_0x85cdeed00 .param/l "ADDR_WIDTH" 0 10 2, +C4<00000000000000000000000000010110>;
P_0x85cdeed40 .param/l "STATE_IDLE" 1 10 40, C4<00>;
P_0x85cdeed80 .param/l "STATE_WAIT" 1 10 41, C4<01>;
v0x85d241720_0 .net "addr", 21 0, v0x85d24ae40_0;  1 drivers
v0x85d2417c0_0 .var "addr_reg", 21 0;
v0x85d241860_0 .net "clk", 0 0, o0x85c856dc0;  alias, 0 drivers
v0x85d241900_0 .var "mem_addr", 21 0;
v0x85d2419a0_0 .var "mem_lb_n", 0 0;
v0x85d241a40_0 .net "mem_rdata", 15 0, L_0x85ce38960;  alias, 1 drivers
v0x85d241ae0_0 .net "mem_ready", 0 0, o0x85c856e80;  alias, 0 drivers
v0x85d241b80_0 .var "mem_req", 0 0;
v0x85d241c20_0 .var "mem_ub_n", 0 0;
v0x85d241cc0_0 .var "mem_wdata", 15 0;
v0x85d241d60_0 .var "mem_wr", 0 0;
v0x85d241e00_0 .var/s "rdata", 7 0;
v0x85d241ea0_0 .var "ready", 0 0;
v0x85d241f40_0 .net "req", 0 0, v0x85d24b480_0;  1 drivers
v0x85d241fe0_0 .net "rst", 0 0, o0x85c857000;  alias, 0 drivers
v0x85d242080_0 .var "state", 1 0;
v0x85d242120_0 .net/s "wdata", 7 0, v0x85d24b520_0;  1 drivers
v0x85d2421c0_0 .net "wr", 0 0, v0x85d24b5c0_0;  1 drivers
E_0x85cdf1000 .event posedge, v0x85d241860_0;
S_0x85d23f180 .scope module, "u_neuron" "neuron_parallel" 9 203, 4 1 0, S_0x100bfb130;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "start";
    .port_info 3 /INPUT 256 "x_bus";
    .port_info 4 /INPUT 256 "w_bus";
    .port_info 5 /INPUT 8 "bias";
    .port_info 6 /OUTPUT 8 "y";
    .port_info 7 /OUTPUT 1 "busy";
    .port_info 8 /OUTPUT 1 "done";
P_0x85d23f300 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000100000>;
P_0x85d23f340 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000001000>;
P_0x85d23f380 .param/l "GROUPS" 1 4 49, +C4<00000000000000000000000000000100>;
P_0x85d23f3c0 .param/l "GROUP_INDEX_WIDTH" 1 4 50, +C4<00000000000000000000000000000010>;
P_0x85d23f400 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000000100000>;
P_0x85d23f440 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0x85d249860_0 .net *"_ivl_0", 31 0, L_0x85d26b520;  1 drivers
v0x85d249900_0 .net *"_ivl_11", 31 0, L_0x85d26b660;  1 drivers
v0x85d2499a0_0 .net *"_ivl_14", 31 0, L_0x85d26b700;  1 drivers
L_0x85c87a0f8 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d249a40_0 .net *"_ivl_17", 29 0, L_0x85c87a0f8;  1 drivers
L_0x85c87a140 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d249ae0_0 .net/2u *"_ivl_18", 31 0, L_0x85c87a140;  1 drivers
v0x85d249b80_0 .net *"_ivl_21", 31 0, L_0x85d26b7a0;  1 drivers
L_0x85c87a188 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d249c20_0 .net/2u *"_ivl_22", 31 0, L_0x85c87a188;  1 drivers
v0x85d249cc0_0 .net *"_ivl_25", 31 0, L_0x85d26b840;  1 drivers
v0x85d249d60_0 .net *"_ivl_29", 0 0, L_0x85ce39f40;  1 drivers
L_0x85c87a020 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d249e00_0 .net *"_ivl_3", 29 0, L_0x85c87a020;  1 drivers
v0x85d249ea0_0 .net *"_ivl_31", 23 0, L_0x85ce39fe0;  1 drivers
L_0x85c87a068 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d249f40_0 .net/2u *"_ivl_4", 31 0, L_0x85c87a068;  1 drivers
v0x85d249fe0_0 .net *"_ivl_7", 31 0, L_0x85d26b5c0;  1 drivers
L_0x85c87a0b0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d24a080_0 .net/2u *"_ivl_8", 31 0, L_0x85c87a0b0;  1 drivers
v0x85d24a120_0 .var/s "acc", 31 0;
v0x85d24a1c0_0 .net/s "acc_next", 31 0, L_0x85ce2b8e0;  1 drivers
v0x85d24a260_0 .net/s "bias", 7 0, v0x85d24b700_0;  1 drivers
v0x85d24a300_0 .net/s "bias_ext", 31 0, L_0x85d270dc0;  1 drivers
v0x85d24a3a0_0 .var "busy", 0 0;
v0x85d24a440_0 .net "clk", 0 0, o0x85c856dc0;  alias, 0 drivers
v0x85d24a4e0_0 .var "done", 0 0;
v0x85d24a580_0 .net/s "final_acc", 31 0, L_0x85ce2b980;  1 drivers
v0x85d24a620_0 .var "group_index", 1 0;
v0x85d24a6c0_0 .net "rst", 0 0, o0x85c857000;  alias, 0 drivers
v0x85d24a760_0 .net "start", 0 0, v0x85d24bf20_0;  1 drivers
v0x85d24a800_0 .net/s "w_bus", 255 0, L_0x85d26b340;  alias, 1 drivers
v0x85d24a8a0_0 .net/s "w_group", 63 0, L_0x85ce38aa0;  1 drivers
v0x85d24a940_0 .net/s "x_bus", 255 0, L_0x85d26b160;  alias, 1 drivers
v0x85d24a9e0_0 .net/s "x_group", 63 0, L_0x85ce38a00;  1 drivers
v0x85d24aa80_0 .var/s "y", 7 0;
L_0x85d26b520 .concat [ 2 30 0 0], v0x85d24a620_0, L_0x85c87a020;
L_0x85d26b5c0 .arith/mult 32, L_0x85d26b520, L_0x85c87a068;
L_0x85d26b660 .arith/mult 32, L_0x85d26b5c0, L_0x85c87a0b0;
L_0x85ce38a00 .part/v L_0x85d26b160, L_0x85d26b660, 64;
L_0x85d26b700 .concat [ 2 30 0 0], v0x85d24a620_0, L_0x85c87a0f8;
L_0x85d26b7a0 .arith/mult 32, L_0x85d26b700, L_0x85c87a140;
L_0x85d26b840 .arith/mult 32, L_0x85d26b7a0, L_0x85c87a188;
L_0x85ce38aa0 .part/v L_0x85d26b340, L_0x85d26b840, 64;
L_0x85ce39f40 .part v0x85d24b700_0, 7, 1;
L_0x85ce39fe0 .repeat 24, 24, L_0x85ce39f40;
L_0x85d270dc0 .concat [ 8 24 0 0], v0x85d24b700_0, L_0x85ce39fe0;
L_0x85ce2b980 .arith/sum 32, L_0x85ce2b8e0, L_0x85d270dc0;
S_0x85d23f480 .scope module, "u_mac8" "mac8" 4 81, 5 1 0, S_0x85d23f180;
 .timescale 0 0;
    .port_info 0 /INPUT 64 "x_bus";
    .port_info 1 /INPUT 64 "w_bus";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85d090b00 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000100000>;
P_0x85d090b40 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000001000>;
P_0x85d090b80 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0x85d090bc0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0x85d2494a0_0 .net/s "acc_in", 31 0, v0x85d24a120_0;  1 drivers
v0x85d249540_0 .net/s "acc_out", 31 0, L_0x85ce2b8e0;  alias, 1 drivers
v0x85d2495e0 .array "products", 7 0;
v0x85d2495e0_0 .net/s v0x85d2495e0 0, 31 0, L_0x85ce2af80; 1 drivers
v0x85d2495e0_1 .net/s v0x85d2495e0 1, 31 0, L_0x85ce2b020; 1 drivers
v0x85d2495e0_2 .net/s v0x85d2495e0 2, 31 0, L_0x85ce2b0c0; 1 drivers
v0x85d2495e0_3 .net/s v0x85d2495e0 3, 31 0, L_0x85ce2b160; 1 drivers
v0x85d2495e0_4 .net/s v0x85d2495e0 4, 31 0, L_0x85ce2b200; 1 drivers
v0x85d2495e0_5 .net/s v0x85d2495e0 5, 31 0, L_0x85ce2b2a0; 1 drivers
v0x85d2495e0_6 .net/s v0x85d2495e0 6, 31 0, L_0x85ce2b340; 1 drivers
v0x85d2495e0_7 .net/s v0x85d2495e0 7, 31 0, L_0x85ce2b3e0; 1 drivers
v0x85d249680 .array "tree", 31 0;
v0x85d249680_0 .net/s v0x85d249680 0, 31 0, L_0x85d274000; 1 drivers
v0x85d249680_1 .net/s v0x85d249680 1, 31 0, L_0x85d274070; 1 drivers
v0x85d249680_2 .net/s v0x85d249680 2, 31 0, L_0x85d2740e0; 1 drivers
v0x85d249680_3 .net/s v0x85d249680 3, 31 0, L_0x85d274150; 1 drivers
v0x85d249680_4 .net/s v0x85d249680 4, 31 0, L_0x85d2741c0; 1 drivers
v0x85d249680_5 .net/s v0x85d249680 5, 31 0, L_0x85d274230; 1 drivers
v0x85d249680_6 .net/s v0x85d249680 6, 31 0, L_0x85d2742a0; 1 drivers
v0x85d249680_7 .net/s v0x85d249680 7, 31 0, L_0x85d274310; 1 drivers
v0x85d249680_8 .net/s v0x85d249680 8, 31 0, L_0x85ce2b480; 1 drivers
v0x85d249680_9 .net/s v0x85d249680 9, 31 0, L_0x85ce2b520; 1 drivers
v0x85d249680_10 .net/s v0x85d249680 10, 31 0, L_0x85ce2b5c0; 1 drivers
v0x85d249680_11 .net/s v0x85d249680 11, 31 0, L_0x85ce2b660; 1 drivers
o0x85c858b60 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_12 .net/s v0x85d249680 12, 31 0, o0x85c858b60; 0 drivers
o0x85c858b90 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_13 .net/s v0x85d249680 13, 31 0, o0x85c858b90; 0 drivers
o0x85c858bc0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_14 .net/s v0x85d249680 14, 31 0, o0x85c858bc0; 0 drivers
o0x85c858bf0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_15 .net/s v0x85d249680 15, 31 0, o0x85c858bf0; 0 drivers
v0x85d249680_16 .net/s v0x85d249680 16, 31 0, L_0x85ce2b700; 1 drivers
v0x85d249680_17 .net/s v0x85d249680 17, 31 0, L_0x85ce2b7a0; 1 drivers
o0x85c858c80 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_18 .net/s v0x85d249680 18, 31 0, o0x85c858c80; 0 drivers
o0x85c858cb0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_19 .net/s v0x85d249680 19, 31 0, o0x85c858cb0; 0 drivers
o0x85c858ce0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_20 .net/s v0x85d249680 20, 31 0, o0x85c858ce0; 0 drivers
o0x85c858d10 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_21 .net/s v0x85d249680 21, 31 0, o0x85c858d10; 0 drivers
o0x85c858d40 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_22 .net/s v0x85d249680 22, 31 0, o0x85c858d40; 0 drivers
o0x85c858d70 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_23 .net/s v0x85d249680 23, 31 0, o0x85c858d70; 0 drivers
v0x85d249680_24 .net/s v0x85d249680 24, 31 0, L_0x85ce2b840; 1 drivers
o0x85c858dd0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_25 .net/s v0x85d249680 25, 31 0, o0x85c858dd0; 0 drivers
o0x85c858e00 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_26 .net/s v0x85d249680 26, 31 0, o0x85c858e00; 0 drivers
o0x85c858e30 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_27 .net/s v0x85d249680 27, 31 0, o0x85c858e30; 0 drivers
o0x85c858e60 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_28 .net/s v0x85d249680 28, 31 0, o0x85c858e60; 0 drivers
o0x85c858e90 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_29 .net/s v0x85d249680 29, 31 0, o0x85c858e90; 0 drivers
o0x85c858ec0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_30 .net/s v0x85d249680 30, 31 0, o0x85c858ec0; 0 drivers
o0x85c858ef0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d249680_31 .net/s v0x85d249680 31, 31 0, o0x85c858ef0; 0 drivers
v0x85d249720_0 .net/s "w_bus", 63 0, L_0x85ce38aa0;  alias, 1 drivers
v0x85d2497c0_0 .net/s "x_bus", 63 0, L_0x85ce38a00;  alias, 1 drivers
L_0x85ce38c80 .part L_0x85ce38a00, 0, 8;
L_0x85ce38d20 .part L_0x85ce38aa0, 0, 8;
L_0x85ce38f00 .part L_0x85ce38a00, 8, 8;
L_0x85ce38fa0 .part L_0x85ce38aa0, 8, 8;
L_0x85ce39180 .part L_0x85ce38a00, 16, 8;
L_0x85ce39220 .part L_0x85ce38aa0, 16, 8;
L_0x85ce39400 .part L_0x85ce38a00, 24, 8;
L_0x85ce394a0 .part L_0x85ce38aa0, 24, 8;
L_0x85ce39680 .part L_0x85ce38a00, 32, 8;
L_0x85ce39720 .part L_0x85ce38aa0, 32, 8;
L_0x85ce39900 .part L_0x85ce38a00, 40, 8;
L_0x85ce399a0 .part L_0x85ce38aa0, 40, 8;
L_0x85ce39b80 .part L_0x85ce38a00, 48, 8;
L_0x85ce39c20 .part L_0x85ce38aa0, 48, 8;
L_0x85ce39e00 .part L_0x85ce38a00, 56, 8;
L_0x85ce39ea0 .part L_0x85ce38aa0, 56, 8;
L_0x85ce2b8e0 .arith/sum 32, v0x85d24a120_0, L_0x85ce2b840;
S_0x85d23f600 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce092c0 .param/l "i" 1 5 20, +C4<00>;
S_0x85d23f780 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d23f600;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdeedc0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdeee00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdeee40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d242260_0 .net/s *"_ivl_0", 15 0, L_0x85d26b8e0;  1 drivers
v0x85d242300_0 .net/s *"_ivl_2", 15 0, L_0x85d26b980;  1 drivers
v0x85d2423a0_0 .net *"_ivl_7", 0 0, L_0x85ce38b40;  1 drivers
v0x85d242440_0 .net *"_ivl_9", 15 0, L_0x85ce38be0;  1 drivers
L_0x85c87a1d0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2424e0_0 .net/s "acc_in", 31 0, L_0x85c87a1d0;  1 drivers
v0x85d242580_0 .net/s "acc_out", 31 0, L_0x85ce2af80;  alias, 1 drivers
v0x85d242620_0 .net/s "product", 15 0, L_0x85d26ba20;  1 drivers
v0x85d2426c0_0 .net/s "product_ext", 31 0, L_0x85d26bac0;  1 drivers
v0x85d242760_0 .net/s "w", 7 0, L_0x85ce38d20;  1 drivers
v0x85d242800_0 .net/s "x", 7 0, L_0x85ce38c80;  1 drivers
L_0x85d26b8e0 .extend/s 16, L_0x85ce38c80;
L_0x85d26b980 .extend/s 16, L_0x85ce38d20;
L_0x85d26ba20 .arith/mult 16, L_0x85d26b8e0, L_0x85d26b980;
L_0x85ce38b40 .part L_0x85d26ba20, 15, 1;
L_0x85ce38be0 .repeat 16, 16, L_0x85ce38b40;
L_0x85d26bac0 .concat [ 16 16 0 0], L_0x85d26ba20, L_0x85ce38be0;
L_0x85ce2af80 .arith/sum 32, L_0x85c87a1d0, L_0x85d26bac0;
S_0x85d23f900 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09300 .param/l "i" 1 5 20, +C4<01>;
S_0x85d23fa80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d23f900;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdeee80 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdeeec0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdeef00 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d2428a0_0 .net/s *"_ivl_0", 15 0, L_0x85d26bb60;  1 drivers
v0x85d242940_0 .net/s *"_ivl_2", 15 0, L_0x85d26bc00;  1 drivers
v0x85d2429e0_0 .net *"_ivl_7", 0 0, L_0x85ce38dc0;  1 drivers
v0x85d242a80_0 .net *"_ivl_9", 15 0, L_0x85ce38e60;  1 drivers
L_0x85c87a218 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d242b20_0 .net/s "acc_in", 31 0, L_0x85c87a218;  1 drivers
v0x85d242bc0_0 .net/s "acc_out", 31 0, L_0x85ce2b020;  alias, 1 drivers
v0x85d242c60_0 .net/s "product", 15 0, L_0x85d26bca0;  1 drivers
v0x85d242d00_0 .net/s "product_ext", 31 0, L_0x85d26bd40;  1 drivers
v0x85d242da0_0 .net/s "w", 7 0, L_0x85ce38fa0;  1 drivers
v0x85d242e40_0 .net/s "x", 7 0, L_0x85ce38f00;  1 drivers
L_0x85d26bb60 .extend/s 16, L_0x85ce38f00;
L_0x85d26bc00 .extend/s 16, L_0x85ce38fa0;
L_0x85d26bca0 .arith/mult 16, L_0x85d26bb60, L_0x85d26bc00;
L_0x85ce38dc0 .part L_0x85d26bca0, 15, 1;
L_0x85ce38e60 .repeat 16, 16, L_0x85ce38dc0;
L_0x85d26bd40 .concat [ 16 16 0 0], L_0x85d26bca0, L_0x85ce38e60;
L_0x85ce2b020 .arith/sum 32, L_0x85c87a218, L_0x85d26bd40;
S_0x85d23fc00 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09340 .param/l "i" 1 5 20, +C4<010>;
S_0x85d23fd80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d23fc00;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdeef40 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdeef80 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdeefc0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d242ee0_0 .net/s *"_ivl_0", 15 0, L_0x85d26bde0;  1 drivers
v0x85d242f80_0 .net/s *"_ivl_2", 15 0, L_0x85d26be80;  1 drivers
v0x85d243020_0 .net *"_ivl_7", 0 0, L_0x85ce39040;  1 drivers
v0x85d2430c0_0 .net *"_ivl_9", 15 0, L_0x85ce390e0;  1 drivers
L_0x85c87a260 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d243160_0 .net/s "acc_in", 31 0, L_0x85c87a260;  1 drivers
v0x85d243200_0 .net/s "acc_out", 31 0, L_0x85ce2b0c0;  alias, 1 drivers
v0x85d2432a0_0 .net/s "product", 15 0, L_0x85d26bf20;  1 drivers
v0x85d243340_0 .net/s "product_ext", 31 0, L_0x85d270000;  1 drivers
v0x85d2433e0_0 .net/s "w", 7 0, L_0x85ce39220;  1 drivers
v0x85d243480_0 .net/s "x", 7 0, L_0x85ce39180;  1 drivers
L_0x85d26bde0 .extend/s 16, L_0x85ce39180;
L_0x85d26be80 .extend/s 16, L_0x85ce39220;
L_0x85d26bf20 .arith/mult 16, L_0x85d26bde0, L_0x85d26be80;
L_0x85ce39040 .part L_0x85d26bf20, 15, 1;
L_0x85ce390e0 .repeat 16, 16, L_0x85ce39040;
L_0x85d270000 .concat [ 16 16 0 0], L_0x85d26bf20, L_0x85ce390e0;
L_0x85ce2b0c0 .arith/sum 32, L_0x85c87a260, L_0x85d270000;
S_0x85d244000 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09380 .param/l "i" 1 5 20, +C4<011>;
S_0x85d244180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d244000;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef000 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef040 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef080 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d243520_0 .net/s *"_ivl_0", 15 0, L_0x85d2700a0;  1 drivers
v0x85d2435c0_0 .net/s *"_ivl_2", 15 0, L_0x85d270140;  1 drivers
v0x85d243660_0 .net *"_ivl_7", 0 0, L_0x85ce392c0;  1 drivers
v0x85d243700_0 .net *"_ivl_9", 15 0, L_0x85ce39360;  1 drivers
L_0x85c87a2a8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2437a0_0 .net/s "acc_in", 31 0, L_0x85c87a2a8;  1 drivers
v0x85d243840_0 .net/s "acc_out", 31 0, L_0x85ce2b160;  alias, 1 drivers
v0x85d2438e0_0 .net/s "product", 15 0, L_0x85d2701e0;  1 drivers
v0x85d243980_0 .net/s "product_ext", 31 0, L_0x85d270280;  1 drivers
v0x85d243a20_0 .net/s "w", 7 0, L_0x85ce394a0;  1 drivers
v0x85d243ac0_0 .net/s "x", 7 0, L_0x85ce39400;  1 drivers
L_0x85d2700a0 .extend/s 16, L_0x85ce39400;
L_0x85d270140 .extend/s 16, L_0x85ce394a0;
L_0x85d2701e0 .arith/mult 16, L_0x85d2700a0, L_0x85d270140;
L_0x85ce392c0 .part L_0x85d2701e0, 15, 1;
L_0x85ce39360 .repeat 16, 16, L_0x85ce392c0;
L_0x85d270280 .concat [ 16 16 0 0], L_0x85d2701e0, L_0x85ce39360;
L_0x85ce2b160 .arith/sum 32, L_0x85c87a2a8, L_0x85d270280;
S_0x85d244300 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce093c0 .param/l "i" 1 5 20, +C4<0100>;
S_0x85d244480 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d244300;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef0c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef100 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef140 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d243b60_0 .net/s *"_ivl_0", 15 0, L_0x85d270320;  1 drivers
v0x85d243c00_0 .net/s *"_ivl_2", 15 0, L_0x85d2703c0;  1 drivers
v0x85d243ca0_0 .net *"_ivl_7", 0 0, L_0x85ce39540;  1 drivers
v0x85d243d40_0 .net *"_ivl_9", 15 0, L_0x85ce395e0;  1 drivers
L_0x85c87a2f0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d243de0_0 .net/s "acc_in", 31 0, L_0x85c87a2f0;  1 drivers
v0x85d243e80_0 .net/s "acc_out", 31 0, L_0x85ce2b200;  alias, 1 drivers
v0x85d243f20_0 .net/s "product", 15 0, L_0x85d270460;  1 drivers
v0x85d248000_0 .net/s "product_ext", 31 0, L_0x85d270500;  1 drivers
v0x85d2480a0_0 .net/s "w", 7 0, L_0x85ce39720;  1 drivers
v0x85d248140_0 .net/s "x", 7 0, L_0x85ce39680;  1 drivers
L_0x85d270320 .extend/s 16, L_0x85ce39680;
L_0x85d2703c0 .extend/s 16, L_0x85ce39720;
L_0x85d270460 .arith/mult 16, L_0x85d270320, L_0x85d2703c0;
L_0x85ce39540 .part L_0x85d270460, 15, 1;
L_0x85ce395e0 .repeat 16, 16, L_0x85ce39540;
L_0x85d270500 .concat [ 16 16 0 0], L_0x85d270460, L_0x85ce395e0;
L_0x85ce2b200 .arith/sum 32, L_0x85c87a2f0, L_0x85d270500;
S_0x85d244600 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09400 .param/l "i" 1 5 20, +C4<0101>;
S_0x85d244780 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d244600;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef180 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef1c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef200 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d2481e0_0 .net/s *"_ivl_0", 15 0, L_0x85d2705a0;  1 drivers
v0x85d248280_0 .net/s *"_ivl_2", 15 0, L_0x85d270640;  1 drivers
v0x85d248320_0 .net *"_ivl_7", 0 0, L_0x85ce397c0;  1 drivers
v0x85d2483c0_0 .net *"_ivl_9", 15 0, L_0x85ce39860;  1 drivers
L_0x85c87a338 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d248460_0 .net/s "acc_in", 31 0, L_0x85c87a338;  1 drivers
v0x85d248500_0 .net/s "acc_out", 31 0, L_0x85ce2b2a0;  alias, 1 drivers
v0x85d2485a0_0 .net/s "product", 15 0, L_0x85d2706e0;  1 drivers
v0x85d248640_0 .net/s "product_ext", 31 0, L_0x85d270780;  1 drivers
v0x85d2486e0_0 .net/s "w", 7 0, L_0x85ce399a0;  1 drivers
v0x85d248780_0 .net/s "x", 7 0, L_0x85ce39900;  1 drivers
L_0x85d2705a0 .extend/s 16, L_0x85ce39900;
L_0x85d270640 .extend/s 16, L_0x85ce399a0;
L_0x85d2706e0 .arith/mult 16, L_0x85d2705a0, L_0x85d270640;
L_0x85ce397c0 .part L_0x85d2706e0, 15, 1;
L_0x85ce39860 .repeat 16, 16, L_0x85ce397c0;
L_0x85d270780 .concat [ 16 16 0 0], L_0x85d2706e0, L_0x85ce39860;
L_0x85ce2b2a0 .arith/sum 32, L_0x85c87a338, L_0x85d270780;
S_0x85d244900 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09440 .param/l "i" 1 5 20, +C4<0110>;
S_0x85d244a80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d244900;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef240 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef280 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef2c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d248820_0 .net/s *"_ivl_0", 15 0, L_0x85d270820;  1 drivers
v0x85d2488c0_0 .net/s *"_ivl_2", 15 0, L_0x85d2708c0;  1 drivers
v0x85d248960_0 .net *"_ivl_7", 0 0, L_0x85ce39a40;  1 drivers
v0x85d248a00_0 .net *"_ivl_9", 15 0, L_0x85ce39ae0;  1 drivers
L_0x85c87a380 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d248aa0_0 .net/s "acc_in", 31 0, L_0x85c87a380;  1 drivers
v0x85d248b40_0 .net/s "acc_out", 31 0, L_0x85ce2b340;  alias, 1 drivers
v0x85d248be0_0 .net/s "product", 15 0, L_0x85d270960;  1 drivers
v0x85d248c80_0 .net/s "product_ext", 31 0, L_0x85d270a00;  1 drivers
v0x85d248d20_0 .net/s "w", 7 0, L_0x85ce39c20;  1 drivers
v0x85d248dc0_0 .net/s "x", 7 0, L_0x85ce39b80;  1 drivers
L_0x85d270820 .extend/s 16, L_0x85ce39b80;
L_0x85d2708c0 .extend/s 16, L_0x85ce39c20;
L_0x85d270960 .arith/mult 16, L_0x85d270820, L_0x85d2708c0;
L_0x85ce39a40 .part L_0x85d270960, 15, 1;
L_0x85ce39ae0 .repeat 16, 16, L_0x85ce39a40;
L_0x85d270a00 .concat [ 16 16 0 0], L_0x85d270960, L_0x85ce39ae0;
L_0x85ce2b340 .arith/sum 32, L_0x85c87a380, L_0x85d270a00;
S_0x85d244c00 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09480 .param/l "i" 1 5 20, +C4<0111>;
S_0x85d244d80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d244c00;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef300 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef340 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef380 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d248e60_0 .net/s *"_ivl_0", 15 0, L_0x85d270aa0;  1 drivers
v0x85d248f00_0 .net/s *"_ivl_2", 15 0, L_0x85d270b40;  1 drivers
v0x85d248fa0_0 .net *"_ivl_7", 0 0, L_0x85ce39cc0;  1 drivers
v0x85d249040_0 .net *"_ivl_9", 15 0, L_0x85ce39d60;  1 drivers
L_0x85c87a3c8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2490e0_0 .net/s "acc_in", 31 0, L_0x85c87a3c8;  1 drivers
v0x85d249180_0 .net/s "acc_out", 31 0, L_0x85ce2b3e0;  alias, 1 drivers
v0x85d249220_0 .net/s "product", 15 0, L_0x85d270be0;  1 drivers
v0x85d2492c0_0 .net/s "product_ext", 31 0, L_0x85d270c80;  1 drivers
v0x85d249360_0 .net/s "w", 7 0, L_0x85ce39ea0;  1 drivers
v0x85d249400_0 .net/s "x", 7 0, L_0x85ce39e00;  1 drivers
L_0x85d270aa0 .extend/s 16, L_0x85ce39e00;
L_0x85d270b40 .extend/s 16, L_0x85ce39ea0;
L_0x85d270be0 .arith/mult 16, L_0x85d270aa0, L_0x85d270b40;
L_0x85ce39cc0 .part L_0x85d270be0, 15, 1;
L_0x85ce39d60 .repeat 16, 16, L_0x85ce39cc0;
L_0x85d270c80 .concat [ 16 16 0 0], L_0x85d270be0, L_0x85ce39d60;
L_0x85ce2b3e0 .arith/sum 32, L_0x85c87a3c8, L_0x85d270c80;
S_0x85d244f00 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce094c0 .param/l "i" 1 5 80, +C4<00>;
L_0x85d274000 .functor BUFZ 32, L_0x85ce2af80, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d245080 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09500 .param/l "i" 1 5 80, +C4<01>;
L_0x85d274070 .functor BUFZ 32, L_0x85ce2b020, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d245200 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09540 .param/l "i" 1 5 80, +C4<010>;
L_0x85d2740e0 .functor BUFZ 32, L_0x85ce2b0c0, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d245380 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09580 .param/l "i" 1 5 80, +C4<011>;
L_0x85d274150 .functor BUFZ 32, L_0x85ce2b160, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d245500 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce095c0 .param/l "i" 1 5 80, +C4<0100>;
L_0x85d2741c0 .functor BUFZ 32, L_0x85ce2b200, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d245680 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09600 .param/l "i" 1 5 80, +C4<0101>;
L_0x85d274230 .functor BUFZ 32, L_0x85ce2b2a0, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d245800 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09640 .param/l "i" 1 5 80, +C4<0110>;
L_0x85d2742a0 .functor BUFZ 32, L_0x85ce2b340, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d245980 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09680 .param/l "i" 1 5 80, +C4<0111>;
L_0x85d274310 .functor BUFZ 32, L_0x85ce2b3e0, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d245b00 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce096c0 .param/l "level" 1 5 92, +C4<00>;
S_0x85d245c80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d245b00;
 .timescale 0 0;
P_0x85ce09700 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce2b480 .arith/sum 32, L_0x85d274000, L_0x85d274070;
S_0x85d245e00 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d245b00;
 .timescale 0 0;
P_0x85ce09740 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce2b520 .arith/sum 32, L_0x85d2740e0, L_0x85d274150;
S_0x85d245f80 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0x85d245b00;
 .timescale 0 0;
P_0x85ce09780 .param/l "node" 1 5 94, +C4<010>;
L_0x85ce2b5c0 .arith/sum 32, L_0x85d2741c0, L_0x85d274230;
S_0x85d246100 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0x85d245b00;
 .timescale 0 0;
P_0x85ce097c0 .param/l "node" 1 5 94, +C4<011>;
L_0x85ce2b660 .arith/sum 32, L_0x85d2742a0, L_0x85d274310;
S_0x85d246280 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce09800 .param/l "level" 1 5 92, +C4<01>;
S_0x85d246400 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d246280;
 .timescale 0 0;
P_0x85ce09840 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce2b700 .arith/sum 32, L_0x85ce2b480, L_0x85ce2b520;
S_0x85d246580 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d246280;
 .timescale 0 0;
P_0x85ce09880 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce2b7a0 .arith/sum 32, L_0x85ce2b5c0, L_0x85ce2b660;
S_0x85d246700 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0x85d23f480;
 .timescale 0 0;
P_0x85ce098c0 .param/l "level" 1 5 92, +C4<010>;
S_0x85d246880 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d246700;
 .timescale 0 0;
P_0x85ce09900 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce2b840 .arith/sum 32, L_0x85ce2b700, L_0x85ce2b7a0;
S_0x100bf0d40 .scope module, "psram_controller" "psram_controller" 11 1;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "mem_req";
    .port_info 3 /INPUT 1 "mem_wr";
    .port_info 4 /INPUT 22 "mem_addr";
    .port_info 5 /INPUT 16 "mem_wdata";
    .port_info 6 /INPUT 1 "mem_lb_n";
    .port_info 7 /INPUT 1 "mem_ub_n";
    .port_info 8 /OUTPUT 16 "mem_rdata";
    .port_info 9 /OUTPUT 1 "mem_ready";
    .port_info 10 /OUTPUT 22 "psram_a";
    .port_info 11 /INOUT 16 "psram_dq";
    .port_info 12 /OUTPUT 1 "psram_ce_n";
    .port_info 13 /OUTPUT 1 "psram_oe_n";
    .port_info 14 /OUTPUT 1 "psram_we_n";
    .port_info 15 /OUTPUT 1 "psram_lb_n";
    .port_info 16 /OUTPUT 1 "psram_ub_n";
    .port_info 17 /OUTPUT 1 "psram_zz_n";
P_0x100bffb10 .param/l "ACCESS_CYCLES" 1 11 43, +C4<00000000000000000000000000000110>;
P_0x100bffb50 .param/l "ADDR_WIDTH" 0 11 2, +C4<00000000000000000000000000010110>;
P_0x100bffb90 .param/l "CLK_FREQ_MHZ" 0 11 4, +C4<00000000000000000000000001010000>;
P_0x100bffbd0 .param/l "COUNTER_WIDTH" 1 11 49, +C4<00000000000000000000000000001110>;
P_0x100bffc10 .param/l "DATA_WIDTH" 0 11 3, +C4<00000000000000000000000000010000>;
P_0x100bffc50 .param/l "INIT_CYCLES" 1 11 46, +C4<00000000000000000010111011100000>;
P_0x100bffc90 .param/l "STATE_IDLE" 1 11 58, C4<001>;
P_0x100bffcd0 .param/l "STATE_INIT" 1 11 57, C4<000>;
P_0x100bffd10 .param/l "STATE_READ" 1 11 59, C4<010>;
P_0x100bffd50 .param/l "STATE_WRITE" 1 11 60, C4<011>;
P_0x100bffd90 .param/l "STATE_WRITE_WAIT" 1 11 61, C4<100>;
o0x85c85a8d0 .functor BUFZ 16, c4<zzzzzzzzzzzzzzzz>; HiZ drive
; Elide local net with no drivers, v0x85d24c6e0_0 name=_ivl_0
v0x85d24c780_0 .var "address_reg", 21 0;
o0x85c85a930 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d24c820_0 .net "clk", 0 0, o0x85c85a930;  0 drivers
v0x85d24c8c0_0 .var "counter", 13 0;
v0x85d24c960_0 .var "dq_oe", 0 0;
v0x85d24ca00_0 .var "dq_out", 15 0;
v0x85d24caa0_0 .var "lb_reg", 0 0;
o0x85c85aa20 .functor BUFZ 22, c4<zzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d24cb40_0 .net "mem_addr", 21 0, o0x85c85aa20;  0 drivers
o0x85c85aa50 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d24cbe0_0 .net "mem_lb_n", 0 0, o0x85c85aa50;  0 drivers
v0x85d24cc80_0 .var "mem_rdata", 15 0;
v0x85d24cd20_0 .var "mem_ready", 0 0;
o0x85c85aae0 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d24cdc0_0 .net "mem_req", 0 0, o0x85c85aae0;  0 drivers
o0x85c85ab10 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d24ce60_0 .net "mem_ub_n", 0 0, o0x85c85ab10;  0 drivers
o0x85c85ab40 .functor BUFZ 16, c4<zzzzzzzzzzzzzzzz>; HiZ drive
v0x85d24cf00_0 .net "mem_wdata", 15 0, o0x85c85ab40;  0 drivers
o0x85c85ab70 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d24cfa0_0 .net "mem_wr", 0 0, o0x85c85ab70;  0 drivers
v0x85d24d040_0 .var "psram_a", 21 0;
v0x85d24d0e0_0 .var "psram_ce_n", 0 0;
v0x85d24d180_0 .net "psram_dq", 15 0, L_0x85ce3a080;  1 drivers
v0x85d24d220_0 .var "psram_lb_n", 0 0;
v0x85d24d2c0_0 .var "psram_oe_n", 0 0;
v0x85d24d360_0 .var "psram_ub_n", 0 0;
v0x85d24d400_0 .var "psram_we_n", 0 0;
v0x85d24d4a0_0 .var "psram_zz_n", 0 0;
o0x85c85ad20 .functor BUFZ 1, c4<z>; HiZ drive
v0x85d24d540_0 .net "rst", 0 0, o0x85c85ad20;  0 drivers
v0x85d24d5e0_0 .var "state", 2 0;
v0x85d24d680_0 .var "ub_reg", 0 0;
v0x85d24d720_0 .var "wdata_reg", 15 0;
v0x85d24d7c0_0 .var "wr_reg", 0 0;
E_0x85cdf1280 .event posedge, v0x85d24c820_0;
L_0x85ce3a080 .functor MUXZ 16, o0x85c85a8d0, v0x85d24ca00_0, v0x85d24c960_0, C4<>;
S_0x100bf0ec0 .scope module, "tb" "tb" 12 3;
 .timescale -9 -12;
P_0x85d090200 .param/l "ACC_WIDTH" 0 12 8, +C4<00000000000000000000000000100000>;
P_0x85d090240 .param/l "DATA_WIDTH" 0 12 5, +C4<00000000000000000000000000001000>;
P_0x85d090280 .param/l "N_INPUTS" 0 12 6, +C4<00000000000000000000000000100000>;
P_0x85d0902c0 .param/l "PARALLEL" 0 12 7, +C4<00000000000000000000000000001000>;
v0x85d256120_0 .var/s "bias", 7 0;
v0x85d2561c0_0 .net "busy", 0 0, v0x85d2559a0_0;  1 drivers
v0x85d256260_0 .var "clk", 0 0;
v0x85d256300_0 .net "done", 0 0, v0x85d255ae0_0;  1 drivers
v0x85d2563a0_0 .var/i "errors", 31 0;
v0x85d256440_0 .var/i "i", 31 0;
v0x85d2564e0_0 .var "rst", 0 0;
v0x85d256580_0 .var "start", 0 0;
v0x85d256620_0 .var/s "w_bus", 255 0;
v0x85d2566c0_0 .var/s "x_bus", 255 0;
v0x85d256760_0 .net/s "y", 7 0, v0x85d256080_0;  1 drivers
S_0x85d246a00 .scope module, "dut" "neuron_parallel" 12 30, 4 1 0, S_0x100bf0ec0;
 .timescale -9 -12;
    .port_info 0 /INPUT 1 "clk";
    .port_info 1 /INPUT 1 "rst";
    .port_info 2 /INPUT 1 "start";
    .port_info 3 /INPUT 256 "x_bus";
    .port_info 4 /INPUT 256 "w_bus";
    .port_info 5 /INPUT 8 "bias";
    .port_info 6 /OUTPUT 8 "y";
    .port_info 7 /OUTPUT 1 "busy";
    .port_info 8 /OUTPUT 1 "done";
P_0x85d246b80 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000100000>;
P_0x85d246bc0 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000001000>;
P_0x85d246c00 .param/l "GROUPS" 1 4 49, +C4<00000000000000000000000000000100>;
P_0x85d246c40 .param/l "GROUP_INDEX_WIDTH" 1 4 50, +C4<00000000000000000000000000000010>;
P_0x85d246c80 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000000100000>;
P_0x85d246cc0 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0x85d254e60_0 .net *"_ivl_0", 31 0, L_0x85d270e60;  1 drivers
v0x85d254f00_0 .net *"_ivl_11", 31 0, L_0x85d270fa0;  1 drivers
v0x85d254fa0_0 .net *"_ivl_14", 31 0, L_0x85d271040;  1 drivers
L_0x85c87a4e8 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d255040_0 .net *"_ivl_17", 29 0, L_0x85c87a4e8;  1 drivers
L_0x85c87a530 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d2550e0_0 .net/2u *"_ivl_18", 31 0, L_0x85c87a530;  1 drivers
v0x85d255180_0 .net *"_ivl_21", 31 0, L_0x85d2710e0;  1 drivers
L_0x85c87a578 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d255220_0 .net/2u *"_ivl_22", 31 0, L_0x85c87a578;  1 drivers
v0x85d2552c0_0 .net *"_ivl_25", 31 0, L_0x85d271180;  1 drivers
v0x85d255360_0 .net *"_ivl_29", 0 0, L_0x85ce3b660;  1 drivers
L_0x85c87a410 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d255400_0 .net *"_ivl_3", 29 0, L_0x85c87a410;  1 drivers
v0x85d2554a0_0 .net *"_ivl_31", 23 0, L_0x85ce3b700;  1 drivers
L_0x85c87a458 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d255540_0 .net/2u *"_ivl_4", 31 0, L_0x85c87a458;  1 drivers
v0x85d2555e0_0 .net *"_ivl_7", 31 0, L_0x85d270f00;  1 drivers
L_0x85c87a4a0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x85d255680_0 .net/2u *"_ivl_8", 31 0, L_0x85c87a4a0;  1 drivers
v0x85d255720_0 .var/s "acc", 31 0;
v0x85d2557c0_0 .net/s "acc_next", 31 0, L_0x85ce403c0;  1 drivers
v0x85d255860_0 .net/s "bias", 7 0, v0x85d256120_0;  1 drivers
v0x85d255900_0 .net/s "bias_ext", 31 0, L_0x85d2726c0;  1 drivers
v0x85d2559a0_0 .var "busy", 0 0;
v0x85d255a40_0 .net "clk", 0 0, v0x85d256260_0;  1 drivers
v0x85d255ae0_0 .var "done", 0 0;
v0x85d255b80_0 .net/s "final_acc", 31 0, L_0x85ce40460;  1 drivers
v0x85d255c20_0 .var "group_index", 1 0;
v0x85d255cc0_0 .net "rst", 0 0, v0x85d2564e0_0;  1 drivers
v0x85d255d60_0 .net "start", 0 0, v0x85d256580_0;  1 drivers
v0x85d255e00_0 .net/s "w_bus", 255 0, v0x85d256620_0;  1 drivers
v0x85d255ea0_0 .net/s "w_group", 63 0, L_0x85ce3a1c0;  1 drivers
v0x85d255f40_0 .net/s "x_bus", 255 0, v0x85d2566c0_0;  1 drivers
v0x85d255fe0_0 .net/s "x_group", 63 0, L_0x85ce3a120;  1 drivers
v0x85d256080_0 .var/s "y", 7 0;
E_0x85cdf12c0 .event posedge, v0x85d255a40_0;
L_0x85d270e60 .concat [ 2 30 0 0], v0x85d255c20_0, L_0x85c87a410;
L_0x85d270f00 .arith/mult 32, L_0x85d270e60, L_0x85c87a458;
L_0x85d270fa0 .arith/mult 32, L_0x85d270f00, L_0x85c87a4a0;
L_0x85ce3a120 .part/v v0x85d2566c0_0, L_0x85d270fa0, 64;
L_0x85d271040 .concat [ 2 30 0 0], v0x85d255c20_0, L_0x85c87a4e8;
L_0x85d2710e0 .arith/mult 32, L_0x85d271040, L_0x85c87a530;
L_0x85d271180 .arith/mult 32, L_0x85d2710e0, L_0x85c87a578;
L_0x85ce3a1c0 .part/v v0x85d256620_0, L_0x85d271180, 64;
L_0x85ce3b660 .part v0x85d256120_0, 7, 1;
L_0x85ce3b700 .repeat 24, 24, L_0x85ce3b660;
L_0x85d2726c0 .concat [ 8 24 0 0], v0x85d256120_0, L_0x85ce3b700;
L_0x85ce40460 .arith/sum 32, L_0x85ce403c0, L_0x85d2726c0;
S_0x85d246d00 .scope module, "u_mac8" "mac8" 4 81, 5 1 0, S_0x85d246a00;
 .timescale 0 0;
    .port_info 0 /INPUT 64 "x_bus";
    .port_info 1 /INPUT 64 "w_bus";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85d090c00 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000100000>;
P_0x85d090c40 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000001000>;
P_0x85d090c80 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0x85d090cc0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0x85d254aa0_0 .net/s "acc_in", 31 0, v0x85d255720_0;  1 drivers
v0x85d254b40_0 .net/s "acc_out", 31 0, L_0x85ce403c0;  alias, 1 drivers
v0x85d254be0 .array "products", 7 0;
v0x85d254be0_0 .net/s v0x85d254be0 0, 31 0, L_0x85ce2ba20; 1 drivers
v0x85d254be0_1 .net/s v0x85d254be0 1, 31 0, L_0x85ce2bac0; 1 drivers
v0x85d254be0_2 .net/s v0x85d254be0 2, 31 0, L_0x85ce2bb60; 1 drivers
v0x85d254be0_3 .net/s v0x85d254be0 3, 31 0, L_0x85ce2bc00; 1 drivers
v0x85d254be0_4 .net/s v0x85d254be0 4, 31 0, L_0x85ce2bca0; 1 drivers
v0x85d254be0_5 .net/s v0x85d254be0 5, 31 0, L_0x85ce2bd40; 1 drivers
v0x85d254be0_6 .net/s v0x85d254be0 6, 31 0, L_0x85ce2bde0; 1 drivers
v0x85d254be0_7 .net/s v0x85d254be0 7, 31 0, L_0x85ce2be80; 1 drivers
v0x85d254c80 .array "tree", 31 0;
v0x85d254c80_0 .net/s v0x85d254c80 0, 31 0, L_0x85d274380; 1 drivers
v0x85d254c80_1 .net/s v0x85d254c80 1, 31 0, L_0x85d2743f0; 1 drivers
v0x85d254c80_2 .net/s v0x85d254c80 2, 31 0, L_0x85d274460; 1 drivers
v0x85d254c80_3 .net/s v0x85d254c80 3, 31 0, L_0x85d2744d0; 1 drivers
v0x85d254c80_4 .net/s v0x85d254c80 4, 31 0, L_0x85d274540; 1 drivers
v0x85d254c80_5 .net/s v0x85d254c80 5, 31 0, L_0x85d2745b0; 1 drivers
v0x85d254c80_6 .net/s v0x85d254c80 6, 31 0, L_0x85d274620; 1 drivers
v0x85d254c80_7 .net/s v0x85d254c80 7, 31 0, L_0x85d274690; 1 drivers
v0x85d254c80_8 .net/s v0x85d254c80 8, 31 0, L_0x85ce2bf20; 1 drivers
v0x85d254c80_9 .net/s v0x85d254c80 9, 31 0, L_0x85ce40000; 1 drivers
v0x85d254c80_10 .net/s v0x85d254c80 10, 31 0, L_0x85ce400a0; 1 drivers
v0x85d254c80_11 .net/s v0x85d254c80 11, 31 0, L_0x85ce40140; 1 drivers
o0x85c85c910 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_12 .net/s v0x85d254c80 12, 31 0, o0x85c85c910; 0 drivers
o0x85c85c940 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_13 .net/s v0x85d254c80 13, 31 0, o0x85c85c940; 0 drivers
o0x85c85c970 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_14 .net/s v0x85d254c80 14, 31 0, o0x85c85c970; 0 drivers
o0x85c85c9a0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_15 .net/s v0x85d254c80 15, 31 0, o0x85c85c9a0; 0 drivers
v0x85d254c80_16 .net/s v0x85d254c80 16, 31 0, L_0x85ce401e0; 1 drivers
v0x85d254c80_17 .net/s v0x85d254c80 17, 31 0, L_0x85ce40280; 1 drivers
o0x85c85ca30 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_18 .net/s v0x85d254c80 18, 31 0, o0x85c85ca30; 0 drivers
o0x85c85ca60 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_19 .net/s v0x85d254c80 19, 31 0, o0x85c85ca60; 0 drivers
o0x85c85ca90 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_20 .net/s v0x85d254c80 20, 31 0, o0x85c85ca90; 0 drivers
o0x85c85cac0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_21 .net/s v0x85d254c80 21, 31 0, o0x85c85cac0; 0 drivers
o0x85c85caf0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_22 .net/s v0x85d254c80 22, 31 0, o0x85c85caf0; 0 drivers
o0x85c85cb20 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_23 .net/s v0x85d254c80 23, 31 0, o0x85c85cb20; 0 drivers
v0x85d254c80_24 .net/s v0x85d254c80 24, 31 0, L_0x85ce40320; 1 drivers
o0x85c85cb80 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_25 .net/s v0x85d254c80 25, 31 0, o0x85c85cb80; 0 drivers
o0x85c85cbb0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_26 .net/s v0x85d254c80 26, 31 0, o0x85c85cbb0; 0 drivers
o0x85c85cbe0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_27 .net/s v0x85d254c80 27, 31 0, o0x85c85cbe0; 0 drivers
o0x85c85cc10 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_28 .net/s v0x85d254c80 28, 31 0, o0x85c85cc10; 0 drivers
o0x85c85cc40 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_29 .net/s v0x85d254c80 29, 31 0, o0x85c85cc40; 0 drivers
o0x85c85cc70 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_30 .net/s v0x85d254c80 30, 31 0, o0x85c85cc70; 0 drivers
o0x85c85cca0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0x85d254c80_31 .net/s v0x85d254c80 31, 31 0, o0x85c85cca0; 0 drivers
v0x85d254d20_0 .net/s "w_bus", 63 0, L_0x85ce3a1c0;  alias, 1 drivers
v0x85d254dc0_0 .net/s "x_bus", 63 0, L_0x85ce3a120;  alias, 1 drivers
L_0x85ce3a3a0 .part L_0x85ce3a120, 0, 8;
L_0x85ce3a440 .part L_0x85ce3a1c0, 0, 8;
L_0x85ce3a620 .part L_0x85ce3a120, 8, 8;
L_0x85ce3a6c0 .part L_0x85ce3a1c0, 8, 8;
L_0x85ce3a8a0 .part L_0x85ce3a120, 16, 8;
L_0x85ce3a940 .part L_0x85ce3a1c0, 16, 8;
L_0x85ce3ab20 .part L_0x85ce3a120, 24, 8;
L_0x85ce3abc0 .part L_0x85ce3a1c0, 24, 8;
L_0x85ce3ada0 .part L_0x85ce3a120, 32, 8;
L_0x85ce3ae40 .part L_0x85ce3a1c0, 32, 8;
L_0x85ce3b020 .part L_0x85ce3a120, 40, 8;
L_0x85ce3b0c0 .part L_0x85ce3a1c0, 40, 8;
L_0x85ce3b2a0 .part L_0x85ce3a120, 48, 8;
L_0x85ce3b340 .part L_0x85ce3a1c0, 48, 8;
L_0x85ce3b520 .part L_0x85ce3a120, 56, 8;
L_0x85ce3b5c0 .part L_0x85ce3a1c0, 56, 8;
L_0x85ce403c0 .arith/sum 32, v0x85d255720_0, L_0x85ce40320;
S_0x85d246e80 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09940 .param/l "i" 1 5 20, +C4<00>;
S_0x85d247000 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d246e80;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef3c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef400 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef440 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d24d860_0 .net/s *"_ivl_0", 15 0, L_0x85d271220;  1 drivers
v0x85d24d900_0 .net/s *"_ivl_2", 15 0, L_0x85d2712c0;  1 drivers
v0x85d24d9a0_0 .net *"_ivl_7", 0 0, L_0x85ce3a260;  1 drivers
v0x85d24da40_0 .net *"_ivl_9", 15 0, L_0x85ce3a300;  1 drivers
L_0x85c87a5c0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d24dae0_0 .net/s "acc_in", 31 0, L_0x85c87a5c0;  1 drivers
v0x85d24db80_0 .net/s "acc_out", 31 0, L_0x85ce2ba20;  alias, 1 drivers
v0x85d24dc20_0 .net/s "product", 15 0, L_0x85d271360;  1 drivers
v0x85d24dcc0_0 .net/s "product_ext", 31 0, L_0x85d271400;  1 drivers
v0x85d24dd60_0 .net/s "w", 7 0, L_0x85ce3a440;  1 drivers
v0x85d24de00_0 .net/s "x", 7 0, L_0x85ce3a3a0;  1 drivers
L_0x85d271220 .extend/s 16, L_0x85ce3a3a0;
L_0x85d2712c0 .extend/s 16, L_0x85ce3a440;
L_0x85d271360 .arith/mult 16, L_0x85d271220, L_0x85d2712c0;
L_0x85ce3a260 .part L_0x85d271360, 15, 1;
L_0x85ce3a300 .repeat 16, 16, L_0x85ce3a260;
L_0x85d271400 .concat [ 16 16 0 0], L_0x85d271360, L_0x85ce3a300;
L_0x85ce2ba20 .arith/sum 32, L_0x85c87a5c0, L_0x85d271400;
S_0x85d247180 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09980 .param/l "i" 1 5 20, +C4<01>;
S_0x85d247300 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d247180;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef480 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef4c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef500 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d24dea0_0 .net/s *"_ivl_0", 15 0, L_0x85d2714a0;  1 drivers
v0x85d24df40_0 .net/s *"_ivl_2", 15 0, L_0x85d271540;  1 drivers
v0x85d24dfe0_0 .net *"_ivl_7", 0 0, L_0x85ce3a4e0;  1 drivers
v0x85d24e080_0 .net *"_ivl_9", 15 0, L_0x85ce3a580;  1 drivers
L_0x85c87a608 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d24e120_0 .net/s "acc_in", 31 0, L_0x85c87a608;  1 drivers
v0x85d24e1c0_0 .net/s "acc_out", 31 0, L_0x85ce2bac0;  alias, 1 drivers
v0x85d24e260_0 .net/s "product", 15 0, L_0x85d2715e0;  1 drivers
v0x85d24e300_0 .net/s "product_ext", 31 0, L_0x85d271680;  1 drivers
v0x85d24e3a0_0 .net/s "w", 7 0, L_0x85ce3a6c0;  1 drivers
v0x85d24e440_0 .net/s "x", 7 0, L_0x85ce3a620;  1 drivers
L_0x85d2714a0 .extend/s 16, L_0x85ce3a620;
L_0x85d271540 .extend/s 16, L_0x85ce3a6c0;
L_0x85d2715e0 .arith/mult 16, L_0x85d2714a0, L_0x85d271540;
L_0x85ce3a4e0 .part L_0x85d2715e0, 15, 1;
L_0x85ce3a580 .repeat 16, 16, L_0x85ce3a4e0;
L_0x85d271680 .concat [ 16 16 0 0], L_0x85d2715e0, L_0x85ce3a580;
L_0x85ce2bac0 .arith/sum 32, L_0x85c87a608, L_0x85d271680;
S_0x85d247480 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce099c0 .param/l "i" 1 5 20, +C4<010>;
S_0x85d247600 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d247480;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef540 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef580 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef5c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d24e4e0_0 .net/s *"_ivl_0", 15 0, L_0x85d271720;  1 drivers
v0x85d24e580_0 .net/s *"_ivl_2", 15 0, L_0x85d2717c0;  1 drivers
v0x85d24e620_0 .net *"_ivl_7", 0 0, L_0x85ce3a760;  1 drivers
v0x85d24e6c0_0 .net *"_ivl_9", 15 0, L_0x85ce3a800;  1 drivers
L_0x85c87a650 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d24e760_0 .net/s "acc_in", 31 0, L_0x85c87a650;  1 drivers
v0x85d24e800_0 .net/s "acc_out", 31 0, L_0x85ce2bb60;  alias, 1 drivers
v0x85d24e8a0_0 .net/s "product", 15 0, L_0x85d271860;  1 drivers
v0x85d24e940_0 .net/s "product_ext", 31 0, L_0x85d271900;  1 drivers
v0x85d24e9e0_0 .net/s "w", 7 0, L_0x85ce3a940;  1 drivers
v0x85d24ea80_0 .net/s "x", 7 0, L_0x85ce3a8a0;  1 drivers
L_0x85d271720 .extend/s 16, L_0x85ce3a8a0;
L_0x85d2717c0 .extend/s 16, L_0x85ce3a940;
L_0x85d271860 .arith/mult 16, L_0x85d271720, L_0x85d2717c0;
L_0x85ce3a760 .part L_0x85d271860, 15, 1;
L_0x85ce3a800 .repeat 16, 16, L_0x85ce3a760;
L_0x85d271900 .concat [ 16 16 0 0], L_0x85d271860, L_0x85ce3a800;
L_0x85ce2bb60 .arith/sum 32, L_0x85c87a650, L_0x85d271900;
S_0x85d247780 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09a00 .param/l "i" 1 5 20, +C4<011>;
S_0x85d247900 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d247780;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef600 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef640 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef680 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d24eb20_0 .net/s *"_ivl_0", 15 0, L_0x85d2719a0;  1 drivers
v0x85d24ebc0_0 .net/s *"_ivl_2", 15 0, L_0x85d271a40;  1 drivers
v0x85d24ec60_0 .net *"_ivl_7", 0 0, L_0x85ce3a9e0;  1 drivers
v0x85d24ed00_0 .net *"_ivl_9", 15 0, L_0x85ce3aa80;  1 drivers
L_0x85c87a698 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d24eda0_0 .net/s "acc_in", 31 0, L_0x85c87a698;  1 drivers
v0x85d24ee40_0 .net/s "acc_out", 31 0, L_0x85ce2bc00;  alias, 1 drivers
v0x85d24eee0_0 .net/s "product", 15 0, L_0x85d271ae0;  1 drivers
v0x85d24ef80_0 .net/s "product_ext", 31 0, L_0x85d271b80;  1 drivers
v0x85d24f020_0 .net/s "w", 7 0, L_0x85ce3abc0;  1 drivers
v0x85d24f0c0_0 .net/s "x", 7 0, L_0x85ce3ab20;  1 drivers
L_0x85d2719a0 .extend/s 16, L_0x85ce3ab20;
L_0x85d271a40 .extend/s 16, L_0x85ce3abc0;
L_0x85d271ae0 .arith/mult 16, L_0x85d2719a0, L_0x85d271a40;
L_0x85ce3a9e0 .part L_0x85d271ae0, 15, 1;
L_0x85ce3aa80 .repeat 16, 16, L_0x85ce3a9e0;
L_0x85d271b80 .concat [ 16 16 0 0], L_0x85d271ae0, L_0x85ce3aa80;
L_0x85ce2bc00 .arith/sum 32, L_0x85c87a698, L_0x85d271b80;
S_0x85d247a80 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09a40 .param/l "i" 1 5 20, +C4<0100>;
S_0x85d247c00 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d247a80;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef6c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef700 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef740 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d24f160_0 .net/s *"_ivl_0", 15 0, L_0x85d271c20;  1 drivers
v0x85d24f200_0 .net/s *"_ivl_2", 15 0, L_0x85d271cc0;  1 drivers
v0x85d24f2a0_0 .net *"_ivl_7", 0 0, L_0x85ce3ac60;  1 drivers
v0x85d24f340_0 .net *"_ivl_9", 15 0, L_0x85ce3ad00;  1 drivers
L_0x85c87a6e0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d24f3e0_0 .net/s "acc_in", 31 0, L_0x85c87a6e0;  1 drivers
v0x85d24f480_0 .net/s "acc_out", 31 0, L_0x85ce2bca0;  alias, 1 drivers
v0x85d24f520_0 .net/s "product", 15 0, L_0x85d271d60;  1 drivers
v0x85d24f5c0_0 .net/s "product_ext", 31 0, L_0x85d271e00;  1 drivers
v0x85d24f660_0 .net/s "w", 7 0, L_0x85ce3ae40;  1 drivers
v0x85d24f700_0 .net/s "x", 7 0, L_0x85ce3ada0;  1 drivers
L_0x85d271c20 .extend/s 16, L_0x85ce3ada0;
L_0x85d271cc0 .extend/s 16, L_0x85ce3ae40;
L_0x85d271d60 .arith/mult 16, L_0x85d271c20, L_0x85d271cc0;
L_0x85ce3ac60 .part L_0x85d271d60, 15, 1;
L_0x85ce3ad00 .repeat 16, 16, L_0x85ce3ac60;
L_0x85d271e00 .concat [ 16 16 0 0], L_0x85d271d60, L_0x85ce3ad00;
L_0x85ce2bca0 .arith/sum 32, L_0x85c87a6e0, L_0x85d271e00;
S_0x85d247d80 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09a80 .param/l "i" 1 5 20, +C4<0101>;
S_0x85d250000 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d247d80;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef780 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef7c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef800 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d24f7a0_0 .net/s *"_ivl_0", 15 0, L_0x85d271ea0;  1 drivers
v0x85d24f840_0 .net/s *"_ivl_2", 15 0, L_0x85d271f40;  1 drivers
v0x85d24f8e0_0 .net *"_ivl_7", 0 0, L_0x85ce3aee0;  1 drivers
v0x85d24f980_0 .net *"_ivl_9", 15 0, L_0x85ce3af80;  1 drivers
L_0x85c87a728 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d24fa20_0 .net/s "acc_in", 31 0, L_0x85c87a728;  1 drivers
v0x85d24fac0_0 .net/s "acc_out", 31 0, L_0x85ce2bd40;  alias, 1 drivers
v0x85d24fb60_0 .net/s "product", 15 0, L_0x85d271fe0;  1 drivers
v0x85d24fc00_0 .net/s "product_ext", 31 0, L_0x85d272080;  1 drivers
v0x85d24fca0_0 .net/s "w", 7 0, L_0x85ce3b0c0;  1 drivers
v0x85d24fd40_0 .net/s "x", 7 0, L_0x85ce3b020;  1 drivers
L_0x85d271ea0 .extend/s 16, L_0x85ce3b020;
L_0x85d271f40 .extend/s 16, L_0x85ce3b0c0;
L_0x85d271fe0 .arith/mult 16, L_0x85d271ea0, L_0x85d271f40;
L_0x85ce3aee0 .part L_0x85d271fe0, 15, 1;
L_0x85ce3af80 .repeat 16, 16, L_0x85ce3aee0;
L_0x85d272080 .concat [ 16 16 0 0], L_0x85d271fe0, L_0x85ce3af80;
L_0x85ce2bd40 .arith/sum 32, L_0x85c87a728, L_0x85d272080;
S_0x85d250180 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09ac0 .param/l "i" 1 5 20, +C4<0110>;
S_0x85d250300 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d250180;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef840 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef880 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef8c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d24fde0_0 .net/s *"_ivl_0", 15 0, L_0x85d272120;  1 drivers
v0x85d24fe80_0 .net/s *"_ivl_2", 15 0, L_0x85d2721c0;  1 drivers
v0x85d24ff20_0 .net *"_ivl_7", 0 0, L_0x85ce3b160;  1 drivers
v0x85d254000_0 .net *"_ivl_9", 15 0, L_0x85ce3b200;  1 drivers
L_0x85c87a770 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2540a0_0 .net/s "acc_in", 31 0, L_0x85c87a770;  1 drivers
v0x85d254140_0 .net/s "acc_out", 31 0, L_0x85ce2bde0;  alias, 1 drivers
v0x85d2541e0_0 .net/s "product", 15 0, L_0x85d272260;  1 drivers
v0x85d254280_0 .net/s "product_ext", 31 0, L_0x85d272300;  1 drivers
v0x85d254320_0 .net/s "w", 7 0, L_0x85ce3b340;  1 drivers
v0x85d2543c0_0 .net/s "x", 7 0, L_0x85ce3b2a0;  1 drivers
L_0x85d272120 .extend/s 16, L_0x85ce3b2a0;
L_0x85d2721c0 .extend/s 16, L_0x85ce3b340;
L_0x85d272260 .arith/mult 16, L_0x85d272120, L_0x85d2721c0;
L_0x85ce3b160 .part L_0x85d272260, 15, 1;
L_0x85ce3b200 .repeat 16, 16, L_0x85ce3b160;
L_0x85d272300 .concat [ 16 16 0 0], L_0x85d272260, L_0x85ce3b200;
L_0x85ce2bde0 .arith/sum 32, L_0x85c87a770, L_0x85d272300;
S_0x85d250480 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09b00 .param/l "i" 1 5 20, +C4<0111>;
S_0x85d250600 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x85d250480;
 .timescale 0 0;
    .port_info 0 /INPUT 8 "x";
    .port_info 1 /INPUT 8 "w";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x85cdef900 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x85cdef940 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x85cdef980 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x85d254460_0 .net/s *"_ivl_0", 15 0, L_0x85d2723a0;  1 drivers
v0x85d254500_0 .net/s *"_ivl_2", 15 0, L_0x85d272440;  1 drivers
v0x85d2545a0_0 .net *"_ivl_7", 0 0, L_0x85ce3b3e0;  1 drivers
v0x85d254640_0 .net *"_ivl_9", 15 0, L_0x85ce3b480;  1 drivers
L_0x85c87a7b8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x85d2546e0_0 .net/s "acc_in", 31 0, L_0x85c87a7b8;  1 drivers
v0x85d254780_0 .net/s "acc_out", 31 0, L_0x85ce2be80;  alias, 1 drivers
v0x85d254820_0 .net/s "product", 15 0, L_0x85d2724e0;  1 drivers
v0x85d2548c0_0 .net/s "product_ext", 31 0, L_0x85d272580;  1 drivers
v0x85d254960_0 .net/s "w", 7 0, L_0x85ce3b5c0;  1 drivers
v0x85d254a00_0 .net/s "x", 7 0, L_0x85ce3b520;  1 drivers
L_0x85d2723a0 .extend/s 16, L_0x85ce3b520;
L_0x85d272440 .extend/s 16, L_0x85ce3b5c0;
L_0x85d2724e0 .arith/mult 16, L_0x85d2723a0, L_0x85d272440;
L_0x85ce3b3e0 .part L_0x85d2724e0, 15, 1;
L_0x85ce3b480 .repeat 16, 16, L_0x85ce3b3e0;
L_0x85d272580 .concat [ 16 16 0 0], L_0x85d2724e0, L_0x85ce3b480;
L_0x85ce2be80 .arith/sum 32, L_0x85c87a7b8, L_0x85d272580;
S_0x85d250780 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09b40 .param/l "i" 1 5 80, +C4<00>;
L_0x85d274380 .functor BUFZ 32, L_0x85ce2ba20, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d250900 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09b80 .param/l "i" 1 5 80, +C4<01>;
L_0x85d2743f0 .functor BUFZ 32, L_0x85ce2bac0, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d250a80 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09bc0 .param/l "i" 1 5 80, +C4<010>;
L_0x85d274460 .functor BUFZ 32, L_0x85ce2bb60, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d250c00 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09c00 .param/l "i" 1 5 80, +C4<011>;
L_0x85d2744d0 .functor BUFZ 32, L_0x85ce2bc00, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d250d80 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09c40 .param/l "i" 1 5 80, +C4<0100>;
L_0x85d274540 .functor BUFZ 32, L_0x85ce2bca0, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d250f00 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09c80 .param/l "i" 1 5 80, +C4<0101>;
L_0x85d2745b0 .functor BUFZ 32, L_0x85ce2bd40, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d251080 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09cc0 .param/l "i" 1 5 80, +C4<0110>;
L_0x85d274620 .functor BUFZ 32, L_0x85ce2bde0, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d251200 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09d00 .param/l "i" 1 5 80, +C4<0111>;
L_0x85d274690 .functor BUFZ 32, L_0x85ce2be80, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0x85d251380 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09d40 .param/l "level" 1 5 92, +C4<00>;
S_0x85d251500 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d251380;
 .timescale 0 0;
P_0x85ce09d80 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce2bf20 .arith/sum 32, L_0x85d274380, L_0x85d2743f0;
S_0x85d251680 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d251380;
 .timescale 0 0;
P_0x85ce09dc0 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce40000 .arith/sum 32, L_0x85d274460, L_0x85d2744d0;
S_0x85d251800 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0x85d251380;
 .timescale 0 0;
P_0x85ce09e00 .param/l "node" 1 5 94, +C4<010>;
L_0x85ce400a0 .arith/sum 32, L_0x85d274540, L_0x85d2745b0;
S_0x85d251980 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0x85d251380;
 .timescale 0 0;
P_0x85ce09e40 .param/l "node" 1 5 94, +C4<011>;
L_0x85ce40140 .arith/sum 32, L_0x85d274620, L_0x85d274690;
S_0x85d251b00 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09e80 .param/l "level" 1 5 92, +C4<01>;
S_0x85d251c80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d251b00;
 .timescale 0 0;
P_0x85ce09ec0 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce401e0 .arith/sum 32, L_0x85ce2bf20, L_0x85ce40000;
S_0x85d251e00 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0x85d251b00;
 .timescale 0 0;
P_0x85ce09f00 .param/l "node" 1 5 94, +C4<01>;
L_0x85ce40280 .arith/sum 32, L_0x85ce400a0, L_0x85ce40140;
S_0x85d251f80 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0x85d246d00;
 .timescale 0 0;
P_0x85ce09f40 .param/l "level" 1 5 92, +C4<010>;
S_0x85d252100 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0x85d251f80;
 .timescale 0 0;
P_0x85ce09f80 .param/l "node" 1 5 94, +C4<00>;
L_0x85ce40320 .arith/sum 32, L_0x85ce401e0, L_0x85ce40280;
S_0x85d252280 .scope task, "run_neuron" "run_neuron" 12 51, 12 51 0, S_0x100bf0ec0;
 .timescale -9 -12;
E_0x85cdf1540 .event anyedge, v0x85d255ae0_0;
TD_tb.run_neuron ;
    %wait E_0x85cdf12c0;
    %pushi/vec4 1, 0, 1;
    %store/vec4 v0x85d256580_0, 0, 1;
    %wait E_0x85cdf12c0;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x85d256580_0, 0, 1;
T_0.0 ;
    %load/vec4 v0x85d256300_0;
    %pad/u 32;
    %pushi/vec4 1, 0, 32;
    %cmp/e;
    %flag_get/vec4 4;
    %cmpi/ne 1, 0, 1;
    %jmp/0xz T_0.1, 6;
    %wait E_0x85cdf1540;
    %jmp T_0.0;
T_0.1 ;
    %wait E_0x85cdf12c0;
    %end;
S_0x85d252400 .scope task, "test_1" "test_1" 12 78, 12 78 0, S_0x100bf0ec0;
 .timescale -9 -12;
TD_tb.test_1 ;
    %vpi_call/w 12 80 "$display", "\000" {0 0 0};
    %vpi_call/w 12 81 "$display", "TEST 1: DIVERSE VECTOR" {0 0 0};
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0x85d2566c0_0, 0, 256;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0x85d256620_0, 0, 256;
    %pushi/vec4 1, 0, 8;
    %store/vec4 v0x85d256120_0, 0, 8;
    %pushi/vec4 3, 0, 8;
    %ix/load 4, 0, 0;
    %flag_set/imm 4, 0;
    %store/vec4 v0x85d2566c0_0, 4, 8;
    %pushi/vec4 2, 0, 8;
    %ix/load 4, 0, 0;
    %flag_set/imm 4, 0;
    %store/vec4 v0x85d256620_0, 4, 8;
    %pushi/vec4 4, 0, 8;
    %ix/load 4, 8, 0;
    %flag_set/imm 4, 0;
    %store/vec4 v0x85d2566c0_0, 4, 8;
    %pushi/vec4 255, 0, 8;
    %ix/load 4, 8, 0;
    %flag_set/imm 4, 0;
    %store/vec4 v0x85d256620_0, 4, 8;
    %pushi/vec4 2, 0, 8;
    %ix/load 4, 16, 0;
    %flag_set/imm 4, 0;
    %store/vec4 v0x85d2566c0_0, 4, 8;
    %pushi/vec4 1, 0, 8;
    %ix/load 4, 16, 0;
    %flag_set/imm 4, 0;
    %store/vec4 v0x85d256620_0, 4, 8;
    %fork TD_tb.run_neuron, S_0x85d252280;
    %join;
    %vpi_call/w 12 98 "$display", "RTL      = %0d", v0x85d256760_0 {0 0 0};
    %vpi_call/w 12 99 "$display", "EXPECTED = 5" {0 0 0};
    %load/vec4 v0x85d256760_0;
    %cmpi/ne 5, 0, 8;
    %jmp/0xz  T_1.2, 6;
    %vpi_call/w 12 102 "$display", "FAIL - TEST 1" {0 0 0};
    %load/vec4 v0x85d2563a0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x85d2563a0_0, 0, 32;
    %jmp T_1.3;
T_1.2 ;
    %vpi_call/w 12 106 "$display", "PASS - TEST 1" {0 0 0};
T_1.3 ;
    %end;
S_0x85d252580 .scope task, "test_2" "test_2" 12 117, 12 117 0, S_0x100bf0ec0;
 .timescale -9 -12;
TD_tb.test_2 ;
    %vpi_call/w 12 119 "$display", "\000" {0 0 0};
    %vpi_call/w 12 120 "$display", "TEST 2: RELU" {0 0 0};
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0x85d2566c0_0, 0, 256;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0x85d256620_0, 0, 256;
    %pushi/vec4 0, 0, 8;
    %store/vec4 v0x85d256120_0, 0, 8;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x85d256440_0, 0, 32;
T_2.4 ; Top of for-loop
    %load/vec4 v0x85d256440_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_2.5, 5;
    %pushi/vec4 1, 0, 8;
    %load/vec4 v0x85d256440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0x85d2566c0_0, 4, 8;
    %pushi/vec4 255, 0, 8;
    %load/vec4 v0x85d256440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0x85d256620_0, 4, 8;
T_2.6 ; for-loop step statement
    %load/vec4 v0x85d256440_0;
    %addi 1, 0, 32;
    %store/vec4 v0x85d256440_0, 0, 32;
    %jmp T_2.4;
T_2.5 ; for-loop exit label
    %fork TD_tb.run_neuron, S_0x85d252280;
    %join;
    %vpi_call/w 12 133 "$display", "RTL      = %0d", v0x85d256760_0 {0 0 0};
    %vpi_call/w 12 134 "$display", "EXPECTED = 0" {0 0 0};
    %load/vec4 v0x85d256760_0;
    %cmpi/ne 0, 0, 8;
    %jmp/0xz  T_2.7, 6;
    %vpi_call/w 12 137 "$display", "FAIL - TEST 2" {0 0 0};
    %load/vec4 v0x85d2563a0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x85d2563a0_0, 0, 32;
    %jmp T_2.8;
T_2.7 ;
    %vpi_call/w 12 141 "$display", "PASS - TEST 2" {0 0 0};
T_2.8 ;
    %end;
S_0x85d252700 .scope task, "test_3" "test_3" 12 152, 12 152 0, S_0x100bf0ec0;
 .timescale -9 -12;
TD_tb.test_3 ;
    %vpi_call/w 12 154 "$display", "\000" {0 0 0};
    %vpi_call/w 12 155 "$display", "TEST 3: POSITIVE SATURATION" {0 0 0};
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0x85d2566c0_0, 0, 256;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0x85d256620_0, 0, 256;
    %pushi/vec4 0, 0, 8;
    %store/vec4 v0x85d256120_0, 0, 8;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x85d256440_0, 0, 32;
T_3.9 ; Top of for-loop
    %load/vec4 v0x85d256440_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_3.10, 5;
    %pushi/vec4 100, 0, 8;
    %load/vec4 v0x85d256440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0x85d2566c0_0, 4, 8;
    %pushi/vec4 2, 0, 8;
    %load/vec4 v0x85d256440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0x85d256620_0, 4, 8;
T_3.11 ; for-loop step statement
    %load/vec4 v0x85d256440_0;
    %addi 1, 0, 32;
    %store/vec4 v0x85d256440_0, 0, 32;
    %jmp T_3.9;
T_3.10 ; for-loop exit label
    %fork TD_tb.run_neuron, S_0x85d252280;
    %join;
    %vpi_call/w 12 168 "$display", "RTL      = %0d", v0x85d256760_0 {0 0 0};
    %vpi_call/w 12 169 "$display", "EXPECTED = 127" {0 0 0};
    %load/vec4 v0x85d256760_0;
    %cmpi/ne 127, 0, 8;
    %jmp/0xz  T_3.12, 6;
    %vpi_call/w 12 172 "$display", "FAIL - TEST 3" {0 0 0};
    %load/vec4 v0x85d2563a0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x85d2563a0_0, 0, 32;
    %jmp T_3.13;
T_3.12 ;
    %vpi_call/w 12 176 "$display", "PASS - TEST 3" {0 0 0};
T_3.13 ;
    %end;
S_0x85d252880 .scope task, "test_4" "test_4" 12 193, 12 193 0, S_0x100bf0ec0;
 .timescale -9 -12;
TD_tb.test_4 ;
    %vpi_call/w 12 195 "$display", "\000" {0 0 0};
    %vpi_call/w 12 196 "$display", "TEST 4: MIXED VALUES + NEGATIVE BIAS" {0 0 0};
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0x85d2566c0_0, 0, 256;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0x85d256620_0, 0, 256;
    %pushi/vec4 240, 0, 8;
    %store/vec4 v0x85d256120_0, 0, 8;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x85d256440_0, 0, 32;
T_4.14 ; Top of for-loop
    %load/vec4 v0x85d256440_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_4.15, 5;
    %load/vec4 v0x85d256440_0;
    %pushi/vec4 2, 0, 32;
    %mod/s;
    %cmpi/e 0, 0, 32;
    %jmp/0xz  T_4.17, 4;
    %pushi/vec4 2, 0, 8;
    %load/vec4 v0x85d256440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0x85d2566c0_0, 4, 8;
    %pushi/vec4 1, 0, 8;
    %load/vec4 v0x85d256440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0x85d256620_0, 4, 8;
    %jmp T_4.18;
T_4.17 ;
    %pushi/vec4 255, 0, 8;
    %load/vec4 v0x85d256440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0x85d2566c0_0, 4, 8;
    %pushi/vec4 1, 0, 8;
    %load/vec4 v0x85d256440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0x85d256620_0, 4, 8;
T_4.18 ;
T_4.16 ; for-loop step statement
    %load/vec4 v0x85d256440_0;
    %addi 1, 0, 32;
    %store/vec4 v0x85d256440_0, 0, 32;
    %jmp T_4.14;
T_4.15 ; for-loop exit label
    %fork TD_tb.run_neuron, S_0x85d252280;
    %join;
    %vpi_call/w 12 215 "$display", "RTL      = %0d", v0x85d256760_0 {0 0 0};
    %vpi_call/w 12 216 "$display", "EXPECTED = 0" {0 0 0};
    %load/vec4 v0x85d256760_0;
    %cmpi/ne 0, 0, 8;
    %jmp/0xz  T_4.19, 6;
    %vpi_call/w 12 219 "$display", "FAIL - TEST 4" {0 0 0};
    %load/vec4 v0x85d2563a0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x85d2563a0_0, 0, 32;
    %jmp T_4.20;
T_4.19 ;
    %vpi_call/w 12 223 "$display", "PASS - TEST 4" {0 0 0};
T_4.20 ;
    %end;
    .scope S_0x100befaf0;
T_5 ;
    %wait E_0x85cdc7d80;
    %load/vec4 v0x85d1fd0e0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_5.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d1fd040_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d1fcb40_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d1fd4a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d1fcdc0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d1fcf00_0, 0;
    %jmp T_5.1;
T_5.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d1fcf00_0, 0;
    %load/vec4 v0x85d1fd180_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_5.4, 9;
    %load/vec4 v0x85d1fcdc0_0;
    %nor/r;
    %and;
T_5.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_5.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d1fd040_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d1fcb40_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d1fcdc0_0, 0;
    %jmp T_5.3;
T_5.2 ;
    %load/vec4 v0x85d1fcdc0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_5.5, 8;
    %load/vec4 v0x85d1fd040_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_5.7, 4;
    %load/vec4 v0x85d1fcfa0_0;
    %assign/vec4 v0x85d1fcb40_0, 0;
    %load/vec4 v0x85d1fcfa0_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_5.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d1fd4a0_0, 0;
    %jmp T_5.10;
T_5.9 ;
    %load/vec4 v0x85d1fcfa0_0;
    %cmpi/s 127, 0, 40;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_5.11, 5;
    %pushi/vec4 127, 0, 16;
    %assign/vec4 v0x85d1fd4a0_0, 0;
    %jmp T_5.12;
T_5.11 ;
    %load/vec4 v0x85d1fcfa0_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0x85d1fd4a0_0, 0;
T_5.12 ;
T_5.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d1fcdc0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d1fcf00_0, 0;
    %jmp T_5.8;
T_5.7 ;
    %load/vec4 v0x85d1fcbe0_0;
    %assign/vec4 v0x85d1fcb40_0, 0;
    %load/vec4 v0x85d1fd040_0;
    %addi 1, 0, 3;
    %assign/vec4 v0x85d1fd040_0, 0;
T_5.8 ;
T_5.5 ;
T_5.3 ;
T_5.1 ;
    %jmp T_5;
    .thread T_5;
    .scope S_0x85d1fab80;
T_6 ;
    %wait E_0x85cdc7d80;
    %load/vec4 v0x85d2059a0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_6.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d205900_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d205400_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d205d60_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d205680_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d2057c0_0, 0;
    %jmp T_6.1;
T_6.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d2057c0_0, 0;
    %load/vec4 v0x85d205a40_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_6.4, 9;
    %load/vec4 v0x85d205680_0;
    %nor/r;
    %and;
T_6.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_6.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d205900_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d205400_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d205680_0, 0;
    %jmp T_6.3;
T_6.2 ;
    %load/vec4 v0x85d205680_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_6.5, 8;
    %load/vec4 v0x85d205900_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_6.7, 4;
    %load/vec4 v0x85d205860_0;
    %assign/vec4 v0x85d205400_0, 0;
    %load/vec4 v0x85d205860_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_6.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d205d60_0, 0;
    %jmp T_6.10;
T_6.9 ;
    %load/vec4 v0x85d205860_0;
    %cmpi/s 127, 0, 40;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_6.11, 5;
    %pushi/vec4 127, 0, 16;
    %assign/vec4 v0x85d205d60_0, 0;
    %jmp T_6.12;
T_6.11 ;
    %load/vec4 v0x85d205860_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0x85d205d60_0, 0;
T_6.12 ;
T_6.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d205680_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d2057c0_0, 0;
    %jmp T_6.8;
T_6.7 ;
    %load/vec4 v0x85d2054a0_0;
    %assign/vec4 v0x85d205400_0, 0;
    %load/vec4 v0x85d205900_0;
    %addi 1, 0, 3;
    %assign/vec4 v0x85d205900_0, 0;
T_6.8 ;
T_6.5 ;
T_6.3 ;
T_6.1 ;
    %jmp T_6;
    .thread T_6;
    .scope S_0x85d202580;
T_7 ;
    %wait E_0x85cdc7d80;
    %load/vec4 v0x85d20a260_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_7.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d20a1c0_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d209cc0_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d20a620_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d209f40_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d20a080_0, 0;
    %jmp T_7.1;
T_7.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d20a080_0, 0;
    %load/vec4 v0x85d20a300_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_7.4, 9;
    %load/vec4 v0x85d209f40_0;
    %nor/r;
    %and;
T_7.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_7.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d20a1c0_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d209cc0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d209f40_0, 0;
    %jmp T_7.3;
T_7.2 ;
    %load/vec4 v0x85d209f40_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_7.5, 8;
    %load/vec4 v0x85d20a1c0_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_7.7, 4;
    %load/vec4 v0x85d20a120_0;
    %assign/vec4 v0x85d209cc0_0, 0;
    %load/vec4 v0x85d20a120_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_7.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d20a620_0, 0;
    %jmp T_7.10;
T_7.9 ;
    %load/vec4 v0x85d20a120_0;
    %cmpi/s 127, 0, 40;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_7.11, 5;
    %pushi/vec4 127, 0, 16;
    %assign/vec4 v0x85d20a620_0, 0;
    %jmp T_7.12;
T_7.11 ;
    %load/vec4 v0x85d20a120_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0x85d20a620_0, 0;
T_7.12 ;
T_7.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d209f40_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d20a080_0, 0;
    %jmp T_7.8;
T_7.7 ;
    %load/vec4 v0x85d209d60_0;
    %assign/vec4 v0x85d209cc0_0, 0;
    %load/vec4 v0x85d20a1c0_0;
    %addi 1, 0, 3;
    %assign/vec4 v0x85d20a1c0_0, 0;
T_7.8 ;
T_7.5 ;
T_7.3 ;
T_7.1 ;
    %jmp T_7;
    .thread T_7;
    .scope S_0x85d20df80;
T_8 ;
    %wait E_0x85cdc7d80;
    %load/vec4 v0x85d212b20_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_8.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d212a80_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d212580_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d212ee0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d212800_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d212940_0, 0;
    %jmp T_8.1;
T_8.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d212940_0, 0;
    %load/vec4 v0x85d212bc0_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_8.4, 9;
    %load/vec4 v0x85d212800_0;
    %nor/r;
    %and;
T_8.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_8.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d212a80_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d212580_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d212800_0, 0;
    %jmp T_8.3;
T_8.2 ;
    %load/vec4 v0x85d212800_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_8.5, 8;
    %load/vec4 v0x85d212a80_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_8.7, 4;
    %load/vec4 v0x85d2129e0_0;
    %assign/vec4 v0x85d212580_0, 0;
    %load/vec4 v0x85d2129e0_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_8.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d212ee0_0, 0;
    %jmp T_8.10;
T_8.9 ;
    %load/vec4 v0x85d2129e0_0;
    %cmpi/s 127, 0, 40;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_8.11, 5;
    %pushi/vec4 127, 0, 16;
    %assign/vec4 v0x85d212ee0_0, 0;
    %jmp T_8.12;
T_8.11 ;
    %load/vec4 v0x85d2129e0_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0x85d212ee0_0, 0;
T_8.12 ;
T_8.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d212800_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d212940_0, 0;
    %jmp T_8.8;
T_8.7 ;
    %load/vec4 v0x85d212620_0;
    %assign/vec4 v0x85d212580_0, 0;
    %load/vec4 v0x85d212a80_0;
    %addi 1, 0, 3;
    %assign/vec4 v0x85d212a80_0, 0;
T_8.8 ;
T_8.5 ;
T_8.3 ;
T_8.1 ;
    %jmp T_8;
    .thread T_8;
    .scope S_0x85d215980;
T_9 ;
    %wait E_0x85cdc7d80;
    %load/vec4 v0x85d21f3e0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_9.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d21f340_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d21ee40_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d21f7a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d21f0c0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d21f200_0, 0;
    %jmp T_9.1;
T_9.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d21f200_0, 0;
    %load/vec4 v0x85d21f480_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_9.4, 9;
    %load/vec4 v0x85d21f0c0_0;
    %nor/r;
    %and;
T_9.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_9.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d21f340_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d21ee40_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d21f0c0_0, 0;
    %jmp T_9.3;
T_9.2 ;
    %load/vec4 v0x85d21f0c0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_9.5, 8;
    %load/vec4 v0x85d21f340_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_9.7, 4;
    %load/vec4 v0x85d21f2a0_0;
    %assign/vec4 v0x85d21ee40_0, 0;
    %load/vec4 v0x85d21f2a0_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_9.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d21f7a0_0, 0;
    %jmp T_9.10;
T_9.9 ;
    %load/vec4 v0x85d21f2a0_0;
    %cmpi/s 127, 0, 40;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_9.11, 5;
    %pushi/vec4 127, 0, 16;
    %assign/vec4 v0x85d21f7a0_0, 0;
    %jmp T_9.12;
T_9.11 ;
    %load/vec4 v0x85d21f2a0_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0x85d21f7a0_0, 0;
T_9.12 ;
T_9.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d21f0c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d21f200_0, 0;
    %jmp T_9.8;
T_9.7 ;
    %load/vec4 v0x85d21eee0_0;
    %assign/vec4 v0x85d21ee40_0, 0;
    %load/vec4 v0x85d21f340_0;
    %addi 1, 0, 3;
    %assign/vec4 v0x85d21f340_0, 0;
T_9.8 ;
T_9.5 ;
T_9.3 ;
T_9.1 ;
    %jmp T_9;
    .thread T_9;
    .scope S_0x85d221380;
T_10 ;
    %wait E_0x85cdc7d80;
    %load/vec4 v0x85d227ca0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_10.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d227c00_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d227700_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d22c0a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d227980_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d227ac0_0, 0;
    %jmp T_10.1;
T_10.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d227ac0_0, 0;
    %load/vec4 v0x85d227d40_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_10.4, 9;
    %load/vec4 v0x85d227980_0;
    %nor/r;
    %and;
T_10.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_10.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d227c00_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d227700_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d227980_0, 0;
    %jmp T_10.3;
T_10.2 ;
    %load/vec4 v0x85d227980_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_10.5, 8;
    %load/vec4 v0x85d227c00_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_10.7, 4;
    %load/vec4 v0x85d227b60_0;
    %assign/vec4 v0x85d227700_0, 0;
    %load/vec4 v0x85d227b60_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_10.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d22c0a0_0, 0;
    %jmp T_10.10;
T_10.9 ;
    %load/vec4 v0x85d227b60_0;
    %cmpi/s 127, 0, 40;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_10.11, 5;
    %pushi/vec4 127, 0, 16;
    %assign/vec4 v0x85d22c0a0_0, 0;
    %jmp T_10.12;
T_10.11 ;
    %load/vec4 v0x85d227b60_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0x85d22c0a0_0, 0;
T_10.12 ;
T_10.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d227980_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d227ac0_0, 0;
    %jmp T_10.8;
T_10.7 ;
    %load/vec4 v0x85d2277a0_0;
    %assign/vec4 v0x85d227700_0, 0;
    %load/vec4 v0x85d227c00_0;
    %addi 1, 0, 3;
    %assign/vec4 v0x85d227c00_0, 0;
T_10.8 ;
T_10.5 ;
T_10.3 ;
T_10.1 ;
    %jmp T_10;
    .thread T_10;
    .scope S_0x85d228d80;
T_11 ;
    %wait E_0x85cdc7d80;
    %load/vec4 v0x85d2345a0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_11.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d234500_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d234000_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d234960_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d234280_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d2343c0_0, 0;
    %jmp T_11.1;
T_11.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d2343c0_0, 0;
    %load/vec4 v0x85d234640_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_11.4, 9;
    %load/vec4 v0x85d234280_0;
    %nor/r;
    %and;
T_11.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_11.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d234500_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d234000_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d234280_0, 0;
    %jmp T_11.3;
T_11.2 ;
    %load/vec4 v0x85d234280_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_11.5, 8;
    %load/vec4 v0x85d234500_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_11.7, 4;
    %load/vec4 v0x85d234460_0;
    %assign/vec4 v0x85d234000_0, 0;
    %load/vec4 v0x85d234460_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_11.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d234960_0, 0;
    %jmp T_11.10;
T_11.9 ;
    %load/vec4 v0x85d234460_0;
    %cmpi/s 127, 0, 40;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_11.11, 5;
    %pushi/vec4 127, 0, 16;
    %assign/vec4 v0x85d234960_0, 0;
    %jmp T_11.12;
T_11.11 ;
    %load/vec4 v0x85d234460_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0x85d234960_0, 0;
T_11.12 ;
T_11.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d234280_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d2343c0_0, 0;
    %jmp T_11.8;
T_11.7 ;
    %load/vec4 v0x85d2340a0_0;
    %assign/vec4 v0x85d234000_0, 0;
    %load/vec4 v0x85d234500_0;
    %addi 1, 0, 3;
    %assign/vec4 v0x85d234500_0, 0;
T_11.8 ;
T_11.5 ;
T_11.3 ;
T_11.1 ;
    %jmp T_11;
    .thread T_11;
    .scope S_0x85d230780;
T_12 ;
    %wait E_0x85cdc7d80;
    %load/vec4 v0x85d238e60_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_12.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d238dc0_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d2388c0_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d239220_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d238b40_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d238c80_0, 0;
    %jmp T_12.1;
T_12.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d238c80_0, 0;
    %load/vec4 v0x85d238f00_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_12.4, 9;
    %load/vec4 v0x85d238b40_0;
    %nor/r;
    %and;
T_12.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_12.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d238dc0_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0x85d2388c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d238b40_0, 0;
    %jmp T_12.3;
T_12.2 ;
    %load/vec4 v0x85d238b40_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_12.5, 8;
    %load/vec4 v0x85d238dc0_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_12.7, 4;
    %load/vec4 v0x85d238d20_0;
    %assign/vec4 v0x85d2388c0_0, 0;
    %load/vec4 v0x85d238d20_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_12.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d239220_0, 0;
    %jmp T_12.10;
T_12.9 ;
    %load/vec4 v0x85d238d20_0;
    %cmpi/s 127, 0, 40;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_12.11, 5;
    %pushi/vec4 127, 0, 16;
    %assign/vec4 v0x85d239220_0, 0;
    %jmp T_12.12;
T_12.11 ;
    %load/vec4 v0x85d238d20_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0x85d239220_0, 0;
T_12.12 ;
T_12.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d238b40_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d238c80_0, 0;
    %jmp T_12.8;
T_12.7 ;
    %load/vec4 v0x85d238960_0;
    %assign/vec4 v0x85d2388c0_0, 0;
    %load/vec4 v0x85d238dc0_0;
    %addi 1, 0, 3;
    %assign/vec4 v0x85d238dc0_0, 0;
T_12.8 ;
T_12.5 ;
T_12.3 ;
T_12.1 ;
    %jmp T_12;
    .thread T_12;
    .scope S_0x100bfb5b0;
T_13 ;
    %wait E_0x85cdf0f80;
    %load/vec4 v0x85d23a260_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_13.0, 8;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0x85d23a300_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d23a080_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d23a120_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d239c20_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d239ea0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d239e00_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d239fe0_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0x85d239b80_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d239f40_0, 0;
    %jmp T_13.1;
T_13.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d23a120_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d239e00_0, 0;
    %load/vec4 v0x85d23a300_0;
    %dup/vec4;
    %pushi/vec4 0, 0, 2;
    %cmp/u;
    %jmp/1 T_13.2, 6;
    %dup/vec4;
    %pushi/vec4 1, 0, 2;
    %cmp/u;
    %jmp/1 T_13.3, 6;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0x85d23a300_0, 0;
    %jmp T_13.5;
T_13.2 ;
    %load/vec4 v0x85d23a1c0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_13.6, 8;
    %load/vec4 v0x85d23a4e0_0;
    %assign/vec4 v0x85d239fe0_0, 0;
    %load/vec4 v0x85d2399a0_0;
    %assign/vec4 v0x85d239b80_0, 0;
    %load/vec4 v0x85d23a440_0;
    %assign/vec4 v0x85d239f40_0, 0;
    %load/vec4 v0x85d239ae0_0;
    %assign/vec4 v0x85d239c20_0, 0;
    %load/vec4 v0x85d23a3a0_0;
    %assign/vec4 v0x85d239ea0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d239e00_0, 0;
    %pushi/vec4 1, 0, 2;
    %assign/vec4 v0x85d23a300_0, 0;
T_13.6 ;
    %jmp T_13.5;
T_13.3 ;
    %load/vec4 v0x85d239d60_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_13.8, 8;
    %load/vec4 v0x85d239fe0_0;
    %nor/r;
    %flag_set/vec4 8;
    %jmp/0xz  T_13.10, 8;
    %load/vec4 v0x85d239cc0_0;
    %assign/vec4 v0x85d23a080_0, 0;
T_13.10 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d23a120_0, 0;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0x85d23a300_0, 0;
T_13.8 ;
    %jmp T_13.5;
T_13.5 ;
    %pop/vec4 1;
T_13.1 ;
    %jmp T_13;
    .thread T_13;
    .scope S_0x100bfed90;
T_14 ;
    %wait E_0x85cdf0fc0;
    %load/vec4 v0x85d23ad00_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_14.0, 8;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d23ab20_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d23abc0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d23a620_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d23aa80_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0x85d23a940_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d23a9e0_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x85d23a760_0, 0;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x85d23a800_0, 0, 32;
T_14.2 ; Top of for-loop
    %load/vec4 v0x85d23a800_0;
    %cmpi/s 4096, 0, 32;
	  %jmp/0xz T_14.3, 5;
    %pushi/vec4 0, 0, 16;
    %ix/getv/s 3, v0x85d23a800_0;
    %ix/load 4, 0, 0; Constant delay
    %assign/vec4/a/d v0x85d23a8a0, 0, 4;
T_14.4 ; for-loop step statement
    %load/vec4 v0x85d23a800_0;
    %addi 1, 0, 32;
    %store/vec4 v0x85d23a800_0, 0, 32;
    %jmp T_14.2;
T_14.3 ; for-loop exit label
    %jmp T_14.1;
T_14.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d23abc0_0, 0;
    %load/vec4 v0x85d23a620_0;
    %nor/r;
    %flag_set/vec4 8;
    %jmp/0xz  T_14.5, 8;
    %load/vec4 v0x85d23ac60_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_14.7, 8;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d23a620_0, 0;
    %load/vec4 v0x85d23ae40_0;
    %assign/vec4 v0x85d23aa80_0, 0;
    %load/vec4 v0x85d23a580_0;
    %assign/vec4 v0x85d23a940_0, 0;
    %load/vec4 v0x85d23ada0_0;
    %assign/vec4 v0x85d23a9e0_0, 0;
    %pushi/vec4 2, 0, 32;
    %assign/vec4 v0x85d23a760_0, 0;
T_14.7 ;
    %jmp T_14.6;
T_14.5 ;
    %load/vec4 v0x85d23a760_0;
    %cmpi/s 0, 0, 32;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_14.9, 5;
    %load/vec4 v0x85d23a760_0;
    %subi 1, 0, 32;
    %assign/vec4 v0x85d23a760_0, 0;
    %jmp T_14.10;
T_14.9 ;
    %load/vec4 v0x85d23aa80_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_14.11, 8;
    %load/vec4 v0x85d23a940_0;
    %pad/u 32;
    %cmpi/u 4096, 0, 32;
    %jmp/0xz  T_14.13, 5;
    %load/vec4 v0x85d23a9e0_0;
    %ix/getv 3, v0x85d23a940_0;
    %ix/load 4, 0, 0; Constant delay
    %assign/vec4/a/d v0x85d23a8a0, 0, 4;
T_14.13 ;
    %jmp T_14.12;
T_14.11 ;
    %load/vec4 v0x85d23a940_0;
    %pad/u 32;
    %cmpi/u 4096, 0, 32;
    %jmp/0xz  T_14.15, 5;
    %ix/getv 4, v0x85d23a940_0;
    %load/vec4a v0x85d23a8a0, 4;
    %assign/vec4 v0x85d23ab20_0, 0;
    %jmp T_14.16;
T_14.15 ;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d23ab20_0, 0;
T_14.16 ;
T_14.12 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d23abc0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d23a620_0, 0;
T_14.10 ;
T_14.6 ;
T_14.1 ;
    %jmp T_14;
    .thread T_14;
    .scope S_0x85d23f000;
T_15 ;
    %wait E_0x85cdf1000;
    %load/vec4 v0x85d241fe0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_15.0, 8;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0x85d242080_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0x85d2417c0_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x85d241e00_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d241ea0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d241b80_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d241d60_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0x85d241900_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d241cc0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d2419a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d241c20_0, 0;
    %jmp T_15.1;
T_15.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d241ea0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d241b80_0, 0;
    %load/vec4 v0x85d242080_0;
    %dup/vec4;
    %pushi/vec4 0, 0, 2;
    %cmp/u;
    %jmp/1 T_15.2, 6;
    %dup/vec4;
    %pushi/vec4 1, 0, 2;
    %cmp/u;
    %jmp/1 T_15.3, 6;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0x85d242080_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d241b80_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d2419a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d241c20_0, 0;
    %jmp T_15.5;
T_15.2 ;
    %load/vec4 v0x85d241f40_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_15.6, 8;
    %load/vec4 v0x85d241720_0;
    %assign/vec4 v0x85d2417c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d241b80_0, 0;
    %load/vec4 v0x85d2421c0_0;
    %assign/vec4 v0x85d241d60_0, 0;
    %load/vec4 v0x85d241720_0;
    %ix/load 4, 1, 0;
    %flag_set/imm 4, 0;
    %shiftr 4;
    %assign/vec4 v0x85d241900_0, 0;
    %load/vec4 v0x85d241720_0;
    %parti/s 1, 0, 2;
    %cmpi/e 0, 0, 1;
    %jmp/0xz  T_15.8, 4;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d2419a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d241c20_0, 0;
    %pushi/vec4 0, 0, 8;
    %load/vec4 v0x85d242120_0;
    %concat/vec4; draw_concat_vec4
    %assign/vec4 v0x85d241cc0_0, 0;
    %jmp T_15.9;
T_15.8 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d2419a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d241c20_0, 0;
    %load/vec4 v0x85d242120_0;
    %concati/vec4 0, 0, 8;
    %assign/vec4 v0x85d241cc0_0, 0;
T_15.9 ;
    %pushi/vec4 1, 0, 2;
    %assign/vec4 v0x85d242080_0, 0;
T_15.6 ;
    %jmp T_15.5;
T_15.3 ;
    %load/vec4 v0x85d241ae0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_15.10, 8;
    %load/vec4 v0x85d2417c0_0;
    %parti/s 1, 0, 2;
    %cmpi/e 0, 0, 1;
    %jmp/0xz  T_15.12, 4;
    %load/vec4 v0x85d241a40_0;
    %parti/s 8, 0, 2;
    %assign/vec4 v0x85d241e00_0, 0;
    %jmp T_15.13;
T_15.12 ;
    %load/vec4 v0x85d241a40_0;
    %parti/s 8, 8, 5;
    %assign/vec4 v0x85d241e00_0, 0;
T_15.13 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d241ea0_0, 0;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0x85d242080_0, 0;
T_15.10 ;
    %jmp T_15.5;
T_15.5 ;
    %pop/vec4 1;
T_15.1 ;
    %jmp T_15;
    .thread T_15;
    .scope S_0x85d23f180;
T_16 ;
    %wait E_0x85cdf1000;
    %load/vec4 v0x85d24a6c0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_16.0, 8;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0x85d24a620_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x85d24a120_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x85d24aa80_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24a3a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24a4e0_0, 0;
    %jmp T_16.1;
T_16.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24a4e0_0, 0;
    %load/vec4 v0x85d24a760_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_16.4, 9;
    %load/vec4 v0x85d24a3a0_0;
    %nor/r;
    %and;
T_16.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_16.2, 8;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0x85d24a620_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x85d24a120_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24a3a0_0, 0;
    %jmp T_16.3;
T_16.2 ;
    %load/vec4 v0x85d24a3a0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_16.5, 8;
    %load/vec4 v0x85d24a620_0;
    %pad/u 32;
    %cmpi/e 3, 0, 32;
    %jmp/0xz  T_16.7, 4;
    %load/vec4 v0x85d24a580_0;
    %assign/vec4 v0x85d24a120_0, 0;
    %load/vec4 v0x85d24a580_0;
    %cmpi/s 0, 0, 32;
    %flag_or 5, 4;
    %jmp/0xz  T_16.9, 5;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x85d24aa80_0, 0;
    %jmp T_16.10;
T_16.9 ;
    %load/vec4 v0x85d24a580_0;
    %cmpi/s 127, 0, 32;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_16.11, 5;
    %pushi/vec4 127, 0, 8;
    %assign/vec4 v0x85d24aa80_0, 0;
    %jmp T_16.12;
T_16.11 ;
    %load/vec4 v0x85d24a580_0;
    %parti/s 8, 0, 2;
    %assign/vec4 v0x85d24aa80_0, 0;
T_16.12 ;
T_16.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24a3a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24a4e0_0, 0;
    %jmp T_16.8;
T_16.7 ;
    %load/vec4 v0x85d24a1c0_0;
    %assign/vec4 v0x85d24a120_0, 0;
    %load/vec4 v0x85d24a620_0;
    %addi 1, 0, 2;
    %assign/vec4 v0x85d24a620_0, 0;
T_16.8 ;
T_16.5 ;
T_16.3 ;
T_16.1 ;
    %jmp T_16;
    .thread T_16;
    .scope S_0x100bfb130;
T_17 ;
    %wait E_0x85cdf1000;
    %load/vec4 v0x85d24c0a0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_17.0, 8;
    %pushi/vec4 0, 0, 4;
    %assign/vec4 v0x85d24c1e0_0, 0;
    %pushi/vec4 0, 0, 6;
    %assign/vec4 v0x85d24b980_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x85d24b700_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24b480_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24b5c0_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0x85d24ae40_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x85d24b520_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24bf20_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x85d24c640_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24b7a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24b8e0_0, 0;
    %jmp T_17.1;
T_17.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24b480_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24bf20_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24b8e0_0, 0;
    %load/vec4 v0x85d24c1e0_0;
    %dup/vec4;
    %pushi/vec4 0, 0, 4;
    %cmp/u;
    %jmp/1 T_17.2, 6;
    %dup/vec4;
    %pushi/vec4 1, 0, 4;
    %cmp/u;
    %jmp/1 T_17.3, 6;
    %dup/vec4;
    %pushi/vec4 2, 0, 4;
    %cmp/u;
    %jmp/1 T_17.4, 6;
    %dup/vec4;
    %pushi/vec4 3, 0, 4;
    %cmp/u;
    %jmp/1 T_17.5, 6;
    %dup/vec4;
    %pushi/vec4 4, 0, 4;
    %cmp/u;
    %jmp/1 T_17.6, 6;
    %dup/vec4;
    %pushi/vec4 5, 0, 4;
    %cmp/u;
    %jmp/1 T_17.7, 6;
    %pushi/vec4 0, 0, 4;
    %assign/vec4 v0x85d24c1e0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24b7a0_0, 0;
    %jmp T_17.9;
T_17.2 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24b7a0_0, 0;
    %load/vec4 v0x85d24c140_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_17.10, 8;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24b7a0_0, 0;
    %pushi/vec4 0, 0, 6;
    %assign/vec4 v0x85d24b980_0, 0;
    %load/vec4 v0x85d24c460_0;
    %assign/vec4 v0x85d24ae40_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24b5c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24b480_0, 0;
    %pushi/vec4 1, 0, 4;
    %assign/vec4 v0x85d24c1e0_0, 0;
T_17.10 ;
    %jmp T_17.9;
T_17.3 ;
    %load/vec4 v0x85d24b3e0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_17.12, 8;
    %load/vec4 v0x85d24b340_0;
    %load/vec4 v0x85d24b980_0;
    %pad/u 7;
    %ix/vec4 3;
    %ix/load 4, 0, 0; Constant delay
    %assign/vec4/a/d v0x85d24c5a0, 0, 4;
    %load/vec4 v0x85d24b980_0;
    %pad/u 32;
    %cmpi/e 31, 0, 32;
    %jmp/0xz  T_17.14, 4;
    %pushi/vec4 0, 0, 6;
    %assign/vec4 v0x85d24b980_0, 0;
    %load/vec4 v0x85d24c280_0;
    %assign/vec4 v0x85d24ae40_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24b5c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24b480_0, 0;
    %pushi/vec4 2, 0, 4;
    %assign/vec4 v0x85d24c1e0_0, 0;
    %jmp T_17.15;
T_17.14 ;
    %load/vec4 v0x85d24b980_0;
    %addi 1, 0, 6;
    %assign/vec4 v0x85d24b980_0, 0;
    %load/vec4 v0x85d24c460_0;
    %load/vec4 v0x85d24b980_0;
    %pad/u 22;
    %add;
    %addi 1, 0, 22;
    %assign/vec4 v0x85d24ae40_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24b480_0, 0;
T_17.15 ;
T_17.12 ;
    %jmp T_17.9;
T_17.4 ;
    %load/vec4 v0x85d24b3e0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_17.16, 8;
    %load/vec4 v0x85d24b340_0;
    %load/vec4 v0x85d24b980_0;
    %pad/u 7;
    %ix/vec4 3;
    %ix/load 4, 0, 0; Constant delay
    %assign/vec4/a/d v0x85d24c3c0, 0, 4;
    %load/vec4 v0x85d24b980_0;
    %pad/u 32;
    %cmpi/e 31, 0, 32;
    %jmp/0xz  T_17.18, 4;
    %load/vec4 v0x85d24b660_0;
    %assign/vec4 v0x85d24ae40_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24b5c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24b480_0, 0;
    %pushi/vec4 3, 0, 4;
    %assign/vec4 v0x85d24c1e0_0, 0;
    %jmp T_17.19;
T_17.18 ;
    %load/vec4 v0x85d24b980_0;
    %addi 1, 0, 6;
    %assign/vec4 v0x85d24b980_0, 0;
    %load/vec4 v0x85d24c280_0;
    %load/vec4 v0x85d24b980_0;
    %pad/u 22;
    %add;
    %addi 1, 0, 22;
    %assign/vec4 v0x85d24ae40_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24b480_0, 0;
T_17.19 ;
T_17.16 ;
    %jmp T_17.9;
T_17.5 ;
    %load/vec4 v0x85d24b3e0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_17.20, 8;
    %load/vec4 v0x85d24b340_0;
    %assign/vec4 v0x85d24b700_0, 0;
    %pushi/vec4 4, 0, 4;
    %assign/vec4 v0x85d24c1e0_0, 0;
T_17.20 ;
    %jmp T_17.9;
T_17.6 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24bf20_0, 0;
    %pushi/vec4 5, 0, 4;
    %assign/vec4 v0x85d24c1e0_0, 0;
    %jmp T_17.9;
T_17.7 ;
    %load/vec4 v0x85d24be80_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_17.22, 8;
    %load/vec4 v0x85d24c000_0;
    %assign/vec4 v0x85d24c640_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24b7a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24b8e0_0, 0;
    %pushi/vec4 0, 0, 4;
    %assign/vec4 v0x85d24c1e0_0, 0;
T_17.22 ;
    %jmp T_17.9;
T_17.9 ;
    %pop/vec4 1;
T_17.1 ;
    %jmp T_17;
    .thread T_17;
    .scope S_0x100bf0d40;
T_18 ;
    %wait E_0x85cdf1280;
    %load/vec4 v0x85d24d540_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_18.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d24d5e0_0, 0;
    %pushi/vec4 0, 0, 14;
    %assign/vec4 v0x85d24c8c0_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0x85d24c780_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d24d720_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24d7c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24caa0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d680_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d24cc80_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24cd20_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0x85d24d040_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d400_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d220_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d4a0_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0x85d24ca00_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24c960_0, 0;
    %jmp T_18.1;
T_18.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24cd20_0, 0;
    %load/vec4 v0x85d24d5e0_0;
    %dup/vec4;
    %pushi/vec4 0, 0, 3;
    %cmp/u;
    %jmp/1 T_18.2, 6;
    %dup/vec4;
    %pushi/vec4 1, 0, 3;
    %cmp/u;
    %jmp/1 T_18.3, 6;
    %dup/vec4;
    %pushi/vec4 2, 0, 3;
    %cmp/u;
    %jmp/1 T_18.4, 6;
    %dup/vec4;
    %pushi/vec4 3, 0, 3;
    %cmp/u;
    %jmp/1 T_18.5, 6;
    %dup/vec4;
    %pushi/vec4 4, 0, 3;
    %cmp/u;
    %jmp/1 T_18.6, 6;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0x85d24d5e0_0, 0;
    %pushi/vec4 0, 0, 14;
    %assign/vec4 v0x85d24c8c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d400_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d220_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d4a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24c960_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24caa0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d680_0, 0;
    %jmp T_18.8;
T_18.2 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d400_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d220_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d4a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24c960_0, 0;
    %load/vec4 v0x85d24c8c0_0;
    %pad/u 32;
    %cmpi/e 11999, 0, 32;
    %jmp/0xz  T_18.9, 4;
    %pushi/vec4 0, 0, 14;
    %assign/vec4 v0x85d24c8c0_0, 0;
    %pushi/vec4 1, 0, 3;
    %assign/vec4 v0x85d24d5e0_0, 0;
    %jmp T_18.10;
T_18.9 ;
    %load/vec4 v0x85d24c8c0_0;
    %addi 1, 0, 14;
    %assign/vec4 v0x85d24c8c0_0, 0;
T_18.10 ;
    %jmp T_18.8;
T_18.3 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d400_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d220_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d4a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24c960_0, 0;
    %load/vec4 v0x85d24cdc0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_18.11, 8;
    %load/vec4 v0x85d24cb40_0;
    %assign/vec4 v0x85d24c780_0, 0;
    %load/vec4 v0x85d24cf00_0;
    %assign/vec4 v0x85d24d720_0, 0;
    %load/vec4 v0x85d24cfa0_0;
    %assign/vec4 v0x85d24d7c0_0, 0;
    %load/vec4 v0x85d24cbe0_0;
    %assign/vec4 v0x85d24caa0_0, 0;
    %load/vec4 v0x85d24ce60_0;
    %assign/vec4 v0x85d24d680_0, 0;
    %load/vec4 v0x85d24cb40_0;
    %assign/vec4 v0x85d24d040_0, 0;
    %load/vec4 v0x85d24cbe0_0;
    %assign/vec4 v0x85d24d220_0, 0;
    %load/vec4 v0x85d24ce60_0;
    %assign/vec4 v0x85d24d360_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24d0e0_0, 0;
    %pushi/vec4 0, 0, 14;
    %assign/vec4 v0x85d24c8c0_0, 0;
    %load/vec4 v0x85d24cfa0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_18.13, 8;
    %load/vec4 v0x85d24cf00_0;
    %assign/vec4 v0x85d24ca00_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24c960_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24d400_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d2c0_0, 0;
    %pushi/vec4 3, 0, 3;
    %assign/vec4 v0x85d24d5e0_0, 0;
    %jmp T_18.14;
T_18.13 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24c960_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d400_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24d2c0_0, 0;
    %pushi/vec4 2, 0, 3;
    %assign/vec4 v0x85d24d5e0_0, 0;
T_18.14 ;
T_18.11 ;
    %jmp T_18.8;
T_18.4 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24d0e0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d400_0, 0;
    %load/vec4 v0x85d24caa0_0;
    %assign/vec4 v0x85d24d220_0, 0;
    %load/vec4 v0x85d24d680_0;
    %assign/vec4 v0x85d24d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d4a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24c960_0, 0;
    %load/vec4 v0x85d24c8c0_0;
    %pad/u 32;
    %cmpi/e 5, 0, 32;
    %jmp/0xz  T_18.15, 4;
    %load/vec4 v0x85d24d180_0;
    %assign/vec4 v0x85d24cc80_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24cd20_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d220_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d360_0, 0;
    %pushi/vec4 0, 0, 14;
    %assign/vec4 v0x85d24c8c0_0, 0;
    %pushi/vec4 1, 0, 3;
    %assign/vec4 v0x85d24d5e0_0, 0;
    %jmp T_18.16;
T_18.15 ;
    %load/vec4 v0x85d24c8c0_0;
    %addi 1, 0, 14;
    %assign/vec4 v0x85d24c8c0_0, 0;
T_18.16 ;
    %jmp T_18.8;
T_18.5 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d2c0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24d400_0, 0;
    %load/vec4 v0x85d24caa0_0;
    %assign/vec4 v0x85d24d220_0, 0;
    %load/vec4 v0x85d24d680_0;
    %assign/vec4 v0x85d24d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d4a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24c960_0, 0;
    %load/vec4 v0x85d24c8c0_0;
    %pad/u 32;
    %cmpi/e 5, 0, 32;
    %jmp/0xz  T_18.17, 4;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d400_0, 0;
    %pushi/vec4 0, 0, 14;
    %assign/vec4 v0x85d24c8c0_0, 0;
    %pushi/vec4 4, 0, 3;
    %assign/vec4 v0x85d24d5e0_0, 0;
    %jmp T_18.18;
T_18.17 ;
    %load/vec4 v0x85d24c8c0_0;
    %addi 1, 0, 14;
    %assign/vec4 v0x85d24c8c0_0, 0;
T_18.18 ;
    %jmp T_18.8;
T_18.6 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d400_0, 0;
    %load/vec4 v0x85d24caa0_0;
    %assign/vec4 v0x85d24d220_0, 0;
    %load/vec4 v0x85d24d680_0;
    %assign/vec4 v0x85d24d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d4a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d24c960_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d220_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d24cd20_0, 0;
    %pushi/vec4 1, 0, 3;
    %assign/vec4 v0x85d24d5e0_0, 0;
    %jmp T_18.8;
T_18.8 ;
    %pop/vec4 1;
T_18.1 ;
    %jmp T_18;
    .thread T_18;
    .scope S_0x85d246a00;
T_19 ;
    %wait E_0x85cdf12c0;
    %load/vec4 v0x85d255cc0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_19.0, 8;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0x85d255c20_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x85d255720_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x85d256080_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d2559a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d255ae0_0, 0;
    %jmp T_19.1;
T_19.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d255ae0_0, 0;
    %load/vec4 v0x85d255d60_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_19.4, 9;
    %load/vec4 v0x85d2559a0_0;
    %nor/r;
    %and;
T_19.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_19.2, 8;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0x85d255c20_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x85d255720_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d2559a0_0, 0;
    %jmp T_19.3;
T_19.2 ;
    %load/vec4 v0x85d2559a0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_19.5, 8;
    %load/vec4 v0x85d255c20_0;
    %pad/u 32;
    %cmpi/e 3, 0, 32;
    %jmp/0xz  T_19.7, 4;
    %load/vec4 v0x85d255b80_0;
    %assign/vec4 v0x85d255720_0, 0;
    %load/vec4 v0x85d255b80_0;
    %cmpi/s 0, 0, 32;
    %flag_or 5, 4;
    %jmp/0xz  T_19.9, 5;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x85d256080_0, 0;
    %jmp T_19.10;
T_19.9 ;
    %load/vec4 v0x85d255b80_0;
    %cmpi/s 127, 0, 32;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_19.11, 5;
    %pushi/vec4 127, 0, 8;
    %assign/vec4 v0x85d256080_0, 0;
    %jmp T_19.12;
T_19.11 ;
    %load/vec4 v0x85d255b80_0;
    %parti/s 8, 0, 2;
    %assign/vec4 v0x85d256080_0, 0;
T_19.12 ;
T_19.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x85d2559a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x85d255ae0_0, 0;
    %jmp T_19.8;
T_19.7 ;
    %load/vec4 v0x85d2557c0_0;
    %assign/vec4 v0x85d255720_0, 0;
    %load/vec4 v0x85d255c20_0;
    %addi 1, 0, 2;
    %assign/vec4 v0x85d255c20_0, 0;
T_19.8 ;
T_19.5 ;
T_19.3 ;
T_19.1 ;
    %jmp T_19;
    .thread T_19;
    .scope S_0x100bf0ec0;
T_20 ;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x85d256260_0, 0, 1;
T_20.0 ;
    %delay 5000, 0;
    %load/vec4 v0x85d256260_0;
    %inv;
    %store/vec4 v0x85d256260_0, 0, 1;
    %jmp T_20.0;
T_20.1 ;
    %end;
    .thread T_20;
    .scope S_0x100bf0ec0;
T_21 ;
    %vpi_call/w 12 233 "$dumpfile", "sim/neuron_parallel.vcd" {0 0 0};
    %vpi_call/w 12 234 "$dumpvars", 32'sb00000000000000000000000000000000, S_0x100bf0ec0 {0 0 0};
    %pushi/vec4 1, 0, 1;
    %store/vec4 v0x85d2564e0_0, 0, 1;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x85d256580_0, 0, 1;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0x85d2566c0_0, 0, 256;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0x85d256620_0, 0, 256;
    %pushi/vec4 0, 0, 8;
    %store/vec4 v0x85d256120_0, 0, 8;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x85d2563a0_0, 0, 32;
    %pushi/vec4 2, 0, 32;
T_21.0 %dup/vec4;
    %cmpi/s 0, 0, 32;
    %jmp/1xz T_21.1, 5;
    %jmp/1 T_21.1, 4;
    %subi 1, 0, 32;
    %wait E_0x85cdf12c0;
    %jmp T_21.0;
T_21.1 ;
    %pop/vec4 1;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x85d2564e0_0, 0, 1;
    %vpi_call/w 12 247 "$display", "\000" {0 0 0};
    %vpi_call/w 12 248 "$display", "==============================" {0 0 0};
    %vpi_call/w 12 249 "$display", "NEURON_PARALLEL TESTBENCH (INT8)" {0 0 0};
    %vpi_call/w 12 250 "$display", "==============================" {0 0 0};
    %fork TD_tb.test_1, S_0x85d252400;
    %join;
    %fork TD_tb.test_2, S_0x85d252580;
    %join;
    %fork TD_tb.test_3, S_0x85d252700;
    %join;
    %fork TD_tb.test_4, S_0x85d252880;
    %join;
    %vpi_call/w 12 257 "$display", "\000" {0 0 0};
    %vpi_call/w 12 258 "$display", "==============================" {0 0 0};
    %load/vec4 v0x85d2563a0_0;
    %cmpi/e 0, 0, 32;
    %jmp/0xz  T_21.2, 4;
    %vpi_call/w 12 261 "$display", "ALL TESTS PASSED" {0 0 0};
    %jmp T_21.3;
T_21.2 ;
    %vpi_call/w 12 264 "$display", "FAILURES = %0d", v0x85d2563a0_0 {0 0 0};
T_21.3 ;
    %vpi_call/w 12 267 "$display", "==============================" {0 0 0};
    %vpi_call/w 12 268 "$display", "\000" {0 0 0};
    %vpi_call/w 12 270 "$finish" {0 0 0};
    %end;
    .thread T_21;
# The file index is used to find the file name in the following table.
:file_names 13;
    "N/A";
    "<interactive>";
    "-";
    "rtl/layer.v";
    "rtl/neuron_parallel.v";
    "rtl/mac8.v";
    "rtl/mac_unit.v";
    "rtl/memory_interface.v";
    "rtl/memory_model.v";
    "rtl/neuron_memory.v";
    "rtl/int8_memory_access.v";
    "rtl/psram_controller.v";
    "sim/neuron_parallel_tb.v";
