#! /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_0x102e30ba0 .scope package, "$unit" "$unit" 2 1;
 .timescale 0 0;
S_0x102e308c0 .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_0xbaad1c000 .param/l "ACC_WIDTH" 0 3 6, +C4<00000000000000000000000000101000>;
P_0xbaad1c040 .param/l "DATA_WIDTH" 0 3 2, +C4<00000000000000000000000000010000>;
P_0xbaad1c080 .param/l "N_INPUTS" 0 3 3, +C4<00000000000000000000000001000000>;
P_0xbaad1c0c0 .param/l "N_NEURONS" 0 3 4, +C4<00000000000000000000000000001000>;
P_0xbaad1c100 .param/l "PARALLEL" 0 3 5, +C4<00000000000000000000000000001000>;
o0xbaa855350 .functor BUFZ 128, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab3012c0_0 .net/s "bias_bus", 127 0, o0xbaa855350;  0 drivers
v0xbab301360_0 .net "busy", 0 0, L_0xbab346760;  1 drivers
o0xbaa845fc0 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab301400_0 .net "clk", 0 0, o0xbaa845fc0;  0 drivers
v0xbab3014a0_0 .net "done", 0 0, L_0xbab346800;  1 drivers
v0xbab301540_0 .net "neuron_busy", 7 0, L_0xbab34c5a0;  1 drivers
v0xbab3015e0_0 .net "neuron_done", 7 0, L_0xbab34c640;  1 drivers
o0xbaa846080 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab301680_0 .net "rst", 0 0, o0xbaa846080;  0 drivers
o0xbaa8460b0 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab301720_0 .net "start", 0 0, o0xbaa8460b0;  0 drivers
o0xbaa855440 .functor BUFZ 8192, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab3017c0_0 .net/s "weights_bus", 8191 0, o0xbaa855440;  0 drivers
o0xbaa846110 .functor BUFZ 1024, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab301860_0 .net/s "x_bus", 1023 0, o0xbaa846110;  0 drivers
v0xbab301900_0 .net/s "y_bus", 127 0, L_0xbab34c500;  1 drivers
L_0xbab27aee0 .part o0xbaa855440, 0, 1024;
L_0xbab27af80 .part o0xbaa855350, 0, 16;
L_0xbab22f660 .part o0xbaa855440, 1024, 1024;
L_0xbab22d400 .part o0xbaa855350, 16, 16;
L_0xbab330b40 .part o0xbaa855440, 2048, 1024;
L_0xbab330be0 .part o0xbaa855350, 32, 16;
L_0xbab331d60 .part o0xbaa855440, 3072, 1024;
L_0xbab331e00 .part o0xbaa855350, 48, 16;
L_0xbab332f80 .part o0xbaa855440, 4096, 1024;
L_0xbab333020 .part o0xbaa855350, 64, 16;
L_0xbab3441e0 .part o0xbaa855440, 5120, 1024;
L_0xbab344280 .part o0xbaa855350, 80, 16;
L_0xbab345400 .part o0xbaa855440, 6144, 1024;
L_0xbab3454a0 .part o0xbaa855350, 96, 16;
L_0xbab346620 .part o0xbaa855440, 7168, 1024;
L_0xbab3466c0 .part o0xbaa855350, 112, 16;
LS_0xbab34c500_0_0 .concat8 [ 16 16 16 16], v0xbab2a94a0_0, v0xbab2b9d60_0, v0xbab2c2620_0, v0xbab2d2ee0_0;
LS_0xbab34c500_0_4 .concat8 [ 16 16 16 16], v0xbab2db7a0_0, v0xbab2e80a0_0, v0xbab2f8960_0, v0xbab301220_0;
L_0xbab34c500 .concat8 [ 64 64 0 0], LS_0xbab34c500_0_0, LS_0xbab34c500_0_4;
LS_0xbab34c5a0_0_0 .concat8 [ 1 1 1 1], v0xbab2a8dc0_0, v0xbab2b9680_0, v0xbab2c1f40_0, v0xbab2d2800_0;
LS_0xbab34c5a0_0_4 .concat8 [ 1 1 1 1], v0xbab2db0c0_0, v0xbab2e3980_0, v0xbab2f8280_0, v0xbab300b40_0;
L_0xbab34c5a0 .concat8 [ 4 4 0 0], LS_0xbab34c5a0_0_0, LS_0xbab34c5a0_0_4;
LS_0xbab34c640_0_0 .concat8 [ 1 1 1 1], v0xbab2a8f00_0, v0xbab2b97c0_0, v0xbab2c2080_0, v0xbab2d2940_0;
LS_0xbab34c640_0_4 .concat8 [ 1 1 1 1], v0xbab2db200_0, v0xbab2e3ac0_0, v0xbab2f83c0_0, v0xbab300c80_0;
L_0xbab34c640 .concat8 [ 4 4 0 0], LS_0xbab34c640_0_0, LS_0xbab34c640_0_4;
L_0xbab346760 .reduce/or L_0xbab34c5a0;
L_0xbab346800 .reduce/and L_0xbab34c640;
S_0x102e22cb0 .scope generate, "GEN_NEURON[0]" "GEN_NEURON[0]" 3 34, 3 34 0, S_0x102e308c0;
 .timescale 0 0;
P_0xbaad29c00 .param/l "n" 1 3 34, +C4<00>;
S_0x102e22e30 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0x102e22cb0;
 .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_0x102e203c0 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0x102e20400 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0x102e20440 .param/l "GROUPS" 1 4 20, +C4<00000000000000000000000000001000>;
P_0x102e20480 .param/l "GROUP_INDEX_WIDTH" 1 4 21, +C4<00000000000000000000000000000011>;
P_0x102e204c0 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0x102e20500 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0xbab2a8280_0 .net *"_ivl_0", 31 0, L_0xbab322800;  1 drivers
v0xbab2a8320_0 .net *"_ivl_11", 31 0, L_0xbaad169e0;  1 drivers
v0xbab2a83c0_0 .net *"_ivl_14", 31 0, L_0xbab3228a0;  1 drivers
L_0xbaa8780e8 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2a8460_0 .net *"_ivl_17", 28 0, L_0xbaa8780e8;  1 drivers
L_0xbaa878130 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2a8500_0 .net/2u *"_ivl_18", 31 0, L_0xbaa878130;  1 drivers
v0xbab2a85a0_0 .net *"_ivl_21", 31 0, L_0xbaad16b20;  1 drivers
L_0xbaa878178 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2a8640_0 .net/2u *"_ivl_22", 31 0, L_0xbaa878178;  1 drivers
v0xbab2a86e0_0 .net *"_ivl_25", 31 0, L_0xbaad16bc0;  1 drivers
v0xbab2a8780_0 .net *"_ivl_29", 0 0, L_0xbab27ae40;  1 drivers
L_0xbaa878010 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2a8820_0 .net *"_ivl_3", 28 0, L_0xbaa878010;  1 drivers
v0xbab2a88c0_0 .net *"_ivl_31", 23 0, L_0xbaad17700;  1 drivers
L_0xbaa878058 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2a8960_0 .net/2u *"_ivl_4", 31 0, L_0xbaa878058;  1 drivers
v0xbab2a8a00_0 .net *"_ivl_7", 31 0, L_0xbaad16a80;  1 drivers
L_0xbaa8780a0 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2a8aa0_0 .net/2u *"_ivl_8", 31 0, L_0xbaa8780a0;  1 drivers
v0xbab2a8b40_0 .var/s "acc", 39 0;
v0xbab2a8be0_0 .net/s "acc_next", 39 0, L_0xbab32c1e0;  1 drivers
v0xbab2a8c80_0 .net/s "bias", 15 0, L_0xbab27af80;  1 drivers
v0xbab2a8d20_0 .net/s "bias_ext", 39 0, L_0xbab32c280;  1 drivers
v0xbab2a8dc0_0 .var "busy", 0 0;
v0xbab2a8e60_0 .net "clk", 0 0, o0xbaa845fc0;  alias, 0 drivers
v0xbab2a8f00_0 .var "done", 0 0;
v0xbab2a8fa0_0 .net/s "final_acc", 39 0, L_0xbab32c320;  1 drivers
v0xbab2a9040_0 .var "group_index", 2 0;
v0xbab2a90e0_0 .net "rst", 0 0, o0xbaa846080;  alias, 0 drivers
v0xbab2a9180_0 .net "start", 0 0, o0xbaa8460b0;  alias, 0 drivers
v0xbab2a9220_0 .net/s "w_bus", 1023 0, L_0xbab27aee0;  1 drivers
v0xbab2a92c0_0 .net/s "w_group", 127 0, L_0xbab279ea0;  1 drivers
v0xbab2a9360_0 .net/s "x_bus", 1023 0, o0xbaa846110;  alias, 0 drivers
v0xbab2a9400_0 .net/s "x_group", 127 0, L_0xbab279e00;  1 drivers
v0xbab2a94a0_0 .var/s "y", 15 0;
E_0xbaad38ec0 .event posedge, v0xbab2a8e60_0;
L_0xbab322800 .concat [ 3 29 0 0], v0xbab2a9040_0, L_0xbaa878010;
L_0xbaad16a80 .arith/mult 32, L_0xbab322800, L_0xbaa878058;
L_0xbaad169e0 .arith/mult 32, L_0xbaad16a80, L_0xbaa8780a0;
L_0xbab279e00 .part/v o0xbaa846110, L_0xbaad169e0, 128;
L_0xbab3228a0 .concat [ 3 29 0 0], v0xbab2a9040_0, L_0xbaa8780e8;
L_0xbaad16b20 .arith/mult 32, L_0xbab3228a0, L_0xbaa878130;
L_0xbaad16bc0 .arith/mult 32, L_0xbaad16b20, L_0xbaa878178;
L_0xbab279ea0 .part/v L_0xbab27aee0, L_0xbaad16bc0, 128;
L_0xbab27ae40 .part L_0xbab27af80, 15, 1;
L_0xbaad17700 .repeat 24, 24, L_0xbab27ae40;
L_0xbab32c280 .concat [ 16 24 0 0], L_0xbab27af80, L_0xbaad17700;
L_0xbab32c320 .arith/sum 40, L_0xbab32c1e0, L_0xbab32c280;
S_0x102e20540 .scope module, "u_mac8" "mac8" 4 52, 5 1 0, S_0x102e22e30;
 .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_0xbab294100 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0xbab294140 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0xbab294180 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0xbab2941c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0xbab0b3e80_0 .net/s "acc_in", 39 0, v0xbab2a8b40_0;  1 drivers
v0xbab0b3f20_0 .net/s "acc_out", 39 0, L_0xbab32c1e0;  alias, 1 drivers
v0xbab2a8000 .array "products", 7 0;
v0xbab2a8000_0 .net/s v0xbab2a8000 0, 39 0, L_0xbab322b20; 1 drivers
v0xbab2a8000_1 .net/s v0xbab2a8000 1, 39 0, L_0xbab322da0; 1 drivers
v0xbab2a8000_2 .net/s v0xbab2a8000 2, 39 0, L_0xbab323020; 1 drivers
v0xbab2a8000_3 .net/s v0xbab2a8000 3, 39 0, L_0xbab3232a0; 1 drivers
v0xbab2a8000_4 .net/s v0xbab2a8000 4, 39 0, L_0xbab323520; 1 drivers
v0xbab2a8000_5 .net/s v0xbab2a8000 5, 39 0, L_0xbab3237a0; 1 drivers
v0xbab2a8000_6 .net/s v0xbab2a8000 6, 39 0, L_0xbab323a20; 1 drivers
v0xbab2a8000_7 .net/s v0xbab2a8000 7, 39 0, L_0xbab323ca0; 1 drivers
v0xbab2a80a0 .array "tree", 31 0;
v0xbab2a80a0_0 .net/s v0xbab2a80a0 0, 39 0, L_0xbab068380; 1 drivers
v0xbab2a80a0_1 .net/s v0xbab2a80a0 1, 39 0, L_0xbab0683f0; 1 drivers
v0xbab2a80a0_2 .net/s v0xbab2a80a0 2, 39 0, L_0xbab068460; 1 drivers
v0xbab2a80a0_3 .net/s v0xbab2a80a0 3, 39 0, L_0xbab0684d0; 1 drivers
v0xbab2a80a0_4 .net/s v0xbab2a80a0 4, 39 0, L_0xbab068540; 1 drivers
v0xbab2a80a0_5 .net/s v0xbab2a80a0 5, 39 0, L_0xbab0685b0; 1 drivers
v0xbab2a80a0_6 .net/s v0xbab2a80a0 6, 39 0, L_0xbab068620; 1 drivers
v0xbab2a80a0_7 .net/s v0xbab2a80a0 7, 39 0, L_0xbab068690; 1 drivers
v0xbab2a80a0_8 .net/s v0xbab2a80a0 8, 39 0, L_0xbab323d40; 1 drivers
v0xbab2a80a0_9 .net/s v0xbab2a80a0 9, 39 0, L_0xbab323de0; 1 drivers
v0xbab2a80a0_10 .net/s v0xbab2a80a0 10, 39 0, L_0xbab323e80; 1 drivers
v0xbab2a80a0_11 .net/s v0xbab2a80a0 11, 39 0, L_0xbab323f20; 1 drivers
o0xbaa8457b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_12 .net/s v0xbab2a80a0 12, 39 0, o0xbaa8457b0; 0 drivers
o0xbaa8457e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_13 .net/s v0xbab2a80a0 13, 39 0, o0xbaa8457e0; 0 drivers
o0xbaa845810 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_14 .net/s v0xbab2a80a0 14, 39 0, o0xbaa845810; 0 drivers
o0xbaa845840 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_15 .net/s v0xbab2a80a0 15, 39 0, o0xbaa845840; 0 drivers
v0xbab2a80a0_16 .net/s v0xbab2a80a0 16, 39 0, L_0xbab32c000; 1 drivers
v0xbab2a80a0_17 .net/s v0xbab2a80a0 17, 39 0, L_0xbab32c0a0; 1 drivers
o0xbaa8458d0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_18 .net/s v0xbab2a80a0 18, 39 0, o0xbaa8458d0; 0 drivers
o0xbaa845900 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_19 .net/s v0xbab2a80a0 19, 39 0, o0xbaa845900; 0 drivers
o0xbaa845930 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_20 .net/s v0xbab2a80a0 20, 39 0, o0xbaa845930; 0 drivers
o0xbaa845960 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_21 .net/s v0xbab2a80a0 21, 39 0, o0xbaa845960; 0 drivers
o0xbaa845990 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_22 .net/s v0xbab2a80a0 22, 39 0, o0xbaa845990; 0 drivers
o0xbaa8459c0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_23 .net/s v0xbab2a80a0 23, 39 0, o0xbaa8459c0; 0 drivers
v0xbab2a80a0_24 .net/s v0xbab2a80a0 24, 39 0, L_0xbab32c140; 1 drivers
o0xbaa845a20 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_25 .net/s v0xbab2a80a0 25, 39 0, o0xbaa845a20; 0 drivers
o0xbaa845a50 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_26 .net/s v0xbab2a80a0 26, 39 0, o0xbaa845a50; 0 drivers
o0xbaa845a80 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_27 .net/s v0xbab2a80a0 27, 39 0, o0xbaa845a80; 0 drivers
o0xbaa845ab0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_28 .net/s v0xbab2a80a0 28, 39 0, o0xbaa845ab0; 0 drivers
o0xbaa845ae0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_29 .net/s v0xbab2a80a0 29, 39 0, o0xbaa845ae0; 0 drivers
o0xbaa845b10 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_30 .net/s v0xbab2a80a0 30, 39 0, o0xbaa845b10; 0 drivers
o0xbaa845b40 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2a80a0_31 .net/s v0xbab2a80a0 31, 39 0, o0xbaa845b40; 0 drivers
v0xbab2a8140_0 .net/s "w_bus", 127 0, L_0xbab279ea0;  alias, 1 drivers
v0xbab2a81e0_0 .net/s "x_bus", 127 0, L_0xbab279e00;  alias, 1 drivers
L_0xbab279fe0 .part L_0xbab279e00, 0, 16;
L_0xbab27a080 .part L_0xbab279ea0, 0, 16;
L_0xbab27a1c0 .part L_0xbab279e00, 16, 16;
L_0xbab27a260 .part L_0xbab279ea0, 16, 16;
L_0xbab27a3a0 .part L_0xbab279e00, 32, 16;
L_0xbab27a440 .part L_0xbab279ea0, 32, 16;
L_0xbab27a580 .part L_0xbab279e00, 48, 16;
L_0xbab27a620 .part L_0xbab279ea0, 48, 16;
L_0xbab27a760 .part L_0xbab279e00, 64, 16;
L_0xbab27a800 .part L_0xbab279ea0, 64, 16;
L_0xbab27a940 .part L_0xbab279e00, 80, 16;
L_0xbab27a9e0 .part L_0xbab279ea0, 80, 16;
L_0xbab27ab20 .part L_0xbab279e00, 96, 16;
L_0xbab27abc0 .part L_0xbab279ea0, 96, 16;
L_0xbab27ad00 .part L_0xbab279e00, 112, 16;
L_0xbab27ada0 .part L_0xbab279ea0, 112, 16;
L_0xbab32c1e0 .arith/sum 40, v0xbab2a8b40_0, L_0xbab32c140;
S_0x102e20e70 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29c40 .param/l "i" 1 5 20, +C4<00>;
S_0x102e20ff0 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x102e20e70;
 .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_0x102e24610 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x102e24650 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x102e24690 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab0b0c80_0 .net/s *"_ivl_0", 31 0, L_0xbab322940;  1 drivers
v0xbab0b0d20_0 .net/s *"_ivl_2", 31 0, L_0xbab3229e0;  1 drivers
v0xbab0b0dc0_0 .net *"_ivl_7", 0 0, L_0xbab279f40;  1 drivers
v0xbab0b0e60_0 .net *"_ivl_9", 7 0, L_0xbaad16d00;  1 drivers
L_0xbaa8781c0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab0b0f00_0 .net/s "acc_in", 39 0, L_0xbaa8781c0;  1 drivers
v0xbab0b0fa0_0 .net/s "acc_out", 39 0, L_0xbab322b20;  alias, 1 drivers
v0xbab0b1040_0 .net/s "product", 31 0, L_0xbaad16c60;  1 drivers
v0xbab0b10e0_0 .net/s "product_ext", 39 0, L_0xbab322a80;  1 drivers
v0xbab0b1180_0 .net/s "w", 15 0, L_0xbab27a080;  1 drivers
v0xbab0b1220_0 .net/s "x", 15 0, L_0xbab279fe0;  1 drivers
L_0xbab322940 .extend/s 32, L_0xbab279fe0;
L_0xbab3229e0 .extend/s 32, L_0xbab27a080;
L_0xbaad16c60 .arith/mult 32, L_0xbab322940, L_0xbab3229e0;
L_0xbab279f40 .part L_0xbaad16c60, 31, 1;
L_0xbaad16d00 .repeat 8, 8, L_0xbab279f40;
L_0xbab322a80 .concat [ 32 8 0 0], L_0xbaad16c60, L_0xbaad16d00;
L_0xbab322b20 .arith/sum 40, L_0xbaa8781c0, L_0xbab322a80;
S_0x102e1e940 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29c80 .param/l "i" 1 5 20, +C4<01>;
S_0x102e1eac0 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x102e1e940;
 .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_0x102e30d20 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x102e30d60 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x102e30da0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab0b12c0_0 .net/s *"_ivl_0", 31 0, L_0xbab322bc0;  1 drivers
v0xbab0b1360_0 .net/s *"_ivl_2", 31 0, L_0xbab322c60;  1 drivers
v0xbab0b1400_0 .net *"_ivl_7", 0 0, L_0xbab27a120;  1 drivers
v0xbab0b14a0_0 .net *"_ivl_9", 7 0, L_0xbaad16e40;  1 drivers
L_0xbaa878208 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab0b1540_0 .net/s "acc_in", 39 0, L_0xbaa878208;  1 drivers
v0xbab0b15e0_0 .net/s "acc_out", 39 0, L_0xbab322da0;  alias, 1 drivers
v0xbab0b1680_0 .net/s "product", 31 0, L_0xbaad16da0;  1 drivers
v0xbab0b1720_0 .net/s "product_ext", 39 0, L_0xbab322d00;  1 drivers
v0xbab0b17c0_0 .net/s "w", 15 0, L_0xbab27a260;  1 drivers
v0xbab0b1860_0 .net/s "x", 15 0, L_0xbab27a1c0;  1 drivers
L_0xbab322bc0 .extend/s 32, L_0xbab27a1c0;
L_0xbab322c60 .extend/s 32, L_0xbab27a260;
L_0xbaad16da0 .arith/mult 32, L_0xbab322bc0, L_0xbab322c60;
L_0xbab27a120 .part L_0xbaad16da0, 31, 1;
L_0xbaad16e40 .repeat 8, 8, L_0xbab27a120;
L_0xbab322d00 .concat [ 32 8 0 0], L_0xbaad16da0, L_0xbaad16e40;
L_0xbab322da0 .arith/sum 40, L_0xbaa878208, L_0xbab322d00;
S_0x102e169a0 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29cc0 .param/l "i" 1 5 20, +C4<010>;
S_0x102e16b20 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0x102e169a0;
 .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_0x102e2fbc0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0x102e2fc00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0x102e2fc40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab0b1900_0 .net/s *"_ivl_0", 31 0, L_0xbab322e40;  1 drivers
v0xbab0b19a0_0 .net/s *"_ivl_2", 31 0, L_0xbab322ee0;  1 drivers
v0xbab0b1a40_0 .net *"_ivl_7", 0 0, L_0xbab27a300;  1 drivers
v0xbab0b1ae0_0 .net *"_ivl_9", 7 0, L_0xbaad16f80;  1 drivers
L_0xbaa878250 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab0b1b80_0 .net/s "acc_in", 39 0, L_0xbaa878250;  1 drivers
v0xbab0b1c20_0 .net/s "acc_out", 39 0, L_0xbab323020;  alias, 1 drivers
v0xbab0b1cc0_0 .net/s "product", 31 0, L_0xbaad16ee0;  1 drivers
v0xbab0b1d60_0 .net/s "product_ext", 39 0, L_0xbab322f80;  1 drivers
v0xbab0b1e00_0 .net/s "w", 15 0, L_0xbab27a440;  1 drivers
v0xbab0b1ea0_0 .net/s "x", 15 0, L_0xbab27a3a0;  1 drivers
L_0xbab322e40 .extend/s 32, L_0xbab27a3a0;
L_0xbab322ee0 .extend/s 32, L_0xbab27a440;
L_0xbaad16ee0 .arith/mult 32, L_0xbab322e40, L_0xbab322ee0;
L_0xbab27a300 .part L_0xbaad16ee0, 31, 1;
L_0xbaad16f80 .repeat 8, 8, L_0xbab27a300;
L_0xbab322f80 .concat [ 32 8 0 0], L_0xbaad16ee0, L_0xbaad16f80;
L_0xbab323020 .arith/sum 40, L_0xbaa878250, L_0xbab322f80;
S_0xbab2a4000 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29d00 .param/l "i" 1 5 20, +C4<011>;
S_0xbab2a4180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2a4000;
 .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_0xbaad4c000 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c040 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c080 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab0b1f40_0 .net/s *"_ivl_0", 31 0, L_0xbab3230c0;  1 drivers
v0xbab0b1fe0_0 .net/s *"_ivl_2", 31 0, L_0xbab323160;  1 drivers
v0xbab0b2080_0 .net *"_ivl_7", 0 0, L_0xbab27a4e0;  1 drivers
v0xbab0b2120_0 .net *"_ivl_9", 7 0, L_0xbaad170c0;  1 drivers
L_0xbaa878298 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab0b21c0_0 .net/s "acc_in", 39 0, L_0xbaa878298;  1 drivers
v0xbab0b2260_0 .net/s "acc_out", 39 0, L_0xbab3232a0;  alias, 1 drivers
v0xbab0b2300_0 .net/s "product", 31 0, L_0xbaad17020;  1 drivers
v0xbab0b23a0_0 .net/s "product_ext", 39 0, L_0xbab323200;  1 drivers
v0xbab0b2440_0 .net/s "w", 15 0, L_0xbab27a620;  1 drivers
v0xbab0b24e0_0 .net/s "x", 15 0, L_0xbab27a580;  1 drivers
L_0xbab3230c0 .extend/s 32, L_0xbab27a580;
L_0xbab323160 .extend/s 32, L_0xbab27a620;
L_0xbaad17020 .arith/mult 32, L_0xbab3230c0, L_0xbab323160;
L_0xbab27a4e0 .part L_0xbaad17020, 31, 1;
L_0xbaad170c0 .repeat 8, 8, L_0xbab27a4e0;
L_0xbab323200 .concat [ 32 8 0 0], L_0xbaad17020, L_0xbaad170c0;
L_0xbab3232a0 .arith/sum 40, L_0xbaa878298, L_0xbab323200;
S_0xbab2a4300 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29d80 .param/l "i" 1 5 20, +C4<0100>;
S_0xbab2a4480 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2a4300;
 .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_0xbaad4c0c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c100 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c140 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab0b2580_0 .net/s *"_ivl_0", 31 0, L_0xbab323340;  1 drivers
v0xbab0b2620_0 .net/s *"_ivl_2", 31 0, L_0xbab3233e0;  1 drivers
v0xbab0b26c0_0 .net *"_ivl_7", 0 0, L_0xbab27a6c0;  1 drivers
v0xbab0b2760_0 .net *"_ivl_9", 7 0, L_0xbaad17200;  1 drivers
L_0xbaa8782e0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab0b2800_0 .net/s "acc_in", 39 0, L_0xbaa8782e0;  1 drivers
v0xbab0b28a0_0 .net/s "acc_out", 39 0, L_0xbab323520;  alias, 1 drivers
v0xbab0b2940_0 .net/s "product", 31 0, L_0xbaad17160;  1 drivers
v0xbab0b29e0_0 .net/s "product_ext", 39 0, L_0xbab323480;  1 drivers
v0xbab0b2a80_0 .net/s "w", 15 0, L_0xbab27a800;  1 drivers
v0xbab0b2b20_0 .net/s "x", 15 0, L_0xbab27a760;  1 drivers
L_0xbab323340 .extend/s 32, L_0xbab27a760;
L_0xbab3233e0 .extend/s 32, L_0xbab27a800;
L_0xbaad17160 .arith/mult 32, L_0xbab323340, L_0xbab3233e0;
L_0xbab27a6c0 .part L_0xbaad17160, 31, 1;
L_0xbaad17200 .repeat 8, 8, L_0xbab27a6c0;
L_0xbab323480 .concat [ 32 8 0 0], L_0xbaad17160, L_0xbaad17200;
L_0xbab323520 .arith/sum 40, L_0xbaa8782e0, L_0xbab323480;
S_0xbab2a4600 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29dc0 .param/l "i" 1 5 20, +C4<0101>;
S_0xbab2a4780 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2a4600;
 .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_0xbaad4c180 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c1c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c200 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab0b2bc0_0 .net/s *"_ivl_0", 31 0, L_0xbab3235c0;  1 drivers
v0xbab0b2c60_0 .net/s *"_ivl_2", 31 0, L_0xbab323660;  1 drivers
v0xbab0b2d00_0 .net *"_ivl_7", 0 0, L_0xbab27a8a0;  1 drivers
v0xbab0b2da0_0 .net *"_ivl_9", 7 0, L_0xbaad17340;  1 drivers
L_0xbaa878328 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab0b2e40_0 .net/s "acc_in", 39 0, L_0xbaa878328;  1 drivers
v0xbab0b2ee0_0 .net/s "acc_out", 39 0, L_0xbab3237a0;  alias, 1 drivers
v0xbab0b2f80_0 .net/s "product", 31 0, L_0xbaad172a0;  1 drivers
v0xbab0b3020_0 .net/s "product_ext", 39 0, L_0xbab323700;  1 drivers
v0xbab0b30c0_0 .net/s "w", 15 0, L_0xbab27a9e0;  1 drivers
v0xbab0b3160_0 .net/s "x", 15 0, L_0xbab27a940;  1 drivers
L_0xbab3235c0 .extend/s 32, L_0xbab27a940;
L_0xbab323660 .extend/s 32, L_0xbab27a9e0;
L_0xbaad172a0 .arith/mult 32, L_0xbab3235c0, L_0xbab323660;
L_0xbab27a8a0 .part L_0xbaad172a0, 31, 1;
L_0xbaad17340 .repeat 8, 8, L_0xbab27a8a0;
L_0xbab323700 .concat [ 32 8 0 0], L_0xbaad172a0, L_0xbaad17340;
L_0xbab3237a0 .arith/sum 40, L_0xbaa878328, L_0xbab323700;
S_0xbab2a4900 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29e00 .param/l "i" 1 5 20, +C4<0110>;
S_0xbab2a4a80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2a4900;
 .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_0xbaad4c240 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c280 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c2c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab0b3200_0 .net/s *"_ivl_0", 31 0, L_0xbab323840;  1 drivers
v0xbab0b32a0_0 .net/s *"_ivl_2", 31 0, L_0xbab3238e0;  1 drivers
v0xbab0b3340_0 .net *"_ivl_7", 0 0, L_0xbab27aa80;  1 drivers
v0xbab0b33e0_0 .net *"_ivl_9", 7 0, L_0xbaad17480;  1 drivers
L_0xbaa878370 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab0b3480_0 .net/s "acc_in", 39 0, L_0xbaa878370;  1 drivers
v0xbab0b3520_0 .net/s "acc_out", 39 0, L_0xbab323a20;  alias, 1 drivers
v0xbab0b35c0_0 .net/s "product", 31 0, L_0xbaad173e0;  1 drivers
v0xbab0b3660_0 .net/s "product_ext", 39 0, L_0xbab323980;  1 drivers
v0xbab0b3700_0 .net/s "w", 15 0, L_0xbab27abc0;  1 drivers
v0xbab0b37a0_0 .net/s "x", 15 0, L_0xbab27ab20;  1 drivers
L_0xbab323840 .extend/s 32, L_0xbab27ab20;
L_0xbab3238e0 .extend/s 32, L_0xbab27abc0;
L_0xbaad173e0 .arith/mult 32, L_0xbab323840, L_0xbab3238e0;
L_0xbab27aa80 .part L_0xbaad173e0, 31, 1;
L_0xbaad17480 .repeat 8, 8, L_0xbab27aa80;
L_0xbab323980 .concat [ 32 8 0 0], L_0xbaad173e0, L_0xbaad17480;
L_0xbab323a20 .arith/sum 40, L_0xbaa878370, L_0xbab323980;
S_0xbab2a4c00 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29e40 .param/l "i" 1 5 20, +C4<0111>;
S_0xbab2a4d80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2a4c00;
 .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_0xbaad4c300 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c340 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c380 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab0b3840_0 .net/s *"_ivl_0", 31 0, L_0xbab323ac0;  1 drivers
v0xbab0b38e0_0 .net/s *"_ivl_2", 31 0, L_0xbab323b60;  1 drivers
v0xbab0b3980_0 .net *"_ivl_7", 0 0, L_0xbab27ac60;  1 drivers
v0xbab0b3a20_0 .net *"_ivl_9", 7 0, L_0xbaad175c0;  1 drivers
L_0xbaa8783b8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab0b3ac0_0 .net/s "acc_in", 39 0, L_0xbaa8783b8;  1 drivers
v0xbab0b3b60_0 .net/s "acc_out", 39 0, L_0xbab323ca0;  alias, 1 drivers
v0xbab0b3c00_0 .net/s "product", 31 0, L_0xbaad17520;  1 drivers
v0xbab0b3ca0_0 .net/s "product_ext", 39 0, L_0xbab323c00;  1 drivers
v0xbab0b3d40_0 .net/s "w", 15 0, L_0xbab27ada0;  1 drivers
v0xbab0b3de0_0 .net/s "x", 15 0, L_0xbab27ad00;  1 drivers
L_0xbab323ac0 .extend/s 32, L_0xbab27ad00;
L_0xbab323b60 .extend/s 32, L_0xbab27ada0;
L_0xbaad17520 .arith/mult 32, L_0xbab323ac0, L_0xbab323b60;
L_0xbab27ac60 .part L_0xbaad17520, 31, 1;
L_0xbaad175c0 .repeat 8, 8, L_0xbab27ac60;
L_0xbab323c00 .concat [ 32 8 0 0], L_0xbaad17520, L_0xbaad175c0;
L_0xbab323ca0 .arith/sum 40, L_0xbaa8783b8, L_0xbab323c00;
S_0xbab2a4f00 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29d40 .param/l "i" 1 5 80, +C4<00>;
L_0xbab068380 .functor BUFZ 40, L_0xbab322b20, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2a5080 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29e80 .param/l "i" 1 5 80, +C4<01>;
L_0xbab0683f0 .functor BUFZ 40, L_0xbab322da0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2a5200 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29ec0 .param/l "i" 1 5 80, +C4<010>;
L_0xbab068460 .functor BUFZ 40, L_0xbab323020, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2a5380 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29f00 .param/l "i" 1 5 80, +C4<011>;
L_0xbab0684d0 .functor BUFZ 40, L_0xbab3232a0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2a5500 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29f40 .param/l "i" 1 5 80, +C4<0100>;
L_0xbab068540 .functor BUFZ 40, L_0xbab323520, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2a5680 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29f80 .param/l "i" 1 5 80, +C4<0101>;
L_0xbab0685b0 .functor BUFZ 40, L_0xbab3237a0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2a5800 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad29fc0 .param/l "i" 1 5 80, +C4<0110>;
L_0xbab068620 .functor BUFZ 40, L_0xbab323a20, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2a5980 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad2a000 .param/l "i" 1 5 80, +C4<0111>;
L_0xbab068690 .functor BUFZ 40, L_0xbab323ca0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2a5b00 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad2a040 .param/l "level" 1 5 92, +C4<00>;
S_0xbab2a5c80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2a5b00;
 .timescale 0 0;
P_0xbaad2a080 .param/l "node" 1 5 94, +C4<00>;
L_0xbab323d40 .arith/sum 40, L_0xbab068380, L_0xbab0683f0;
S_0xbab2a5e00 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2a5b00;
 .timescale 0 0;
P_0xbaad2a0c0 .param/l "node" 1 5 94, +C4<01>;
L_0xbab323de0 .arith/sum 40, L_0xbab068460, L_0xbab0684d0;
S_0xbab2a5f80 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0xbab2a5b00;
 .timescale 0 0;
P_0xbaad2a100 .param/l "node" 1 5 94, +C4<010>;
L_0xbab323e80 .arith/sum 40, L_0xbab068540, L_0xbab0685b0;
S_0xbab2a6100 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0xbab2a5b00;
 .timescale 0 0;
P_0xbaad2a140 .param/l "node" 1 5 94, +C4<011>;
L_0xbab323f20 .arith/sum 40, L_0xbab068620, L_0xbab068690;
S_0xbab2a6280 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad2a180 .param/l "level" 1 5 92, +C4<01>;
S_0xbab2a6400 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2a6280;
 .timescale 0 0;
P_0xbaad2a1c0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab32c000 .arith/sum 40, L_0xbab323d40, L_0xbab323de0;
S_0xbab2a6580 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2a6280;
 .timescale 0 0;
P_0xbaad2a200 .param/l "node" 1 5 94, +C4<01>;
L_0xbab32c0a0 .arith/sum 40, L_0xbab323e80, L_0xbab323f20;
S_0xbab2a6700 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0x102e20540;
 .timescale 0 0;
P_0xbaad2a240 .param/l "level" 1 5 92, +C4<010>;
S_0xbab2a6880 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2a6700;
 .timescale 0 0;
P_0xbaad2a280 .param/l "node" 1 5 94, +C4<00>;
L_0xbab32c140 .arith/sum 40, L_0xbab32c000, L_0xbab32c0a0;
S_0xbab2a6a00 .scope generate, "GEN_NEURON[1]" "GEN_NEURON[1]" 3 34, 3 34 0, S_0x102e308c0;
 .timescale 0 0;
P_0xbaad2a300 .param/l "n" 1 3 34, +C4<01>;
S_0xbab2a6b80 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0xbab2a6a00;
 .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_0x102e35800 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0x102e35840 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0x102e35880 .param/l "GROUPS" 1 4 20, +C4<00000000000000000000000000001000>;
P_0x102e358c0 .param/l "GROUP_INDEX_WIDTH" 1 4 21, +C4<00000000000000000000000000000011>;
P_0x102e35900 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0x102e35940 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0xbab2b8b40_0 .net *"_ivl_0", 31 0, L_0xbab32c3c0;  1 drivers
v0xbab2b8be0_0 .net *"_ivl_11", 31 0, L_0xbaad17840;  1 drivers
v0xbab2b8c80_0 .net *"_ivl_14", 31 0, L_0xbab32c460;  1 drivers
L_0xbaa8784d8 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2b8d20_0 .net *"_ivl_17", 28 0, L_0xbaa8784d8;  1 drivers
L_0xbaa878520 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2b8dc0_0 .net/2u *"_ivl_18", 31 0, L_0xbaa878520;  1 drivers
v0xbab2b8e60_0 .net *"_ivl_21", 31 0, L_0xbaad178e0;  1 drivers
L_0xbaa878568 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2b8f00_0 .net/2u *"_ivl_22", 31 0, L_0xbaa878568;  1 drivers
v0xbab2b8fa0_0 .net *"_ivl_25", 31 0, L_0xbaad17980;  1 drivers
v0xbab2b9040_0 .net *"_ivl_29", 0 0, L_0xbab22fb60;  1 drivers
L_0xbaa878400 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2b90e0_0 .net *"_ivl_3", 28 0, L_0xbaa878400;  1 drivers
v0xbab2b9180_0 .net *"_ivl_31", 23 0, L_0xbaad54500;  1 drivers
L_0xbaa878448 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2b9220_0 .net/2u *"_ivl_4", 31 0, L_0xbaa878448;  1 drivers
v0xbab2b92c0_0 .net *"_ivl_7", 31 0, L_0xbaad177a0;  1 drivers
L_0xbaa878490 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2b9360_0 .net/2u *"_ivl_8", 31 0, L_0xbaa878490;  1 drivers
v0xbab2b9400_0 .var/s "acc", 39 0;
v0xbab2b94a0_0 .net/s "acc_next", 39 0, L_0xbab32dd60;  1 drivers
v0xbab2b9540_0 .net/s "bias", 15 0, L_0xbab22d400;  1 drivers
v0xbab2b95e0_0 .net/s "bias_ext", 39 0, L_0xbab32de00;  1 drivers
v0xbab2b9680_0 .var "busy", 0 0;
v0xbab2b9720_0 .net "clk", 0 0, o0xbaa845fc0;  alias, 0 drivers
v0xbab2b97c0_0 .var "done", 0 0;
v0xbab2b9860_0 .net/s "final_acc", 39 0, L_0xbab32dea0;  1 drivers
v0xbab2b9900_0 .var "group_index", 2 0;
v0xbab2b99a0_0 .net "rst", 0 0, o0xbaa846080;  alias, 0 drivers
v0xbab2b9a40_0 .net "start", 0 0, o0xbaa8460b0;  alias, 0 drivers
v0xbab2b9ae0_0 .net/s "w_bus", 1023 0, L_0xbab22f660;  1 drivers
v0xbab2b9b80_0 .net/s "w_group", 127 0, L_0xbab27b0c0;  1 drivers
v0xbab2b9c20_0 .net/s "x_bus", 1023 0, o0xbaa846110;  alias, 0 drivers
v0xbab2b9cc0_0 .net/s "x_group", 127 0, L_0xbab27b020;  1 drivers
v0xbab2b9d60_0 .var/s "y", 15 0;
L_0xbab32c3c0 .concat [ 3 29 0 0], v0xbab2b9900_0, L_0xbaa878400;
L_0xbaad177a0 .arith/mult 32, L_0xbab32c3c0, L_0xbaa878448;
L_0xbaad17840 .arith/mult 32, L_0xbaad177a0, L_0xbaa878490;
L_0xbab27b020 .part/v o0xbaa846110, L_0xbaad17840, 128;
L_0xbab32c460 .concat [ 3 29 0 0], v0xbab2b9900_0, L_0xbaa8784d8;
L_0xbaad178e0 .arith/mult 32, L_0xbab32c460, L_0xbaa878520;
L_0xbaad17980 .arith/mult 32, L_0xbaad178e0, L_0xbaa878568;
L_0xbab27b0c0 .part/v L_0xbab22f660, L_0xbaad17980, 128;
L_0xbab22fb60 .part L_0xbab22d400, 15, 1;
L_0xbaad54500 .repeat 24, 24, L_0xbab22fb60;
L_0xbab32de00 .concat [ 16 24 0 0], L_0xbab22d400, L_0xbaad54500;
L_0xbab32dea0 .arith/sum 40, L_0xbab32dd60, L_0xbab32de00;
S_0xbab2a6d00 .scope module, "u_mac8" "mac8" 4 52, 5 1 0, S_0xbab2a6b80;
 .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_0xbab294400 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0xbab294440 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0xbab294480 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0xbab2944c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0xbab2b8780_0 .net/s "acc_in", 39 0, v0xbab2b9400_0;  1 drivers
v0xbab2b8820_0 .net/s "acc_out", 39 0, L_0xbab32dd60;  alias, 1 drivers
v0xbab2b88c0 .array "products", 7 0;
v0xbab2b88c0_0 .net/s v0xbab2b88c0 0, 39 0, L_0xbab32c6e0; 1 drivers
v0xbab2b88c0_1 .net/s v0xbab2b88c0 1, 39 0, L_0xbab32c960; 1 drivers
v0xbab2b88c0_2 .net/s v0xbab2b88c0 2, 39 0, L_0xbab32cbe0; 1 drivers
v0xbab2b88c0_3 .net/s v0xbab2b88c0 3, 39 0, L_0xbab32ce60; 1 drivers
v0xbab2b88c0_4 .net/s v0xbab2b88c0 4, 39 0, L_0xbab32d0e0; 1 drivers
v0xbab2b88c0_5 .net/s v0xbab2b88c0 5, 39 0, L_0xbab32d360; 1 drivers
v0xbab2b88c0_6 .net/s v0xbab2b88c0 6, 39 0, L_0xbab32d5e0; 1 drivers
v0xbab2b88c0_7 .net/s v0xbab2b88c0 7, 39 0, L_0xbab32d860; 1 drivers
v0xbab2b8960 .array "tree", 31 0;
v0xbab2b8960_0 .net/s v0xbab2b8960 0, 39 0, L_0xbab068700; 1 drivers
v0xbab2b8960_1 .net/s v0xbab2b8960 1, 39 0, L_0xbab068770; 1 drivers
v0xbab2b8960_2 .net/s v0xbab2b8960 2, 39 0, L_0xbab0687e0; 1 drivers
v0xbab2b8960_3 .net/s v0xbab2b8960 3, 39 0, L_0xbab068850; 1 drivers
v0xbab2b8960_4 .net/s v0xbab2b8960 4, 39 0, L_0xbab0688c0; 1 drivers
v0xbab2b8960_5 .net/s v0xbab2b8960 5, 39 0, L_0xbab068930; 1 drivers
v0xbab2b8960_6 .net/s v0xbab2b8960 6, 39 0, L_0xbab0689a0; 1 drivers
v0xbab2b8960_7 .net/s v0xbab2b8960 7, 39 0, L_0xbab068a10; 1 drivers
v0xbab2b8960_8 .net/s v0xbab2b8960 8, 39 0, L_0xbab32d900; 1 drivers
v0xbab2b8960_9 .net/s v0xbab2b8960 9, 39 0, L_0xbab32d9a0; 1 drivers
v0xbab2b8960_10 .net/s v0xbab2b8960 10, 39 0, L_0xbab32da40; 1 drivers
v0xbab2b8960_11 .net/s v0xbab2b8960 11, 39 0, L_0xbab32dae0; 1 drivers
o0xbaa847ac0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_12 .net/s v0xbab2b8960 12, 39 0, o0xbaa847ac0; 0 drivers
o0xbaa847af0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_13 .net/s v0xbab2b8960 13, 39 0, o0xbaa847af0; 0 drivers
o0xbaa847b20 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_14 .net/s v0xbab2b8960 14, 39 0, o0xbaa847b20; 0 drivers
o0xbaa847b50 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_15 .net/s v0xbab2b8960 15, 39 0, o0xbaa847b50; 0 drivers
v0xbab2b8960_16 .net/s v0xbab2b8960 16, 39 0, L_0xbab32db80; 1 drivers
v0xbab2b8960_17 .net/s v0xbab2b8960 17, 39 0, L_0xbab32dc20; 1 drivers
o0xbaa847be0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_18 .net/s v0xbab2b8960 18, 39 0, o0xbaa847be0; 0 drivers
o0xbaa847c10 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_19 .net/s v0xbab2b8960 19, 39 0, o0xbaa847c10; 0 drivers
o0xbaa847c40 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_20 .net/s v0xbab2b8960 20, 39 0, o0xbaa847c40; 0 drivers
o0xbaa847c70 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_21 .net/s v0xbab2b8960 21, 39 0, o0xbaa847c70; 0 drivers
o0xbaa847ca0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_22 .net/s v0xbab2b8960 22, 39 0, o0xbaa847ca0; 0 drivers
o0xbaa847cd0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_23 .net/s v0xbab2b8960 23, 39 0, o0xbaa847cd0; 0 drivers
v0xbab2b8960_24 .net/s v0xbab2b8960 24, 39 0, L_0xbab32dcc0; 1 drivers
o0xbaa847d30 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_25 .net/s v0xbab2b8960 25, 39 0, o0xbaa847d30; 0 drivers
o0xbaa847d60 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_26 .net/s v0xbab2b8960 26, 39 0, o0xbaa847d60; 0 drivers
o0xbaa847d90 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_27 .net/s v0xbab2b8960 27, 39 0, o0xbaa847d90; 0 drivers
o0xbaa847dc0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_28 .net/s v0xbab2b8960 28, 39 0, o0xbaa847dc0; 0 drivers
o0xbaa847df0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_29 .net/s v0xbab2b8960 29, 39 0, o0xbaa847df0; 0 drivers
o0xbaa847e20 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_30 .net/s v0xbab2b8960 30, 39 0, o0xbaa847e20; 0 drivers
o0xbaa847e50 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2b8960_31 .net/s v0xbab2b8960 31, 39 0, o0xbaa847e50; 0 drivers
v0xbab2b8a00_0 .net/s "w_bus", 127 0, L_0xbab27b0c0;  alias, 1 drivers
v0xbab2b8aa0_0 .net/s "x_bus", 127 0, L_0xbab27b020;  alias, 1 drivers
L_0xbab27b200 .part L_0xbab27b020, 0, 16;
L_0xbab27b2a0 .part L_0xbab27b0c0, 0, 16;
L_0xbab27b3e0 .part L_0xbab27b020, 16, 16;
L_0xbab27b480 .part L_0xbab27b0c0, 16, 16;
L_0xbab27b5c0 .part L_0xbab27b020, 32, 16;
L_0xbab27b660 .part L_0xbab27b0c0, 32, 16;
L_0xbab27b7a0 .part L_0xbab27b020, 48, 16;
L_0xbab27b840 .part L_0xbab27b0c0, 48, 16;
L_0xbab27b980 .part L_0xbab27b020, 64, 16;
L_0xbab27ba20 .part L_0xbab27b0c0, 64, 16;
L_0xbab27bb60 .part L_0xbab27b020, 80, 16;
L_0xbab27bc00 .part L_0xbab27b0c0, 80, 16;
L_0xbab27bd40 .part L_0xbab27b020, 96, 16;
L_0xbab27bde0 .part L_0xbab27b0c0, 96, 16;
L_0xbab27bf20 .part L_0xbab27b020, 112, 16;
L_0xbab22fde0 .part L_0xbab27b0c0, 112, 16;
L_0xbab32dd60 .arith/sum 40, v0xbab2b9400_0, L_0xbab32dcc0;
S_0xbab2a6e80 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a340 .param/l "i" 1 5 20, +C4<00>;
S_0xbab2a7000 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2a6e80;
 .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_0xbaad4c3c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c400 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c440 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2a9540_0 .net/s *"_ivl_0", 31 0, L_0xbab32c500;  1 drivers
v0xbab2a95e0_0 .net/s *"_ivl_2", 31 0, L_0xbab32c5a0;  1 drivers
v0xbab2a9680_0 .net *"_ivl_7", 0 0, L_0xbab27b160;  1 drivers
v0xbab2a9720_0 .net *"_ivl_9", 7 0, L_0xbaad17ac0;  1 drivers
L_0xbaa8785b0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2a97c0_0 .net/s "acc_in", 39 0, L_0xbaa8785b0;  1 drivers
v0xbab2a9860_0 .net/s "acc_out", 39 0, L_0xbab32c6e0;  alias, 1 drivers
v0xbab2a9900_0 .net/s "product", 31 0, L_0xbaad17a20;  1 drivers
v0xbab2a99a0_0 .net/s "product_ext", 39 0, L_0xbab32c640;  1 drivers
v0xbab2a9a40_0 .net/s "w", 15 0, L_0xbab27b2a0;  1 drivers
v0xbab2a9ae0_0 .net/s "x", 15 0, L_0xbab27b200;  1 drivers
L_0xbab32c500 .extend/s 32, L_0xbab27b200;
L_0xbab32c5a0 .extend/s 32, L_0xbab27b2a0;
L_0xbaad17a20 .arith/mult 32, L_0xbab32c500, L_0xbab32c5a0;
L_0xbab27b160 .part L_0xbaad17a20, 31, 1;
L_0xbaad17ac0 .repeat 8, 8, L_0xbab27b160;
L_0xbab32c640 .concat [ 32 8 0 0], L_0xbaad17a20, L_0xbaad17ac0;
L_0xbab32c6e0 .arith/sum 40, L_0xbaa8785b0, L_0xbab32c640;
S_0xbab2a7180 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a380 .param/l "i" 1 5 20, +C4<01>;
S_0xbab2a7300 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2a7180;
 .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_0xbaad4c480 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c4c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c500 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2a9b80_0 .net/s *"_ivl_0", 31 0, L_0xbab32c780;  1 drivers
v0xbab2a9c20_0 .net/s *"_ivl_2", 31 0, L_0xbab32c820;  1 drivers
v0xbab2a9cc0_0 .net *"_ivl_7", 0 0, L_0xbab27b340;  1 drivers
v0xbab2a9d60_0 .net *"_ivl_9", 7 0, L_0xbaad17c00;  1 drivers
L_0xbaa8785f8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2a9e00_0 .net/s "acc_in", 39 0, L_0xbaa8785f8;  1 drivers
v0xbab2a9ea0_0 .net/s "acc_out", 39 0, L_0xbab32c960;  alias, 1 drivers
v0xbab2a9f40_0 .net/s "product", 31 0, L_0xbaad17b60;  1 drivers
v0xbab2a9fe0_0 .net/s "product_ext", 39 0, L_0xbab32c8c0;  1 drivers
v0xbab2aa080_0 .net/s "w", 15 0, L_0xbab27b480;  1 drivers
v0xbab2aa120_0 .net/s "x", 15 0, L_0xbab27b3e0;  1 drivers
L_0xbab32c780 .extend/s 32, L_0xbab27b3e0;
L_0xbab32c820 .extend/s 32, L_0xbab27b480;
L_0xbaad17b60 .arith/mult 32, L_0xbab32c780, L_0xbab32c820;
L_0xbab27b340 .part L_0xbaad17b60, 31, 1;
L_0xbaad17c00 .repeat 8, 8, L_0xbab27b340;
L_0xbab32c8c0 .concat [ 32 8 0 0], L_0xbaad17b60, L_0xbaad17c00;
L_0xbab32c960 .arith/sum 40, L_0xbaa8785f8, L_0xbab32c8c0;
S_0xbab2a7480 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a3c0 .param/l "i" 1 5 20, +C4<010>;
S_0xbab2a7600 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2a7480;
 .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_0xbaad4c540 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c580 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c5c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2aa1c0_0 .net/s *"_ivl_0", 31 0, L_0xbab32ca00;  1 drivers
v0xbab2aa260_0 .net/s *"_ivl_2", 31 0, L_0xbab32caa0;  1 drivers
v0xbab2aa300_0 .net *"_ivl_7", 0 0, L_0xbab27b520;  1 drivers
v0xbab2aa3a0_0 .net *"_ivl_9", 7 0, L_0xbaad17d40;  1 drivers
L_0xbaa878640 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2aa440_0 .net/s "acc_in", 39 0, L_0xbaa878640;  1 drivers
v0xbab2aa4e0_0 .net/s "acc_out", 39 0, L_0xbab32cbe0;  alias, 1 drivers
v0xbab2aa580_0 .net/s "product", 31 0, L_0xbaad17ca0;  1 drivers
v0xbab2aa620_0 .net/s "product_ext", 39 0, L_0xbab32cb40;  1 drivers
v0xbab2aa6c0_0 .net/s "w", 15 0, L_0xbab27b660;  1 drivers
v0xbab2aa760_0 .net/s "x", 15 0, L_0xbab27b5c0;  1 drivers
L_0xbab32ca00 .extend/s 32, L_0xbab27b5c0;
L_0xbab32caa0 .extend/s 32, L_0xbab27b660;
L_0xbaad17ca0 .arith/mult 32, L_0xbab32ca00, L_0xbab32caa0;
L_0xbab27b520 .part L_0xbaad17ca0, 31, 1;
L_0xbaad17d40 .repeat 8, 8, L_0xbab27b520;
L_0xbab32cb40 .concat [ 32 8 0 0], L_0xbaad17ca0, L_0xbaad17d40;
L_0xbab32cbe0 .arith/sum 40, L_0xbaa878640, L_0xbab32cb40;
S_0xbab2a7780 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a400 .param/l "i" 1 5 20, +C4<011>;
S_0xbab2a7900 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2a7780;
 .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_0xbaad4c600 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c640 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c680 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2aa800_0 .net/s *"_ivl_0", 31 0, L_0xbab32cc80;  1 drivers
v0xbab2aa8a0_0 .net/s *"_ivl_2", 31 0, L_0xbab32cd20;  1 drivers
v0xbab2aa940_0 .net *"_ivl_7", 0 0, L_0xbab27b700;  1 drivers
v0xbab2aa9e0_0 .net *"_ivl_9", 7 0, L_0xbaad17e80;  1 drivers
L_0xbaa878688 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2aaa80_0 .net/s "acc_in", 39 0, L_0xbaa878688;  1 drivers
v0xbab2aab20_0 .net/s "acc_out", 39 0, L_0xbab32ce60;  alias, 1 drivers
v0xbab2aabc0_0 .net/s "product", 31 0, L_0xbaad17de0;  1 drivers
v0xbab2aac60_0 .net/s "product_ext", 39 0, L_0xbab32cdc0;  1 drivers
v0xbab2aad00_0 .net/s "w", 15 0, L_0xbab27b840;  1 drivers
v0xbab2aada0_0 .net/s "x", 15 0, L_0xbab27b7a0;  1 drivers
L_0xbab32cc80 .extend/s 32, L_0xbab27b7a0;
L_0xbab32cd20 .extend/s 32, L_0xbab27b840;
L_0xbaad17de0 .arith/mult 32, L_0xbab32cc80, L_0xbab32cd20;
L_0xbab27b700 .part L_0xbaad17de0, 31, 1;
L_0xbaad17e80 .repeat 8, 8, L_0xbab27b700;
L_0xbab32cdc0 .concat [ 32 8 0 0], L_0xbaad17de0, L_0xbaad17e80;
L_0xbab32ce60 .arith/sum 40, L_0xbaa878688, L_0xbab32cdc0;
S_0xbab2a7a80 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a480 .param/l "i" 1 5 20, +C4<0100>;
S_0xbab2a7c00 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2a7a80;
 .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_0xbaad4c6c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c700 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c740 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2aae40_0 .net/s *"_ivl_0", 31 0, L_0xbab32cf00;  1 drivers
v0xbab2aaee0_0 .net/s *"_ivl_2", 31 0, L_0xbab32cfa0;  1 drivers
v0xbab2aaf80_0 .net *"_ivl_7", 0 0, L_0xbab27b8e0;  1 drivers
v0xbab2ab020_0 .net *"_ivl_9", 7 0, L_0xbaad54000;  1 drivers
L_0xbaa8786d0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2ab0c0_0 .net/s "acc_in", 39 0, L_0xbaa8786d0;  1 drivers
v0xbab2ab160_0 .net/s "acc_out", 39 0, L_0xbab32d0e0;  alias, 1 drivers
v0xbab2ab200_0 .net/s "product", 31 0, L_0xbaad17f20;  1 drivers
v0xbab2ab2a0_0 .net/s "product_ext", 39 0, L_0xbab32d040;  1 drivers
v0xbab2ab340_0 .net/s "w", 15 0, L_0xbab27ba20;  1 drivers
v0xbab2ab3e0_0 .net/s "x", 15 0, L_0xbab27b980;  1 drivers
L_0xbab32cf00 .extend/s 32, L_0xbab27b980;
L_0xbab32cfa0 .extend/s 32, L_0xbab27ba20;
L_0xbaad17f20 .arith/mult 32, L_0xbab32cf00, L_0xbab32cfa0;
L_0xbab27b8e0 .part L_0xbaad17f20, 31, 1;
L_0xbaad54000 .repeat 8, 8, L_0xbab27b8e0;
L_0xbab32d040 .concat [ 32 8 0 0], L_0xbaad17f20, L_0xbaad54000;
L_0xbab32d0e0 .arith/sum 40, L_0xbaa8786d0, L_0xbab32d040;
S_0xbab2a7d80 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a4c0 .param/l "i" 1 5 20, +C4<0101>;
S_0xbab2b0000 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2a7d80;
 .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_0xbaad4c780 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c7c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c800 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2ab480_0 .net/s *"_ivl_0", 31 0, L_0xbab32d180;  1 drivers
v0xbab2ab520_0 .net/s *"_ivl_2", 31 0, L_0xbab32d220;  1 drivers
v0xbab2ab5c0_0 .net *"_ivl_7", 0 0, L_0xbab27bac0;  1 drivers
v0xbab2ab660_0 .net *"_ivl_9", 7 0, L_0xbaad54140;  1 drivers
L_0xbaa878718 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2ab700_0 .net/s "acc_in", 39 0, L_0xbaa878718;  1 drivers
v0xbab2ab7a0_0 .net/s "acc_out", 39 0, L_0xbab32d360;  alias, 1 drivers
v0xbab2ab840_0 .net/s "product", 31 0, L_0xbaad540a0;  1 drivers
v0xbab2ab8e0_0 .net/s "product_ext", 39 0, L_0xbab32d2c0;  1 drivers
v0xbab2ab980_0 .net/s "w", 15 0, L_0xbab27bc00;  1 drivers
v0xbab2aba20_0 .net/s "x", 15 0, L_0xbab27bb60;  1 drivers
L_0xbab32d180 .extend/s 32, L_0xbab27bb60;
L_0xbab32d220 .extend/s 32, L_0xbab27bc00;
L_0xbaad540a0 .arith/mult 32, L_0xbab32d180, L_0xbab32d220;
L_0xbab27bac0 .part L_0xbaad540a0, 31, 1;
L_0xbaad54140 .repeat 8, 8, L_0xbab27bac0;
L_0xbab32d2c0 .concat [ 32 8 0 0], L_0xbaad540a0, L_0xbaad54140;
L_0xbab32d360 .arith/sum 40, L_0xbaa878718, L_0xbab32d2c0;
S_0xbab2b0180 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a500 .param/l "i" 1 5 20, +C4<0110>;
S_0xbab2b0300 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2b0180;
 .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_0xbaad4c840 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c880 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c8c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2abac0_0 .net/s *"_ivl_0", 31 0, L_0xbab32d400;  1 drivers
v0xbab2abb60_0 .net/s *"_ivl_2", 31 0, L_0xbab32d4a0;  1 drivers
v0xbab2abc00_0 .net *"_ivl_7", 0 0, L_0xbab27bca0;  1 drivers
v0xbab2abca0_0 .net *"_ivl_9", 7 0, L_0xbaad54280;  1 drivers
L_0xbaa878760 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2abd40_0 .net/s "acc_in", 39 0, L_0xbaa878760;  1 drivers
v0xbab2abde0_0 .net/s "acc_out", 39 0, L_0xbab32d5e0;  alias, 1 drivers
v0xbab2abe80_0 .net/s "product", 31 0, L_0xbaad541e0;  1 drivers
v0xbab2abf20_0 .net/s "product_ext", 39 0, L_0xbab32d540;  1 drivers
v0xbab2b8000_0 .net/s "w", 15 0, L_0xbab27bde0;  1 drivers
v0xbab2b80a0_0 .net/s "x", 15 0, L_0xbab27bd40;  1 drivers
L_0xbab32d400 .extend/s 32, L_0xbab27bd40;
L_0xbab32d4a0 .extend/s 32, L_0xbab27bde0;
L_0xbaad541e0 .arith/mult 32, L_0xbab32d400, L_0xbab32d4a0;
L_0xbab27bca0 .part L_0xbaad541e0, 31, 1;
L_0xbaad54280 .repeat 8, 8, L_0xbab27bca0;
L_0xbab32d540 .concat [ 32 8 0 0], L_0xbaad541e0, L_0xbaad54280;
L_0xbab32d5e0 .arith/sum 40, L_0xbaa878760, L_0xbab32d540;
S_0xbab2b0480 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a540 .param/l "i" 1 5 20, +C4<0111>;
S_0xbab2b0600 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2b0480;
 .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_0xbaad4c900 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4c940 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4c980 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2b8140_0 .net/s *"_ivl_0", 31 0, L_0xbab32d680;  1 drivers
v0xbab2b81e0_0 .net/s *"_ivl_2", 31 0, L_0xbab32d720;  1 drivers
v0xbab2b8280_0 .net *"_ivl_7", 0 0, L_0xbab27be80;  1 drivers
v0xbab2b8320_0 .net *"_ivl_9", 7 0, L_0xbaad543c0;  1 drivers
L_0xbaa8787a8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2b83c0_0 .net/s "acc_in", 39 0, L_0xbaa8787a8;  1 drivers
v0xbab2b8460_0 .net/s "acc_out", 39 0, L_0xbab32d860;  alias, 1 drivers
v0xbab2b8500_0 .net/s "product", 31 0, L_0xbaad54320;  1 drivers
v0xbab2b85a0_0 .net/s "product_ext", 39 0, L_0xbab32d7c0;  1 drivers
v0xbab2b8640_0 .net/s "w", 15 0, L_0xbab22fde0;  1 drivers
v0xbab2b86e0_0 .net/s "x", 15 0, L_0xbab27bf20;  1 drivers
L_0xbab32d680 .extend/s 32, L_0xbab27bf20;
L_0xbab32d720 .extend/s 32, L_0xbab22fde0;
L_0xbaad54320 .arith/mult 32, L_0xbab32d680, L_0xbab32d720;
L_0xbab27be80 .part L_0xbaad54320, 31, 1;
L_0xbaad543c0 .repeat 8, 8, L_0xbab27be80;
L_0xbab32d7c0 .concat [ 32 8 0 0], L_0xbaad54320, L_0xbaad543c0;
L_0xbab32d860 .arith/sum 40, L_0xbaa8787a8, L_0xbab32d7c0;
S_0xbab2b0780 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a440 .param/l "i" 1 5 80, +C4<00>;
L_0xbab068700 .functor BUFZ 40, L_0xbab32c6e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2b0900 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a580 .param/l "i" 1 5 80, +C4<01>;
L_0xbab068770 .functor BUFZ 40, L_0xbab32c960, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2b0a80 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a5c0 .param/l "i" 1 5 80, +C4<010>;
L_0xbab0687e0 .functor BUFZ 40, L_0xbab32cbe0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2b0c00 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a600 .param/l "i" 1 5 80, +C4<011>;
L_0xbab068850 .functor BUFZ 40, L_0xbab32ce60, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2b0d80 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a640 .param/l "i" 1 5 80, +C4<0100>;
L_0xbab0688c0 .functor BUFZ 40, L_0xbab32d0e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2b0f00 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a680 .param/l "i" 1 5 80, +C4<0101>;
L_0xbab068930 .functor BUFZ 40, L_0xbab32d360, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2b1080 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a6c0 .param/l "i" 1 5 80, +C4<0110>;
L_0xbab0689a0 .functor BUFZ 40, L_0xbab32d5e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2b1200 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a700 .param/l "i" 1 5 80, +C4<0111>;
L_0xbab068a10 .functor BUFZ 40, L_0xbab32d860, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2b1380 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a740 .param/l "level" 1 5 92, +C4<00>;
S_0xbab2b1500 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2b1380;
 .timescale 0 0;
P_0xbaad2a780 .param/l "node" 1 5 94, +C4<00>;
L_0xbab32d900 .arith/sum 40, L_0xbab068700, L_0xbab068770;
S_0xbab2b1680 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2b1380;
 .timescale 0 0;
P_0xbaad2a7c0 .param/l "node" 1 5 94, +C4<01>;
L_0xbab32d9a0 .arith/sum 40, L_0xbab0687e0, L_0xbab068850;
S_0xbab2b1800 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0xbab2b1380;
 .timescale 0 0;
P_0xbaad2a800 .param/l "node" 1 5 94, +C4<010>;
L_0xbab32da40 .arith/sum 40, L_0xbab0688c0, L_0xbab068930;
S_0xbab2b1980 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0xbab2b1380;
 .timescale 0 0;
P_0xbaad2a840 .param/l "node" 1 5 94, +C4<011>;
L_0xbab32dae0 .arith/sum 40, L_0xbab0689a0, L_0xbab068a10;
S_0xbab2b1b00 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a880 .param/l "level" 1 5 92, +C4<01>;
S_0xbab2b1c80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2b1b00;
 .timescale 0 0;
P_0xbaad2a8c0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab32db80 .arith/sum 40, L_0xbab32d900, L_0xbab32d9a0;
S_0xbab2b1e00 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2b1b00;
 .timescale 0 0;
P_0xbaad2a900 .param/l "node" 1 5 94, +C4<01>;
L_0xbab32dc20 .arith/sum 40, L_0xbab32da40, L_0xbab32dae0;
S_0xbab2b1f80 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0xbab2a6d00;
 .timescale 0 0;
P_0xbaad2a940 .param/l "level" 1 5 92, +C4<010>;
S_0xbab2b2100 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2b1f80;
 .timescale 0 0;
P_0xbaad2a980 .param/l "node" 1 5 94, +C4<00>;
L_0xbab32dcc0 .arith/sum 40, L_0xbab32db80, L_0xbab32dc20;
S_0xbab2b2280 .scope generate, "GEN_NEURON[2]" "GEN_NEURON[2]" 3 34, 3 34 0, S_0x102e308c0;
 .timescale 0 0;
P_0xbaad2aa00 .param/l "n" 1 3 34, +C4<010>;
S_0xbab2b2400 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0xbab2b2280;
 .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_0xbab2bc000 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0xbab2bc040 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0xbab2bc080 .param/l "GROUPS" 1 4 20, +C4<00000000000000000000000000001000>;
P_0xbab2bc0c0 .param/l "GROUP_INDEX_WIDTH" 1 4 21, +C4<00000000000000000000000000000011>;
P_0xbab2bc100 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0xbab2bc140 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0xbab2c1400_0 .net *"_ivl_0", 31 0, L_0xbab32df40;  1 drivers
v0xbab2c14a0_0 .net *"_ivl_11", 31 0, L_0xbaad54640;  1 drivers
v0xbab2c1540_0 .net *"_ivl_14", 31 0, L_0xbab32dfe0;  1 drivers
L_0xbaa8788c8 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2c15e0_0 .net *"_ivl_17", 28 0, L_0xbaa8788c8;  1 drivers
L_0xbaa878910 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2c1680_0 .net/2u *"_ivl_18", 31 0, L_0xbaa878910;  1 drivers
v0xbab2c1720_0 .net *"_ivl_21", 31 0, L_0xbaad546e0;  1 drivers
L_0xbaa878958 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2c17c0_0 .net/2u *"_ivl_22", 31 0, L_0xbaa878958;  1 drivers
v0xbab2c1860_0 .net *"_ivl_25", 31 0, L_0xbaad54780;  1 drivers
v0xbab2c1900_0 .net *"_ivl_29", 0 0, L_0xbab330aa0;  1 drivers
L_0xbaa8787f0 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2c19a0_0 .net *"_ivl_3", 28 0, L_0xbaa8787f0;  1 drivers
v0xbab2c1a40_0 .net *"_ivl_31", 23 0, L_0xbaad552c0;  1 drivers
L_0xbaa878838 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2c1ae0_0 .net/2u *"_ivl_4", 31 0, L_0xbaa878838;  1 drivers
v0xbab2c1b80_0 .net *"_ivl_7", 31 0, L_0xbaad545a0;  1 drivers
L_0xbaa878880 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2c1c20_0 .net/2u *"_ivl_8", 31 0, L_0xbaa878880;  1 drivers
v0xbab2c1cc0_0 .var/s "acc", 39 0;
v0xbab2c1d60_0 .net/s "acc_next", 39 0, L_0xbab32f8e0;  1 drivers
v0xbab2c1e00_0 .net/s "bias", 15 0, L_0xbab330be0;  1 drivers
v0xbab2c1ea0_0 .net/s "bias_ext", 39 0, L_0xbab32f980;  1 drivers
v0xbab2c1f40_0 .var "busy", 0 0;
v0xbab2c1fe0_0 .net "clk", 0 0, o0xbaa845fc0;  alias, 0 drivers
v0xbab2c2080_0 .var "done", 0 0;
v0xbab2c2120_0 .net/s "final_acc", 39 0, L_0xbab32fa20;  1 drivers
v0xbab2c21c0_0 .var "group_index", 2 0;
v0xbab2c2260_0 .net "rst", 0 0, o0xbaa846080;  alias, 0 drivers
v0xbab2c2300_0 .net "start", 0 0, o0xbaa8460b0;  alias, 0 drivers
v0xbab2c23a0_0 .net/s "w_bus", 1023 0, L_0xbab330b40;  1 drivers
v0xbab2c2440_0 .net/s "w_group", 127 0, L_0xbab1faf80;  1 drivers
v0xbab2c24e0_0 .net/s "x_bus", 1023 0, o0xbaa846110;  alias, 0 drivers
v0xbab2c2580_0 .net/s "x_group", 127 0, L_0xbab2121c0;  1 drivers
v0xbab2c2620_0 .var/s "y", 15 0;
L_0xbab32df40 .concat [ 3 29 0 0], v0xbab2c21c0_0, L_0xbaa8787f0;
L_0xbaad545a0 .arith/mult 32, L_0xbab32df40, L_0xbaa878838;
L_0xbaad54640 .arith/mult 32, L_0xbaad545a0, L_0xbaa878880;
L_0xbab2121c0 .part/v o0xbaa846110, L_0xbaad54640, 128;
L_0xbab32dfe0 .concat [ 3 29 0 0], v0xbab2c21c0_0, L_0xbaa8788c8;
L_0xbaad546e0 .arith/mult 32, L_0xbab32dfe0, L_0xbaa878910;
L_0xbaad54780 .arith/mult 32, L_0xbaad546e0, L_0xbaa878958;
L_0xbab1faf80 .part/v L_0xbab330b40, L_0xbaad54780, 128;
L_0xbab330aa0 .part L_0xbab330be0, 15, 1;
L_0xbaad552c0 .repeat 24, 24, L_0xbab330aa0;
L_0xbab32f980 .concat [ 16 24 0 0], L_0xbab330be0, L_0xbaad552c0;
L_0xbab32fa20 .arith/sum 40, L_0xbab32f8e0, L_0xbab32f980;
S_0xbab2b2580 .scope module, "u_mac8" "mac8" 4 52, 5 1 0, S_0xbab2b2400;
 .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_0xbab294700 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0xbab294740 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0xbab294780 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0xbab2947c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0xbab2c1040_0 .net/s "acc_in", 39 0, v0xbab2c1cc0_0;  1 drivers
v0xbab2c10e0_0 .net/s "acc_out", 39 0, L_0xbab32f8e0;  alias, 1 drivers
v0xbab2c1180 .array "products", 7 0;
v0xbab2c1180_0 .net/s v0xbab2c1180 0, 39 0, L_0xbab32e260; 1 drivers
v0xbab2c1180_1 .net/s v0xbab2c1180 1, 39 0, L_0xbab32e4e0; 1 drivers
v0xbab2c1180_2 .net/s v0xbab2c1180 2, 39 0, L_0xbab32e760; 1 drivers
v0xbab2c1180_3 .net/s v0xbab2c1180 3, 39 0, L_0xbab32e9e0; 1 drivers
v0xbab2c1180_4 .net/s v0xbab2c1180 4, 39 0, L_0xbab32ec60; 1 drivers
v0xbab2c1180_5 .net/s v0xbab2c1180 5, 39 0, L_0xbab32eee0; 1 drivers
v0xbab2c1180_6 .net/s v0xbab2c1180 6, 39 0, L_0xbab32f160; 1 drivers
v0xbab2c1180_7 .net/s v0xbab2c1180 7, 39 0, L_0xbab32f3e0; 1 drivers
v0xbab2c1220 .array "tree", 31 0;
v0xbab2c1220_0 .net/s v0xbab2c1220 0, 39 0, L_0xbab068a80; 1 drivers
v0xbab2c1220_1 .net/s v0xbab2c1220 1, 39 0, L_0xbab068af0; 1 drivers
v0xbab2c1220_2 .net/s v0xbab2c1220 2, 39 0, L_0xbab068b60; 1 drivers
v0xbab2c1220_3 .net/s v0xbab2c1220 3, 39 0, L_0xbab068bd0; 1 drivers
v0xbab2c1220_4 .net/s v0xbab2c1220 4, 39 0, L_0xbab068c40; 1 drivers
v0xbab2c1220_5 .net/s v0xbab2c1220 5, 39 0, L_0xbab068cb0; 1 drivers
v0xbab2c1220_6 .net/s v0xbab2c1220 6, 39 0, L_0xbab068d20; 1 drivers
v0xbab2c1220_7 .net/s v0xbab2c1220 7, 39 0, L_0xbab068d90; 1 drivers
v0xbab2c1220_8 .net/s v0xbab2c1220 8, 39 0, L_0xbab32f480; 1 drivers
v0xbab2c1220_9 .net/s v0xbab2c1220 9, 39 0, L_0xbab32f520; 1 drivers
v0xbab2c1220_10 .net/s v0xbab2c1220 10, 39 0, L_0xbab32f5c0; 1 drivers
v0xbab2c1220_11 .net/s v0xbab2c1220 11, 39 0, L_0xbab32f660; 1 drivers
o0xbaa849d10 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_12 .net/s v0xbab2c1220 12, 39 0, o0xbaa849d10; 0 drivers
o0xbaa849d40 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_13 .net/s v0xbab2c1220 13, 39 0, o0xbaa849d40; 0 drivers
o0xbaa849d70 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_14 .net/s v0xbab2c1220 14, 39 0, o0xbaa849d70; 0 drivers
o0xbaa849da0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_15 .net/s v0xbab2c1220 15, 39 0, o0xbaa849da0; 0 drivers
v0xbab2c1220_16 .net/s v0xbab2c1220 16, 39 0, L_0xbab32f700; 1 drivers
v0xbab2c1220_17 .net/s v0xbab2c1220 17, 39 0, L_0xbab32f7a0; 1 drivers
o0xbaa849e30 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_18 .net/s v0xbab2c1220 18, 39 0, o0xbaa849e30; 0 drivers
o0xbaa849e60 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_19 .net/s v0xbab2c1220 19, 39 0, o0xbaa849e60; 0 drivers
o0xbaa849e90 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_20 .net/s v0xbab2c1220 20, 39 0, o0xbaa849e90; 0 drivers
o0xbaa849ec0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_21 .net/s v0xbab2c1220 21, 39 0, o0xbaa849ec0; 0 drivers
o0xbaa849ef0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_22 .net/s v0xbab2c1220 22, 39 0, o0xbaa849ef0; 0 drivers
o0xbaa849f20 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_23 .net/s v0xbab2c1220 23, 39 0, o0xbaa849f20; 0 drivers
v0xbab2c1220_24 .net/s v0xbab2c1220 24, 39 0, L_0xbab32f840; 1 drivers
o0xbaa849f80 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_25 .net/s v0xbab2c1220 25, 39 0, o0xbaa849f80; 0 drivers
o0xbaa849fb0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_26 .net/s v0xbab2c1220 26, 39 0, o0xbaa849fb0; 0 drivers
o0xbaa849fe0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_27 .net/s v0xbab2c1220 27, 39 0, o0xbaa849fe0; 0 drivers
o0xbaa84a010 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_28 .net/s v0xbab2c1220 28, 39 0, o0xbaa84a010; 0 drivers
o0xbaa84a040 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_29 .net/s v0xbab2c1220 29, 39 0, o0xbaa84a040; 0 drivers
o0xbaa84a070 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_30 .net/s v0xbab2c1220 30, 39 0, o0xbaa84a070; 0 drivers
o0xbaa84a0a0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2c1220_31 .net/s v0xbab2c1220 31, 39 0, o0xbaa84a0a0; 0 drivers
v0xbab2c12c0_0 .net/s "w_bus", 127 0, L_0xbab1faf80;  alias, 1 drivers
v0xbab2c1360_0 .net/s "x_bus", 127 0, L_0xbab2121c0;  alias, 1 drivers
L_0xbab19a6c0 .part L_0xbab2121c0, 0, 16;
L_0xbab1d4be0 .part L_0xbab1faf80, 0, 16;
L_0xbab1d7d40 .part L_0xbab2121c0, 16, 16;
L_0xbab1d4b40 .part L_0xbab1faf80, 16, 16;
L_0xbab330000 .part L_0xbab2121c0, 32, 16;
L_0xbab3300a0 .part L_0xbab1faf80, 32, 16;
L_0xbab3301e0 .part L_0xbab2121c0, 48, 16;
L_0xbab330280 .part L_0xbab1faf80, 48, 16;
L_0xbab3303c0 .part L_0xbab2121c0, 64, 16;
L_0xbab330460 .part L_0xbab1faf80, 64, 16;
L_0xbab3305a0 .part L_0xbab2121c0, 80, 16;
L_0xbab330640 .part L_0xbab1faf80, 80, 16;
L_0xbab330780 .part L_0xbab2121c0, 96, 16;
L_0xbab330820 .part L_0xbab1faf80, 96, 16;
L_0xbab330960 .part L_0xbab2121c0, 112, 16;
L_0xbab330a00 .part L_0xbab1faf80, 112, 16;
L_0xbab32f8e0 .arith/sum 40, v0xbab2c1cc0_0, L_0xbab32f840;
S_0xbab2b2700 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2aa40 .param/l "i" 1 5 20, +C4<00>;
S_0xbab2b2880 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2b2700;
 .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_0xbaad4c9c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4ca00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4ca40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2b9e00_0 .net/s *"_ivl_0", 31 0, L_0xbab32e080;  1 drivers
v0xbab2b9ea0_0 .net/s *"_ivl_2", 31 0, L_0xbab32e120;  1 drivers
v0xbab2b9f40_0 .net *"_ivl_7", 0 0, L_0xbab1b9900;  1 drivers
v0xbab2b9fe0_0 .net *"_ivl_9", 7 0, L_0xbaad548c0;  1 drivers
L_0xbaa8789a0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2ba080_0 .net/s "acc_in", 39 0, L_0xbaa8789a0;  1 drivers
v0xbab2ba120_0 .net/s "acc_out", 39 0, L_0xbab32e260;  alias, 1 drivers
v0xbab2ba1c0_0 .net/s "product", 31 0, L_0xbaad54820;  1 drivers
v0xbab2ba260_0 .net/s "product_ext", 39 0, L_0xbab32e1c0;  1 drivers
v0xbab2ba300_0 .net/s "w", 15 0, L_0xbab1d4be0;  1 drivers
v0xbab2ba3a0_0 .net/s "x", 15 0, L_0xbab19a6c0;  1 drivers
L_0xbab32e080 .extend/s 32, L_0xbab19a6c0;
L_0xbab32e120 .extend/s 32, L_0xbab1d4be0;
L_0xbaad54820 .arith/mult 32, L_0xbab32e080, L_0xbab32e120;
L_0xbab1b9900 .part L_0xbaad54820, 31, 1;
L_0xbaad548c0 .repeat 8, 8, L_0xbab1b9900;
L_0xbab32e1c0 .concat [ 32 8 0 0], L_0xbaad54820, L_0xbaad548c0;
L_0xbab32e260 .arith/sum 40, L_0xbaa8789a0, L_0xbab32e1c0;
S_0xbab2b2a00 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2aa80 .param/l "i" 1 5 20, +C4<01>;
S_0xbab2b2b80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2b2a00;
 .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_0xbaad4ca80 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4cac0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4cb00 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2ba440_0 .net/s *"_ivl_0", 31 0, L_0xbab32e300;  1 drivers
v0xbab2ba4e0_0 .net/s *"_ivl_2", 31 0, L_0xbab32e3a0;  1 drivers
v0xbab2ba580_0 .net *"_ivl_7", 0 0, L_0xbab1d4c80;  1 drivers
v0xbab2ba620_0 .net *"_ivl_9", 7 0, L_0xbaad54a00;  1 drivers
L_0xbaa8789e8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2ba6c0_0 .net/s "acc_in", 39 0, L_0xbaa8789e8;  1 drivers
v0xbab2ba760_0 .net/s "acc_out", 39 0, L_0xbab32e4e0;  alias, 1 drivers
v0xbab2ba800_0 .net/s "product", 31 0, L_0xbaad54960;  1 drivers
v0xbab2ba8a0_0 .net/s "product_ext", 39 0, L_0xbab32e440;  1 drivers
v0xbab2ba940_0 .net/s "w", 15 0, L_0xbab1d4b40;  1 drivers
v0xbab2ba9e0_0 .net/s "x", 15 0, L_0xbab1d7d40;  1 drivers
L_0xbab32e300 .extend/s 32, L_0xbab1d7d40;
L_0xbab32e3a0 .extend/s 32, L_0xbab1d4b40;
L_0xbaad54960 .arith/mult 32, L_0xbab32e300, L_0xbab32e3a0;
L_0xbab1d4c80 .part L_0xbaad54960, 31, 1;
L_0xbaad54a00 .repeat 8, 8, L_0xbab1d4c80;
L_0xbab32e440 .concat [ 32 8 0 0], L_0xbaad54960, L_0xbaad54a00;
L_0xbab32e4e0 .arith/sum 40, L_0xbaa8789e8, L_0xbab32e440;
S_0xbab2b2d00 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2aac0 .param/l "i" 1 5 20, +C4<010>;
S_0xbab2b2e80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2b2d00;
 .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_0xbaad4cb40 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4cb80 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4cbc0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2baa80_0 .net/s *"_ivl_0", 31 0, L_0xbab32e580;  1 drivers
v0xbab2bab20_0 .net/s *"_ivl_2", 31 0, L_0xbab32e620;  1 drivers
v0xbab2babc0_0 .net *"_ivl_7", 0 0, L_0xbab1d4d20;  1 drivers
v0xbab2bac60_0 .net *"_ivl_9", 7 0, L_0xbaad54b40;  1 drivers
L_0xbaa878a30 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2bad00_0 .net/s "acc_in", 39 0, L_0xbaa878a30;  1 drivers
v0xbab2bada0_0 .net/s "acc_out", 39 0, L_0xbab32e760;  alias, 1 drivers
v0xbab2bae40_0 .net/s "product", 31 0, L_0xbaad54aa0;  1 drivers
v0xbab2baee0_0 .net/s "product_ext", 39 0, L_0xbab32e6c0;  1 drivers
v0xbab2baf80_0 .net/s "w", 15 0, L_0xbab3300a0;  1 drivers
v0xbab2bb020_0 .net/s "x", 15 0, L_0xbab330000;  1 drivers
L_0xbab32e580 .extend/s 32, L_0xbab330000;
L_0xbab32e620 .extend/s 32, L_0xbab3300a0;
L_0xbaad54aa0 .arith/mult 32, L_0xbab32e580, L_0xbab32e620;
L_0xbab1d4d20 .part L_0xbaad54aa0, 31, 1;
L_0xbaad54b40 .repeat 8, 8, L_0xbab1d4d20;
L_0xbab32e6c0 .concat [ 32 8 0 0], L_0xbaad54aa0, L_0xbaad54b40;
L_0xbab32e760 .arith/sum 40, L_0xbaa878a30, L_0xbab32e6c0;
S_0xbab2b3000 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2ab00 .param/l "i" 1 5 20, +C4<011>;
S_0xbab2b3180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2b3000;
 .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_0xbaad4cc00 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4cc40 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4cc80 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2bb0c0_0 .net/s *"_ivl_0", 31 0, L_0xbab32e800;  1 drivers
v0xbab2bb160_0 .net/s *"_ivl_2", 31 0, L_0xbab32e8a0;  1 drivers
v0xbab2bb200_0 .net *"_ivl_7", 0 0, L_0xbab330140;  1 drivers
v0xbab2bb2a0_0 .net *"_ivl_9", 7 0, L_0xbaad54c80;  1 drivers
L_0xbaa878a78 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2bb340_0 .net/s "acc_in", 39 0, L_0xbaa878a78;  1 drivers
v0xbab2bb3e0_0 .net/s "acc_out", 39 0, L_0xbab32e9e0;  alias, 1 drivers
v0xbab2bb480_0 .net/s "product", 31 0, L_0xbaad54be0;  1 drivers
v0xbab2bb520_0 .net/s "product_ext", 39 0, L_0xbab32e940;  1 drivers
v0xbab2bb5c0_0 .net/s "w", 15 0, L_0xbab330280;  1 drivers
v0xbab2bb660_0 .net/s "x", 15 0, L_0xbab3301e0;  1 drivers
L_0xbab32e800 .extend/s 32, L_0xbab3301e0;
L_0xbab32e8a0 .extend/s 32, L_0xbab330280;
L_0xbaad54be0 .arith/mult 32, L_0xbab32e800, L_0xbab32e8a0;
L_0xbab330140 .part L_0xbaad54be0, 31, 1;
L_0xbaad54c80 .repeat 8, 8, L_0xbab330140;
L_0xbab32e940 .concat [ 32 8 0 0], L_0xbaad54be0, L_0xbaad54c80;
L_0xbab32e9e0 .arith/sum 40, L_0xbaa878a78, L_0xbab32e940;
S_0xbab2b3300 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2ab80 .param/l "i" 1 5 20, +C4<0100>;
S_0xbab2b3480 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2b3300;
 .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_0xbaad4ccc0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4cd00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4cd40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2bb700_0 .net/s *"_ivl_0", 31 0, L_0xbab32ea80;  1 drivers
v0xbab2bb7a0_0 .net/s *"_ivl_2", 31 0, L_0xbab32eb20;  1 drivers
v0xbab2bb840_0 .net *"_ivl_7", 0 0, L_0xbab330320;  1 drivers
v0xbab2bb8e0_0 .net *"_ivl_9", 7 0, L_0xbaad54dc0;  1 drivers
L_0xbaa878ac0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2bb980_0 .net/s "acc_in", 39 0, L_0xbaa878ac0;  1 drivers
v0xbab2bba20_0 .net/s "acc_out", 39 0, L_0xbab32ec60;  alias, 1 drivers
v0xbab2bbac0_0 .net/s "product", 31 0, L_0xbaad54d20;  1 drivers
v0xbab2bbb60_0 .net/s "product_ext", 39 0, L_0xbab32ebc0;  1 drivers
v0xbab2bbc00_0 .net/s "w", 15 0, L_0xbab330460;  1 drivers
v0xbab2bbca0_0 .net/s "x", 15 0, L_0xbab3303c0;  1 drivers
L_0xbab32ea80 .extend/s 32, L_0xbab3303c0;
L_0xbab32eb20 .extend/s 32, L_0xbab330460;
L_0xbaad54d20 .arith/mult 32, L_0xbab32ea80, L_0xbab32eb20;
L_0xbab330320 .part L_0xbaad54d20, 31, 1;
L_0xbaad54dc0 .repeat 8, 8, L_0xbab330320;
L_0xbab32ebc0 .concat [ 32 8 0 0], L_0xbaad54d20, L_0xbaad54dc0;
L_0xbab32ec60 .arith/sum 40, L_0xbaa878ac0, L_0xbab32ebc0;
S_0xbab2b3600 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2abc0 .param/l "i" 1 5 20, +C4<0101>;
S_0xbab2b3780 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2b3600;
 .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_0xbaad4cd80 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4cdc0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4ce00 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2bbd40_0 .net/s *"_ivl_0", 31 0, L_0xbab32ed00;  1 drivers
v0xbab2bbde0_0 .net/s *"_ivl_2", 31 0, L_0xbab32eda0;  1 drivers
v0xbab2bbe80_0 .net *"_ivl_7", 0 0, L_0xbab330500;  1 drivers
v0xbab2bbf20_0 .net *"_ivl_9", 7 0, L_0xbaad54f00;  1 drivers
L_0xbaa878b08 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2c0000_0 .net/s "acc_in", 39 0, L_0xbaa878b08;  1 drivers
v0xbab2c00a0_0 .net/s "acc_out", 39 0, L_0xbab32eee0;  alias, 1 drivers
v0xbab2c0140_0 .net/s "product", 31 0, L_0xbaad54e60;  1 drivers
v0xbab2c01e0_0 .net/s "product_ext", 39 0, L_0xbab32ee40;  1 drivers
v0xbab2c0280_0 .net/s "w", 15 0, L_0xbab330640;  1 drivers
v0xbab2c0320_0 .net/s "x", 15 0, L_0xbab3305a0;  1 drivers
L_0xbab32ed00 .extend/s 32, L_0xbab3305a0;
L_0xbab32eda0 .extend/s 32, L_0xbab330640;
L_0xbaad54e60 .arith/mult 32, L_0xbab32ed00, L_0xbab32eda0;
L_0xbab330500 .part L_0xbaad54e60, 31, 1;
L_0xbaad54f00 .repeat 8, 8, L_0xbab330500;
L_0xbab32ee40 .concat [ 32 8 0 0], L_0xbaad54e60, L_0xbaad54f00;
L_0xbab32eee0 .arith/sum 40, L_0xbaa878b08, L_0xbab32ee40;
S_0xbab2b3900 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2ac00 .param/l "i" 1 5 20, +C4<0110>;
S_0xbab2b3a80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2b3900;
 .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_0xbaad4ce40 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4ce80 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4cec0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2c03c0_0 .net/s *"_ivl_0", 31 0, L_0xbab32ef80;  1 drivers
v0xbab2c0460_0 .net/s *"_ivl_2", 31 0, L_0xbab32f020;  1 drivers
v0xbab2c0500_0 .net *"_ivl_7", 0 0, L_0xbab3306e0;  1 drivers
v0xbab2c05a0_0 .net *"_ivl_9", 7 0, L_0xbaad55040;  1 drivers
L_0xbaa878b50 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2c0640_0 .net/s "acc_in", 39 0, L_0xbaa878b50;  1 drivers
v0xbab2c06e0_0 .net/s "acc_out", 39 0, L_0xbab32f160;  alias, 1 drivers
v0xbab2c0780_0 .net/s "product", 31 0, L_0xbaad54fa0;  1 drivers
v0xbab2c0820_0 .net/s "product_ext", 39 0, L_0xbab32f0c0;  1 drivers
v0xbab2c08c0_0 .net/s "w", 15 0, L_0xbab330820;  1 drivers
v0xbab2c0960_0 .net/s "x", 15 0, L_0xbab330780;  1 drivers
L_0xbab32ef80 .extend/s 32, L_0xbab330780;
L_0xbab32f020 .extend/s 32, L_0xbab330820;
L_0xbaad54fa0 .arith/mult 32, L_0xbab32ef80, L_0xbab32f020;
L_0xbab3306e0 .part L_0xbaad54fa0, 31, 1;
L_0xbaad55040 .repeat 8, 8, L_0xbab3306e0;
L_0xbab32f0c0 .concat [ 32 8 0 0], L_0xbaad54fa0, L_0xbaad55040;
L_0xbab32f160 .arith/sum 40, L_0xbaa878b50, L_0xbab32f0c0;
S_0xbab2b3c00 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2ac40 .param/l "i" 1 5 20, +C4<0111>;
S_0xbab2b3d80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2b3c00;
 .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_0xbaad4cf00 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4cf40 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4cf80 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2c0a00_0 .net/s *"_ivl_0", 31 0, L_0xbab32f200;  1 drivers
v0xbab2c0aa0_0 .net/s *"_ivl_2", 31 0, L_0xbab32f2a0;  1 drivers
v0xbab2c0b40_0 .net *"_ivl_7", 0 0, L_0xbab3308c0;  1 drivers
v0xbab2c0be0_0 .net *"_ivl_9", 7 0, L_0xbaad55180;  1 drivers
L_0xbaa878b98 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2c0c80_0 .net/s "acc_in", 39 0, L_0xbaa878b98;  1 drivers
v0xbab2c0d20_0 .net/s "acc_out", 39 0, L_0xbab32f3e0;  alias, 1 drivers
v0xbab2c0dc0_0 .net/s "product", 31 0, L_0xbaad550e0;  1 drivers
v0xbab2c0e60_0 .net/s "product_ext", 39 0, L_0xbab32f340;  1 drivers
v0xbab2c0f00_0 .net/s "w", 15 0, L_0xbab330a00;  1 drivers
v0xbab2c0fa0_0 .net/s "x", 15 0, L_0xbab330960;  1 drivers
L_0xbab32f200 .extend/s 32, L_0xbab330960;
L_0xbab32f2a0 .extend/s 32, L_0xbab330a00;
L_0xbaad550e0 .arith/mult 32, L_0xbab32f200, L_0xbab32f2a0;
L_0xbab3308c0 .part L_0xbaad550e0, 31, 1;
L_0xbaad55180 .repeat 8, 8, L_0xbab3308c0;
L_0xbab32f340 .concat [ 32 8 0 0], L_0xbaad550e0, L_0xbaad55180;
L_0xbab32f3e0 .arith/sum 40, L_0xbaa878b98, L_0xbab32f340;
S_0xbab2c4000 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2ab40 .param/l "i" 1 5 80, +C4<00>;
L_0xbab068a80 .functor BUFZ 40, L_0xbab32e260, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2c4180 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2ac80 .param/l "i" 1 5 80, +C4<01>;
L_0xbab068af0 .functor BUFZ 40, L_0xbab32e4e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2c4300 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2acc0 .param/l "i" 1 5 80, +C4<010>;
L_0xbab068b60 .functor BUFZ 40, L_0xbab32e760, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2c4480 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2ad00 .param/l "i" 1 5 80, +C4<011>;
L_0xbab068bd0 .functor BUFZ 40, L_0xbab32e9e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2c4600 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2ad40 .param/l "i" 1 5 80, +C4<0100>;
L_0xbab068c40 .functor BUFZ 40, L_0xbab32ec60, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2c4780 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2ad80 .param/l "i" 1 5 80, +C4<0101>;
L_0xbab068cb0 .functor BUFZ 40, L_0xbab32eee0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2c4900 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2adc0 .param/l "i" 1 5 80, +C4<0110>;
L_0xbab068d20 .functor BUFZ 40, L_0xbab32f160, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2c4a80 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2ae00 .param/l "i" 1 5 80, +C4<0111>;
L_0xbab068d90 .functor BUFZ 40, L_0xbab32f3e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2c4c00 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2ae40 .param/l "level" 1 5 92, +C4<00>;
S_0xbab2c4d80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2c4c00;
 .timescale 0 0;
P_0xbaad2ae80 .param/l "node" 1 5 94, +C4<00>;
L_0xbab32f480 .arith/sum 40, L_0xbab068a80, L_0xbab068af0;
S_0xbab2c4f00 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2c4c00;
 .timescale 0 0;
P_0xbaad2aec0 .param/l "node" 1 5 94, +C4<01>;
L_0xbab32f520 .arith/sum 40, L_0xbab068b60, L_0xbab068bd0;
S_0xbab2c5080 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0xbab2c4c00;
 .timescale 0 0;
P_0xbaad2af00 .param/l "node" 1 5 94, +C4<010>;
L_0xbab32f5c0 .arith/sum 40, L_0xbab068c40, L_0xbab068cb0;
S_0xbab2c5200 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0xbab2c4c00;
 .timescale 0 0;
P_0xbaad2af40 .param/l "node" 1 5 94, +C4<011>;
L_0xbab32f660 .arith/sum 40, L_0xbab068d20, L_0xbab068d90;
S_0xbab2c5380 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2af80 .param/l "level" 1 5 92, +C4<01>;
S_0xbab2c5500 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2c5380;
 .timescale 0 0;
P_0xbaad2afc0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab32f700 .arith/sum 40, L_0xbab32f480, L_0xbab32f520;
S_0xbab2c5680 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2c5380;
 .timescale 0 0;
P_0xbaad2b000 .param/l "node" 1 5 94, +C4<01>;
L_0xbab32f7a0 .arith/sum 40, L_0xbab32f5c0, L_0xbab32f660;
S_0xbab2c5800 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0xbab2b2580;
 .timescale 0 0;
P_0xbaad2b040 .param/l "level" 1 5 92, +C4<010>;
S_0xbab2c5980 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2c5800;
 .timescale 0 0;
P_0xbaad2b080 .param/l "node" 1 5 94, +C4<00>;
L_0xbab32f840 .arith/sum 40, L_0xbab32f700, L_0xbab32f7a0;
S_0xbab2c5b00 .scope generate, "GEN_NEURON[3]" "GEN_NEURON[3]" 3 34, 3 34 0, S_0x102e308c0;
 .timescale 0 0;
P_0xbaad2b100 .param/l "n" 1 3 34, +C4<011>;
S_0xbab2c5c80 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0xbab2c5b00;
 .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_0xbab2bc180 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0xbab2bc1c0 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0xbab2bc200 .param/l "GROUPS" 1 4 20, +C4<00000000000000000000000000001000>;
P_0xbab2bc240 .param/l "GROUP_INDEX_WIDTH" 1 4 21, +C4<00000000000000000000000000000011>;
P_0xbab2bc280 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0xbab2bc2c0 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0xbab2d1cc0_0 .net *"_ivl_0", 31 0, L_0xbab32fac0;  1 drivers
v0xbab2d1d60_0 .net *"_ivl_11", 31 0, L_0xbaad55400;  1 drivers
v0xbab2d1e00_0 .net *"_ivl_14", 31 0, L_0xbab32fb60;  1 drivers
L_0xbaa878cb8 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d1ea0_0 .net *"_ivl_17", 28 0, L_0xbaa878cb8;  1 drivers
L_0xbaa878d00 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2d1f40_0 .net/2u *"_ivl_18", 31 0, L_0xbaa878d00;  1 drivers
v0xbab2d1fe0_0 .net *"_ivl_21", 31 0, L_0xbaad554a0;  1 drivers
L_0xbaa878d48 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2d2080_0 .net/2u *"_ivl_22", 31 0, L_0xbaa878d48;  1 drivers
v0xbab2d2120_0 .net *"_ivl_25", 31 0, L_0xbaad55540;  1 drivers
v0xbab2d21c0_0 .net *"_ivl_29", 0 0, L_0xbab331cc0;  1 drivers
L_0xbaa878be0 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d2260_0 .net *"_ivl_3", 28 0, L_0xbaa878be0;  1 drivers
v0xbab2d2300_0 .net *"_ivl_31", 23 0, L_0xbaad56080;  1 drivers
L_0xbaa878c28 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2d23a0_0 .net/2u *"_ivl_4", 31 0, L_0xbaa878c28;  1 drivers
v0xbab2d2440_0 .net *"_ivl_7", 31 0, L_0xbaad55360;  1 drivers
L_0xbaa878c70 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2d24e0_0 .net/2u *"_ivl_8", 31 0, L_0xbaa878c70;  1 drivers
v0xbab2d2580_0 .var/s "acc", 39 0;
v0xbab2d2620_0 .net/s "acc_next", 39 0, L_0xbab3394a0;  1 drivers
v0xbab2d26c0_0 .net/s "bias", 15 0, L_0xbab331e00;  1 drivers
v0xbab2d2760_0 .net/s "bias_ext", 39 0, L_0xbab339540;  1 drivers
v0xbab2d2800_0 .var "busy", 0 0;
v0xbab2d28a0_0 .net "clk", 0 0, o0xbaa845fc0;  alias, 0 drivers
v0xbab2d2940_0 .var "done", 0 0;
v0xbab2d29e0_0 .net/s "final_acc", 39 0, L_0xbab3395e0;  1 drivers
v0xbab2d2a80_0 .var "group_index", 2 0;
v0xbab2d2b20_0 .net "rst", 0 0, o0xbaa846080;  alias, 0 drivers
v0xbab2d2bc0_0 .net "start", 0 0, o0xbaa8460b0;  alias, 0 drivers
v0xbab2d2c60_0 .net/s "w_bus", 1023 0, L_0xbab331d60;  1 drivers
v0xbab2d2d00_0 .net/s "w_group", 127 0, L_0xbab330d20;  1 drivers
v0xbab2d2da0_0 .net/s "x_bus", 1023 0, o0xbaa846110;  alias, 0 drivers
v0xbab2d2e40_0 .net/s "x_group", 127 0, L_0xbab330c80;  1 drivers
v0xbab2d2ee0_0 .var/s "y", 15 0;
L_0xbab32fac0 .concat [ 3 29 0 0], v0xbab2d2a80_0, L_0xbaa878be0;
L_0xbaad55360 .arith/mult 32, L_0xbab32fac0, L_0xbaa878c28;
L_0xbaad55400 .arith/mult 32, L_0xbaad55360, L_0xbaa878c70;
L_0xbab330c80 .part/v o0xbaa846110, L_0xbaad55400, 128;
L_0xbab32fb60 .concat [ 3 29 0 0], v0xbab2d2a80_0, L_0xbaa878cb8;
L_0xbaad554a0 .arith/mult 32, L_0xbab32fb60, L_0xbaa878d00;
L_0xbaad55540 .arith/mult 32, L_0xbaad554a0, L_0xbaa878d48;
L_0xbab330d20 .part/v L_0xbab331d60, L_0xbaad55540, 128;
L_0xbab331cc0 .part L_0xbab331e00, 15, 1;
L_0xbaad56080 .repeat 24, 24, L_0xbab331cc0;
L_0xbab339540 .concat [ 16 24 0 0], L_0xbab331e00, L_0xbaad56080;
L_0xbab3395e0 .arith/sum 40, L_0xbab3394a0, L_0xbab339540;
S_0xbab2c5e00 .scope module, "u_mac8" "mac8" 4 52, 5 1 0, S_0xbab2c5c80;
 .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_0xbab294a00 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0xbab294a40 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0xbab294a80 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0xbab294ac0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0xbab2d1900_0 .net/s "acc_in", 39 0, v0xbab2d2580_0;  1 drivers
v0xbab2d19a0_0 .net/s "acc_out", 39 0, L_0xbab3394a0;  alias, 1 drivers
v0xbab2d1a40 .array "products", 7 0;
v0xbab2d1a40_0 .net/s v0xbab2d1a40 0, 39 0, L_0xbab32fde0; 1 drivers
v0xbab2d1a40_1 .net/s v0xbab2d1a40 1, 39 0, L_0xbab3380a0; 1 drivers
v0xbab2d1a40_2 .net/s v0xbab2d1a40 2, 39 0, L_0xbab338320; 1 drivers
v0xbab2d1a40_3 .net/s v0xbab2d1a40 3, 39 0, L_0xbab3385a0; 1 drivers
v0xbab2d1a40_4 .net/s v0xbab2d1a40 4, 39 0, L_0xbab338820; 1 drivers
v0xbab2d1a40_5 .net/s v0xbab2d1a40 5, 39 0, L_0xbab338aa0; 1 drivers
v0xbab2d1a40_6 .net/s v0xbab2d1a40 6, 39 0, L_0xbab338d20; 1 drivers
v0xbab2d1a40_7 .net/s v0xbab2d1a40 7, 39 0, L_0xbab338fa0; 1 drivers
v0xbab2d1ae0 .array "tree", 31 0;
v0xbab2d1ae0_0 .net/s v0xbab2d1ae0 0, 39 0, L_0xbab068e00; 1 drivers
v0xbab2d1ae0_1 .net/s v0xbab2d1ae0 1, 39 0, L_0xbab068e70; 1 drivers
v0xbab2d1ae0_2 .net/s v0xbab2d1ae0 2, 39 0, L_0xbab068ee0; 1 drivers
v0xbab2d1ae0_3 .net/s v0xbab2d1ae0 3, 39 0, L_0xbab068f50; 1 drivers
v0xbab2d1ae0_4 .net/s v0xbab2d1ae0 4, 39 0, L_0xbab068fc0; 1 drivers
v0xbab2d1ae0_5 .net/s v0xbab2d1ae0 5, 39 0, L_0xbab069030; 1 drivers
v0xbab2d1ae0_6 .net/s v0xbab2d1ae0 6, 39 0, L_0xbab0690a0; 1 drivers
v0xbab2d1ae0_7 .net/s v0xbab2d1ae0 7, 39 0, L_0xbab069110; 1 drivers
v0xbab2d1ae0_8 .net/s v0xbab2d1ae0 8, 39 0, L_0xbab339040; 1 drivers
v0xbab2d1ae0_9 .net/s v0xbab2d1ae0 9, 39 0, L_0xbab3390e0; 1 drivers
v0xbab2d1ae0_10 .net/s v0xbab2d1ae0 10, 39 0, L_0xbab339180; 1 drivers
v0xbab2d1ae0_11 .net/s v0xbab2d1ae0 11, 39 0, L_0xbab339220; 1 drivers
o0xbaa84bf60 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_12 .net/s v0xbab2d1ae0 12, 39 0, o0xbaa84bf60; 0 drivers
o0xbaa84bf90 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_13 .net/s v0xbab2d1ae0 13, 39 0, o0xbaa84bf90; 0 drivers
o0xbaa84bfc0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_14 .net/s v0xbab2d1ae0 14, 39 0, o0xbaa84bfc0; 0 drivers
o0xbaa84bff0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_15 .net/s v0xbab2d1ae0 15, 39 0, o0xbaa84bff0; 0 drivers
v0xbab2d1ae0_16 .net/s v0xbab2d1ae0 16, 39 0, L_0xbab3392c0; 1 drivers
v0xbab2d1ae0_17 .net/s v0xbab2d1ae0 17, 39 0, L_0xbab339360; 1 drivers
o0xbaa84c080 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_18 .net/s v0xbab2d1ae0 18, 39 0, o0xbaa84c080; 0 drivers
o0xbaa84c0b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_19 .net/s v0xbab2d1ae0 19, 39 0, o0xbaa84c0b0; 0 drivers
o0xbaa84c0e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_20 .net/s v0xbab2d1ae0 20, 39 0, o0xbaa84c0e0; 0 drivers
o0xbaa84c110 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_21 .net/s v0xbab2d1ae0 21, 39 0, o0xbaa84c110; 0 drivers
o0xbaa84c140 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_22 .net/s v0xbab2d1ae0 22, 39 0, o0xbaa84c140; 0 drivers
o0xbaa84c170 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_23 .net/s v0xbab2d1ae0 23, 39 0, o0xbaa84c170; 0 drivers
v0xbab2d1ae0_24 .net/s v0xbab2d1ae0 24, 39 0, L_0xbab339400; 1 drivers
o0xbaa84c1d0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_25 .net/s v0xbab2d1ae0 25, 39 0, o0xbaa84c1d0; 0 drivers
o0xbaa84c200 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_26 .net/s v0xbab2d1ae0 26, 39 0, o0xbaa84c200; 0 drivers
o0xbaa84c230 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_27 .net/s v0xbab2d1ae0 27, 39 0, o0xbaa84c230; 0 drivers
o0xbaa84c260 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_28 .net/s v0xbab2d1ae0 28, 39 0, o0xbaa84c260; 0 drivers
o0xbaa84c290 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_29 .net/s v0xbab2d1ae0 29, 39 0, o0xbaa84c290; 0 drivers
o0xbaa84c2c0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_30 .net/s v0xbab2d1ae0 30, 39 0, o0xbaa84c2c0; 0 drivers
o0xbaa84c2f0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2d1ae0_31 .net/s v0xbab2d1ae0 31, 39 0, o0xbaa84c2f0; 0 drivers
v0xbab2d1b80_0 .net/s "w_bus", 127 0, L_0xbab330d20;  alias, 1 drivers
v0xbab2d1c20_0 .net/s "x_bus", 127 0, L_0xbab330c80;  alias, 1 drivers
L_0xbab330e60 .part L_0xbab330c80, 0, 16;
L_0xbab330f00 .part L_0xbab330d20, 0, 16;
L_0xbab331040 .part L_0xbab330c80, 16, 16;
L_0xbab3310e0 .part L_0xbab330d20, 16, 16;
L_0xbab331220 .part L_0xbab330c80, 32, 16;
L_0xbab3312c0 .part L_0xbab330d20, 32, 16;
L_0xbab331400 .part L_0xbab330c80, 48, 16;
L_0xbab3314a0 .part L_0xbab330d20, 48, 16;
L_0xbab3315e0 .part L_0xbab330c80, 64, 16;
L_0xbab331680 .part L_0xbab330d20, 64, 16;
L_0xbab3317c0 .part L_0xbab330c80, 80, 16;
L_0xbab331860 .part L_0xbab330d20, 80, 16;
L_0xbab3319a0 .part L_0xbab330c80, 96, 16;
L_0xbab331a40 .part L_0xbab330d20, 96, 16;
L_0xbab331b80 .part L_0xbab330c80, 112, 16;
L_0xbab331c20 .part L_0xbab330d20, 112, 16;
L_0xbab3394a0 .arith/sum 40, v0xbab2d2580_0, L_0xbab339400;
S_0xbab2c5f80 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b140 .param/l "i" 1 5 20, +C4<00>;
S_0xbab2c6100 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2c5f80;
 .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_0xbaad4cfc0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d000 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d040 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2c26c0_0 .net/s *"_ivl_0", 31 0, L_0xbab32fc00;  1 drivers
v0xbab2c2760_0 .net/s *"_ivl_2", 31 0, L_0xbab32fca0;  1 drivers
v0xbab2c2800_0 .net *"_ivl_7", 0 0, L_0xbab330dc0;  1 drivers
v0xbab2c28a0_0 .net *"_ivl_9", 7 0, L_0xbaad55680;  1 drivers
L_0xbaa878d90 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2c2940_0 .net/s "acc_in", 39 0, L_0xbaa878d90;  1 drivers
v0xbab2c29e0_0 .net/s "acc_out", 39 0, L_0xbab32fde0;  alias, 1 drivers
v0xbab2c2a80_0 .net/s "product", 31 0, L_0xbaad555e0;  1 drivers
v0xbab2c2b20_0 .net/s "product_ext", 39 0, L_0xbab32fd40;  1 drivers
v0xbab2c2bc0_0 .net/s "w", 15 0, L_0xbab330f00;  1 drivers
v0xbab2c2c60_0 .net/s "x", 15 0, L_0xbab330e60;  1 drivers
L_0xbab32fc00 .extend/s 32, L_0xbab330e60;
L_0xbab32fca0 .extend/s 32, L_0xbab330f00;
L_0xbaad555e0 .arith/mult 32, L_0xbab32fc00, L_0xbab32fca0;
L_0xbab330dc0 .part L_0xbaad555e0, 31, 1;
L_0xbaad55680 .repeat 8, 8, L_0xbab330dc0;
L_0xbab32fd40 .concat [ 32 8 0 0], L_0xbaad555e0, L_0xbaad55680;
L_0xbab32fde0 .arith/sum 40, L_0xbaa878d90, L_0xbab32fd40;
S_0xbab2c6280 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b180 .param/l "i" 1 5 20, +C4<01>;
S_0xbab2c6400 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2c6280;
 .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_0xbaad4d080 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d0c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d100 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2c2d00_0 .net/s *"_ivl_0", 31 0, L_0xbab32fe80;  1 drivers
v0xbab2c2da0_0 .net/s *"_ivl_2", 31 0, L_0xbab32ff20;  1 drivers
v0xbab2c2e40_0 .net *"_ivl_7", 0 0, L_0xbab330fa0;  1 drivers
v0xbab2c2ee0_0 .net *"_ivl_9", 7 0, L_0xbaad557c0;  1 drivers
L_0xbaa878dd8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2c2f80_0 .net/s "acc_in", 39 0, L_0xbaa878dd8;  1 drivers
v0xbab2c3020_0 .net/s "acc_out", 39 0, L_0xbab3380a0;  alias, 1 drivers
v0xbab2c30c0_0 .net/s "product", 31 0, L_0xbaad55720;  1 drivers
v0xbab2c3160_0 .net/s "product_ext", 39 0, L_0xbab338000;  1 drivers
v0xbab2c3200_0 .net/s "w", 15 0, L_0xbab3310e0;  1 drivers
v0xbab2c32a0_0 .net/s "x", 15 0, L_0xbab331040;  1 drivers
L_0xbab32fe80 .extend/s 32, L_0xbab331040;
L_0xbab32ff20 .extend/s 32, L_0xbab3310e0;
L_0xbaad55720 .arith/mult 32, L_0xbab32fe80, L_0xbab32ff20;
L_0xbab330fa0 .part L_0xbaad55720, 31, 1;
L_0xbaad557c0 .repeat 8, 8, L_0xbab330fa0;
L_0xbab338000 .concat [ 32 8 0 0], L_0xbaad55720, L_0xbaad557c0;
L_0xbab3380a0 .arith/sum 40, L_0xbaa878dd8, L_0xbab338000;
S_0xbab2c6580 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b1c0 .param/l "i" 1 5 20, +C4<010>;
S_0xbab2c6700 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2c6580;
 .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_0xbaad4d140 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d180 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d1c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2c3340_0 .net/s *"_ivl_0", 31 0, L_0xbab338140;  1 drivers
v0xbab2c33e0_0 .net/s *"_ivl_2", 31 0, L_0xbab3381e0;  1 drivers
v0xbab2c3480_0 .net *"_ivl_7", 0 0, L_0xbab331180;  1 drivers
v0xbab2c3520_0 .net *"_ivl_9", 7 0, L_0xbaad55900;  1 drivers
L_0xbaa878e20 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2c35c0_0 .net/s "acc_in", 39 0, L_0xbaa878e20;  1 drivers
v0xbab2c3660_0 .net/s "acc_out", 39 0, L_0xbab338320;  alias, 1 drivers
v0xbab2c3700_0 .net/s "product", 31 0, L_0xbaad55860;  1 drivers
v0xbab2c37a0_0 .net/s "product_ext", 39 0, L_0xbab338280;  1 drivers
v0xbab2c3840_0 .net/s "w", 15 0, L_0xbab3312c0;  1 drivers
v0xbab2c38e0_0 .net/s "x", 15 0, L_0xbab331220;  1 drivers
L_0xbab338140 .extend/s 32, L_0xbab331220;
L_0xbab3381e0 .extend/s 32, L_0xbab3312c0;
L_0xbaad55860 .arith/mult 32, L_0xbab338140, L_0xbab3381e0;
L_0xbab331180 .part L_0xbaad55860, 31, 1;
L_0xbaad55900 .repeat 8, 8, L_0xbab331180;
L_0xbab338280 .concat [ 32 8 0 0], L_0xbaad55860, L_0xbaad55900;
L_0xbab338320 .arith/sum 40, L_0xbaa878e20, L_0xbab338280;
S_0xbab2c6880 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b200 .param/l "i" 1 5 20, +C4<011>;
S_0xbab2c6a00 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2c6880;
 .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_0xbaad4d200 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d240 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d280 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2c3980_0 .net/s *"_ivl_0", 31 0, L_0xbab3383c0;  1 drivers
v0xbab2c3a20_0 .net/s *"_ivl_2", 31 0, L_0xbab338460;  1 drivers
v0xbab2c3ac0_0 .net *"_ivl_7", 0 0, L_0xbab331360;  1 drivers
v0xbab2c3b60_0 .net *"_ivl_9", 7 0, L_0xbaad55a40;  1 drivers
L_0xbaa878e68 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2c3c00_0 .net/s "acc_in", 39 0, L_0xbaa878e68;  1 drivers
v0xbab2c3ca0_0 .net/s "acc_out", 39 0, L_0xbab3385a0;  alias, 1 drivers
v0xbab2c3d40_0 .net/s "product", 31 0, L_0xbaad559a0;  1 drivers
v0xbab2c3de0_0 .net/s "product_ext", 39 0, L_0xbab338500;  1 drivers
v0xbab2c3e80_0 .net/s "w", 15 0, L_0xbab3314a0;  1 drivers
v0xbab2c3f20_0 .net/s "x", 15 0, L_0xbab331400;  1 drivers
L_0xbab3383c0 .extend/s 32, L_0xbab331400;
L_0xbab338460 .extend/s 32, L_0xbab3314a0;
L_0xbaad559a0 .arith/mult 32, L_0xbab3383c0, L_0xbab338460;
L_0xbab331360 .part L_0xbaad559a0, 31, 1;
L_0xbaad55a40 .repeat 8, 8, L_0xbab331360;
L_0xbab338500 .concat [ 32 8 0 0], L_0xbaad559a0, L_0xbaad55a40;
L_0xbab3385a0 .arith/sum 40, L_0xbaa878e68, L_0xbab338500;
S_0xbab2c6b80 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b280 .param/l "i" 1 5 20, +C4<0100>;
S_0xbab2c6d00 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2c6b80;
 .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_0xbaad4d2c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d300 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d340 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2d0000_0 .net/s *"_ivl_0", 31 0, L_0xbab338640;  1 drivers
v0xbab2d00a0_0 .net/s *"_ivl_2", 31 0, L_0xbab3386e0;  1 drivers
v0xbab2d0140_0 .net *"_ivl_7", 0 0, L_0xbab331540;  1 drivers
v0xbab2d01e0_0 .net *"_ivl_9", 7 0, L_0xbaad55b80;  1 drivers
L_0xbaa878eb0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d0280_0 .net/s "acc_in", 39 0, L_0xbaa878eb0;  1 drivers
v0xbab2d0320_0 .net/s "acc_out", 39 0, L_0xbab338820;  alias, 1 drivers
v0xbab2d03c0_0 .net/s "product", 31 0, L_0xbaad55ae0;  1 drivers
v0xbab2d0460_0 .net/s "product_ext", 39 0, L_0xbab338780;  1 drivers
v0xbab2d0500_0 .net/s "w", 15 0, L_0xbab331680;  1 drivers
v0xbab2d05a0_0 .net/s "x", 15 0, L_0xbab3315e0;  1 drivers
L_0xbab338640 .extend/s 32, L_0xbab3315e0;
L_0xbab3386e0 .extend/s 32, L_0xbab331680;
L_0xbaad55ae0 .arith/mult 32, L_0xbab338640, L_0xbab3386e0;
L_0xbab331540 .part L_0xbaad55ae0, 31, 1;
L_0xbaad55b80 .repeat 8, 8, L_0xbab331540;
L_0xbab338780 .concat [ 32 8 0 0], L_0xbaad55ae0, L_0xbaad55b80;
L_0xbab338820 .arith/sum 40, L_0xbaa878eb0, L_0xbab338780;
S_0xbab2c6e80 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b2c0 .param/l "i" 1 5 20, +C4<0101>;
S_0xbab2c7000 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2c6e80;
 .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_0xbaad4d380 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d3c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d400 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2d0640_0 .net/s *"_ivl_0", 31 0, L_0xbab3388c0;  1 drivers
v0xbab2d06e0_0 .net/s *"_ivl_2", 31 0, L_0xbab338960;  1 drivers
v0xbab2d0780_0 .net *"_ivl_7", 0 0, L_0xbab331720;  1 drivers
v0xbab2d0820_0 .net *"_ivl_9", 7 0, L_0xbaad55cc0;  1 drivers
L_0xbaa878ef8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d08c0_0 .net/s "acc_in", 39 0, L_0xbaa878ef8;  1 drivers
v0xbab2d0960_0 .net/s "acc_out", 39 0, L_0xbab338aa0;  alias, 1 drivers
v0xbab2d0a00_0 .net/s "product", 31 0, L_0xbaad55c20;  1 drivers
v0xbab2d0aa0_0 .net/s "product_ext", 39 0, L_0xbab338a00;  1 drivers
v0xbab2d0b40_0 .net/s "w", 15 0, L_0xbab331860;  1 drivers
v0xbab2d0be0_0 .net/s "x", 15 0, L_0xbab3317c0;  1 drivers
L_0xbab3388c0 .extend/s 32, L_0xbab3317c0;
L_0xbab338960 .extend/s 32, L_0xbab331860;
L_0xbaad55c20 .arith/mult 32, L_0xbab3388c0, L_0xbab338960;
L_0xbab331720 .part L_0xbaad55c20, 31, 1;
L_0xbaad55cc0 .repeat 8, 8, L_0xbab331720;
L_0xbab338a00 .concat [ 32 8 0 0], L_0xbaad55c20, L_0xbaad55cc0;
L_0xbab338aa0 .arith/sum 40, L_0xbaa878ef8, L_0xbab338a00;
S_0xbab2c7180 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b300 .param/l "i" 1 5 20, +C4<0110>;
S_0xbab2c7300 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2c7180;
 .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_0xbaad4d440 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d480 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d4c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2d0c80_0 .net/s *"_ivl_0", 31 0, L_0xbab338b40;  1 drivers
v0xbab2d0d20_0 .net/s *"_ivl_2", 31 0, L_0xbab338be0;  1 drivers
v0xbab2d0dc0_0 .net *"_ivl_7", 0 0, L_0xbab331900;  1 drivers
v0xbab2d0e60_0 .net *"_ivl_9", 7 0, L_0xbaad55e00;  1 drivers
L_0xbaa878f40 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d0f00_0 .net/s "acc_in", 39 0, L_0xbaa878f40;  1 drivers
v0xbab2d0fa0_0 .net/s "acc_out", 39 0, L_0xbab338d20;  alias, 1 drivers
v0xbab2d1040_0 .net/s "product", 31 0, L_0xbaad55d60;  1 drivers
v0xbab2d10e0_0 .net/s "product_ext", 39 0, L_0xbab338c80;  1 drivers
v0xbab2d1180_0 .net/s "w", 15 0, L_0xbab331a40;  1 drivers
v0xbab2d1220_0 .net/s "x", 15 0, L_0xbab3319a0;  1 drivers
L_0xbab338b40 .extend/s 32, L_0xbab3319a0;
L_0xbab338be0 .extend/s 32, L_0xbab331a40;
L_0xbaad55d60 .arith/mult 32, L_0xbab338b40, L_0xbab338be0;
L_0xbab331900 .part L_0xbaad55d60, 31, 1;
L_0xbaad55e00 .repeat 8, 8, L_0xbab331900;
L_0xbab338c80 .concat [ 32 8 0 0], L_0xbaad55d60, L_0xbaad55e00;
L_0xbab338d20 .arith/sum 40, L_0xbaa878f40, L_0xbab338c80;
S_0xbab2c7480 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b340 .param/l "i" 1 5 20, +C4<0111>;
S_0xbab2c7600 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2c7480;
 .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_0xbaad4d500 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d540 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d580 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2d12c0_0 .net/s *"_ivl_0", 31 0, L_0xbab338dc0;  1 drivers
v0xbab2d1360_0 .net/s *"_ivl_2", 31 0, L_0xbab338e60;  1 drivers
v0xbab2d1400_0 .net *"_ivl_7", 0 0, L_0xbab331ae0;  1 drivers
v0xbab2d14a0_0 .net *"_ivl_9", 7 0, L_0xbaad55f40;  1 drivers
L_0xbaa878f88 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d1540_0 .net/s "acc_in", 39 0, L_0xbaa878f88;  1 drivers
v0xbab2d15e0_0 .net/s "acc_out", 39 0, L_0xbab338fa0;  alias, 1 drivers
v0xbab2d1680_0 .net/s "product", 31 0, L_0xbaad55ea0;  1 drivers
v0xbab2d1720_0 .net/s "product_ext", 39 0, L_0xbab338f00;  1 drivers
v0xbab2d17c0_0 .net/s "w", 15 0, L_0xbab331c20;  1 drivers
v0xbab2d1860_0 .net/s "x", 15 0, L_0xbab331b80;  1 drivers
L_0xbab338dc0 .extend/s 32, L_0xbab331b80;
L_0xbab338e60 .extend/s 32, L_0xbab331c20;
L_0xbaad55ea0 .arith/mult 32, L_0xbab338dc0, L_0xbab338e60;
L_0xbab331ae0 .part L_0xbaad55ea0, 31, 1;
L_0xbaad55f40 .repeat 8, 8, L_0xbab331ae0;
L_0xbab338f00 .concat [ 32 8 0 0], L_0xbaad55ea0, L_0xbaad55f40;
L_0xbab338fa0 .arith/sum 40, L_0xbaa878f88, L_0xbab338f00;
S_0xbab2c7780 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b240 .param/l "i" 1 5 80, +C4<00>;
L_0xbab068e00 .functor BUFZ 40, L_0xbab32fde0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2c7900 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b380 .param/l "i" 1 5 80, +C4<01>;
L_0xbab068e70 .functor BUFZ 40, L_0xbab3380a0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2c7a80 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b3c0 .param/l "i" 1 5 80, +C4<010>;
L_0xbab068ee0 .functor BUFZ 40, L_0xbab338320, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2c7c00 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b400 .param/l "i" 1 5 80, +C4<011>;
L_0xbab068f50 .functor BUFZ 40, L_0xbab3385a0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2c7d80 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b440 .param/l "i" 1 5 80, +C4<0100>;
L_0xbab068fc0 .functor BUFZ 40, L_0xbab338820, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2d4000 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b480 .param/l "i" 1 5 80, +C4<0101>;
L_0xbab069030 .functor BUFZ 40, L_0xbab338aa0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2d4180 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b4c0 .param/l "i" 1 5 80, +C4<0110>;
L_0xbab0690a0 .functor BUFZ 40, L_0xbab338d20, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2d4300 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b500 .param/l "i" 1 5 80, +C4<0111>;
L_0xbab069110 .functor BUFZ 40, L_0xbab338fa0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2d4480 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b540 .param/l "level" 1 5 92, +C4<00>;
S_0xbab2d4600 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2d4480;
 .timescale 0 0;
P_0xbaad2b580 .param/l "node" 1 5 94, +C4<00>;
L_0xbab339040 .arith/sum 40, L_0xbab068e00, L_0xbab068e70;
S_0xbab2d4780 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2d4480;
 .timescale 0 0;
P_0xbaad2b5c0 .param/l "node" 1 5 94, +C4<01>;
L_0xbab3390e0 .arith/sum 40, L_0xbab068ee0, L_0xbab068f50;
S_0xbab2d4900 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0xbab2d4480;
 .timescale 0 0;
P_0xbaad2b600 .param/l "node" 1 5 94, +C4<010>;
L_0xbab339180 .arith/sum 40, L_0xbab068fc0, L_0xbab069030;
S_0xbab2d4a80 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0xbab2d4480;
 .timescale 0 0;
P_0xbaad2b640 .param/l "node" 1 5 94, +C4<011>;
L_0xbab339220 .arith/sum 40, L_0xbab0690a0, L_0xbab069110;
S_0xbab2d4c00 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b680 .param/l "level" 1 5 92, +C4<01>;
S_0xbab2d4d80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2d4c00;
 .timescale 0 0;
P_0xbaad2b6c0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab3392c0 .arith/sum 40, L_0xbab339040, L_0xbab3390e0;
S_0xbab2d4f00 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2d4c00;
 .timescale 0 0;
P_0xbaad2b700 .param/l "node" 1 5 94, +C4<01>;
L_0xbab339360 .arith/sum 40, L_0xbab339180, L_0xbab339220;
S_0xbab2d5080 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0xbab2c5e00;
 .timescale 0 0;
P_0xbaad2b740 .param/l "level" 1 5 92, +C4<010>;
S_0xbab2d5200 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2d5080;
 .timescale 0 0;
P_0xbaad2b780 .param/l "node" 1 5 94, +C4<00>;
L_0xbab339400 .arith/sum 40, L_0xbab3392c0, L_0xbab339360;
S_0xbab2d5380 .scope generate, "GEN_NEURON[4]" "GEN_NEURON[4]" 3 34, 3 34 0, S_0x102e308c0;
 .timescale 0 0;
P_0xbaad2b840 .param/l "n" 1 3 34, +C4<0100>;
S_0xbab2d5500 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0xbab2d5380;
 .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_0xbab2bc300 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0xbab2bc340 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0xbab2bc380 .param/l "GROUPS" 1 4 20, +C4<00000000000000000000000000001000>;
P_0xbab2bc3c0 .param/l "GROUP_INDEX_WIDTH" 1 4 21, +C4<00000000000000000000000000000011>;
P_0xbab2bc400 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0xbab2bc440 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0xbab2da580_0 .net *"_ivl_0", 31 0, L_0xbab339680;  1 drivers
v0xbab2da620_0 .net *"_ivl_11", 31 0, L_0xbaad561c0;  1 drivers
v0xbab2da6c0_0 .net *"_ivl_14", 31 0, L_0xbab339720;  1 drivers
L_0xbaa8790a8 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2da760_0 .net *"_ivl_17", 28 0, L_0xbaa8790a8;  1 drivers
L_0xbaa8790f0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2da800_0 .net/2u *"_ivl_18", 31 0, L_0xbaa8790f0;  1 drivers
v0xbab2da8a0_0 .net *"_ivl_21", 31 0, L_0xbaad56260;  1 drivers
L_0xbaa879138 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2da940_0 .net/2u *"_ivl_22", 31 0, L_0xbaa879138;  1 drivers
v0xbab2da9e0_0 .net *"_ivl_25", 31 0, L_0xbaad56300;  1 drivers
v0xbab2daa80_0 .net *"_ivl_29", 0 0, L_0xbab332ee0;  1 drivers
L_0xbaa878fd0 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2dab20_0 .net *"_ivl_3", 28 0, L_0xbaa878fd0;  1 drivers
v0xbab2dabc0_0 .net *"_ivl_31", 23 0, L_0xbaad56e40;  1 drivers
L_0xbaa879018 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2dac60_0 .net/2u *"_ivl_4", 31 0, L_0xbaa879018;  1 drivers
v0xbab2dad00_0 .net *"_ivl_7", 31 0, L_0xbaad56120;  1 drivers
L_0xbaa879060 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2dada0_0 .net/2u *"_ivl_8", 31 0, L_0xbaa879060;  1 drivers
v0xbab2dae40_0 .var/s "acc", 39 0;
v0xbab2daee0_0 .net/s "acc_next", 39 0, L_0xbab33b020;  1 drivers
v0xbab2daf80_0 .net/s "bias", 15 0, L_0xbab333020;  1 drivers
v0xbab2db020_0 .net/s "bias_ext", 39 0, L_0xbab33b0c0;  1 drivers
v0xbab2db0c0_0 .var "busy", 0 0;
v0xbab2db160_0 .net "clk", 0 0, o0xbaa845fc0;  alias, 0 drivers
v0xbab2db200_0 .var "done", 0 0;
v0xbab2db2a0_0 .net/s "final_acc", 39 0, L_0xbab33b160;  1 drivers
v0xbab2db340_0 .var "group_index", 2 0;
v0xbab2db3e0_0 .net "rst", 0 0, o0xbaa846080;  alias, 0 drivers
v0xbab2db480_0 .net "start", 0 0, o0xbaa8460b0;  alias, 0 drivers
v0xbab2db520_0 .net/s "w_bus", 1023 0, L_0xbab332f80;  1 drivers
v0xbab2db5c0_0 .net/s "w_group", 127 0, L_0xbab331f40;  1 drivers
v0xbab2db660_0 .net/s "x_bus", 1023 0, o0xbaa846110;  alias, 0 drivers
v0xbab2db700_0 .net/s "x_group", 127 0, L_0xbab331ea0;  1 drivers
v0xbab2db7a0_0 .var/s "y", 15 0;
L_0xbab339680 .concat [ 3 29 0 0], v0xbab2db340_0, L_0xbaa878fd0;
L_0xbaad56120 .arith/mult 32, L_0xbab339680, L_0xbaa879018;
L_0xbaad561c0 .arith/mult 32, L_0xbaad56120, L_0xbaa879060;
L_0xbab331ea0 .part/v o0xbaa846110, L_0xbaad561c0, 128;
L_0xbab339720 .concat [ 3 29 0 0], v0xbab2db340_0, L_0xbaa8790a8;
L_0xbaad56260 .arith/mult 32, L_0xbab339720, L_0xbaa8790f0;
L_0xbaad56300 .arith/mult 32, L_0xbaad56260, L_0xbaa879138;
L_0xbab331f40 .part/v L_0xbab332f80, L_0xbaad56300, 128;
L_0xbab332ee0 .part L_0xbab333020, 15, 1;
L_0xbaad56e40 .repeat 24, 24, L_0xbab332ee0;
L_0xbab33b0c0 .concat [ 16 24 0 0], L_0xbab333020, L_0xbaad56e40;
L_0xbab33b160 .arith/sum 40, L_0xbab33b020, L_0xbab33b0c0;
S_0xbab2d5680 .scope module, "u_mac8" "mac8" 4 52, 5 1 0, S_0xbab2d5500;
 .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_0xbab294d00 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0xbab294d40 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0xbab294d80 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0xbab294dc0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0xbab2da1c0_0 .net/s "acc_in", 39 0, v0xbab2dae40_0;  1 drivers
v0xbab2da260_0 .net/s "acc_out", 39 0, L_0xbab33b020;  alias, 1 drivers
v0xbab2da300 .array "products", 7 0;
v0xbab2da300_0 .net/s v0xbab2da300 0, 39 0, L_0xbab3399a0; 1 drivers
v0xbab2da300_1 .net/s v0xbab2da300 1, 39 0, L_0xbab339c20; 1 drivers
v0xbab2da300_2 .net/s v0xbab2da300 2, 39 0, L_0xbab339ea0; 1 drivers
v0xbab2da300_3 .net/s v0xbab2da300 3, 39 0, L_0xbab33a120; 1 drivers
v0xbab2da300_4 .net/s v0xbab2da300 4, 39 0, L_0xbab33a3a0; 1 drivers
v0xbab2da300_5 .net/s v0xbab2da300 5, 39 0, L_0xbab33a620; 1 drivers
v0xbab2da300_6 .net/s v0xbab2da300 6, 39 0, L_0xbab33a8a0; 1 drivers
v0xbab2da300_7 .net/s v0xbab2da300 7, 39 0, L_0xbab33ab20; 1 drivers
v0xbab2da3a0 .array "tree", 31 0;
v0xbab2da3a0_0 .net/s v0xbab2da3a0 0, 39 0, L_0xbab069180; 1 drivers
v0xbab2da3a0_1 .net/s v0xbab2da3a0 1, 39 0, L_0xbab0691f0; 1 drivers
v0xbab2da3a0_2 .net/s v0xbab2da3a0 2, 39 0, L_0xbab069260; 1 drivers
v0xbab2da3a0_3 .net/s v0xbab2da3a0 3, 39 0, L_0xbab0692d0; 1 drivers
v0xbab2da3a0_4 .net/s v0xbab2da3a0 4, 39 0, L_0xbab069340; 1 drivers
v0xbab2da3a0_5 .net/s v0xbab2da3a0 5, 39 0, L_0xbab0693b0; 1 drivers
v0xbab2da3a0_6 .net/s v0xbab2da3a0 6, 39 0, L_0xbab069420; 1 drivers
v0xbab2da3a0_7 .net/s v0xbab2da3a0 7, 39 0, L_0xbab069490; 1 drivers
v0xbab2da3a0_8 .net/s v0xbab2da3a0 8, 39 0, L_0xbab33abc0; 1 drivers
v0xbab2da3a0_9 .net/s v0xbab2da3a0 9, 39 0, L_0xbab33ac60; 1 drivers
v0xbab2da3a0_10 .net/s v0xbab2da3a0 10, 39 0, L_0xbab33ad00; 1 drivers
v0xbab2da3a0_11 .net/s v0xbab2da3a0 11, 39 0, L_0xbab33ada0; 1 drivers
o0xbaa84e1b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_12 .net/s v0xbab2da3a0 12, 39 0, o0xbaa84e1b0; 0 drivers
o0xbaa84e1e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_13 .net/s v0xbab2da3a0 13, 39 0, o0xbaa84e1e0; 0 drivers
o0xbaa84e210 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_14 .net/s v0xbab2da3a0 14, 39 0, o0xbaa84e210; 0 drivers
o0xbaa84e240 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_15 .net/s v0xbab2da3a0 15, 39 0, o0xbaa84e240; 0 drivers
v0xbab2da3a0_16 .net/s v0xbab2da3a0 16, 39 0, L_0xbab33ae40; 1 drivers
v0xbab2da3a0_17 .net/s v0xbab2da3a0 17, 39 0, L_0xbab33aee0; 1 drivers
o0xbaa84e2d0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_18 .net/s v0xbab2da3a0 18, 39 0, o0xbaa84e2d0; 0 drivers
o0xbaa84e300 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_19 .net/s v0xbab2da3a0 19, 39 0, o0xbaa84e300; 0 drivers
o0xbaa84e330 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_20 .net/s v0xbab2da3a0 20, 39 0, o0xbaa84e330; 0 drivers
o0xbaa84e360 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_21 .net/s v0xbab2da3a0 21, 39 0, o0xbaa84e360; 0 drivers
o0xbaa84e390 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_22 .net/s v0xbab2da3a0 22, 39 0, o0xbaa84e390; 0 drivers
o0xbaa84e3c0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_23 .net/s v0xbab2da3a0 23, 39 0, o0xbaa84e3c0; 0 drivers
v0xbab2da3a0_24 .net/s v0xbab2da3a0 24, 39 0, L_0xbab33af80; 1 drivers
o0xbaa84e420 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_25 .net/s v0xbab2da3a0 25, 39 0, o0xbaa84e420; 0 drivers
o0xbaa84e450 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_26 .net/s v0xbab2da3a0 26, 39 0, o0xbaa84e450; 0 drivers
o0xbaa84e480 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_27 .net/s v0xbab2da3a0 27, 39 0, o0xbaa84e480; 0 drivers
o0xbaa84e4b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_28 .net/s v0xbab2da3a0 28, 39 0, o0xbaa84e4b0; 0 drivers
o0xbaa84e4e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_29 .net/s v0xbab2da3a0 29, 39 0, o0xbaa84e4e0; 0 drivers
o0xbaa84e510 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_30 .net/s v0xbab2da3a0 30, 39 0, o0xbaa84e510; 0 drivers
o0xbaa84e540 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2da3a0_31 .net/s v0xbab2da3a0 31, 39 0, o0xbaa84e540; 0 drivers
v0xbab2da440_0 .net/s "w_bus", 127 0, L_0xbab331f40;  alias, 1 drivers
v0xbab2da4e0_0 .net/s "x_bus", 127 0, L_0xbab331ea0;  alias, 1 drivers
L_0xbab332080 .part L_0xbab331ea0, 0, 16;
L_0xbab332120 .part L_0xbab331f40, 0, 16;
L_0xbab332260 .part L_0xbab331ea0, 16, 16;
L_0xbab332300 .part L_0xbab331f40, 16, 16;
L_0xbab332440 .part L_0xbab331ea0, 32, 16;
L_0xbab3324e0 .part L_0xbab331f40, 32, 16;
L_0xbab332620 .part L_0xbab331ea0, 48, 16;
L_0xbab3326c0 .part L_0xbab331f40, 48, 16;
L_0xbab332800 .part L_0xbab331ea0, 64, 16;
L_0xbab3328a0 .part L_0xbab331f40, 64, 16;
L_0xbab3329e0 .part L_0xbab331ea0, 80, 16;
L_0xbab332a80 .part L_0xbab331f40, 80, 16;
L_0xbab332bc0 .part L_0xbab331ea0, 96, 16;
L_0xbab332c60 .part L_0xbab331f40, 96, 16;
L_0xbab332da0 .part L_0xbab331ea0, 112, 16;
L_0xbab332e40 .part L_0xbab331f40, 112, 16;
L_0xbab33b020 .arith/sum 40, v0xbab2dae40_0, L_0xbab33af80;
S_0xbab2d5800 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2b880 .param/l "i" 1 5 20, +C4<00>;
S_0xbab2d5980 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2d5800;
 .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_0xbaad4d5c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d600 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d640 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2d2f80_0 .net/s *"_ivl_0", 31 0, L_0xbab3397c0;  1 drivers
v0xbab2d3020_0 .net/s *"_ivl_2", 31 0, L_0xbab339860;  1 drivers
v0xbab2d30c0_0 .net *"_ivl_7", 0 0, L_0xbab331fe0;  1 drivers
v0xbab2d3160_0 .net *"_ivl_9", 7 0, L_0xbaad56440;  1 drivers
L_0xbaa879180 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d3200_0 .net/s "acc_in", 39 0, L_0xbaa879180;  1 drivers
v0xbab2d32a0_0 .net/s "acc_out", 39 0, L_0xbab3399a0;  alias, 1 drivers
v0xbab2d3340_0 .net/s "product", 31 0, L_0xbaad563a0;  1 drivers
v0xbab2d33e0_0 .net/s "product_ext", 39 0, L_0xbab339900;  1 drivers
v0xbab2d3480_0 .net/s "w", 15 0, L_0xbab332120;  1 drivers
v0xbab2d3520_0 .net/s "x", 15 0, L_0xbab332080;  1 drivers
L_0xbab3397c0 .extend/s 32, L_0xbab332080;
L_0xbab339860 .extend/s 32, L_0xbab332120;
L_0xbaad563a0 .arith/mult 32, L_0xbab3397c0, L_0xbab339860;
L_0xbab331fe0 .part L_0xbaad563a0, 31, 1;
L_0xbaad56440 .repeat 8, 8, L_0xbab331fe0;
L_0xbab339900 .concat [ 32 8 0 0], L_0xbaad563a0, L_0xbaad56440;
L_0xbab3399a0 .arith/sum 40, L_0xbaa879180, L_0xbab339900;
S_0xbab2d5b00 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2b8c0 .param/l "i" 1 5 20, +C4<01>;
S_0xbab2d5c80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2d5b00;
 .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_0xbaad4d680 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d6c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d700 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2d35c0_0 .net/s *"_ivl_0", 31 0, L_0xbab339a40;  1 drivers
v0xbab2d3660_0 .net/s *"_ivl_2", 31 0, L_0xbab339ae0;  1 drivers
v0xbab2d3700_0 .net *"_ivl_7", 0 0, L_0xbab3321c0;  1 drivers
v0xbab2d37a0_0 .net *"_ivl_9", 7 0, L_0xbaad56580;  1 drivers
L_0xbaa8791c8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d3840_0 .net/s "acc_in", 39 0, L_0xbaa8791c8;  1 drivers
v0xbab2d38e0_0 .net/s "acc_out", 39 0, L_0xbab339c20;  alias, 1 drivers
v0xbab2d3980_0 .net/s "product", 31 0, L_0xbaad564e0;  1 drivers
v0xbab2d3a20_0 .net/s "product_ext", 39 0, L_0xbab339b80;  1 drivers
v0xbab2d3ac0_0 .net/s "w", 15 0, L_0xbab332300;  1 drivers
v0xbab2d3b60_0 .net/s "x", 15 0, L_0xbab332260;  1 drivers
L_0xbab339a40 .extend/s 32, L_0xbab332260;
L_0xbab339ae0 .extend/s 32, L_0xbab332300;
L_0xbaad564e0 .arith/mult 32, L_0xbab339a40, L_0xbab339ae0;
L_0xbab3321c0 .part L_0xbaad564e0, 31, 1;
L_0xbaad56580 .repeat 8, 8, L_0xbab3321c0;
L_0xbab339b80 .concat [ 32 8 0 0], L_0xbaad564e0, L_0xbaad56580;
L_0xbab339c20 .arith/sum 40, L_0xbaa8791c8, L_0xbab339b80;
S_0xbab2d5e00 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2b900 .param/l "i" 1 5 20, +C4<010>;
S_0xbab2d5f80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2d5e00;
 .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_0xbaad4d740 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d780 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d7c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2d3c00_0 .net/s *"_ivl_0", 31 0, L_0xbab339cc0;  1 drivers
v0xbab2d3ca0_0 .net/s *"_ivl_2", 31 0, L_0xbab339d60;  1 drivers
v0xbab2d3d40_0 .net *"_ivl_7", 0 0, L_0xbab3323a0;  1 drivers
v0xbab2d3de0_0 .net *"_ivl_9", 7 0, L_0xbaad566c0;  1 drivers
L_0xbaa879210 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d3e80_0 .net/s "acc_in", 39 0, L_0xbaa879210;  1 drivers
v0xbab2d3f20_0 .net/s "acc_out", 39 0, L_0xbab339ea0;  alias, 1 drivers
v0xbab2d8000_0 .net/s "product", 31 0, L_0xbaad56620;  1 drivers
v0xbab2d80a0_0 .net/s "product_ext", 39 0, L_0xbab339e00;  1 drivers
v0xbab2d8140_0 .net/s "w", 15 0, L_0xbab3324e0;  1 drivers
v0xbab2d81e0_0 .net/s "x", 15 0, L_0xbab332440;  1 drivers
L_0xbab339cc0 .extend/s 32, L_0xbab332440;
L_0xbab339d60 .extend/s 32, L_0xbab3324e0;
L_0xbaad56620 .arith/mult 32, L_0xbab339cc0, L_0xbab339d60;
L_0xbab3323a0 .part L_0xbaad56620, 31, 1;
L_0xbaad566c0 .repeat 8, 8, L_0xbab3323a0;
L_0xbab339e00 .concat [ 32 8 0 0], L_0xbaad56620, L_0xbaad566c0;
L_0xbab339ea0 .arith/sum 40, L_0xbaa879210, L_0xbab339e00;
S_0xbab2d6100 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2b940 .param/l "i" 1 5 20, +C4<011>;
S_0xbab2d6280 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2d6100;
 .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_0xbaad4d800 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d840 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d880 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2d8280_0 .net/s *"_ivl_0", 31 0, L_0xbab339f40;  1 drivers
v0xbab2d8320_0 .net/s *"_ivl_2", 31 0, L_0xbab339fe0;  1 drivers
v0xbab2d83c0_0 .net *"_ivl_7", 0 0, L_0xbab332580;  1 drivers
v0xbab2d8460_0 .net *"_ivl_9", 7 0, L_0xbaad56800;  1 drivers
L_0xbaa879258 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d8500_0 .net/s "acc_in", 39 0, L_0xbaa879258;  1 drivers
v0xbab2d85a0_0 .net/s "acc_out", 39 0, L_0xbab33a120;  alias, 1 drivers
v0xbab2d8640_0 .net/s "product", 31 0, L_0xbaad56760;  1 drivers
v0xbab2d86e0_0 .net/s "product_ext", 39 0, L_0xbab33a080;  1 drivers
v0xbab2d8780_0 .net/s "w", 15 0, L_0xbab3326c0;  1 drivers
v0xbab2d8820_0 .net/s "x", 15 0, L_0xbab332620;  1 drivers
L_0xbab339f40 .extend/s 32, L_0xbab332620;
L_0xbab339fe0 .extend/s 32, L_0xbab3326c0;
L_0xbaad56760 .arith/mult 32, L_0xbab339f40, L_0xbab339fe0;
L_0xbab332580 .part L_0xbaad56760, 31, 1;
L_0xbaad56800 .repeat 8, 8, L_0xbab332580;
L_0xbab33a080 .concat [ 32 8 0 0], L_0xbaad56760, L_0xbaad56800;
L_0xbab33a120 .arith/sum 40, L_0xbaa879258, L_0xbab33a080;
S_0xbab2d6400 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2b9c0 .param/l "i" 1 5 20, +C4<0100>;
S_0xbab2d6580 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2d6400;
 .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_0xbaad4d8c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d900 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4d940 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2d88c0_0 .net/s *"_ivl_0", 31 0, L_0xbab33a1c0;  1 drivers
v0xbab2d8960_0 .net/s *"_ivl_2", 31 0, L_0xbab33a260;  1 drivers
v0xbab2d8a00_0 .net *"_ivl_7", 0 0, L_0xbab332760;  1 drivers
v0xbab2d8aa0_0 .net *"_ivl_9", 7 0, L_0xbaad56940;  1 drivers
L_0xbaa8792a0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d8b40_0 .net/s "acc_in", 39 0, L_0xbaa8792a0;  1 drivers
v0xbab2d8be0_0 .net/s "acc_out", 39 0, L_0xbab33a3a0;  alias, 1 drivers
v0xbab2d8c80_0 .net/s "product", 31 0, L_0xbaad568a0;  1 drivers
v0xbab2d8d20_0 .net/s "product_ext", 39 0, L_0xbab33a300;  1 drivers
v0xbab2d8dc0_0 .net/s "w", 15 0, L_0xbab3328a0;  1 drivers
v0xbab2d8e60_0 .net/s "x", 15 0, L_0xbab332800;  1 drivers
L_0xbab33a1c0 .extend/s 32, L_0xbab332800;
L_0xbab33a260 .extend/s 32, L_0xbab3328a0;
L_0xbaad568a0 .arith/mult 32, L_0xbab33a1c0, L_0xbab33a260;
L_0xbab332760 .part L_0xbaad568a0, 31, 1;
L_0xbaad56940 .repeat 8, 8, L_0xbab332760;
L_0xbab33a300 .concat [ 32 8 0 0], L_0xbaad568a0, L_0xbaad56940;
L_0xbab33a3a0 .arith/sum 40, L_0xbaa8792a0, L_0xbab33a300;
S_0xbab2d6700 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2ba00 .param/l "i" 1 5 20, +C4<0101>;
S_0xbab2d6880 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2d6700;
 .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_0xbaad4d980 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4d9c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4da00 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2d8f00_0 .net/s *"_ivl_0", 31 0, L_0xbab33a440;  1 drivers
v0xbab2d8fa0_0 .net/s *"_ivl_2", 31 0, L_0xbab33a4e0;  1 drivers
v0xbab2d9040_0 .net *"_ivl_7", 0 0, L_0xbab332940;  1 drivers
v0xbab2d90e0_0 .net *"_ivl_9", 7 0, L_0xbaad56a80;  1 drivers
L_0xbaa8792e8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d9180_0 .net/s "acc_in", 39 0, L_0xbaa8792e8;  1 drivers
v0xbab2d9220_0 .net/s "acc_out", 39 0, L_0xbab33a620;  alias, 1 drivers
v0xbab2d92c0_0 .net/s "product", 31 0, L_0xbaad569e0;  1 drivers
v0xbab2d9360_0 .net/s "product_ext", 39 0, L_0xbab33a580;  1 drivers
v0xbab2d9400_0 .net/s "w", 15 0, L_0xbab332a80;  1 drivers
v0xbab2d94a0_0 .net/s "x", 15 0, L_0xbab3329e0;  1 drivers
L_0xbab33a440 .extend/s 32, L_0xbab3329e0;
L_0xbab33a4e0 .extend/s 32, L_0xbab332a80;
L_0xbaad569e0 .arith/mult 32, L_0xbab33a440, L_0xbab33a4e0;
L_0xbab332940 .part L_0xbaad569e0, 31, 1;
L_0xbaad56a80 .repeat 8, 8, L_0xbab332940;
L_0xbab33a580 .concat [ 32 8 0 0], L_0xbaad569e0, L_0xbaad56a80;
L_0xbab33a620 .arith/sum 40, L_0xbaa8792e8, L_0xbab33a580;
S_0xbab2d6a00 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2ba40 .param/l "i" 1 5 20, +C4<0110>;
S_0xbab2d6b80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2d6a00;
 .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_0xbaad4da40 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4da80 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4dac0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2d9540_0 .net/s *"_ivl_0", 31 0, L_0xbab33a6c0;  1 drivers
v0xbab2d95e0_0 .net/s *"_ivl_2", 31 0, L_0xbab33a760;  1 drivers
v0xbab2d9680_0 .net *"_ivl_7", 0 0, L_0xbab332b20;  1 drivers
v0xbab2d9720_0 .net *"_ivl_9", 7 0, L_0xbaad56bc0;  1 drivers
L_0xbaa879330 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d97c0_0 .net/s "acc_in", 39 0, L_0xbaa879330;  1 drivers
v0xbab2d9860_0 .net/s "acc_out", 39 0, L_0xbab33a8a0;  alias, 1 drivers
v0xbab2d9900_0 .net/s "product", 31 0, L_0xbaad56b20;  1 drivers
v0xbab2d99a0_0 .net/s "product_ext", 39 0, L_0xbab33a800;  1 drivers
v0xbab2d9a40_0 .net/s "w", 15 0, L_0xbab332c60;  1 drivers
v0xbab2d9ae0_0 .net/s "x", 15 0, L_0xbab332bc0;  1 drivers
L_0xbab33a6c0 .extend/s 32, L_0xbab332bc0;
L_0xbab33a760 .extend/s 32, L_0xbab332c60;
L_0xbaad56b20 .arith/mult 32, L_0xbab33a6c0, L_0xbab33a760;
L_0xbab332b20 .part L_0xbaad56b20, 31, 1;
L_0xbaad56bc0 .repeat 8, 8, L_0xbab332b20;
L_0xbab33a800 .concat [ 32 8 0 0], L_0xbaad56b20, L_0xbaad56bc0;
L_0xbab33a8a0 .arith/sum 40, L_0xbaa879330, L_0xbab33a800;
S_0xbab2d6d00 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2ba80 .param/l "i" 1 5 20, +C4<0111>;
S_0xbab2d6e80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2d6d00;
 .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_0xbaad4db00 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4db40 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4db80 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2d9b80_0 .net/s *"_ivl_0", 31 0, L_0xbab33a940;  1 drivers
v0xbab2d9c20_0 .net/s *"_ivl_2", 31 0, L_0xbab33a9e0;  1 drivers
v0xbab2d9cc0_0 .net *"_ivl_7", 0 0, L_0xbab332d00;  1 drivers
v0xbab2d9d60_0 .net *"_ivl_9", 7 0, L_0xbaad56d00;  1 drivers
L_0xbaa879378 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2d9e00_0 .net/s "acc_in", 39 0, L_0xbaa879378;  1 drivers
v0xbab2d9ea0_0 .net/s "acc_out", 39 0, L_0xbab33ab20;  alias, 1 drivers
v0xbab2d9f40_0 .net/s "product", 31 0, L_0xbaad56c60;  1 drivers
v0xbab2d9fe0_0 .net/s "product_ext", 39 0, L_0xbab33aa80;  1 drivers
v0xbab2da080_0 .net/s "w", 15 0, L_0xbab332e40;  1 drivers
v0xbab2da120_0 .net/s "x", 15 0, L_0xbab332da0;  1 drivers
L_0xbab33a940 .extend/s 32, L_0xbab332da0;
L_0xbab33a9e0 .extend/s 32, L_0xbab332e40;
L_0xbaad56c60 .arith/mult 32, L_0xbab33a940, L_0xbab33a9e0;
L_0xbab332d00 .part L_0xbaad56c60, 31, 1;
L_0xbaad56d00 .repeat 8, 8, L_0xbab332d00;
L_0xbab33aa80 .concat [ 32 8 0 0], L_0xbaad56c60, L_0xbaad56d00;
L_0xbab33ab20 .arith/sum 40, L_0xbaa879378, L_0xbab33aa80;
S_0xbab2d7000 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2b980 .param/l "i" 1 5 80, +C4<00>;
L_0xbab069180 .functor BUFZ 40, L_0xbab3399a0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2d7180 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2bac0 .param/l "i" 1 5 80, +C4<01>;
L_0xbab0691f0 .functor BUFZ 40, L_0xbab339c20, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2d7300 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2bb00 .param/l "i" 1 5 80, +C4<010>;
L_0xbab069260 .functor BUFZ 40, L_0xbab339ea0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2d7480 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2bb40 .param/l "i" 1 5 80, +C4<011>;
L_0xbab0692d0 .functor BUFZ 40, L_0xbab33a120, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2d7600 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2bb80 .param/l "i" 1 5 80, +C4<0100>;
L_0xbab069340 .functor BUFZ 40, L_0xbab33a3a0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2d7780 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2bbc0 .param/l "i" 1 5 80, +C4<0101>;
L_0xbab0693b0 .functor BUFZ 40, L_0xbab33a620, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2d7900 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2bc00 .param/l "i" 1 5 80, +C4<0110>;
L_0xbab069420 .functor BUFZ 40, L_0xbab33a8a0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2d7a80 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2bc40 .param/l "i" 1 5 80, +C4<0111>;
L_0xbab069490 .functor BUFZ 40, L_0xbab33ab20, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2d7c00 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2bc80 .param/l "level" 1 5 92, +C4<00>;
S_0xbab2d7d80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2d7c00;
 .timescale 0 0;
P_0xbaad2bcc0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab33abc0 .arith/sum 40, L_0xbab069180, L_0xbab0691f0;
S_0xbab2dc000 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2d7c00;
 .timescale 0 0;
P_0xbaad2bd00 .param/l "node" 1 5 94, +C4<01>;
L_0xbab33ac60 .arith/sum 40, L_0xbab069260, L_0xbab0692d0;
S_0xbab2dc180 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0xbab2d7c00;
 .timescale 0 0;
P_0xbaad2bd40 .param/l "node" 1 5 94, +C4<010>;
L_0xbab33ad00 .arith/sum 40, L_0xbab069340, L_0xbab0693b0;
S_0xbab2dc300 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0xbab2d7c00;
 .timescale 0 0;
P_0xbaad2bd80 .param/l "node" 1 5 94, +C4<011>;
L_0xbab33ada0 .arith/sum 40, L_0xbab069420, L_0xbab069490;
S_0xbab2dc480 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2bdc0 .param/l "level" 1 5 92, +C4<01>;
S_0xbab2dc600 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2dc480;
 .timescale 0 0;
P_0xbaad2be00 .param/l "node" 1 5 94, +C4<00>;
L_0xbab33ae40 .arith/sum 40, L_0xbab33abc0, L_0xbab33ac60;
S_0xbab2dc780 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2dc480;
 .timescale 0 0;
P_0xbaad2be40 .param/l "node" 1 5 94, +C4<01>;
L_0xbab33aee0 .arith/sum 40, L_0xbab33ad00, L_0xbab33ada0;
S_0xbab2dc900 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0xbab2d5680;
 .timescale 0 0;
P_0xbaad2be80 .param/l "level" 1 5 92, +C4<010>;
S_0xbab2dca80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2dc900;
 .timescale 0 0;
P_0xbaad2bec0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab33af80 .arith/sum 40, L_0xbab33ae40, L_0xbab33aee0;
S_0xbab2dcc00 .scope generate, "GEN_NEURON[5]" "GEN_NEURON[5]" 3 34, 3 34 0, S_0x102e308c0;
 .timescale 0 0;
P_0xbaad2bf40 .param/l "n" 1 3 34, +C4<0101>;
S_0xbab2dcd80 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0xbab2dcc00;
 .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_0xbab2bc480 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0xbab2bc4c0 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0xbab2bc500 .param/l "GROUPS" 1 4 20, +C4<00000000000000000000000000001000>;
P_0xbab2bc540 .param/l "GROUP_INDEX_WIDTH" 1 4 21, +C4<00000000000000000000000000000011>;
P_0xbab2bc580 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0xbab2bc5c0 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0xbab2e2e40_0 .net *"_ivl_0", 31 0, L_0xbab33b200;  1 drivers
v0xbab2e2ee0_0 .net *"_ivl_11", 31 0, L_0xbaad56f80;  1 drivers
v0xbab2e2f80_0 .net *"_ivl_14", 31 0, L_0xbab33b2a0;  1 drivers
L_0xbaa879498 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e3020_0 .net *"_ivl_17", 28 0, L_0xbaa879498;  1 drivers
L_0xbaa8794e0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2e30c0_0 .net/2u *"_ivl_18", 31 0, L_0xbaa8794e0;  1 drivers
v0xbab2e3160_0 .net *"_ivl_21", 31 0, L_0xbaad57020;  1 drivers
L_0xbaa879528 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2e3200_0 .net/2u *"_ivl_22", 31 0, L_0xbaa879528;  1 drivers
v0xbab2e32a0_0 .net *"_ivl_25", 31 0, L_0xbaad570c0;  1 drivers
v0xbab2e3340_0 .net *"_ivl_29", 0 0, L_0xbab344140;  1 drivers
L_0xbaa8793c0 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e33e0_0 .net *"_ivl_3", 28 0, L_0xbaa8793c0;  1 drivers
v0xbab2e3480_0 .net *"_ivl_31", 23 0, L_0xbaad57c00;  1 drivers
L_0xbaa879408 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2e3520_0 .net/2u *"_ivl_4", 31 0, L_0xbaa879408;  1 drivers
v0xbab2e35c0_0 .net *"_ivl_7", 31 0, L_0xbaad56ee0;  1 drivers
L_0xbaa879450 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2e3660_0 .net/2u *"_ivl_8", 31 0, L_0xbaa879450;  1 drivers
v0xbab2e3700_0 .var/s "acc", 39 0;
v0xbab2e37a0_0 .net/s "acc_next", 39 0, L_0xbab340be0;  1 drivers
v0xbab2e3840_0 .net/s "bias", 15 0, L_0xbab344280;  1 drivers
v0xbab2e38e0_0 .net/s "bias_ext", 39 0, L_0xbab340c80;  1 drivers
v0xbab2e3980_0 .var "busy", 0 0;
v0xbab2e3a20_0 .net "clk", 0 0, o0xbaa845fc0;  alias, 0 drivers
v0xbab2e3ac0_0 .var "done", 0 0;
v0xbab2e3b60_0 .net/s "final_acc", 39 0, L_0xbab340d20;  1 drivers
v0xbab2e3c00_0 .var "group_index", 2 0;
v0xbab2e3ca0_0 .net "rst", 0 0, o0xbaa846080;  alias, 0 drivers
v0xbab2e3d40_0 .net "start", 0 0, o0xbaa8460b0;  alias, 0 drivers
v0xbab2e3de0_0 .net/s "w_bus", 1023 0, L_0xbab3441e0;  1 drivers
v0xbab2e3e80_0 .net/s "w_group", 127 0, L_0xbab333160;  1 drivers
v0xbab2e3f20_0 .net/s "x_bus", 1023 0, o0xbaa846110;  alias, 0 drivers
v0xbab2e8000_0 .net/s "x_group", 127 0, L_0xbab3330c0;  1 drivers
v0xbab2e80a0_0 .var/s "y", 15 0;
L_0xbab33b200 .concat [ 3 29 0 0], v0xbab2e3c00_0, L_0xbaa8793c0;
L_0xbaad56ee0 .arith/mult 32, L_0xbab33b200, L_0xbaa879408;
L_0xbaad56f80 .arith/mult 32, L_0xbaad56ee0, L_0xbaa879450;
L_0xbab3330c0 .part/v o0xbaa846110, L_0xbaad56f80, 128;
L_0xbab33b2a0 .concat [ 3 29 0 0], v0xbab2e3c00_0, L_0xbaa879498;
L_0xbaad57020 .arith/mult 32, L_0xbab33b2a0, L_0xbaa8794e0;
L_0xbaad570c0 .arith/mult 32, L_0xbaad57020, L_0xbaa879528;
L_0xbab333160 .part/v L_0xbab3441e0, L_0xbaad570c0, 128;
L_0xbab344140 .part L_0xbab344280, 15, 1;
L_0xbaad57c00 .repeat 24, 24, L_0xbab344140;
L_0xbab340c80 .concat [ 16 24 0 0], L_0xbab344280, L_0xbaad57c00;
L_0xbab340d20 .arith/sum 40, L_0xbab340be0, L_0xbab340c80;
S_0xbab2dcf00 .scope module, "u_mac8" "mac8" 4 52, 5 1 0, S_0xbab2dcd80;
 .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_0xbab295000 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0xbab295040 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0xbab295080 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0xbab2950c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0xbab2e2a80_0 .net/s "acc_in", 39 0, v0xbab2e3700_0;  1 drivers
v0xbab2e2b20_0 .net/s "acc_out", 39 0, L_0xbab340be0;  alias, 1 drivers
v0xbab2e2bc0 .array "products", 7 0;
v0xbab2e2bc0_0 .net/s v0xbab2e2bc0 0, 39 0, L_0xbab33b520; 1 drivers
v0xbab2e2bc0_1 .net/s v0xbab2e2bc0 1, 39 0, L_0xbab33b7a0; 1 drivers
v0xbab2e2bc0_2 .net/s v0xbab2e2bc0 2, 39 0, L_0xbab33ba20; 1 drivers
v0xbab2e2bc0_3 .net/s v0xbab2e2bc0 3, 39 0, L_0xbab33bca0; 1 drivers
v0xbab2e2bc0_4 .net/s v0xbab2e2bc0 4, 39 0, L_0xbab33bf20; 1 drivers
v0xbab2e2bc0_5 .net/s v0xbab2e2bc0 5, 39 0, L_0xbab3401e0; 1 drivers
v0xbab2e2bc0_6 .net/s v0xbab2e2bc0 6, 39 0, L_0xbab340460; 1 drivers
v0xbab2e2bc0_7 .net/s v0xbab2e2bc0 7, 39 0, L_0xbab3406e0; 1 drivers
v0xbab2e2c60 .array "tree", 31 0;
v0xbab2e2c60_0 .net/s v0xbab2e2c60 0, 39 0, L_0xbab069500; 1 drivers
v0xbab2e2c60_1 .net/s v0xbab2e2c60 1, 39 0, L_0xbab069570; 1 drivers
v0xbab2e2c60_2 .net/s v0xbab2e2c60 2, 39 0, L_0xbab0695e0; 1 drivers
v0xbab2e2c60_3 .net/s v0xbab2e2c60 3, 39 0, L_0xbab069650; 1 drivers
v0xbab2e2c60_4 .net/s v0xbab2e2c60 4, 39 0, L_0xbab0696c0; 1 drivers
v0xbab2e2c60_5 .net/s v0xbab2e2c60 5, 39 0, L_0xbab069730; 1 drivers
v0xbab2e2c60_6 .net/s v0xbab2e2c60 6, 39 0, L_0xbab0697a0; 1 drivers
v0xbab2e2c60_7 .net/s v0xbab2e2c60 7, 39 0, L_0xbab069810; 1 drivers
v0xbab2e2c60_8 .net/s v0xbab2e2c60 8, 39 0, L_0xbab340780; 1 drivers
v0xbab2e2c60_9 .net/s v0xbab2e2c60 9, 39 0, L_0xbab340820; 1 drivers
v0xbab2e2c60_10 .net/s v0xbab2e2c60 10, 39 0, L_0xbab3408c0; 1 drivers
v0xbab2e2c60_11 .net/s v0xbab2e2c60 11, 39 0, L_0xbab340960; 1 drivers
o0xbaa850400 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_12 .net/s v0xbab2e2c60 12, 39 0, o0xbaa850400; 0 drivers
o0xbaa850430 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_13 .net/s v0xbab2e2c60 13, 39 0, o0xbaa850430; 0 drivers
o0xbaa850460 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_14 .net/s v0xbab2e2c60 14, 39 0, o0xbaa850460; 0 drivers
o0xbaa850490 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_15 .net/s v0xbab2e2c60 15, 39 0, o0xbaa850490; 0 drivers
v0xbab2e2c60_16 .net/s v0xbab2e2c60 16, 39 0, L_0xbab340a00; 1 drivers
v0xbab2e2c60_17 .net/s v0xbab2e2c60 17, 39 0, L_0xbab340aa0; 1 drivers
o0xbaa850520 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_18 .net/s v0xbab2e2c60 18, 39 0, o0xbaa850520; 0 drivers
o0xbaa850550 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_19 .net/s v0xbab2e2c60 19, 39 0, o0xbaa850550; 0 drivers
o0xbaa850580 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_20 .net/s v0xbab2e2c60 20, 39 0, o0xbaa850580; 0 drivers
o0xbaa8505b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_21 .net/s v0xbab2e2c60 21, 39 0, o0xbaa8505b0; 0 drivers
o0xbaa8505e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_22 .net/s v0xbab2e2c60 22, 39 0, o0xbaa8505e0; 0 drivers
o0xbaa850610 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_23 .net/s v0xbab2e2c60 23, 39 0, o0xbaa850610; 0 drivers
v0xbab2e2c60_24 .net/s v0xbab2e2c60 24, 39 0, L_0xbab340b40; 1 drivers
o0xbaa850670 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_25 .net/s v0xbab2e2c60 25, 39 0, o0xbaa850670; 0 drivers
o0xbaa8506a0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_26 .net/s v0xbab2e2c60 26, 39 0, o0xbaa8506a0; 0 drivers
o0xbaa8506d0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_27 .net/s v0xbab2e2c60 27, 39 0, o0xbaa8506d0; 0 drivers
o0xbaa850700 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_28 .net/s v0xbab2e2c60 28, 39 0, o0xbaa850700; 0 drivers
o0xbaa850730 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_29 .net/s v0xbab2e2c60 29, 39 0, o0xbaa850730; 0 drivers
o0xbaa850760 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_30 .net/s v0xbab2e2c60 30, 39 0, o0xbaa850760; 0 drivers
o0xbaa850790 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2e2c60_31 .net/s v0xbab2e2c60 31, 39 0, o0xbaa850790; 0 drivers
v0xbab2e2d00_0 .net/s "w_bus", 127 0, L_0xbab333160;  alias, 1 drivers
v0xbab2e2da0_0 .net/s "x_bus", 127 0, L_0xbab3330c0;  alias, 1 drivers
L_0xbab3332a0 .part L_0xbab3330c0, 0, 16;
L_0xbab333340 .part L_0xbab333160, 0, 16;
L_0xbab333480 .part L_0xbab3330c0, 16, 16;
L_0xbab333520 .part L_0xbab333160, 16, 16;
L_0xbab333660 .part L_0xbab3330c0, 32, 16;
L_0xbab333700 .part L_0xbab333160, 32, 16;
L_0xbab333840 .part L_0xbab3330c0, 48, 16;
L_0xbab3338e0 .part L_0xbab333160, 48, 16;
L_0xbab333a20 .part L_0xbab3330c0, 64, 16;
L_0xbab333ac0 .part L_0xbab333160, 64, 16;
L_0xbab333c00 .part L_0xbab3330c0, 80, 16;
L_0xbab333ca0 .part L_0xbab333160, 80, 16;
L_0xbab333de0 .part L_0xbab3330c0, 96, 16;
L_0xbab333e80 .part L_0xbab333160, 96, 16;
L_0xbab344000 .part L_0xbab3330c0, 112, 16;
L_0xbab3440a0 .part L_0xbab333160, 112, 16;
L_0xbab340be0 .arith/sum 40, v0xbab2e3700_0, L_0xbab340b40;
S_0xbab2dd080 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad2bf80 .param/l "i" 1 5 20, +C4<00>;
S_0xbab2dd200 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2dd080;
 .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_0xbaad4dbc0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4dc00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4dc40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2db840_0 .net/s *"_ivl_0", 31 0, L_0xbab33b340;  1 drivers
v0xbab2db8e0_0 .net/s *"_ivl_2", 31 0, L_0xbab33b3e0;  1 drivers
v0xbab2db980_0 .net *"_ivl_7", 0 0, L_0xbab333200;  1 drivers
v0xbab2dba20_0 .net *"_ivl_9", 7 0, L_0xbaad57200;  1 drivers
L_0xbaa879570 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2dbac0_0 .net/s "acc_in", 39 0, L_0xbaa879570;  1 drivers
v0xbab2dbb60_0 .net/s "acc_out", 39 0, L_0xbab33b520;  alias, 1 drivers
v0xbab2dbc00_0 .net/s "product", 31 0, L_0xbaad57160;  1 drivers
v0xbab2dbca0_0 .net/s "product_ext", 39 0, L_0xbab33b480;  1 drivers
v0xbab2dbd40_0 .net/s "w", 15 0, L_0xbab333340;  1 drivers
v0xbab2dbde0_0 .net/s "x", 15 0, L_0xbab3332a0;  1 drivers
L_0xbab33b340 .extend/s 32, L_0xbab3332a0;
L_0xbab33b3e0 .extend/s 32, L_0xbab333340;
L_0xbaad57160 .arith/mult 32, L_0xbab33b340, L_0xbab33b3e0;
L_0xbab333200 .part L_0xbaad57160, 31, 1;
L_0xbaad57200 .repeat 8, 8, L_0xbab333200;
L_0xbab33b480 .concat [ 32 8 0 0], L_0xbaad57160, L_0xbaad57200;
L_0xbab33b520 .arith/sum 40, L_0xbaa879570, L_0xbab33b480;
S_0xbab2dd380 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad2bfc0 .param/l "i" 1 5 20, +C4<01>;
S_0xbab2dd500 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2dd380;
 .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_0xbaad4dc80 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4dcc0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4dd00 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2dbe80_0 .net/s *"_ivl_0", 31 0, L_0xbab33b5c0;  1 drivers
v0xbab2dbf20_0 .net/s *"_ivl_2", 31 0, L_0xbab33b660;  1 drivers
v0xbab2e0000_0 .net *"_ivl_7", 0 0, L_0xbab3333e0;  1 drivers
v0xbab2e00a0_0 .net *"_ivl_9", 7 0, L_0xbaad57340;  1 drivers
L_0xbaa8795b8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e0140_0 .net/s "acc_in", 39 0, L_0xbaa8795b8;  1 drivers
v0xbab2e01e0_0 .net/s "acc_out", 39 0, L_0xbab33b7a0;  alias, 1 drivers
v0xbab2e0280_0 .net/s "product", 31 0, L_0xbaad572a0;  1 drivers
v0xbab2e0320_0 .net/s "product_ext", 39 0, L_0xbab33b700;  1 drivers
v0xbab2e03c0_0 .net/s "w", 15 0, L_0xbab333520;  1 drivers
v0xbab2e0460_0 .net/s "x", 15 0, L_0xbab333480;  1 drivers
L_0xbab33b5c0 .extend/s 32, L_0xbab333480;
L_0xbab33b660 .extend/s 32, L_0xbab333520;
L_0xbaad572a0 .arith/mult 32, L_0xbab33b5c0, L_0xbab33b660;
L_0xbab3333e0 .part L_0xbaad572a0, 31, 1;
L_0xbaad57340 .repeat 8, 8, L_0xbab3333e0;
L_0xbab33b700 .concat [ 32 8 0 0], L_0xbaad572a0, L_0xbaad57340;
L_0xbab33b7a0 .arith/sum 40, L_0xbaa8795b8, L_0xbab33b700;
S_0xbab2dd680 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50000 .param/l "i" 1 5 20, +C4<010>;
S_0xbab2dd800 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2dd680;
 .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_0xbaad4dd40 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4dd80 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4ddc0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2e0500_0 .net/s *"_ivl_0", 31 0, L_0xbab33b840;  1 drivers
v0xbab2e05a0_0 .net/s *"_ivl_2", 31 0, L_0xbab33b8e0;  1 drivers
v0xbab2e0640_0 .net *"_ivl_7", 0 0, L_0xbab3335c0;  1 drivers
v0xbab2e06e0_0 .net *"_ivl_9", 7 0, L_0xbaad57480;  1 drivers
L_0xbaa879600 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e0780_0 .net/s "acc_in", 39 0, L_0xbaa879600;  1 drivers
v0xbab2e0820_0 .net/s "acc_out", 39 0, L_0xbab33ba20;  alias, 1 drivers
v0xbab2e08c0_0 .net/s "product", 31 0, L_0xbaad573e0;  1 drivers
v0xbab2e0960_0 .net/s "product_ext", 39 0, L_0xbab33b980;  1 drivers
v0xbab2e0a00_0 .net/s "w", 15 0, L_0xbab333700;  1 drivers
v0xbab2e0aa0_0 .net/s "x", 15 0, L_0xbab333660;  1 drivers
L_0xbab33b840 .extend/s 32, L_0xbab333660;
L_0xbab33b8e0 .extend/s 32, L_0xbab333700;
L_0xbaad573e0 .arith/mult 32, L_0xbab33b840, L_0xbab33b8e0;
L_0xbab3335c0 .part L_0xbaad573e0, 31, 1;
L_0xbaad57480 .repeat 8, 8, L_0xbab3335c0;
L_0xbab33b980 .concat [ 32 8 0 0], L_0xbaad573e0, L_0xbaad57480;
L_0xbab33ba20 .arith/sum 40, L_0xbaa879600, L_0xbab33b980;
S_0xbab2dd980 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50040 .param/l "i" 1 5 20, +C4<011>;
S_0xbab2ddb00 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2dd980;
 .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_0xbaad4de00 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4de40 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4de80 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2e0b40_0 .net/s *"_ivl_0", 31 0, L_0xbab33bac0;  1 drivers
v0xbab2e0be0_0 .net/s *"_ivl_2", 31 0, L_0xbab33bb60;  1 drivers
v0xbab2e0c80_0 .net *"_ivl_7", 0 0, L_0xbab3337a0;  1 drivers
v0xbab2e0d20_0 .net *"_ivl_9", 7 0, L_0xbaad575c0;  1 drivers
L_0xbaa879648 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e0dc0_0 .net/s "acc_in", 39 0, L_0xbaa879648;  1 drivers
v0xbab2e0e60_0 .net/s "acc_out", 39 0, L_0xbab33bca0;  alias, 1 drivers
v0xbab2e0f00_0 .net/s "product", 31 0, L_0xbaad57520;  1 drivers
v0xbab2e0fa0_0 .net/s "product_ext", 39 0, L_0xbab33bc00;  1 drivers
v0xbab2e1040_0 .net/s "w", 15 0, L_0xbab3338e0;  1 drivers
v0xbab2e10e0_0 .net/s "x", 15 0, L_0xbab333840;  1 drivers
L_0xbab33bac0 .extend/s 32, L_0xbab333840;
L_0xbab33bb60 .extend/s 32, L_0xbab3338e0;
L_0xbaad57520 .arith/mult 32, L_0xbab33bac0, L_0xbab33bb60;
L_0xbab3337a0 .part L_0xbaad57520, 31, 1;
L_0xbaad575c0 .repeat 8, 8, L_0xbab3337a0;
L_0xbab33bc00 .concat [ 32 8 0 0], L_0xbaad57520, L_0xbaad575c0;
L_0xbab33bca0 .arith/sum 40, L_0xbaa879648, L_0xbab33bc00;
S_0xbab2ddc80 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad500c0 .param/l "i" 1 5 20, +C4<0100>;
S_0xbab2dde00 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2ddc80;
 .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_0xbaad4dec0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4df00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4df40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2e1180_0 .net/s *"_ivl_0", 31 0, L_0xbab33bd40;  1 drivers
v0xbab2e1220_0 .net/s *"_ivl_2", 31 0, L_0xbab33bde0;  1 drivers
v0xbab2e12c0_0 .net *"_ivl_7", 0 0, L_0xbab333980;  1 drivers
v0xbab2e1360_0 .net *"_ivl_9", 7 0, L_0xbaad57700;  1 drivers
L_0xbaa879690 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e1400_0 .net/s "acc_in", 39 0, L_0xbaa879690;  1 drivers
v0xbab2e14a0_0 .net/s "acc_out", 39 0, L_0xbab33bf20;  alias, 1 drivers
v0xbab2e1540_0 .net/s "product", 31 0, L_0xbaad57660;  1 drivers
v0xbab2e15e0_0 .net/s "product_ext", 39 0, L_0xbab33be80;  1 drivers
v0xbab2e1680_0 .net/s "w", 15 0, L_0xbab333ac0;  1 drivers
v0xbab2e1720_0 .net/s "x", 15 0, L_0xbab333a20;  1 drivers
L_0xbab33bd40 .extend/s 32, L_0xbab333a20;
L_0xbab33bde0 .extend/s 32, L_0xbab333ac0;
L_0xbaad57660 .arith/mult 32, L_0xbab33bd40, L_0xbab33bde0;
L_0xbab333980 .part L_0xbaad57660, 31, 1;
L_0xbaad57700 .repeat 8, 8, L_0xbab333980;
L_0xbab33be80 .concat [ 32 8 0 0], L_0xbaad57660, L_0xbaad57700;
L_0xbab33bf20 .arith/sum 40, L_0xbaa879690, L_0xbab33be80;
S_0xbab2ddf80 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50100 .param/l "i" 1 5 20, +C4<0101>;
S_0xbab2de100 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2ddf80;
 .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_0xbaad4df80 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4dfc0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e000 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2e17c0_0 .net/s *"_ivl_0", 31 0, L_0xbab340000;  1 drivers
v0xbab2e1860_0 .net/s *"_ivl_2", 31 0, L_0xbab3400a0;  1 drivers
v0xbab2e1900_0 .net *"_ivl_7", 0 0, L_0xbab333b60;  1 drivers
v0xbab2e19a0_0 .net *"_ivl_9", 7 0, L_0xbaad57840;  1 drivers
L_0xbaa8796d8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e1a40_0 .net/s "acc_in", 39 0, L_0xbaa8796d8;  1 drivers
v0xbab2e1ae0_0 .net/s "acc_out", 39 0, L_0xbab3401e0;  alias, 1 drivers
v0xbab2e1b80_0 .net/s "product", 31 0, L_0xbaad577a0;  1 drivers
v0xbab2e1c20_0 .net/s "product_ext", 39 0, L_0xbab340140;  1 drivers
v0xbab2e1cc0_0 .net/s "w", 15 0, L_0xbab333ca0;  1 drivers
v0xbab2e1d60_0 .net/s "x", 15 0, L_0xbab333c00;  1 drivers
L_0xbab340000 .extend/s 32, L_0xbab333c00;
L_0xbab3400a0 .extend/s 32, L_0xbab333ca0;
L_0xbaad577a0 .arith/mult 32, L_0xbab340000, L_0xbab3400a0;
L_0xbab333b60 .part L_0xbaad577a0, 31, 1;
L_0xbaad57840 .repeat 8, 8, L_0xbab333b60;
L_0xbab340140 .concat [ 32 8 0 0], L_0xbaad577a0, L_0xbaad57840;
L_0xbab3401e0 .arith/sum 40, L_0xbaa8796d8, L_0xbab340140;
S_0xbab2de280 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50140 .param/l "i" 1 5 20, +C4<0110>;
S_0xbab2de400 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2de280;
 .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_0xbaad4e040 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e080 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e0c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2e1e00_0 .net/s *"_ivl_0", 31 0, L_0xbab340280;  1 drivers
v0xbab2e1ea0_0 .net/s *"_ivl_2", 31 0, L_0xbab340320;  1 drivers
v0xbab2e1f40_0 .net *"_ivl_7", 0 0, L_0xbab333d40;  1 drivers
v0xbab2e1fe0_0 .net *"_ivl_9", 7 0, L_0xbaad57980;  1 drivers
L_0xbaa879720 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e2080_0 .net/s "acc_in", 39 0, L_0xbaa879720;  1 drivers
v0xbab2e2120_0 .net/s "acc_out", 39 0, L_0xbab340460;  alias, 1 drivers
v0xbab2e21c0_0 .net/s "product", 31 0, L_0xbaad578e0;  1 drivers
v0xbab2e2260_0 .net/s "product_ext", 39 0, L_0xbab3403c0;  1 drivers
v0xbab2e2300_0 .net/s "w", 15 0, L_0xbab333e80;  1 drivers
v0xbab2e23a0_0 .net/s "x", 15 0, L_0xbab333de0;  1 drivers
L_0xbab340280 .extend/s 32, L_0xbab333de0;
L_0xbab340320 .extend/s 32, L_0xbab333e80;
L_0xbaad578e0 .arith/mult 32, L_0xbab340280, L_0xbab340320;
L_0xbab333d40 .part L_0xbaad578e0, 31, 1;
L_0xbaad57980 .repeat 8, 8, L_0xbab333d40;
L_0xbab3403c0 .concat [ 32 8 0 0], L_0xbaad578e0, L_0xbaad57980;
L_0xbab340460 .arith/sum 40, L_0xbaa879720, L_0xbab3403c0;
S_0xbab2de580 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50180 .param/l "i" 1 5 20, +C4<0111>;
S_0xbab2de700 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2de580;
 .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_0xbaad4e100 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e140 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e180 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2e2440_0 .net/s *"_ivl_0", 31 0, L_0xbab340500;  1 drivers
v0xbab2e24e0_0 .net/s *"_ivl_2", 31 0, L_0xbab3405a0;  1 drivers
v0xbab2e2580_0 .net *"_ivl_7", 0 0, L_0xbab333f20;  1 drivers
v0xbab2e2620_0 .net *"_ivl_9", 7 0, L_0xbaad57ac0;  1 drivers
L_0xbaa879768 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e26c0_0 .net/s "acc_in", 39 0, L_0xbaa879768;  1 drivers
v0xbab2e2760_0 .net/s "acc_out", 39 0, L_0xbab3406e0;  alias, 1 drivers
v0xbab2e2800_0 .net/s "product", 31 0, L_0xbaad57a20;  1 drivers
v0xbab2e28a0_0 .net/s "product_ext", 39 0, L_0xbab340640;  1 drivers
v0xbab2e2940_0 .net/s "w", 15 0, L_0xbab3440a0;  1 drivers
v0xbab2e29e0_0 .net/s "x", 15 0, L_0xbab344000;  1 drivers
L_0xbab340500 .extend/s 32, L_0xbab344000;
L_0xbab3405a0 .extend/s 32, L_0xbab3440a0;
L_0xbaad57a20 .arith/mult 32, L_0xbab340500, L_0xbab3405a0;
L_0xbab333f20 .part L_0xbaad57a20, 31, 1;
L_0xbaad57ac0 .repeat 8, 8, L_0xbab333f20;
L_0xbab340640 .concat [ 32 8 0 0], L_0xbaad57a20, L_0xbaad57ac0;
L_0xbab3406e0 .arith/sum 40, L_0xbaa879768, L_0xbab340640;
S_0xbab2de880 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50080 .param/l "i" 1 5 80, +C4<00>;
L_0xbab069500 .functor BUFZ 40, L_0xbab33b520, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2dea00 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad501c0 .param/l "i" 1 5 80, +C4<01>;
L_0xbab069570 .functor BUFZ 40, L_0xbab33b7a0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2deb80 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50200 .param/l "i" 1 5 80, +C4<010>;
L_0xbab0695e0 .functor BUFZ 40, L_0xbab33ba20, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2ded00 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50240 .param/l "i" 1 5 80, +C4<011>;
L_0xbab069650 .functor BUFZ 40, L_0xbab33bca0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2dee80 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50280 .param/l "i" 1 5 80, +C4<0100>;
L_0xbab0696c0 .functor BUFZ 40, L_0xbab33bf20, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2df000 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad502c0 .param/l "i" 1 5 80, +C4<0101>;
L_0xbab069730 .functor BUFZ 40, L_0xbab3401e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2df180 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50300 .param/l "i" 1 5 80, +C4<0110>;
L_0xbab0697a0 .functor BUFZ 40, L_0xbab340460, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2df300 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50340 .param/l "i" 1 5 80, +C4<0111>;
L_0xbab069810 .functor BUFZ 40, L_0xbab3406e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2df480 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50380 .param/l "level" 1 5 92, +C4<00>;
S_0xbab2df600 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2df480;
 .timescale 0 0;
P_0xbaad503c0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab340780 .arith/sum 40, L_0xbab069500, L_0xbab069570;
S_0xbab2df780 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2df480;
 .timescale 0 0;
P_0xbaad50400 .param/l "node" 1 5 94, +C4<01>;
L_0xbab340820 .arith/sum 40, L_0xbab0695e0, L_0xbab069650;
S_0xbab2df900 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0xbab2df480;
 .timescale 0 0;
P_0xbaad50440 .param/l "node" 1 5 94, +C4<010>;
L_0xbab3408c0 .arith/sum 40, L_0xbab0696c0, L_0xbab069730;
S_0xbab2dfa80 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0xbab2df480;
 .timescale 0 0;
P_0xbaad50480 .param/l "node" 1 5 94, +C4<011>;
L_0xbab340960 .arith/sum 40, L_0xbab0697a0, L_0xbab069810;
S_0xbab2dfc00 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad504c0 .param/l "level" 1 5 92, +C4<01>;
S_0xbab2dfd80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2dfc00;
 .timescale 0 0;
P_0xbaad50500 .param/l "node" 1 5 94, +C4<00>;
L_0xbab340a00 .arith/sum 40, L_0xbab340780, L_0xbab340820;
S_0xbab2e4000 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2dfc00;
 .timescale 0 0;
P_0xbaad50540 .param/l "node" 1 5 94, +C4<01>;
L_0xbab340aa0 .arith/sum 40, L_0xbab3408c0, L_0xbab340960;
S_0xbab2e4180 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0xbab2dcf00;
 .timescale 0 0;
P_0xbaad50580 .param/l "level" 1 5 92, +C4<010>;
S_0xbab2e4300 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2e4180;
 .timescale 0 0;
P_0xbaad505c0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab340b40 .arith/sum 40, L_0xbab340a00, L_0xbab340aa0;
S_0xbab2e4480 .scope generate, "GEN_NEURON[6]" "GEN_NEURON[6]" 3 34, 3 34 0, S_0x102e308c0;
 .timescale 0 0;
P_0xbaad50640 .param/l "n" 1 3 34, +C4<0110>;
S_0xbab2e4600 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0xbab2e4480;
 .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_0xbab2bc600 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0xbab2bc640 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0xbab2bc680 .param/l "GROUPS" 1 4 20, +C4<00000000000000000000000000001000>;
P_0xbab2bc6c0 .param/l "GROUP_INDEX_WIDTH" 1 4 21, +C4<00000000000000000000000000000011>;
P_0xbab2bc700 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0xbab2bc740 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0xbab2eb700_0 .net *"_ivl_0", 31 0, L_0xbab340dc0;  1 drivers
v0xbab2eb7a0_0 .net *"_ivl_11", 31 0, L_0xbaad57d40;  1 drivers
v0xbab2eb840_0 .net *"_ivl_14", 31 0, L_0xbab340e60;  1 drivers
L_0xbaa879888 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2eb8e0_0 .net *"_ivl_17", 28 0, L_0xbaa879888;  1 drivers
L_0xbaa8798d0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2eb980_0 .net/2u *"_ivl_18", 31 0, L_0xbaa8798d0;  1 drivers
v0xbab2eba20_0 .net *"_ivl_21", 31 0, L_0xbaad57de0;  1 drivers
L_0xbaa879918 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2ebac0_0 .net/2u *"_ivl_22", 31 0, L_0xbaa879918;  1 drivers
v0xbab2ebb60_0 .net *"_ivl_25", 31 0, L_0xbaad57e80;  1 drivers
v0xbab2ebc00_0 .net *"_ivl_29", 0 0, L_0xbab345360;  1 drivers
L_0xbaa8797b0 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2ebca0_0 .net *"_ivl_3", 28 0, L_0xbaa8797b0;  1 drivers
v0xbab2ebd40_0 .net *"_ivl_31", 23 0, L_0xbaad58a00;  1 drivers
L_0xbaa8797f8 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab2ebde0_0 .net/2u *"_ivl_4", 31 0, L_0xbaa8797f8;  1 drivers
v0xbab2ebe80_0 .net *"_ivl_7", 31 0, L_0xbaad57ca0;  1 drivers
L_0xbaa879840 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab2ebf20_0 .net/2u *"_ivl_8", 31 0, L_0xbaa879840;  1 drivers
v0xbab2f8000_0 .var/s "acc", 39 0;
v0xbab2f80a0_0 .net/s "acc_next", 39 0, L_0xbab342760;  1 drivers
v0xbab2f8140_0 .net/s "bias", 15 0, L_0xbab3454a0;  1 drivers
v0xbab2f81e0_0 .net/s "bias_ext", 39 0, L_0xbab342800;  1 drivers
v0xbab2f8280_0 .var "busy", 0 0;
v0xbab2f8320_0 .net "clk", 0 0, o0xbaa845fc0;  alias, 0 drivers
v0xbab2f83c0_0 .var "done", 0 0;
v0xbab2f8460_0 .net/s "final_acc", 39 0, L_0xbab3428a0;  1 drivers
v0xbab2f8500_0 .var "group_index", 2 0;
v0xbab2f85a0_0 .net "rst", 0 0, o0xbaa846080;  alias, 0 drivers
v0xbab2f8640_0 .net "start", 0 0, o0xbaa8460b0;  alias, 0 drivers
v0xbab2f86e0_0 .net/s "w_bus", 1023 0, L_0xbab345400;  1 drivers
v0xbab2f8780_0 .net/s "w_group", 127 0, L_0xbab3443c0;  1 drivers
v0xbab2f8820_0 .net/s "x_bus", 1023 0, o0xbaa846110;  alias, 0 drivers
v0xbab2f88c0_0 .net/s "x_group", 127 0, L_0xbab344320;  1 drivers
v0xbab2f8960_0 .var/s "y", 15 0;
L_0xbab340dc0 .concat [ 3 29 0 0], v0xbab2f8500_0, L_0xbaa8797b0;
L_0xbaad57ca0 .arith/mult 32, L_0xbab340dc0, L_0xbaa8797f8;
L_0xbaad57d40 .arith/mult 32, L_0xbaad57ca0, L_0xbaa879840;
L_0xbab344320 .part/v o0xbaa846110, L_0xbaad57d40, 128;
L_0xbab340e60 .concat [ 3 29 0 0], v0xbab2f8500_0, L_0xbaa879888;
L_0xbaad57de0 .arith/mult 32, L_0xbab340e60, L_0xbaa8798d0;
L_0xbaad57e80 .arith/mult 32, L_0xbaad57de0, L_0xbaa879918;
L_0xbab3443c0 .part/v L_0xbab345400, L_0xbaad57e80, 128;
L_0xbab345360 .part L_0xbab3454a0, 15, 1;
L_0xbaad58a00 .repeat 24, 24, L_0xbab345360;
L_0xbab342800 .concat [ 16 24 0 0], L_0xbab3454a0, L_0xbaad58a00;
L_0xbab3428a0 .arith/sum 40, L_0xbab342760, L_0xbab342800;
S_0xbab2e4780 .scope module, "u_mac8" "mac8" 4 52, 5 1 0, S_0xbab2e4600;
 .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_0xbab295300 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0xbab295340 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0xbab295380 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0xbab2953c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0xbab2eb340_0 .net/s "acc_in", 39 0, v0xbab2f8000_0;  1 drivers
v0xbab2eb3e0_0 .net/s "acc_out", 39 0, L_0xbab342760;  alias, 1 drivers
v0xbab2eb480 .array "products", 7 0;
v0xbab2eb480_0 .net/s v0xbab2eb480 0, 39 0, L_0xbab3410e0; 1 drivers
v0xbab2eb480_1 .net/s v0xbab2eb480 1, 39 0, L_0xbab341360; 1 drivers
v0xbab2eb480_2 .net/s v0xbab2eb480 2, 39 0, L_0xbab3415e0; 1 drivers
v0xbab2eb480_3 .net/s v0xbab2eb480 3, 39 0, L_0xbab341860; 1 drivers
v0xbab2eb480_4 .net/s v0xbab2eb480 4, 39 0, L_0xbab341ae0; 1 drivers
v0xbab2eb480_5 .net/s v0xbab2eb480 5, 39 0, L_0xbab341d60; 1 drivers
v0xbab2eb480_6 .net/s v0xbab2eb480 6, 39 0, L_0xbab341fe0; 1 drivers
v0xbab2eb480_7 .net/s v0xbab2eb480 7, 39 0, L_0xbab342260; 1 drivers
v0xbab2eb520 .array "tree", 31 0;
v0xbab2eb520_0 .net/s v0xbab2eb520 0, 39 0, L_0xbab069880; 1 drivers
v0xbab2eb520_1 .net/s v0xbab2eb520 1, 39 0, L_0xbab0698f0; 1 drivers
v0xbab2eb520_2 .net/s v0xbab2eb520 2, 39 0, L_0xbab069960; 1 drivers
v0xbab2eb520_3 .net/s v0xbab2eb520 3, 39 0, L_0xbab0699d0; 1 drivers
v0xbab2eb520_4 .net/s v0xbab2eb520 4, 39 0, L_0xbab069a40; 1 drivers
v0xbab2eb520_5 .net/s v0xbab2eb520 5, 39 0, L_0xbab069ab0; 1 drivers
v0xbab2eb520_6 .net/s v0xbab2eb520 6, 39 0, L_0xbab069b20; 1 drivers
v0xbab2eb520_7 .net/s v0xbab2eb520 7, 39 0, L_0xbab069b90; 1 drivers
v0xbab2eb520_8 .net/s v0xbab2eb520 8, 39 0, L_0xbab342300; 1 drivers
v0xbab2eb520_9 .net/s v0xbab2eb520 9, 39 0, L_0xbab3423a0; 1 drivers
v0xbab2eb520_10 .net/s v0xbab2eb520 10, 39 0, L_0xbab342440; 1 drivers
v0xbab2eb520_11 .net/s v0xbab2eb520 11, 39 0, L_0xbab3424e0; 1 drivers
o0xbaa852650 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_12 .net/s v0xbab2eb520 12, 39 0, o0xbaa852650; 0 drivers
o0xbaa852680 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_13 .net/s v0xbab2eb520 13, 39 0, o0xbaa852680; 0 drivers
o0xbaa8526b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_14 .net/s v0xbab2eb520 14, 39 0, o0xbaa8526b0; 0 drivers
o0xbaa8526e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_15 .net/s v0xbab2eb520 15, 39 0, o0xbaa8526e0; 0 drivers
v0xbab2eb520_16 .net/s v0xbab2eb520 16, 39 0, L_0xbab342580; 1 drivers
v0xbab2eb520_17 .net/s v0xbab2eb520 17, 39 0, L_0xbab342620; 1 drivers
o0xbaa852770 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_18 .net/s v0xbab2eb520 18, 39 0, o0xbaa852770; 0 drivers
o0xbaa8527a0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_19 .net/s v0xbab2eb520 19, 39 0, o0xbaa8527a0; 0 drivers
o0xbaa8527d0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_20 .net/s v0xbab2eb520 20, 39 0, o0xbaa8527d0; 0 drivers
o0xbaa852800 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_21 .net/s v0xbab2eb520 21, 39 0, o0xbaa852800; 0 drivers
o0xbaa852830 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_22 .net/s v0xbab2eb520 22, 39 0, o0xbaa852830; 0 drivers
o0xbaa852860 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_23 .net/s v0xbab2eb520 23, 39 0, o0xbaa852860; 0 drivers
v0xbab2eb520_24 .net/s v0xbab2eb520 24, 39 0, L_0xbab3426c0; 1 drivers
o0xbaa8528c0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_25 .net/s v0xbab2eb520 25, 39 0, o0xbaa8528c0; 0 drivers
o0xbaa8528f0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_26 .net/s v0xbab2eb520 26, 39 0, o0xbaa8528f0; 0 drivers
o0xbaa852920 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_27 .net/s v0xbab2eb520 27, 39 0, o0xbaa852920; 0 drivers
o0xbaa852950 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_28 .net/s v0xbab2eb520 28, 39 0, o0xbaa852950; 0 drivers
o0xbaa852980 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_29 .net/s v0xbab2eb520 29, 39 0, o0xbaa852980; 0 drivers
o0xbaa8529b0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_30 .net/s v0xbab2eb520 30, 39 0, o0xbaa8529b0; 0 drivers
o0xbaa8529e0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2eb520_31 .net/s v0xbab2eb520 31, 39 0, o0xbaa8529e0; 0 drivers
v0xbab2eb5c0_0 .net/s "w_bus", 127 0, L_0xbab3443c0;  alias, 1 drivers
v0xbab2eb660_0 .net/s "x_bus", 127 0, L_0xbab344320;  alias, 1 drivers
L_0xbab344500 .part L_0xbab344320, 0, 16;
L_0xbab3445a0 .part L_0xbab3443c0, 0, 16;
L_0xbab3446e0 .part L_0xbab344320, 16, 16;
L_0xbab344780 .part L_0xbab3443c0, 16, 16;
L_0xbab3448c0 .part L_0xbab344320, 32, 16;
L_0xbab344960 .part L_0xbab3443c0, 32, 16;
L_0xbab344aa0 .part L_0xbab344320, 48, 16;
L_0xbab344b40 .part L_0xbab3443c0, 48, 16;
L_0xbab344c80 .part L_0xbab344320, 64, 16;
L_0xbab344d20 .part L_0xbab3443c0, 64, 16;
L_0xbab344e60 .part L_0xbab344320, 80, 16;
L_0xbab344f00 .part L_0xbab3443c0, 80, 16;
L_0xbab345040 .part L_0xbab344320, 96, 16;
L_0xbab3450e0 .part L_0xbab3443c0, 96, 16;
L_0xbab345220 .part L_0xbab344320, 112, 16;
L_0xbab3452c0 .part L_0xbab3443c0, 112, 16;
L_0xbab342760 .arith/sum 40, v0xbab2f8000_0, L_0xbab3426c0;
S_0xbab2e4900 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50680 .param/l "i" 1 5 20, +C4<00>;
S_0xbab2e4a80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2e4900;
 .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_0xbaad4e1c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e200 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e240 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2e8140_0 .net/s *"_ivl_0", 31 0, L_0xbab340f00;  1 drivers
v0xbab2e81e0_0 .net/s *"_ivl_2", 31 0, L_0xbab340fa0;  1 drivers
v0xbab2e8280_0 .net *"_ivl_7", 0 0, L_0xbab344460;  1 drivers
v0xbab2e8320_0 .net *"_ivl_9", 7 0, L_0xbaad58000;  1 drivers
L_0xbaa879960 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e83c0_0 .net/s "acc_in", 39 0, L_0xbaa879960;  1 drivers
v0xbab2e8460_0 .net/s "acc_out", 39 0, L_0xbab3410e0;  alias, 1 drivers
v0xbab2e8500_0 .net/s "product", 31 0, L_0xbaad57f20;  1 drivers
v0xbab2e85a0_0 .net/s "product_ext", 39 0, L_0xbab341040;  1 drivers
v0xbab2e8640_0 .net/s "w", 15 0, L_0xbab3445a0;  1 drivers
v0xbab2e86e0_0 .net/s "x", 15 0, L_0xbab344500;  1 drivers
L_0xbab340f00 .extend/s 32, L_0xbab344500;
L_0xbab340fa0 .extend/s 32, L_0xbab3445a0;
L_0xbaad57f20 .arith/mult 32, L_0xbab340f00, L_0xbab340fa0;
L_0xbab344460 .part L_0xbaad57f20, 31, 1;
L_0xbaad58000 .repeat 8, 8, L_0xbab344460;
L_0xbab341040 .concat [ 32 8 0 0], L_0xbaad57f20, L_0xbaad58000;
L_0xbab3410e0 .arith/sum 40, L_0xbaa879960, L_0xbab341040;
S_0xbab2e4c00 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad506c0 .param/l "i" 1 5 20, +C4<01>;
S_0xbab2e4d80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2e4c00;
 .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_0xbaad4e280 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e2c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e300 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2e8780_0 .net/s *"_ivl_0", 31 0, L_0xbab341180;  1 drivers
v0xbab2e8820_0 .net/s *"_ivl_2", 31 0, L_0xbab341220;  1 drivers
v0xbab2e88c0_0 .net *"_ivl_7", 0 0, L_0xbab344640;  1 drivers
v0xbab2e8960_0 .net *"_ivl_9", 7 0, L_0xbaad58140;  1 drivers
L_0xbaa8799a8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e8a00_0 .net/s "acc_in", 39 0, L_0xbaa8799a8;  1 drivers
v0xbab2e8aa0_0 .net/s "acc_out", 39 0, L_0xbab341360;  alias, 1 drivers
v0xbab2e8b40_0 .net/s "product", 31 0, L_0xbaad580a0;  1 drivers
v0xbab2e8be0_0 .net/s "product_ext", 39 0, L_0xbab3412c0;  1 drivers
v0xbab2e8c80_0 .net/s "w", 15 0, L_0xbab344780;  1 drivers
v0xbab2e8d20_0 .net/s "x", 15 0, L_0xbab3446e0;  1 drivers
L_0xbab341180 .extend/s 32, L_0xbab3446e0;
L_0xbab341220 .extend/s 32, L_0xbab344780;
L_0xbaad580a0 .arith/mult 32, L_0xbab341180, L_0xbab341220;
L_0xbab344640 .part L_0xbaad580a0, 31, 1;
L_0xbaad58140 .repeat 8, 8, L_0xbab344640;
L_0xbab3412c0 .concat [ 32 8 0 0], L_0xbaad580a0, L_0xbaad58140;
L_0xbab341360 .arith/sum 40, L_0xbaa8799a8, L_0xbab3412c0;
S_0xbab2e4f00 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50700 .param/l "i" 1 5 20, +C4<010>;
S_0xbab2e5080 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2e4f00;
 .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_0xbaad4e340 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e380 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e3c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2e8dc0_0 .net/s *"_ivl_0", 31 0, L_0xbab341400;  1 drivers
v0xbab2e8e60_0 .net/s *"_ivl_2", 31 0, L_0xbab3414a0;  1 drivers
v0xbab2e8f00_0 .net *"_ivl_7", 0 0, L_0xbab344820;  1 drivers
v0xbab2e8fa0_0 .net *"_ivl_9", 7 0, L_0xbaad58280;  1 drivers
L_0xbaa8799f0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e9040_0 .net/s "acc_in", 39 0, L_0xbaa8799f0;  1 drivers
v0xbab2e90e0_0 .net/s "acc_out", 39 0, L_0xbab3415e0;  alias, 1 drivers
v0xbab2e9180_0 .net/s "product", 31 0, L_0xbaad581e0;  1 drivers
v0xbab2e9220_0 .net/s "product_ext", 39 0, L_0xbab341540;  1 drivers
v0xbab2e92c0_0 .net/s "w", 15 0, L_0xbab344960;  1 drivers
v0xbab2e9360_0 .net/s "x", 15 0, L_0xbab3448c0;  1 drivers
L_0xbab341400 .extend/s 32, L_0xbab3448c0;
L_0xbab3414a0 .extend/s 32, L_0xbab344960;
L_0xbaad581e0 .arith/mult 32, L_0xbab341400, L_0xbab3414a0;
L_0xbab344820 .part L_0xbaad581e0, 31, 1;
L_0xbaad58280 .repeat 8, 8, L_0xbab344820;
L_0xbab341540 .concat [ 32 8 0 0], L_0xbaad581e0, L_0xbaad58280;
L_0xbab3415e0 .arith/sum 40, L_0xbaa8799f0, L_0xbab341540;
S_0xbab2e5200 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50740 .param/l "i" 1 5 20, +C4<011>;
S_0xbab2e5380 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2e5200;
 .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_0xbaad4e400 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e440 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e480 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2e9400_0 .net/s *"_ivl_0", 31 0, L_0xbab341680;  1 drivers
v0xbab2e94a0_0 .net/s *"_ivl_2", 31 0, L_0xbab341720;  1 drivers
v0xbab2e9540_0 .net *"_ivl_7", 0 0, L_0xbab344a00;  1 drivers
v0xbab2e95e0_0 .net *"_ivl_9", 7 0, L_0xbaad583c0;  1 drivers
L_0xbaa879a38 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e9680_0 .net/s "acc_in", 39 0, L_0xbaa879a38;  1 drivers
v0xbab2e9720_0 .net/s "acc_out", 39 0, L_0xbab341860;  alias, 1 drivers
v0xbab2e97c0_0 .net/s "product", 31 0, L_0xbaad58320;  1 drivers
v0xbab2e9860_0 .net/s "product_ext", 39 0, L_0xbab3417c0;  1 drivers
v0xbab2e9900_0 .net/s "w", 15 0, L_0xbab344b40;  1 drivers
v0xbab2e99a0_0 .net/s "x", 15 0, L_0xbab344aa0;  1 drivers
L_0xbab341680 .extend/s 32, L_0xbab344aa0;
L_0xbab341720 .extend/s 32, L_0xbab344b40;
L_0xbaad58320 .arith/mult 32, L_0xbab341680, L_0xbab341720;
L_0xbab344a00 .part L_0xbaad58320, 31, 1;
L_0xbaad583c0 .repeat 8, 8, L_0xbab344a00;
L_0xbab3417c0 .concat [ 32 8 0 0], L_0xbaad58320, L_0xbaad583c0;
L_0xbab341860 .arith/sum 40, L_0xbaa879a38, L_0xbab3417c0;
S_0xbab2e5500 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad507c0 .param/l "i" 1 5 20, +C4<0100>;
S_0xbab2e5680 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2e5500;
 .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_0xbaad4e4c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e500 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e540 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2e9a40_0 .net/s *"_ivl_0", 31 0, L_0xbab341900;  1 drivers
v0xbab2e9ae0_0 .net/s *"_ivl_2", 31 0, L_0xbab3419a0;  1 drivers
v0xbab2e9b80_0 .net *"_ivl_7", 0 0, L_0xbab344be0;  1 drivers
v0xbab2e9c20_0 .net *"_ivl_9", 7 0, L_0xbaad58500;  1 drivers
L_0xbaa879a80 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2e9cc0_0 .net/s "acc_in", 39 0, L_0xbaa879a80;  1 drivers
v0xbab2e9d60_0 .net/s "acc_out", 39 0, L_0xbab341ae0;  alias, 1 drivers
v0xbab2e9e00_0 .net/s "product", 31 0, L_0xbaad58460;  1 drivers
v0xbab2e9ea0_0 .net/s "product_ext", 39 0, L_0xbab341a40;  1 drivers
v0xbab2e9f40_0 .net/s "w", 15 0, L_0xbab344d20;  1 drivers
v0xbab2e9fe0_0 .net/s "x", 15 0, L_0xbab344c80;  1 drivers
L_0xbab341900 .extend/s 32, L_0xbab344c80;
L_0xbab3419a0 .extend/s 32, L_0xbab344d20;
L_0xbaad58460 .arith/mult 32, L_0xbab341900, L_0xbab3419a0;
L_0xbab344be0 .part L_0xbaad58460, 31, 1;
L_0xbaad58500 .repeat 8, 8, L_0xbab344be0;
L_0xbab341a40 .concat [ 32 8 0 0], L_0xbaad58460, L_0xbaad58500;
L_0xbab341ae0 .arith/sum 40, L_0xbaa879a80, L_0xbab341a40;
S_0xbab2e5800 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50800 .param/l "i" 1 5 20, +C4<0101>;
S_0xbab2e5980 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2e5800;
 .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_0xbaad4e580 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e5c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e600 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2ea080_0 .net/s *"_ivl_0", 31 0, L_0xbab341b80;  1 drivers
v0xbab2ea120_0 .net/s *"_ivl_2", 31 0, L_0xbab341c20;  1 drivers
v0xbab2ea1c0_0 .net *"_ivl_7", 0 0, L_0xbab344dc0;  1 drivers
v0xbab2ea260_0 .net *"_ivl_9", 7 0, L_0xbaad58640;  1 drivers
L_0xbaa879ac8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2ea300_0 .net/s "acc_in", 39 0, L_0xbaa879ac8;  1 drivers
v0xbab2ea3a0_0 .net/s "acc_out", 39 0, L_0xbab341d60;  alias, 1 drivers
v0xbab2ea440_0 .net/s "product", 31 0, L_0xbaad585a0;  1 drivers
v0xbab2ea4e0_0 .net/s "product_ext", 39 0, L_0xbab341cc0;  1 drivers
v0xbab2ea580_0 .net/s "w", 15 0, L_0xbab344f00;  1 drivers
v0xbab2ea620_0 .net/s "x", 15 0, L_0xbab344e60;  1 drivers
L_0xbab341b80 .extend/s 32, L_0xbab344e60;
L_0xbab341c20 .extend/s 32, L_0xbab344f00;
L_0xbaad585a0 .arith/mult 32, L_0xbab341b80, L_0xbab341c20;
L_0xbab344dc0 .part L_0xbaad585a0, 31, 1;
L_0xbaad58640 .repeat 8, 8, L_0xbab344dc0;
L_0xbab341cc0 .concat [ 32 8 0 0], L_0xbaad585a0, L_0xbaad58640;
L_0xbab341d60 .arith/sum 40, L_0xbaa879ac8, L_0xbab341cc0;
S_0xbab2e5b00 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50840 .param/l "i" 1 5 20, +C4<0110>;
S_0xbab2e5c80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2e5b00;
 .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_0xbaad4e640 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e680 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e6c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2ea6c0_0 .net/s *"_ivl_0", 31 0, L_0xbab341e00;  1 drivers
v0xbab2ea760_0 .net/s *"_ivl_2", 31 0, L_0xbab341ea0;  1 drivers
v0xbab2ea800_0 .net *"_ivl_7", 0 0, L_0xbab344fa0;  1 drivers
v0xbab2ea8a0_0 .net *"_ivl_9", 7 0, L_0xbaad58780;  1 drivers
L_0xbaa879b10 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2ea940_0 .net/s "acc_in", 39 0, L_0xbaa879b10;  1 drivers
v0xbab2ea9e0_0 .net/s "acc_out", 39 0, L_0xbab341fe0;  alias, 1 drivers
v0xbab2eaa80_0 .net/s "product", 31 0, L_0xbaad586e0;  1 drivers
v0xbab2eab20_0 .net/s "product_ext", 39 0, L_0xbab341f40;  1 drivers
v0xbab2eabc0_0 .net/s "w", 15 0, L_0xbab3450e0;  1 drivers
v0xbab2eac60_0 .net/s "x", 15 0, L_0xbab345040;  1 drivers
L_0xbab341e00 .extend/s 32, L_0xbab345040;
L_0xbab341ea0 .extend/s 32, L_0xbab3450e0;
L_0xbaad586e0 .arith/mult 32, L_0xbab341e00, L_0xbab341ea0;
L_0xbab344fa0 .part L_0xbaad586e0, 31, 1;
L_0xbaad58780 .repeat 8, 8, L_0xbab344fa0;
L_0xbab341f40 .concat [ 32 8 0 0], L_0xbaad586e0, L_0xbaad58780;
L_0xbab341fe0 .arith/sum 40, L_0xbaa879b10, L_0xbab341f40;
S_0xbab2e5e00 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50880 .param/l "i" 1 5 20, +C4<0111>;
S_0xbab2e5f80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2e5e00;
 .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_0xbaad4e700 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e740 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e780 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2ead00_0 .net/s *"_ivl_0", 31 0, L_0xbab342080;  1 drivers
v0xbab2eada0_0 .net/s *"_ivl_2", 31 0, L_0xbab342120;  1 drivers
v0xbab2eae40_0 .net *"_ivl_7", 0 0, L_0xbab345180;  1 drivers
v0xbab2eaee0_0 .net *"_ivl_9", 7 0, L_0xbaad588c0;  1 drivers
L_0xbaa879b58 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2eaf80_0 .net/s "acc_in", 39 0, L_0xbaa879b58;  1 drivers
v0xbab2eb020_0 .net/s "acc_out", 39 0, L_0xbab342260;  alias, 1 drivers
v0xbab2eb0c0_0 .net/s "product", 31 0, L_0xbaad58820;  1 drivers
v0xbab2eb160_0 .net/s "product_ext", 39 0, L_0xbab3421c0;  1 drivers
v0xbab2eb200_0 .net/s "w", 15 0, L_0xbab3452c0;  1 drivers
v0xbab2eb2a0_0 .net/s "x", 15 0, L_0xbab345220;  1 drivers
L_0xbab342080 .extend/s 32, L_0xbab345220;
L_0xbab342120 .extend/s 32, L_0xbab3452c0;
L_0xbaad58820 .arith/mult 32, L_0xbab342080, L_0xbab342120;
L_0xbab345180 .part L_0xbaad58820, 31, 1;
L_0xbaad588c0 .repeat 8, 8, L_0xbab345180;
L_0xbab3421c0 .concat [ 32 8 0 0], L_0xbaad58820, L_0xbaad588c0;
L_0xbab342260 .arith/sum 40, L_0xbaa879b58, L_0xbab3421c0;
S_0xbab2e6100 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50780 .param/l "i" 1 5 80, +C4<00>;
L_0xbab069880 .functor BUFZ 40, L_0xbab3410e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2e6280 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad508c0 .param/l "i" 1 5 80, +C4<01>;
L_0xbab0698f0 .functor BUFZ 40, L_0xbab341360, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2e6400 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50900 .param/l "i" 1 5 80, +C4<010>;
L_0xbab069960 .functor BUFZ 40, L_0xbab3415e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2e6580 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50940 .param/l "i" 1 5 80, +C4<011>;
L_0xbab0699d0 .functor BUFZ 40, L_0xbab341860, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2e6700 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50980 .param/l "i" 1 5 80, +C4<0100>;
L_0xbab069a40 .functor BUFZ 40, L_0xbab341ae0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2e6880 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad509c0 .param/l "i" 1 5 80, +C4<0101>;
L_0xbab069ab0 .functor BUFZ 40, L_0xbab341d60, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2e6a00 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50a00 .param/l "i" 1 5 80, +C4<0110>;
L_0xbab069b20 .functor BUFZ 40, L_0xbab341fe0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2e6b80 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50a40 .param/l "i" 1 5 80, +C4<0111>;
L_0xbab069b90 .functor BUFZ 40, L_0xbab342260, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2e6d00 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50a80 .param/l "level" 1 5 92, +C4<00>;
S_0xbab2e6e80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2e6d00;
 .timescale 0 0;
P_0xbaad50ac0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab342300 .arith/sum 40, L_0xbab069880, L_0xbab0698f0;
S_0xbab2e7000 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2e6d00;
 .timescale 0 0;
P_0xbaad50b00 .param/l "node" 1 5 94, +C4<01>;
L_0xbab3423a0 .arith/sum 40, L_0xbab069960, L_0xbab0699d0;
S_0xbab2e7180 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0xbab2e6d00;
 .timescale 0 0;
P_0xbaad50b40 .param/l "node" 1 5 94, +C4<010>;
L_0xbab342440 .arith/sum 40, L_0xbab069a40, L_0xbab069ab0;
S_0xbab2e7300 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0xbab2e6d00;
 .timescale 0 0;
P_0xbaad50b80 .param/l "node" 1 5 94, +C4<011>;
L_0xbab3424e0 .arith/sum 40, L_0xbab069b20, L_0xbab069b90;
S_0xbab2e7480 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50bc0 .param/l "level" 1 5 92, +C4<01>;
S_0xbab2e7600 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2e7480;
 .timescale 0 0;
P_0xbaad50c00 .param/l "node" 1 5 94, +C4<00>;
L_0xbab342580 .arith/sum 40, L_0xbab342300, L_0xbab3423a0;
S_0xbab2e7780 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2e7480;
 .timescale 0 0;
P_0xbaad50c40 .param/l "node" 1 5 94, +C4<01>;
L_0xbab342620 .arith/sum 40, L_0xbab342440, L_0xbab3424e0;
S_0xbab2e7900 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0xbab2e4780;
 .timescale 0 0;
P_0xbaad50c80 .param/l "level" 1 5 92, +C4<010>;
S_0xbab2e7a80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2e7900;
 .timescale 0 0;
P_0xbaad50cc0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab3426c0 .arith/sum 40, L_0xbab342580, L_0xbab342620;
S_0xbab2e7c00 .scope generate, "GEN_NEURON[7]" "GEN_NEURON[7]" 3 34, 3 34 0, S_0x102e308c0;
 .timescale 0 0;
P_0xbaad50d40 .param/l "n" 1 3 34, +C4<0111>;
S_0xbab2e7d80 .scope module, "u_neuron" "neuron_parallel" 3 41, 4 1 0, S_0xbab2e7c00;
 .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_0xbab2bc780 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000101000>;
P_0xbab2bc7c0 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000010000>;
P_0xbab2bc800 .param/l "GROUPS" 1 4 20, +C4<00000000000000000000000000001000>;
P_0xbab2bc840 .param/l "GROUP_INDEX_WIDTH" 1 4 21, +C4<00000000000000000000000000000011>;
P_0xbab2bc880 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000001000000>;
P_0xbab2bc8c0 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0xbab300000_0 .net *"_ivl_0", 31 0, L_0xbab342940;  1 drivers
v0xbab3000a0_0 .net *"_ivl_11", 31 0, L_0xbaad58b40;  1 drivers
v0xbab300140_0 .net *"_ivl_14", 31 0, L_0xbab3429e0;  1 drivers
L_0xbaa879c78 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab3001e0_0 .net *"_ivl_17", 28 0, L_0xbaa879c78;  1 drivers
L_0xbaa879cc0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab300280_0 .net/2u *"_ivl_18", 31 0, L_0xbaa879cc0;  1 drivers
v0xbab300320_0 .net *"_ivl_21", 31 0, L_0xbaad58be0;  1 drivers
L_0xbaa879d08 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab3003c0_0 .net/2u *"_ivl_22", 31 0, L_0xbaa879d08;  1 drivers
v0xbab300460_0 .net *"_ivl_25", 31 0, L_0xbaad58c80;  1 drivers
v0xbab300500_0 .net *"_ivl_29", 0 0, L_0xbab346580;  1 drivers
L_0xbaa879ba0 .functor BUFT 1, C4<00000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab3005a0_0 .net *"_ivl_3", 28 0, L_0xbaa879ba0;  1 drivers
v0xbab300640_0 .net *"_ivl_31", 23 0, L_0xbaad597c0;  1 drivers
L_0xbaa879be8 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab3006e0_0 .net/2u *"_ivl_4", 31 0, L_0xbaa879be8;  1 drivers
v0xbab300780_0 .net *"_ivl_7", 31 0, L_0xbaad58aa0;  1 drivers
L_0xbaa879c30 .functor BUFT 1, C4<00000000000000000000000000010000>, C4<0>, C4<0>, C4<0>;
v0xbab300820_0 .net/2u *"_ivl_8", 31 0, L_0xbaa879c30;  1 drivers
v0xbab3008c0_0 .var/s "acc", 39 0;
v0xbab300960_0 .net/s "acc_next", 39 0, L_0xbab34c320;  1 drivers
v0xbab300a00_0 .net/s "bias", 15 0, L_0xbab3466c0;  1 drivers
v0xbab300aa0_0 .net/s "bias_ext", 39 0, L_0xbab34c3c0;  1 drivers
v0xbab300b40_0 .var "busy", 0 0;
v0xbab300be0_0 .net "clk", 0 0, o0xbaa845fc0;  alias, 0 drivers
v0xbab300c80_0 .var "done", 0 0;
v0xbab300d20_0 .net/s "final_acc", 39 0, L_0xbab34c460;  1 drivers
v0xbab300dc0_0 .var "group_index", 2 0;
v0xbab300e60_0 .net "rst", 0 0, o0xbaa846080;  alias, 0 drivers
v0xbab300f00_0 .net "start", 0 0, o0xbaa8460b0;  alias, 0 drivers
v0xbab300fa0_0 .net/s "w_bus", 1023 0, L_0xbab346620;  1 drivers
v0xbab301040_0 .net/s "w_group", 127 0, L_0xbab3455e0;  1 drivers
v0xbab3010e0_0 .net/s "x_bus", 1023 0, o0xbaa846110;  alias, 0 drivers
v0xbab301180_0 .net/s "x_group", 127 0, L_0xbab345540;  1 drivers
v0xbab301220_0 .var/s "y", 15 0;
L_0xbab342940 .concat [ 3 29 0 0], v0xbab300dc0_0, L_0xbaa879ba0;
L_0xbaad58aa0 .arith/mult 32, L_0xbab342940, L_0xbaa879be8;
L_0xbaad58b40 .arith/mult 32, L_0xbaad58aa0, L_0xbaa879c30;
L_0xbab345540 .part/v o0xbaa846110, L_0xbaad58b40, 128;
L_0xbab3429e0 .concat [ 3 29 0 0], v0xbab300dc0_0, L_0xbaa879c78;
L_0xbaad58be0 .arith/mult 32, L_0xbab3429e0, L_0xbaa879cc0;
L_0xbaad58c80 .arith/mult 32, L_0xbaad58be0, L_0xbaa879d08;
L_0xbab3455e0 .part/v L_0xbab346620, L_0xbaad58c80, 128;
L_0xbab346580 .part L_0xbab3466c0, 15, 1;
L_0xbaad597c0 .repeat 24, 24, L_0xbab346580;
L_0xbab34c3c0 .concat [ 16 24 0 0], L_0xbab3466c0, L_0xbaad597c0;
L_0xbab34c460 .arith/sum 40, L_0xbab34c320, L_0xbab34c3c0;
S_0xbab2fc000 .scope module, "u_mac8" "mac8" 4 52, 5 1 0, S_0xbab2e7d80;
 .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_0xbab295600 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000101000>;
P_0xbab295640 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000010000>;
P_0xbab295680 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0xbab2956c0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0xbab2fbc00_0 .net/s "acc_in", 39 0, v0xbab3008c0_0;  1 drivers
v0xbab2fbca0_0 .net/s "acc_out", 39 0, L_0xbab34c320;  alias, 1 drivers
v0xbab2fbd40 .array "products", 7 0;
v0xbab2fbd40_0 .net/s v0xbab2fbd40 0, 39 0, L_0xbab342c60; 1 drivers
v0xbab2fbd40_1 .net/s v0xbab2fbd40 1, 39 0, L_0xbab342ee0; 1 drivers
v0xbab2fbd40_2 .net/s v0xbab2fbd40 2, 39 0, L_0xbab343160; 1 drivers
v0xbab2fbd40_3 .net/s v0xbab2fbd40 3, 39 0, L_0xbab3433e0; 1 drivers
v0xbab2fbd40_4 .net/s v0xbab2fbd40 4, 39 0, L_0xbab343660; 1 drivers
v0xbab2fbd40_5 .net/s v0xbab2fbd40 5, 39 0, L_0xbab3438e0; 1 drivers
v0xbab2fbd40_6 .net/s v0xbab2fbd40 6, 39 0, L_0xbab343b60; 1 drivers
v0xbab2fbd40_7 .net/s v0xbab2fbd40 7, 39 0, L_0xbab343de0; 1 drivers
v0xbab2fbde0 .array "tree", 31 0;
v0xbab2fbde0_0 .net/s v0xbab2fbde0 0, 39 0, L_0xbab069c00; 1 drivers
v0xbab2fbde0_1 .net/s v0xbab2fbde0 1, 39 0, L_0xbab069c70; 1 drivers
v0xbab2fbde0_2 .net/s v0xbab2fbde0 2, 39 0, L_0xbab069ce0; 1 drivers
v0xbab2fbde0_3 .net/s v0xbab2fbde0 3, 39 0, L_0xbab069d50; 1 drivers
v0xbab2fbde0_4 .net/s v0xbab2fbde0 4, 39 0, L_0xbab069dc0; 1 drivers
v0xbab2fbde0_5 .net/s v0xbab2fbde0 5, 39 0, L_0xbab069e30; 1 drivers
v0xbab2fbde0_6 .net/s v0xbab2fbde0 6, 39 0, L_0xbab069ea0; 1 drivers
v0xbab2fbde0_7 .net/s v0xbab2fbde0 7, 39 0, L_0xbab069f10; 1 drivers
v0xbab2fbde0_8 .net/s v0xbab2fbde0 8, 39 0, L_0xbab343e80; 1 drivers
v0xbab2fbde0_9 .net/s v0xbab2fbde0 9, 39 0, L_0xbab343f20; 1 drivers
v0xbab2fbde0_10 .net/s v0xbab2fbde0 10, 39 0, L_0xbab34c000; 1 drivers
v0xbab2fbde0_11 .net/s v0xbab2fbde0 11, 39 0, L_0xbab34c0a0; 1 drivers
o0xbaa8548a0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_12 .net/s v0xbab2fbde0 12, 39 0, o0xbaa8548a0; 0 drivers
o0xbaa8548d0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_13 .net/s v0xbab2fbde0 13, 39 0, o0xbaa8548d0; 0 drivers
o0xbaa854900 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_14 .net/s v0xbab2fbde0 14, 39 0, o0xbaa854900; 0 drivers
o0xbaa854930 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_15 .net/s v0xbab2fbde0 15, 39 0, o0xbaa854930; 0 drivers
v0xbab2fbde0_16 .net/s v0xbab2fbde0 16, 39 0, L_0xbab34c140; 1 drivers
v0xbab2fbde0_17 .net/s v0xbab2fbde0 17, 39 0, L_0xbab34c1e0; 1 drivers
o0xbaa8549c0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_18 .net/s v0xbab2fbde0 18, 39 0, o0xbaa8549c0; 0 drivers
o0xbaa8549f0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_19 .net/s v0xbab2fbde0 19, 39 0, o0xbaa8549f0; 0 drivers
o0xbaa854a20 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_20 .net/s v0xbab2fbde0 20, 39 0, o0xbaa854a20; 0 drivers
o0xbaa854a50 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_21 .net/s v0xbab2fbde0 21, 39 0, o0xbaa854a50; 0 drivers
o0xbaa854a80 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_22 .net/s v0xbab2fbde0 22, 39 0, o0xbaa854a80; 0 drivers
o0xbaa854ab0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_23 .net/s v0xbab2fbde0 23, 39 0, o0xbaa854ab0; 0 drivers
v0xbab2fbde0_24 .net/s v0xbab2fbde0 24, 39 0, L_0xbab34c280; 1 drivers
o0xbaa854b10 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_25 .net/s v0xbab2fbde0 25, 39 0, o0xbaa854b10; 0 drivers
o0xbaa854b40 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_26 .net/s v0xbab2fbde0 26, 39 0, o0xbaa854b40; 0 drivers
o0xbaa854b70 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_27 .net/s v0xbab2fbde0 27, 39 0, o0xbaa854b70; 0 drivers
o0xbaa854ba0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_28 .net/s v0xbab2fbde0 28, 39 0, o0xbaa854ba0; 0 drivers
o0xbaa854bd0 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_29 .net/s v0xbab2fbde0 29, 39 0, o0xbaa854bd0; 0 drivers
o0xbaa854c00 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_30 .net/s v0xbab2fbde0 30, 39 0, o0xbaa854c00; 0 drivers
o0xbaa854c30 .functor BUFZ 40, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab2fbde0_31 .net/s v0xbab2fbde0 31, 39 0, o0xbaa854c30; 0 drivers
v0xbab2fbe80_0 .net/s "w_bus", 127 0, L_0xbab3455e0;  alias, 1 drivers
v0xbab2fbf20_0 .net/s "x_bus", 127 0, L_0xbab345540;  alias, 1 drivers
L_0xbab345720 .part L_0xbab345540, 0, 16;
L_0xbab3457c0 .part L_0xbab3455e0, 0, 16;
L_0xbab345900 .part L_0xbab345540, 16, 16;
L_0xbab3459a0 .part L_0xbab3455e0, 16, 16;
L_0xbab345ae0 .part L_0xbab345540, 32, 16;
L_0xbab345b80 .part L_0xbab3455e0, 32, 16;
L_0xbab345cc0 .part L_0xbab345540, 48, 16;
L_0xbab345d60 .part L_0xbab3455e0, 48, 16;
L_0xbab345ea0 .part L_0xbab345540, 64, 16;
L_0xbab345f40 .part L_0xbab3455e0, 64, 16;
L_0xbab346080 .part L_0xbab345540, 80, 16;
L_0xbab346120 .part L_0xbab3455e0, 80, 16;
L_0xbab346260 .part L_0xbab345540, 96, 16;
L_0xbab346300 .part L_0xbab3455e0, 96, 16;
L_0xbab346440 .part L_0xbab345540, 112, 16;
L_0xbab3464e0 .part L_0xbab3455e0, 112, 16;
L_0xbab34c320 .arith/sum 40, v0xbab3008c0_0, L_0xbab34c280;
S_0xbab2fc180 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad50d80 .param/l "i" 1 5 20, +C4<00>;
S_0xbab2fc300 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2fc180;
 .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_0xbaad4e7c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e800 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e840 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2f8a00_0 .net/s *"_ivl_0", 31 0, L_0xbab342a80;  1 drivers
v0xbab2f8aa0_0 .net/s *"_ivl_2", 31 0, L_0xbab342b20;  1 drivers
v0xbab2f8b40_0 .net *"_ivl_7", 0 0, L_0xbab345680;  1 drivers
v0xbab2f8be0_0 .net *"_ivl_9", 7 0, L_0xbaad58dc0;  1 drivers
L_0xbaa879d50 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2f8c80_0 .net/s "acc_in", 39 0, L_0xbaa879d50;  1 drivers
v0xbab2f8d20_0 .net/s "acc_out", 39 0, L_0xbab342c60;  alias, 1 drivers
v0xbab2f8dc0_0 .net/s "product", 31 0, L_0xbaad58d20;  1 drivers
v0xbab2f8e60_0 .net/s "product_ext", 39 0, L_0xbab342bc0;  1 drivers
v0xbab2f8f00_0 .net/s "w", 15 0, L_0xbab3457c0;  1 drivers
v0xbab2f8fa0_0 .net/s "x", 15 0, L_0xbab345720;  1 drivers
L_0xbab342a80 .extend/s 32, L_0xbab345720;
L_0xbab342b20 .extend/s 32, L_0xbab3457c0;
L_0xbaad58d20 .arith/mult 32, L_0xbab342a80, L_0xbab342b20;
L_0xbab345680 .part L_0xbaad58d20, 31, 1;
L_0xbaad58dc0 .repeat 8, 8, L_0xbab345680;
L_0xbab342bc0 .concat [ 32 8 0 0], L_0xbaad58d20, L_0xbaad58dc0;
L_0xbab342c60 .arith/sum 40, L_0xbaa879d50, L_0xbab342bc0;
S_0xbab2fc480 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad50dc0 .param/l "i" 1 5 20, +C4<01>;
S_0xbab2fc600 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2fc480;
 .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_0xbaad4e880 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e8c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e900 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2f9040_0 .net/s *"_ivl_0", 31 0, L_0xbab342d00;  1 drivers
v0xbab2f90e0_0 .net/s *"_ivl_2", 31 0, L_0xbab342da0;  1 drivers
v0xbab2f9180_0 .net *"_ivl_7", 0 0, L_0xbab345860;  1 drivers
v0xbab2f9220_0 .net *"_ivl_9", 7 0, L_0xbaad58f00;  1 drivers
L_0xbaa879d98 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2f92c0_0 .net/s "acc_in", 39 0, L_0xbaa879d98;  1 drivers
v0xbab2f9360_0 .net/s "acc_out", 39 0, L_0xbab342ee0;  alias, 1 drivers
v0xbab2f9400_0 .net/s "product", 31 0, L_0xbaad58e60;  1 drivers
v0xbab2f94a0_0 .net/s "product_ext", 39 0, L_0xbab342e40;  1 drivers
v0xbab2f9540_0 .net/s "w", 15 0, L_0xbab3459a0;  1 drivers
v0xbab2f95e0_0 .net/s "x", 15 0, L_0xbab345900;  1 drivers
L_0xbab342d00 .extend/s 32, L_0xbab345900;
L_0xbab342da0 .extend/s 32, L_0xbab3459a0;
L_0xbaad58e60 .arith/mult 32, L_0xbab342d00, L_0xbab342da0;
L_0xbab345860 .part L_0xbaad58e60, 31, 1;
L_0xbaad58f00 .repeat 8, 8, L_0xbab345860;
L_0xbab342e40 .concat [ 32 8 0 0], L_0xbaad58e60, L_0xbaad58f00;
L_0xbab342ee0 .arith/sum 40, L_0xbaa879d98, L_0xbab342e40;
S_0xbab2fc780 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad50e00 .param/l "i" 1 5 20, +C4<010>;
S_0xbab2fc900 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2fc780;
 .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_0xbaad4e940 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4e980 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4e9c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2f9680_0 .net/s *"_ivl_0", 31 0, L_0xbab342f80;  1 drivers
v0xbab2f9720_0 .net/s *"_ivl_2", 31 0, L_0xbab343020;  1 drivers
v0xbab2f97c0_0 .net *"_ivl_7", 0 0, L_0xbab345a40;  1 drivers
v0xbab2f9860_0 .net *"_ivl_9", 7 0, L_0xbaad59040;  1 drivers
L_0xbaa879de0 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2f9900_0 .net/s "acc_in", 39 0, L_0xbaa879de0;  1 drivers
v0xbab2f99a0_0 .net/s "acc_out", 39 0, L_0xbab343160;  alias, 1 drivers
v0xbab2f9a40_0 .net/s "product", 31 0, L_0xbaad58fa0;  1 drivers
v0xbab2f9ae0_0 .net/s "product_ext", 39 0, L_0xbab3430c0;  1 drivers
v0xbab2f9b80_0 .net/s "w", 15 0, L_0xbab345b80;  1 drivers
v0xbab2f9c20_0 .net/s "x", 15 0, L_0xbab345ae0;  1 drivers
L_0xbab342f80 .extend/s 32, L_0xbab345ae0;
L_0xbab343020 .extend/s 32, L_0xbab345b80;
L_0xbaad58fa0 .arith/mult 32, L_0xbab342f80, L_0xbab343020;
L_0xbab345a40 .part L_0xbaad58fa0, 31, 1;
L_0xbaad59040 .repeat 8, 8, L_0xbab345a40;
L_0xbab3430c0 .concat [ 32 8 0 0], L_0xbaad58fa0, L_0xbaad59040;
L_0xbab343160 .arith/sum 40, L_0xbaa879de0, L_0xbab3430c0;
S_0xbab2fca80 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad50e40 .param/l "i" 1 5 20, +C4<011>;
S_0xbab2fcc00 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2fca80;
 .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_0xbaad4ea00 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4ea40 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4ea80 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2f9cc0_0 .net/s *"_ivl_0", 31 0, L_0xbab343200;  1 drivers
v0xbab2f9d60_0 .net/s *"_ivl_2", 31 0, L_0xbab3432a0;  1 drivers
v0xbab2f9e00_0 .net *"_ivl_7", 0 0, L_0xbab345c20;  1 drivers
v0xbab2f9ea0_0 .net *"_ivl_9", 7 0, L_0xbaad59180;  1 drivers
L_0xbaa879e28 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2f9f40_0 .net/s "acc_in", 39 0, L_0xbaa879e28;  1 drivers
v0xbab2f9fe0_0 .net/s "acc_out", 39 0, L_0xbab3433e0;  alias, 1 drivers
v0xbab2fa080_0 .net/s "product", 31 0, L_0xbaad590e0;  1 drivers
v0xbab2fa120_0 .net/s "product_ext", 39 0, L_0xbab343340;  1 drivers
v0xbab2fa1c0_0 .net/s "w", 15 0, L_0xbab345d60;  1 drivers
v0xbab2fa260_0 .net/s "x", 15 0, L_0xbab345cc0;  1 drivers
L_0xbab343200 .extend/s 32, L_0xbab345cc0;
L_0xbab3432a0 .extend/s 32, L_0xbab345d60;
L_0xbaad590e0 .arith/mult 32, L_0xbab343200, L_0xbab3432a0;
L_0xbab345c20 .part L_0xbaad590e0, 31, 1;
L_0xbaad59180 .repeat 8, 8, L_0xbab345c20;
L_0xbab343340 .concat [ 32 8 0 0], L_0xbaad590e0, L_0xbaad59180;
L_0xbab3433e0 .arith/sum 40, L_0xbaa879e28, L_0xbab343340;
S_0xbab2fcd80 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad50ec0 .param/l "i" 1 5 20, +C4<0100>;
S_0xbab2fcf00 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2fcd80;
 .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_0xbaad4eac0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4eb00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4eb40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2fa300_0 .net/s *"_ivl_0", 31 0, L_0xbab343480;  1 drivers
v0xbab2fa3a0_0 .net/s *"_ivl_2", 31 0, L_0xbab343520;  1 drivers
v0xbab2fa440_0 .net *"_ivl_7", 0 0, L_0xbab345e00;  1 drivers
v0xbab2fa4e0_0 .net *"_ivl_9", 7 0, L_0xbaad592c0;  1 drivers
L_0xbaa879e70 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2fa580_0 .net/s "acc_in", 39 0, L_0xbaa879e70;  1 drivers
v0xbab2fa620_0 .net/s "acc_out", 39 0, L_0xbab343660;  alias, 1 drivers
v0xbab2fa6c0_0 .net/s "product", 31 0, L_0xbaad59220;  1 drivers
v0xbab2fa760_0 .net/s "product_ext", 39 0, L_0xbab3435c0;  1 drivers
v0xbab2fa800_0 .net/s "w", 15 0, L_0xbab345f40;  1 drivers
v0xbab2fa8a0_0 .net/s "x", 15 0, L_0xbab345ea0;  1 drivers
L_0xbab343480 .extend/s 32, L_0xbab345ea0;
L_0xbab343520 .extend/s 32, L_0xbab345f40;
L_0xbaad59220 .arith/mult 32, L_0xbab343480, L_0xbab343520;
L_0xbab345e00 .part L_0xbaad59220, 31, 1;
L_0xbaad592c0 .repeat 8, 8, L_0xbab345e00;
L_0xbab3435c0 .concat [ 32 8 0 0], L_0xbaad59220, L_0xbaad592c0;
L_0xbab343660 .arith/sum 40, L_0xbaa879e70, L_0xbab3435c0;
S_0xbab2fd080 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad50f00 .param/l "i" 1 5 20, +C4<0101>;
S_0xbab2fd200 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2fd080;
 .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_0xbaad4eb80 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4ebc0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4ec00 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2fa940_0 .net/s *"_ivl_0", 31 0, L_0xbab343700;  1 drivers
v0xbab2fa9e0_0 .net/s *"_ivl_2", 31 0, L_0xbab3437a0;  1 drivers
v0xbab2faa80_0 .net *"_ivl_7", 0 0, L_0xbab345fe0;  1 drivers
v0xbab2fab20_0 .net *"_ivl_9", 7 0, L_0xbaad59400;  1 drivers
L_0xbaa879eb8 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2fabc0_0 .net/s "acc_in", 39 0, L_0xbaa879eb8;  1 drivers
v0xbab2fac60_0 .net/s "acc_out", 39 0, L_0xbab3438e0;  alias, 1 drivers
v0xbab2fad00_0 .net/s "product", 31 0, L_0xbaad59360;  1 drivers
v0xbab2fada0_0 .net/s "product_ext", 39 0, L_0xbab343840;  1 drivers
v0xbab2fae40_0 .net/s "w", 15 0, L_0xbab346120;  1 drivers
v0xbab2faee0_0 .net/s "x", 15 0, L_0xbab346080;  1 drivers
L_0xbab343700 .extend/s 32, L_0xbab346080;
L_0xbab3437a0 .extend/s 32, L_0xbab346120;
L_0xbaad59360 .arith/mult 32, L_0xbab343700, L_0xbab3437a0;
L_0xbab345fe0 .part L_0xbaad59360, 31, 1;
L_0xbaad59400 .repeat 8, 8, L_0xbab345fe0;
L_0xbab343840 .concat [ 32 8 0 0], L_0xbaad59360, L_0xbaad59400;
L_0xbab3438e0 .arith/sum 40, L_0xbaa879eb8, L_0xbab343840;
S_0xbab2fd380 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad50f40 .param/l "i" 1 5 20, +C4<0110>;
S_0xbab2fd500 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2fd380;
 .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_0xbaad4ec40 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4ec80 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4ecc0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2faf80_0 .net/s *"_ivl_0", 31 0, L_0xbab343980;  1 drivers
v0xbab2fb020_0 .net/s *"_ivl_2", 31 0, L_0xbab343a20;  1 drivers
v0xbab2fb0c0_0 .net *"_ivl_7", 0 0, L_0xbab3461c0;  1 drivers
v0xbab2fb160_0 .net *"_ivl_9", 7 0, L_0xbaad59540;  1 drivers
L_0xbaa879f00 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2fb200_0 .net/s "acc_in", 39 0, L_0xbaa879f00;  1 drivers
v0xbab2fb2a0_0 .net/s "acc_out", 39 0, L_0xbab343b60;  alias, 1 drivers
v0xbab2fb340_0 .net/s "product", 31 0, L_0xbaad594a0;  1 drivers
v0xbab2fb3e0_0 .net/s "product_ext", 39 0, L_0xbab343ac0;  1 drivers
v0xbab2fb480_0 .net/s "w", 15 0, L_0xbab346300;  1 drivers
v0xbab2fb520_0 .net/s "x", 15 0, L_0xbab346260;  1 drivers
L_0xbab343980 .extend/s 32, L_0xbab346260;
L_0xbab343a20 .extend/s 32, L_0xbab346300;
L_0xbaad594a0 .arith/mult 32, L_0xbab343980, L_0xbab343a20;
L_0xbab3461c0 .part L_0xbaad594a0, 31, 1;
L_0xbaad59540 .repeat 8, 8, L_0xbab3461c0;
L_0xbab343ac0 .concat [ 32 8 0 0], L_0xbaad594a0, L_0xbaad59540;
L_0xbab343b60 .arith/sum 40, L_0xbaa879f00, L_0xbab343ac0;
S_0xbab2fd680 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad50f80 .param/l "i" 1 5 20, +C4<0111>;
S_0xbab2fd800 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab2fd680;
 .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_0xbaad4ed00 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000101000>;
P_0xbaad4ed40 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000010000>;
P_0xbaad4ed80 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000100000>;
v0xbab2fb5c0_0 .net/s *"_ivl_0", 31 0, L_0xbab343c00;  1 drivers
v0xbab2fb660_0 .net/s *"_ivl_2", 31 0, L_0xbab343ca0;  1 drivers
v0xbab2fb700_0 .net *"_ivl_7", 0 0, L_0xbab3463a0;  1 drivers
v0xbab2fb7a0_0 .net *"_ivl_9", 7 0, L_0xbaad59680;  1 drivers
L_0xbaa879f48 .functor BUFT 1, C4<0000000000000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab2fb840_0 .net/s "acc_in", 39 0, L_0xbaa879f48;  1 drivers
v0xbab2fb8e0_0 .net/s "acc_out", 39 0, L_0xbab343de0;  alias, 1 drivers
v0xbab2fb980_0 .net/s "product", 31 0, L_0xbaad595e0;  1 drivers
v0xbab2fba20_0 .net/s "product_ext", 39 0, L_0xbab343d40;  1 drivers
v0xbab2fbac0_0 .net/s "w", 15 0, L_0xbab3464e0;  1 drivers
v0xbab2fbb60_0 .net/s "x", 15 0, L_0xbab346440;  1 drivers
L_0xbab343c00 .extend/s 32, L_0xbab346440;
L_0xbab343ca0 .extend/s 32, L_0xbab3464e0;
L_0xbaad595e0 .arith/mult 32, L_0xbab343c00, L_0xbab343ca0;
L_0xbab3463a0 .part L_0xbaad595e0, 31, 1;
L_0xbaad59680 .repeat 8, 8, L_0xbab3463a0;
L_0xbab343d40 .concat [ 32 8 0 0], L_0xbaad595e0, L_0xbaad59680;
L_0xbab343de0 .arith/sum 40, L_0xbaa879f48, L_0xbab343d40;
S_0xbab2fd980 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad50e80 .param/l "i" 1 5 80, +C4<00>;
L_0xbab069c00 .functor BUFZ 40, L_0xbab342c60, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2fdb00 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad50fc0 .param/l "i" 1 5 80, +C4<01>;
L_0xbab069c70 .functor BUFZ 40, L_0xbab342ee0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2fdc80 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad51000 .param/l "i" 1 5 80, +C4<010>;
L_0xbab069ce0 .functor BUFZ 40, L_0xbab343160, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2fde00 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad51040 .param/l "i" 1 5 80, +C4<011>;
L_0xbab069d50 .functor BUFZ 40, L_0xbab3433e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2fdf80 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad51080 .param/l "i" 1 5 80, +C4<0100>;
L_0xbab069dc0 .functor BUFZ 40, L_0xbab343660, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2fe100 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad510c0 .param/l "i" 1 5 80, +C4<0101>;
L_0xbab069e30 .functor BUFZ 40, L_0xbab3438e0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2fe280 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad51100 .param/l "i" 1 5 80, +C4<0110>;
L_0xbab069ea0 .functor BUFZ 40, L_0xbab343b60, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2fe400 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad51140 .param/l "i" 1 5 80, +C4<0111>;
L_0xbab069f10 .functor BUFZ 40, L_0xbab343de0, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>, C4<0000000000000000000000000000000000000000>;
S_0xbab2fe580 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad51180 .param/l "level" 1 5 92, +C4<00>;
S_0xbab2fe700 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2fe580;
 .timescale 0 0;
P_0xbaad511c0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab343e80 .arith/sum 40, L_0xbab069c00, L_0xbab069c70;
S_0xbab2fe880 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2fe580;
 .timescale 0 0;
P_0xbaad51200 .param/l "node" 1 5 94, +C4<01>;
L_0xbab343f20 .arith/sum 40, L_0xbab069ce0, L_0xbab069d50;
S_0xbab2fea00 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0xbab2fe580;
 .timescale 0 0;
P_0xbaad51240 .param/l "node" 1 5 94, +C4<010>;
L_0xbab34c000 .arith/sum 40, L_0xbab069dc0, L_0xbab069e30;
S_0xbab2feb80 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0xbab2fe580;
 .timescale 0 0;
P_0xbaad51280 .param/l "node" 1 5 94, +C4<011>;
L_0xbab34c0a0 .arith/sum 40, L_0xbab069ea0, L_0xbab069f10;
S_0xbab2fed00 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad512c0 .param/l "level" 1 5 92, +C4<01>;
S_0xbab2fee80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2fed00;
 .timescale 0 0;
P_0xbaad51300 .param/l "node" 1 5 94, +C4<00>;
L_0xbab34c140 .arith/sum 40, L_0xbab343e80, L_0xbab343f20;
S_0xbab2ff000 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab2fed00;
 .timescale 0 0;
P_0xbaad51340 .param/l "node" 1 5 94, +C4<01>;
L_0xbab34c1e0 .arith/sum 40, L_0xbab34c000, L_0xbab34c0a0;
S_0xbab2ff180 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0xbab2fc000;
 .timescale 0 0;
P_0xbaad51380 .param/l "level" 1 5 92, +C4<010>;
S_0xbab2ff300 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab2ff180;
 .timescale 0 0;
P_0xbaad513c0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab34c280 .arith/sum 40, L_0xbab34c140, L_0xbab34c1e0;
S_0x102e305e0 .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_0x102e30760 .param/l "ADDR_WIDTH" 0 7 2, +C4<00000000000000000000000000010110>;
P_0x102e307a0 .param/l "DATA_WIDTH" 0 7 3, +C4<00000000000000000000000000010000>;
P_0x102e307e0 .param/l "STATE_IDLE" 1 7 28, C4<00>;
P_0x102e30820 .param/l "STATE_WAIT" 1 7 29, C4<01>;
o0xbaa855650 .functor BUFZ 22, c4<zzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab3019a0_0 .net "addr", 21 0, o0xbaa855650;  0 drivers
o0xbaa855680 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab301a40_0 .net "clk", 0 0, o0xbaa855680;  0 drivers
o0xbaa8556b0 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab301ae0_0 .net "lb_n", 0 0, o0xbaa8556b0;  0 drivers
v0xbab301b80_0 .var "mem_addr", 21 0;
v0xbab301c20_0 .var "mem_lb_n", 0 0;
o0xbaa855740 .functor BUFZ 16, c4<zzzzzzzzzzzzzzzz>; HiZ drive
v0xbab301cc0_0 .net "mem_rdata", 15 0, o0xbaa855740;  0 drivers
o0xbaa855770 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab301d60_0 .net "mem_ready", 0 0, o0xbaa855770;  0 drivers
v0xbab301e00_0 .var "mem_req", 0 0;
v0xbab301ea0_0 .var "mem_ub_n", 0 0;
v0xbab301f40_0 .var "mem_wdata", 15 0;
v0xbab301fe0_0 .var "mem_wr", 0 0;
v0xbab302080_0 .var "rdata", 15 0;
v0xbab302120_0 .var "ready", 0 0;
o0xbaa8558c0 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab3021c0_0 .net "req", 0 0, o0xbaa8558c0;  0 drivers
o0xbaa8558f0 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab302260_0 .net "rst", 0 0, o0xbaa8558f0;  0 drivers
v0xbab302300_0 .var "state", 1 0;
o0xbaa855950 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab3023a0_0 .net "ub_n", 0 0, o0xbaa855950;  0 drivers
o0xbaa855980 .functor BUFZ 16, c4<zzzzzzzzzzzzzzzz>; HiZ drive
v0xbab302440_0 .net "wdata", 15 0, o0xbaa855980;  0 drivers
o0xbaa8559b0 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab3024e0_0 .net "wr", 0 0, o0xbaa8559b0;  0 drivers
E_0xbaad3a100 .event posedge, v0xbab301a40_0;
S_0x102e25b60 .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_0x102e30a40 .param/l "ADDR_WIDTH" 0 8 2, +C4<00000000000000000000000000010110>;
P_0x102e30a80 .param/l "DATA_WIDTH" 0 8 3, +C4<00000000000000000000000000010000>;
P_0x102e30ac0 .param/l "DEPTH" 0 8 4, +C4<00000000000000000001000000000000>;
P_0x102e30b00 .param/l "READ_LATENCY" 0 8 5, +C4<00000000000000000000000000000010>;
o0xbaa855d40 .functor BUFZ 22, c4<zzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab302580_0 .net "addr", 21 0, o0xbaa855d40;  0 drivers
v0xbab302620_0 .var "busy", 0 0;
o0xbaa855da0 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab3026c0_0 .net "clk", 0 0, o0xbaa855da0;  0 drivers
v0xbab302760_0 .var/i "delay_count", 31 0;
v0xbab302800_0 .var/i "i", 31 0;
v0xbab3028a0 .array "mem", 4095 0, 15 0;
v0xbab302940_0 .var "pending_addr", 21 0;
v0xbab3029e0_0 .var "pending_wdata", 15 0;
v0xbab302a80_0 .var "pending_wr", 0 0;
v0xbab302b20_0 .var "rdata", 15 0;
v0xbab302bc0_0 .var "ready", 0 0;
o0xbaa855f20 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab302c60_0 .net "req", 0 0, o0xbaa855f20;  0 drivers
o0xbaa855f50 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab302d00_0 .net "rst", 0 0, o0xbaa855f50;  0 drivers
o0xbaa855f80 .functor BUFZ 16, c4<zzzzzzzzzzzzzzzz>; HiZ drive
v0xbab302da0_0 .net "wdata", 15 0, o0xbaa855f80;  0 drivers
o0xbaa855fb0 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab302e40_0 .net "wr", 0 0, o0xbaa855fb0;  0 drivers
E_0xbaad3a140 .event posedge, v0xbab3026c0_0;
S_0x102e25ce0 .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_0x102e36080 .param/l "ACC_WIDTH" 0 9 8, +C4<00000000000000000000000000100000>;
P_0x102e360c0 .param/l "ADDR_WIDTH" 0 9 4, +C4<00000000000000000000000000010110>;
P_0x102e36100 .param/l "DATA_WIDTH" 0 9 5, +C4<00000000000000000000000000001000>;
P_0x102e36140 .param/l "N_INPUTS" 0 9 6, +C4<00000000000000000000000000100000>;
P_0x102e36180 .param/l "PARALLEL" 0 9 7, +C4<00000000000000000000000000001000>;
P_0x102e361c0 .param/l "STATE_IDLE" 1 9 49, C4<0000>;
P_0x102e36200 .param/l "STATE_READ_BIAS" 1 9 52, C4<0011>;
P_0x102e36240 .param/l "STATE_READ_W" 1 9 51, C4<0010>;
P_0x102e36280 .param/l "STATE_READ_X" 1 9 50, C4<0001>;
P_0x102e362c0 .param/l "STATE_START_N" 1 9 53, C4<0100>;
P_0x102e36300 .param/l "STATE_WAIT_N" 1 9 54, C4<0101>;
L_0xbab06bb80 .functor BUFZ 1, v0xbab309b80_0, C4<0>, C4<0>, C4<0>;
L_0xbab06bbf0 .functor BUFZ 1, v0xbab309d60_0, C4<0>, C4<0>, C4<0>;
L_0xbab06bc60 .functor BUFZ 22, v0xbab312e40_0, C4<0000000000000000000000>, C4<0000000000000000000000>, C4<0000000000000000000000>;
L_0xbab06bcd0 .functor BUFZ 8, v0xbab313520_0, C4<00000000>, C4<00000000>, C4<00000000>;
v0xbab312b20_0 .net *"_ivl_131", 0 0, L_0xbab3468a0;  1 drivers
L_0xbaa879f90 .functor BUFT 1, C4<00000000>, C4<0>, C4<0>, C4<0>;
v0xbab312bc0_0 .net/2u *"_ivl_132", 7 0, L_0xbaa879f90;  1 drivers
v0xbab312c60_0 .net *"_ivl_134", 15 0, L_0xbab34c820;  1 drivers
L_0xbaa879fd8 .functor BUFT 1, C4<00000000>, C4<0>, C4<0>, C4<0>;
v0xbab312d00_0 .net/2u *"_ivl_136", 7 0, L_0xbaa879fd8;  1 drivers
v0xbab312da0_0 .net *"_ivl_138", 15 0, L_0xbab34c8c0;  1 drivers
v0xbab312e40_0 .var "access_addr", 21 0;
v0xbab312ee0_0 .net "access_mem_addr", 21 0, v0xbab309900_0;  1 drivers
v0xbab312f80_0 .net "access_mem_lb_n", 0 0, v0xbab3099a0_0;  1 drivers
v0xbab313020_0 .net "access_mem_rdata", 15 0, L_0xbab346940;  1 drivers
v0xbab3130c0_0 .net "access_mem_req", 0 0, v0xbab309b80_0;  1 drivers
v0xbab313160_0 .net "access_mem_ub_n", 0 0, v0xbab309c20_0;  1 drivers
v0xbab313200_0 .net "access_mem_wdata", 15 0, v0xbab309cc0_0;  1 drivers
v0xbab3132a0_0 .net "access_mem_wr", 0 0, v0xbab309d60_0;  1 drivers
v0xbab313340_0 .net/s "access_rdata", 7 0, v0xbab309e00_0;  1 drivers
v0xbab3133e0_0 .net "access_ready", 0 0, v0xbab309ea0_0;  1 drivers
v0xbab313480_0 .var "access_req", 0 0;
v0xbab313520_0 .var/s "access_wdata", 7 0;
v0xbab3135c0_0 .var "access_wr", 0 0;
o0xbaa859760 .functor BUFZ 22, c4<zzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab313660_0 .net "bias_addr", 21 0, o0xbaa859760;  0 drivers
v0xbab313700_0 .var/s "bias_reg", 7 0;
v0xbab3137a0_0 .var "busy", 0 0;
o0xbaa856dc0 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab313840_0 .net "clk", 0 0, o0xbaa856dc0;  0 drivers
v0xbab3138e0_0 .var "done", 0 0;
v0xbab313980_0 .var "index", 5 0;
v0xbab313a20_0 .net "mem_addr", 21 0, L_0xbab06bc60;  1 drivers
o0xbaa859850 .functor BUFZ 8, c4<zzzzzzzz>; HiZ drive
v0xbab313ac0_0 .net/s "mem_rdata", 7 0, o0xbaa859850;  0 drivers
o0xbaa856e80 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab313b60_0 .net "mem_ready", 0 0, o0xbaa856e80;  0 drivers
v0xbab313c00_0 .net "mem_req", 0 0, L_0xbab06bb80;  1 drivers
v0xbab313ca0_0 .net/s "mem_wdata", 7 0, L_0xbab06bcd0;  1 drivers
v0xbab313d40_0 .net "mem_wr", 0 0, L_0xbab06bbf0;  1 drivers
v0xbab313de0_0 .net "neuron_busy", 0 0, v0xbab3123a0_0;  1 drivers
v0xbab313e80_0 .net "neuron_done", 0 0, v0xbab3124e0_0;  1 drivers
v0xbab313f20_0 .var "neuron_start", 0 0;
v0xbab31c000_0 .net/s "neuron_y", 7 0, v0xbab312a80_0;  1 drivers
o0xbaa857000 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab31c0a0_0 .net "rst", 0 0, o0xbaa857000;  0 drivers
o0xbaa859910 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab31c140_0 .net "start", 0 0, o0xbaa859910;  0 drivers
v0xbab31c1e0_0 .var "state", 3 0;
o0xbaa859970 .functor BUFZ 22, c4<zzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab31c280_0 .net "w_base", 21 0, o0xbaa859970;  0 drivers
v0xbab31c320_0 .net/s "w_bus", 255 0, L_0xbab34c780;  1 drivers
v0xbab31c3c0 .array/s "w_mem", 31 0, 7 0;
o0xbaa859fa0 .functor BUFZ 22, c4<zzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab31c460_0 .net "x_base", 21 0, o0xbaa859fa0;  0 drivers
v0xbab31c500_0 .net/s "x_bus", 255 0, L_0xbab34c6e0;  1 drivers
v0xbab31c5a0 .array/s "x_mem", 31 0, 7 0;
v0xbab31c640_0 .var/s "y", 7 0;
v0xbab31c5a0_0 .array/port v0xbab31c5a0, 0;
v0xbab31c5a0_1 .array/port v0xbab31c5a0, 1;
v0xbab31c5a0_2 .array/port v0xbab31c5a0, 2;
v0xbab31c5a0_3 .array/port v0xbab31c5a0, 3;
LS_0xbab34c6e0_0_0 .concat8 [ 8 8 8 8], v0xbab31c5a0_0, v0xbab31c5a0_1, v0xbab31c5a0_2, v0xbab31c5a0_3;
v0xbab31c5a0_4 .array/port v0xbab31c5a0, 4;
v0xbab31c5a0_5 .array/port v0xbab31c5a0, 5;
v0xbab31c5a0_6 .array/port v0xbab31c5a0, 6;
v0xbab31c5a0_7 .array/port v0xbab31c5a0, 7;
LS_0xbab34c6e0_0_4 .concat8 [ 8 8 8 8], v0xbab31c5a0_4, v0xbab31c5a0_5, v0xbab31c5a0_6, v0xbab31c5a0_7;
v0xbab31c5a0_8 .array/port v0xbab31c5a0, 8;
v0xbab31c5a0_9 .array/port v0xbab31c5a0, 9;
v0xbab31c5a0_10 .array/port v0xbab31c5a0, 10;
v0xbab31c5a0_11 .array/port v0xbab31c5a0, 11;
LS_0xbab34c6e0_0_8 .concat8 [ 8 8 8 8], v0xbab31c5a0_8, v0xbab31c5a0_9, v0xbab31c5a0_10, v0xbab31c5a0_11;
v0xbab31c5a0_12 .array/port v0xbab31c5a0, 12;
v0xbab31c5a0_13 .array/port v0xbab31c5a0, 13;
v0xbab31c5a0_14 .array/port v0xbab31c5a0, 14;
v0xbab31c5a0_15 .array/port v0xbab31c5a0, 15;
LS_0xbab34c6e0_0_12 .concat8 [ 8 8 8 8], v0xbab31c5a0_12, v0xbab31c5a0_13, v0xbab31c5a0_14, v0xbab31c5a0_15;
v0xbab31c5a0_16 .array/port v0xbab31c5a0, 16;
v0xbab31c5a0_17 .array/port v0xbab31c5a0, 17;
v0xbab31c5a0_18 .array/port v0xbab31c5a0, 18;
v0xbab31c5a0_19 .array/port v0xbab31c5a0, 19;
LS_0xbab34c6e0_0_16 .concat8 [ 8 8 8 8], v0xbab31c5a0_16, v0xbab31c5a0_17, v0xbab31c5a0_18, v0xbab31c5a0_19;
v0xbab31c5a0_20 .array/port v0xbab31c5a0, 20;
v0xbab31c5a0_21 .array/port v0xbab31c5a0, 21;
v0xbab31c5a0_22 .array/port v0xbab31c5a0, 22;
v0xbab31c5a0_23 .array/port v0xbab31c5a0, 23;
LS_0xbab34c6e0_0_20 .concat8 [ 8 8 8 8], v0xbab31c5a0_20, v0xbab31c5a0_21, v0xbab31c5a0_22, v0xbab31c5a0_23;
v0xbab31c5a0_24 .array/port v0xbab31c5a0, 24;
v0xbab31c5a0_25 .array/port v0xbab31c5a0, 25;
v0xbab31c5a0_26 .array/port v0xbab31c5a0, 26;
v0xbab31c5a0_27 .array/port v0xbab31c5a0, 27;
LS_0xbab34c6e0_0_24 .concat8 [ 8 8 8 8], v0xbab31c5a0_24, v0xbab31c5a0_25, v0xbab31c5a0_26, v0xbab31c5a0_27;
v0xbab31c5a0_28 .array/port v0xbab31c5a0, 28;
v0xbab31c5a0_29 .array/port v0xbab31c5a0, 29;
v0xbab31c5a0_30 .array/port v0xbab31c5a0, 30;
v0xbab31c5a0_31 .array/port v0xbab31c5a0, 31;
LS_0xbab34c6e0_0_28 .concat8 [ 8 8 8 8], v0xbab31c5a0_28, v0xbab31c5a0_29, v0xbab31c5a0_30, v0xbab31c5a0_31;
LS_0xbab34c6e0_1_0 .concat8 [ 32 32 32 32], LS_0xbab34c6e0_0_0, LS_0xbab34c6e0_0_4, LS_0xbab34c6e0_0_8, LS_0xbab34c6e0_0_12;
LS_0xbab34c6e0_1_4 .concat8 [ 32 32 32 32], LS_0xbab34c6e0_0_16, LS_0xbab34c6e0_0_20, LS_0xbab34c6e0_0_24, LS_0xbab34c6e0_0_28;
L_0xbab34c6e0 .concat8 [ 128 128 0 0], LS_0xbab34c6e0_1_0, LS_0xbab34c6e0_1_4;
v0xbab31c3c0_0 .array/port v0xbab31c3c0, 0;
v0xbab31c3c0_1 .array/port v0xbab31c3c0, 1;
v0xbab31c3c0_2 .array/port v0xbab31c3c0, 2;
v0xbab31c3c0_3 .array/port v0xbab31c3c0, 3;
LS_0xbab34c780_0_0 .concat8 [ 8 8 8 8], v0xbab31c3c0_0, v0xbab31c3c0_1, v0xbab31c3c0_2, v0xbab31c3c0_3;
v0xbab31c3c0_4 .array/port v0xbab31c3c0, 4;
v0xbab31c3c0_5 .array/port v0xbab31c3c0, 5;
v0xbab31c3c0_6 .array/port v0xbab31c3c0, 6;
v0xbab31c3c0_7 .array/port v0xbab31c3c0, 7;
LS_0xbab34c780_0_4 .concat8 [ 8 8 8 8], v0xbab31c3c0_4, v0xbab31c3c0_5, v0xbab31c3c0_6, v0xbab31c3c0_7;
v0xbab31c3c0_8 .array/port v0xbab31c3c0, 8;
v0xbab31c3c0_9 .array/port v0xbab31c3c0, 9;
v0xbab31c3c0_10 .array/port v0xbab31c3c0, 10;
v0xbab31c3c0_11 .array/port v0xbab31c3c0, 11;
LS_0xbab34c780_0_8 .concat8 [ 8 8 8 8], v0xbab31c3c0_8, v0xbab31c3c0_9, v0xbab31c3c0_10, v0xbab31c3c0_11;
v0xbab31c3c0_12 .array/port v0xbab31c3c0, 12;
v0xbab31c3c0_13 .array/port v0xbab31c3c0, 13;
v0xbab31c3c0_14 .array/port v0xbab31c3c0, 14;
v0xbab31c3c0_15 .array/port v0xbab31c3c0, 15;
LS_0xbab34c780_0_12 .concat8 [ 8 8 8 8], v0xbab31c3c0_12, v0xbab31c3c0_13, v0xbab31c3c0_14, v0xbab31c3c0_15;
v0xbab31c3c0_16 .array/port v0xbab31c3c0, 16;
v0xbab31c3c0_17 .array/port v0xbab31c3c0, 17;
v0xbab31c3c0_18 .array/port v0xbab31c3c0, 18;
v0xbab31c3c0_19 .array/port v0xbab31c3c0, 19;
LS_0xbab34c780_0_16 .concat8 [ 8 8 8 8], v0xbab31c3c0_16, v0xbab31c3c0_17, v0xbab31c3c0_18, v0xbab31c3c0_19;
v0xbab31c3c0_20 .array/port v0xbab31c3c0, 20;
v0xbab31c3c0_21 .array/port v0xbab31c3c0, 21;
v0xbab31c3c0_22 .array/port v0xbab31c3c0, 22;
v0xbab31c3c0_23 .array/port v0xbab31c3c0, 23;
LS_0xbab34c780_0_20 .concat8 [ 8 8 8 8], v0xbab31c3c0_20, v0xbab31c3c0_21, v0xbab31c3c0_22, v0xbab31c3c0_23;
v0xbab31c3c0_24 .array/port v0xbab31c3c0, 24;
v0xbab31c3c0_25 .array/port v0xbab31c3c0, 25;
v0xbab31c3c0_26 .array/port v0xbab31c3c0, 26;
v0xbab31c3c0_27 .array/port v0xbab31c3c0, 27;
LS_0xbab34c780_0_24 .concat8 [ 8 8 8 8], v0xbab31c3c0_24, v0xbab31c3c0_25, v0xbab31c3c0_26, v0xbab31c3c0_27;
v0xbab31c3c0_28 .array/port v0xbab31c3c0, 28;
v0xbab31c3c0_29 .array/port v0xbab31c3c0, 29;
v0xbab31c3c0_30 .array/port v0xbab31c3c0, 30;
v0xbab31c3c0_31 .array/port v0xbab31c3c0, 31;
LS_0xbab34c780_0_28 .concat8 [ 8 8 8 8], v0xbab31c3c0_28, v0xbab31c3c0_29, v0xbab31c3c0_30, v0xbab31c3c0_31;
LS_0xbab34c780_1_0 .concat8 [ 32 32 32 32], LS_0xbab34c780_0_0, LS_0xbab34c780_0_4, LS_0xbab34c780_0_8, LS_0xbab34c780_0_12;
LS_0xbab34c780_1_4 .concat8 [ 32 32 32 32], LS_0xbab34c780_0_16, LS_0xbab34c780_0_20, LS_0xbab34c780_0_24, LS_0xbab34c780_0_28;
L_0xbab34c780 .concat8 [ 128 128 0 0], LS_0xbab34c780_1_0, LS_0xbab34c780_1_4;
L_0xbab3468a0 .part v0xbab312e40_0, 0, 1;
L_0xbab34c820 .concat [ 8 8 0 0], L_0xbaa879f90, o0xbaa859850;
L_0xbab34c8c0 .concat [ 8 8 0 0], o0xbaa859850, L_0xbaa879fd8;
L_0xbab346940 .functor MUXZ 16, L_0xbab34c8c0, L_0xbab34c820, L_0xbab3468a0, C4<>;
S_0xbab2ff480 .scope generate, "GEN_BUS[0]" "GEN_BUS[0]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51440 .param/l "i" 1 9 79, +C4<00>;
v0xbab302ee0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_0;  1 drivers
v0xbab302f80_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_0;  1 drivers
S_0xbab2ff600 .scope generate, "GEN_BUS[1]" "GEN_BUS[1]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51480 .param/l "i" 1 9 79, +C4<01>;
v0xbab303020_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_1;  1 drivers
v0xbab3030c0_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_1;  1 drivers
S_0xbab2ff780 .scope generate, "GEN_BUS[2]" "GEN_BUS[2]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad514c0 .param/l "i" 1 9 79, +C4<010>;
v0xbab303160_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_2;  1 drivers
v0xbab303200_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_2;  1 drivers
S_0xbab2ff900 .scope generate, "GEN_BUS[3]" "GEN_BUS[3]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51500 .param/l "i" 1 9 79, +C4<011>;
v0xbab3032a0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_3;  1 drivers
v0xbab303340_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_3;  1 drivers
S_0xbab2ffa80 .scope generate, "GEN_BUS[4]" "GEN_BUS[4]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51580 .param/l "i" 1 9 79, +C4<0100>;
v0xbab3033e0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_4;  1 drivers
v0xbab303480_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_4;  1 drivers
S_0xbab2ffc00 .scope generate, "GEN_BUS[5]" "GEN_BUS[5]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad515c0 .param/l "i" 1 9 79, +C4<0101>;
v0xbab303520_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_5;  1 drivers
v0xbab3035c0_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_5;  1 drivers
S_0xbab2ffd80 .scope generate, "GEN_BUS[6]" "GEN_BUS[6]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51600 .param/l "i" 1 9 79, +C4<0110>;
v0xbab303660_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_6;  1 drivers
v0xbab303700_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_6;  1 drivers
S_0xbab304000 .scope generate, "GEN_BUS[7]" "GEN_BUS[7]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51640 .param/l "i" 1 9 79, +C4<0111>;
v0xbab3037a0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_7;  1 drivers
v0xbab303840_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_7;  1 drivers
S_0xbab304180 .scope generate, "GEN_BUS[8]" "GEN_BUS[8]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51540 .param/l "i" 1 9 79, +C4<01000>;
v0xbab3038e0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_8;  1 drivers
v0xbab303980_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_8;  1 drivers
S_0xbab304300 .scope generate, "GEN_BUS[9]" "GEN_BUS[9]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51680 .param/l "i" 1 9 79, +C4<01001>;
v0xbab303a20_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_9;  1 drivers
v0xbab303ac0_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_9;  1 drivers
S_0xbab304480 .scope generate, "GEN_BUS[10]" "GEN_BUS[10]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad516c0 .param/l "i" 1 9 79, +C4<01010>;
v0xbab303b60_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_10;  1 drivers
v0xbab303c00_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_10;  1 drivers
S_0xbab304600 .scope generate, "GEN_BUS[11]" "GEN_BUS[11]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51700 .param/l "i" 1 9 79, +C4<01011>;
v0xbab303ca0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_11;  1 drivers
v0xbab303d40_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_11;  1 drivers
S_0xbab304780 .scope generate, "GEN_BUS[12]" "GEN_BUS[12]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51740 .param/l "i" 1 9 79, +C4<01100>;
v0xbab303de0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_12;  1 drivers
v0xbab303e80_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_12;  1 drivers
S_0xbab304900 .scope generate, "GEN_BUS[13]" "GEN_BUS[13]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51780 .param/l "i" 1 9 79, +C4<01101>;
v0xbab303f20_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_13;  1 drivers
v0xbab308000_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_13;  1 drivers
S_0xbab304a80 .scope generate, "GEN_BUS[14]" "GEN_BUS[14]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad517c0 .param/l "i" 1 9 79, +C4<01110>;
v0xbab3080a0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_14;  1 drivers
v0xbab308140_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_14;  1 drivers
S_0xbab304c00 .scope generate, "GEN_BUS[15]" "GEN_BUS[15]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51800 .param/l "i" 1 9 79, +C4<01111>;
v0xbab3081e0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_15;  1 drivers
v0xbab308280_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_15;  1 drivers
S_0xbab304d80 .scope generate, "GEN_BUS[16]" "GEN_BUS[16]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51840 .param/l "i" 1 9 79, +C4<010000>;
v0xbab308320_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_16;  1 drivers
v0xbab3083c0_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_16;  1 drivers
S_0xbab304f00 .scope generate, "GEN_BUS[17]" "GEN_BUS[17]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51880 .param/l "i" 1 9 79, +C4<010001>;
v0xbab308460_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_17;  1 drivers
v0xbab308500_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_17;  1 drivers
S_0xbab305080 .scope generate, "GEN_BUS[18]" "GEN_BUS[18]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad518c0 .param/l "i" 1 9 79, +C4<010010>;
v0xbab3085a0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_18;  1 drivers
v0xbab308640_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_18;  1 drivers
S_0xbab305200 .scope generate, "GEN_BUS[19]" "GEN_BUS[19]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51900 .param/l "i" 1 9 79, +C4<010011>;
v0xbab3086e0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_19;  1 drivers
v0xbab308780_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_19;  1 drivers
S_0xbab305380 .scope generate, "GEN_BUS[20]" "GEN_BUS[20]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51940 .param/l "i" 1 9 79, +C4<010100>;
v0xbab308820_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_20;  1 drivers
v0xbab3088c0_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_20;  1 drivers
S_0xbab305500 .scope generate, "GEN_BUS[21]" "GEN_BUS[21]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51980 .param/l "i" 1 9 79, +C4<010101>;
v0xbab308960_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_21;  1 drivers
v0xbab308a00_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_21;  1 drivers
S_0xbab305680 .scope generate, "GEN_BUS[22]" "GEN_BUS[22]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad519c0 .param/l "i" 1 9 79, +C4<010110>;
v0xbab308aa0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_22;  1 drivers
v0xbab308b40_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_22;  1 drivers
S_0xbab305800 .scope generate, "GEN_BUS[23]" "GEN_BUS[23]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51a00 .param/l "i" 1 9 79, +C4<010111>;
v0xbab308be0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_23;  1 drivers
v0xbab308c80_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_23;  1 drivers
S_0xbab305980 .scope generate, "GEN_BUS[24]" "GEN_BUS[24]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51a40 .param/l "i" 1 9 79, +C4<011000>;
v0xbab308d20_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_24;  1 drivers
v0xbab308dc0_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_24;  1 drivers
S_0xbab305b00 .scope generate, "GEN_BUS[25]" "GEN_BUS[25]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51a80 .param/l "i" 1 9 79, +C4<011001>;
v0xbab308e60_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_25;  1 drivers
v0xbab308f00_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_25;  1 drivers
S_0xbab305c80 .scope generate, "GEN_BUS[26]" "GEN_BUS[26]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51ac0 .param/l "i" 1 9 79, +C4<011010>;
v0xbab308fa0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_26;  1 drivers
v0xbab309040_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_26;  1 drivers
S_0xbab305e00 .scope generate, "GEN_BUS[27]" "GEN_BUS[27]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51b00 .param/l "i" 1 9 79, +C4<011011>;
v0xbab3090e0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_27;  1 drivers
v0xbab309180_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_27;  1 drivers
S_0xbab305f80 .scope generate, "GEN_BUS[28]" "GEN_BUS[28]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51b40 .param/l "i" 1 9 79, +C4<011100>;
v0xbab309220_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_28;  1 drivers
v0xbab3092c0_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_28;  1 drivers
S_0xbab306100 .scope generate, "GEN_BUS[29]" "GEN_BUS[29]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51b80 .param/l "i" 1 9 79, +C4<011101>;
v0xbab309360_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_29;  1 drivers
v0xbab309400_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_29;  1 drivers
S_0xbab306280 .scope generate, "GEN_BUS[30]" "GEN_BUS[30]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51bc0 .param/l "i" 1 9 79, +C4<011110>;
v0xbab3094a0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_30;  1 drivers
v0xbab309540_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_30;  1 drivers
S_0xbab306400 .scope generate, "GEN_BUS[31]" "GEN_BUS[31]" 9 79, 9 79 0, S_0x102e25ce0;
 .timescale -9 -12;
P_0xbaad51c00 .param/l "i" 1 9 79, +C4<011111>;
v0xbab3095e0_0 .net *"_ivl_2", 7 0, v0xbab31c5a0_31;  1 drivers
v0xbab309680_0 .net *"_ivl_5", 7 0, v0xbab31c3c0_31;  1 drivers
S_0xbab306580 .scope module, "u_mem" "int8_memory_access" 9 142, 10 1 0, S_0x102e25ce0;
 .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_0xbaad4edc0 .param/l "ADDR_WIDTH" 0 10 2, +C4<00000000000000000000000000010110>;
P_0xbaad4ee00 .param/l "STATE_IDLE" 1 10 40, C4<00>;
P_0xbaad4ee40 .param/l "STATE_WAIT" 1 10 41, C4<01>;
v0xbab309720_0 .net "addr", 21 0, v0xbab312e40_0;  1 drivers
v0xbab3097c0_0 .var "addr_reg", 21 0;
v0xbab309860_0 .net "clk", 0 0, o0xbaa856dc0;  alias, 0 drivers
v0xbab309900_0 .var "mem_addr", 21 0;
v0xbab3099a0_0 .var "mem_lb_n", 0 0;
v0xbab309a40_0 .net "mem_rdata", 15 0, L_0xbab346940;  alias, 1 drivers
v0xbab309ae0_0 .net "mem_ready", 0 0, o0xbaa856e80;  alias, 0 drivers
v0xbab309b80_0 .var "mem_req", 0 0;
v0xbab309c20_0 .var "mem_ub_n", 0 0;
v0xbab309cc0_0 .var "mem_wdata", 15 0;
v0xbab309d60_0 .var "mem_wr", 0 0;
v0xbab309e00_0 .var/s "rdata", 7 0;
v0xbab309ea0_0 .var "ready", 0 0;
v0xbab309f40_0 .net "req", 0 0, v0xbab313480_0;  1 drivers
v0xbab309fe0_0 .net "rst", 0 0, o0xbaa857000;  alias, 0 drivers
v0xbab30a080_0 .var "state", 1 0;
v0xbab30a120_0 .net/s "wdata", 7 0, v0xbab313520_0;  1 drivers
v0xbab30a1c0_0 .net "wr", 0 0, v0xbab3135c0_0;  1 drivers
E_0xbaad3a1c0 .event posedge, v0xbab309860_0;
S_0xbab306700 .scope module, "u_neuron" "neuron_parallel" 9 203, 4 1 0, S_0x102e25ce0;
 .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_0xbab2bc900 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000100000>;
P_0xbab2bc940 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000001000>;
P_0xbab2bc980 .param/l "GROUPS" 1 4 20, +C4<00000000000000000000000000000100>;
P_0xbab2bc9c0 .param/l "GROUP_INDEX_WIDTH" 1 4 21, +C4<00000000000000000000000000000010>;
P_0xbab2bca00 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000000100000>;
P_0xbab2bca40 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0xbab311860_0 .net *"_ivl_0", 31 0, L_0xbab34c960;  1 drivers
v0xbab311900_0 .net *"_ivl_11", 31 0, L_0xbaad59900;  1 drivers
v0xbab3119a0_0 .net *"_ivl_14", 31 0, L_0xbab34ca00;  1 drivers
L_0xbaa87a0f8 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab311a40_0 .net *"_ivl_17", 29 0, L_0xbaa87a0f8;  1 drivers
L_0xbaa87a140 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab311ae0_0 .net/2u *"_ivl_18", 31 0, L_0xbaa87a140;  1 drivers
v0xbab311b80_0 .net *"_ivl_21", 31 0, L_0xbaad599a0;  1 drivers
L_0xbaa87a188 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab311c20_0 .net/2u *"_ivl_22", 31 0, L_0xbaa87a188;  1 drivers
v0xbab311cc0_0 .net *"_ivl_25", 31 0, L_0xbaad59a40;  1 drivers
v0xbab311d60_0 .net *"_ivl_29", 0 0, L_0xbab347a20;  1 drivers
L_0xbaa87a020 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab311e00_0 .net *"_ivl_3", 29 0, L_0xbaa87a020;  1 drivers
v0xbab311ea0_0 .net *"_ivl_31", 23 0, L_0xbaad5a580;  1 drivers
L_0xbaa87a068 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab311f40_0 .net/2u *"_ivl_4", 31 0, L_0xbaa87a068;  1 drivers
v0xbab311fe0_0 .net *"_ivl_7", 31 0, L_0xbaad59860;  1 drivers
L_0xbaa87a0b0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab312080_0 .net/2u *"_ivl_8", 31 0, L_0xbaa87a0b0;  1 drivers
v0xbab312120_0 .var/s "acc", 31 0;
v0xbab3121c0_0 .net/s "acc_next", 31 0, L_0xbab34e300;  1 drivers
v0xbab312260_0 .net/s "bias", 7 0, v0xbab313700_0;  1 drivers
v0xbab312300_0 .net/s "bias_ext", 31 0, L_0xbab34e3a0;  1 drivers
v0xbab3123a0_0 .var "busy", 0 0;
v0xbab312440_0 .net "clk", 0 0, o0xbaa856dc0;  alias, 0 drivers
v0xbab3124e0_0 .var "done", 0 0;
v0xbab312580_0 .net/s "final_acc", 31 0, L_0xbab34e440;  1 drivers
v0xbab312620_0 .var "group_index", 1 0;
v0xbab3126c0_0 .net "rst", 0 0, o0xbaa857000;  alias, 0 drivers
v0xbab312760_0 .net "start", 0 0, v0xbab313f20_0;  1 drivers
v0xbab312800_0 .net/s "w_bus", 255 0, L_0xbab34c780;  alias, 1 drivers
v0xbab3128a0_0 .net/s "w_group", 63 0, L_0xbab346a80;  1 drivers
v0xbab312940_0 .net/s "x_bus", 255 0, L_0xbab34c6e0;  alias, 1 drivers
v0xbab3129e0_0 .net/s "x_group", 63 0, L_0xbab3469e0;  1 drivers
v0xbab312a80_0 .var/s "y", 7 0;
L_0xbab34c960 .concat [ 2 30 0 0], v0xbab312620_0, L_0xbaa87a020;
L_0xbaad59860 .arith/mult 32, L_0xbab34c960, L_0xbaa87a068;
L_0xbaad59900 .arith/mult 32, L_0xbaad59860, L_0xbaa87a0b0;
L_0xbab3469e0 .part/v L_0xbab34c6e0, L_0xbaad59900, 64;
L_0xbab34ca00 .concat [ 2 30 0 0], v0xbab312620_0, L_0xbaa87a0f8;
L_0xbaad599a0 .arith/mult 32, L_0xbab34ca00, L_0xbaa87a140;
L_0xbaad59a40 .arith/mult 32, L_0xbaad599a0, L_0xbaa87a188;
L_0xbab346a80 .part/v L_0xbab34c780, L_0xbaad59a40, 64;
L_0xbab347a20 .part v0xbab313700_0, 7, 1;
L_0xbaad5a580 .repeat 24, 24, L_0xbab347a20;
L_0xbab34e3a0 .concat [ 8 24 0 0], v0xbab313700_0, L_0xbaad5a580;
L_0xbab34e440 .arith/sum 32, L_0xbab34e300, L_0xbab34e3a0;
S_0xbab306880 .scope module, "u_mac8" "mac8" 4 52, 5 1 0, S_0xbab306700;
 .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_0xbab295b00 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000100000>;
P_0xbab295b40 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000001000>;
P_0xbab295b80 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0xbab295bc0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0xbab3114a0_0 .net/s "acc_in", 31 0, v0xbab312120_0;  1 drivers
v0xbab311540_0 .net/s "acc_out", 31 0, L_0xbab34e300;  alias, 1 drivers
v0xbab3115e0 .array "products", 7 0;
v0xbab3115e0_0 .net/s v0xbab3115e0 0, 31 0, L_0xbab34cc80; 1 drivers
v0xbab3115e0_1 .net/s v0xbab3115e0 1, 31 0, L_0xbab34cf00; 1 drivers
v0xbab3115e0_2 .net/s v0xbab3115e0 2, 31 0, L_0xbab34d180; 1 drivers
v0xbab3115e0_3 .net/s v0xbab3115e0 3, 31 0, L_0xbab34d400; 1 drivers
v0xbab3115e0_4 .net/s v0xbab3115e0 4, 31 0, L_0xbab34d680; 1 drivers
v0xbab3115e0_5 .net/s v0xbab3115e0 5, 31 0, L_0xbab34d900; 1 drivers
v0xbab3115e0_6 .net/s v0xbab3115e0 6, 31 0, L_0xbab34db80; 1 drivers
v0xbab3115e0_7 .net/s v0xbab3115e0 7, 31 0, L_0xbab34de00; 1 drivers
v0xbab311680 .array "tree", 31 0;
v0xbab311680_0 .net/s v0xbab311680 0, 31 0, L_0xbab06bd40; 1 drivers
v0xbab311680_1 .net/s v0xbab311680 1, 31 0, L_0xbab06bdb0; 1 drivers
v0xbab311680_2 .net/s v0xbab311680 2, 31 0, L_0xbab06be20; 1 drivers
v0xbab311680_3 .net/s v0xbab311680 3, 31 0, L_0xbab06be90; 1 drivers
v0xbab311680_4 .net/s v0xbab311680 4, 31 0, L_0xbab06bf00; 1 drivers
v0xbab311680_5 .net/s v0xbab311680 5, 31 0, L_0xbab06bf70; 1 drivers
v0xbab311680_6 .net/s v0xbab311680 6, 31 0, L_0xbab35c000; 1 drivers
v0xbab311680_7 .net/s v0xbab311680 7, 31 0, L_0xbab360000; 1 drivers
v0xbab311680_8 .net/s v0xbab311680 8, 31 0, L_0xbab34dea0; 1 drivers
v0xbab311680_9 .net/s v0xbab311680 9, 31 0, L_0xbab34df40; 1 drivers
v0xbab311680_10 .net/s v0xbab311680 10, 31 0, L_0xbab34dfe0; 1 drivers
v0xbab311680_11 .net/s v0xbab311680 11, 31 0, L_0xbab34e080; 1 drivers
o0xbaa858b60 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_12 .net/s v0xbab311680 12, 31 0, o0xbaa858b60; 0 drivers
o0xbaa858b90 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_13 .net/s v0xbab311680 13, 31 0, o0xbaa858b90; 0 drivers
o0xbaa858bc0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_14 .net/s v0xbab311680 14, 31 0, o0xbaa858bc0; 0 drivers
o0xbaa858bf0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_15 .net/s v0xbab311680 15, 31 0, o0xbaa858bf0; 0 drivers
v0xbab311680_16 .net/s v0xbab311680 16, 31 0, L_0xbab34e120; 1 drivers
v0xbab311680_17 .net/s v0xbab311680 17, 31 0, L_0xbab34e1c0; 1 drivers
o0xbaa858c80 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_18 .net/s v0xbab311680 18, 31 0, o0xbaa858c80; 0 drivers
o0xbaa858cb0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_19 .net/s v0xbab311680 19, 31 0, o0xbaa858cb0; 0 drivers
o0xbaa858ce0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_20 .net/s v0xbab311680 20, 31 0, o0xbaa858ce0; 0 drivers
o0xbaa858d10 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_21 .net/s v0xbab311680 21, 31 0, o0xbaa858d10; 0 drivers
o0xbaa858d40 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_22 .net/s v0xbab311680 22, 31 0, o0xbaa858d40; 0 drivers
o0xbaa858d70 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_23 .net/s v0xbab311680 23, 31 0, o0xbaa858d70; 0 drivers
v0xbab311680_24 .net/s v0xbab311680 24, 31 0, L_0xbab34e260; 1 drivers
o0xbaa858dd0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_25 .net/s v0xbab311680 25, 31 0, o0xbaa858dd0; 0 drivers
o0xbaa858e00 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_26 .net/s v0xbab311680 26, 31 0, o0xbaa858e00; 0 drivers
o0xbaa858e30 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_27 .net/s v0xbab311680 27, 31 0, o0xbaa858e30; 0 drivers
o0xbaa858e60 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_28 .net/s v0xbab311680 28, 31 0, o0xbaa858e60; 0 drivers
o0xbaa858e90 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_29 .net/s v0xbab311680 29, 31 0, o0xbaa858e90; 0 drivers
o0xbaa858ec0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_30 .net/s v0xbab311680 30, 31 0, o0xbaa858ec0; 0 drivers
o0xbaa858ef0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab311680_31 .net/s v0xbab311680 31, 31 0, o0xbaa858ef0; 0 drivers
v0xbab311720_0 .net/s "w_bus", 63 0, L_0xbab346a80;  alias, 1 drivers
v0xbab3117c0_0 .net/s "x_bus", 63 0, L_0xbab3469e0;  alias, 1 drivers
L_0xbab346bc0 .part L_0xbab3469e0, 0, 8;
L_0xbab346c60 .part L_0xbab346a80, 0, 8;
L_0xbab346da0 .part L_0xbab3469e0, 8, 8;
L_0xbab346e40 .part L_0xbab346a80, 8, 8;
L_0xbab346f80 .part L_0xbab3469e0, 16, 8;
L_0xbab347020 .part L_0xbab346a80, 16, 8;
L_0xbab347160 .part L_0xbab3469e0, 24, 8;
L_0xbab347200 .part L_0xbab346a80, 24, 8;
L_0xbab347340 .part L_0xbab3469e0, 32, 8;
L_0xbab3473e0 .part L_0xbab346a80, 32, 8;
L_0xbab347520 .part L_0xbab3469e0, 40, 8;
L_0xbab3475c0 .part L_0xbab346a80, 40, 8;
L_0xbab347700 .part L_0xbab3469e0, 48, 8;
L_0xbab3477a0 .part L_0xbab346a80, 48, 8;
L_0xbab3478e0 .part L_0xbab3469e0, 56, 8;
L_0xbab347980 .part L_0xbab346a80, 56, 8;
L_0xbab34e300 .arith/sum 32, v0xbab312120_0, L_0xbab34e260;
S_0xbab306a00 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51c40 .param/l "i" 1 5 20, +C4<00>;
S_0xbab306b80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab306a00;
 .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_0xbaad4ee80 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4eec0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4ef00 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab30a260_0 .net/s *"_ivl_0", 15 0, L_0xbab34caa0;  1 drivers
v0xbab30a300_0 .net/s *"_ivl_2", 15 0, L_0xbab34cb40;  1 drivers
v0xbab30a3a0_0 .net *"_ivl_7", 0 0, L_0xbab346b20;  1 drivers
v0xbab30a440_0 .net *"_ivl_9", 15 0, L_0xbaad59b80;  1 drivers
L_0xbaa87a1d0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab30a4e0_0 .net/s "acc_in", 31 0, L_0xbaa87a1d0;  1 drivers
v0xbab30a580_0 .net/s "acc_out", 31 0, L_0xbab34cc80;  alias, 1 drivers
v0xbab30a620_0 .net/s "product", 15 0, L_0xbaad59ae0;  1 drivers
v0xbab30a6c0_0 .net/s "product_ext", 31 0, L_0xbab34cbe0;  1 drivers
v0xbab30a760_0 .net/s "w", 7 0, L_0xbab346c60;  1 drivers
v0xbab30a800_0 .net/s "x", 7 0, L_0xbab346bc0;  1 drivers
L_0xbab34caa0 .extend/s 16, L_0xbab346bc0;
L_0xbab34cb40 .extend/s 16, L_0xbab346c60;
L_0xbaad59ae0 .arith/mult 16, L_0xbab34caa0, L_0xbab34cb40;
L_0xbab346b20 .part L_0xbaad59ae0, 15, 1;
L_0xbaad59b80 .repeat 16, 16, L_0xbab346b20;
L_0xbab34cbe0 .concat [ 16 16 0 0], L_0xbaad59ae0, L_0xbaad59b80;
L_0xbab34cc80 .arith/sum 32, L_0xbaa87a1d0, L_0xbab34cbe0;
S_0xbab306d00 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51c80 .param/l "i" 1 5 20, +C4<01>;
S_0xbab306e80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab306d00;
 .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_0xbaad4ef40 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4ef80 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4efc0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab30a8a0_0 .net/s *"_ivl_0", 15 0, L_0xbab34cd20;  1 drivers
v0xbab30a940_0 .net/s *"_ivl_2", 15 0, L_0xbab34cdc0;  1 drivers
v0xbab30a9e0_0 .net *"_ivl_7", 0 0, L_0xbab346d00;  1 drivers
v0xbab30aa80_0 .net *"_ivl_9", 15 0, L_0xbaad59cc0;  1 drivers
L_0xbaa87a218 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab30ab20_0 .net/s "acc_in", 31 0, L_0xbaa87a218;  1 drivers
v0xbab30abc0_0 .net/s "acc_out", 31 0, L_0xbab34cf00;  alias, 1 drivers
v0xbab30ac60_0 .net/s "product", 15 0, L_0xbaad59c20;  1 drivers
v0xbab30ad00_0 .net/s "product_ext", 31 0, L_0xbab34ce60;  1 drivers
v0xbab30ada0_0 .net/s "w", 7 0, L_0xbab346e40;  1 drivers
v0xbab30ae40_0 .net/s "x", 7 0, L_0xbab346da0;  1 drivers
L_0xbab34cd20 .extend/s 16, L_0xbab346da0;
L_0xbab34cdc0 .extend/s 16, L_0xbab346e40;
L_0xbaad59c20 .arith/mult 16, L_0xbab34cd20, L_0xbab34cdc0;
L_0xbab346d00 .part L_0xbaad59c20, 15, 1;
L_0xbaad59cc0 .repeat 16, 16, L_0xbab346d00;
L_0xbab34ce60 .concat [ 16 16 0 0], L_0xbaad59c20, L_0xbaad59cc0;
L_0xbab34cf00 .arith/sum 32, L_0xbaa87a218, L_0xbab34ce60;
S_0xbab307000 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51cc0 .param/l "i" 1 5 20, +C4<010>;
S_0xbab307180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab307000;
 .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_0xbaad4f000 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f040 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f080 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab30aee0_0 .net/s *"_ivl_0", 15 0, L_0xbab34cfa0;  1 drivers
v0xbab30af80_0 .net/s *"_ivl_2", 15 0, L_0xbab34d040;  1 drivers
v0xbab30b020_0 .net *"_ivl_7", 0 0, L_0xbab346ee0;  1 drivers
v0xbab30b0c0_0 .net *"_ivl_9", 15 0, L_0xbaad59e00;  1 drivers
L_0xbaa87a260 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab30b160_0 .net/s "acc_in", 31 0, L_0xbaa87a260;  1 drivers
v0xbab30b200_0 .net/s "acc_out", 31 0, L_0xbab34d180;  alias, 1 drivers
v0xbab30b2a0_0 .net/s "product", 15 0, L_0xbaad59d60;  1 drivers
v0xbab30b340_0 .net/s "product_ext", 31 0, L_0xbab34d0e0;  1 drivers
v0xbab30b3e0_0 .net/s "w", 7 0, L_0xbab347020;  1 drivers
v0xbab30b480_0 .net/s "x", 7 0, L_0xbab346f80;  1 drivers
L_0xbab34cfa0 .extend/s 16, L_0xbab346f80;
L_0xbab34d040 .extend/s 16, L_0xbab347020;
L_0xbaad59d60 .arith/mult 16, L_0xbab34cfa0, L_0xbab34d040;
L_0xbab346ee0 .part L_0xbaad59d60, 15, 1;
L_0xbaad59e00 .repeat 16, 16, L_0xbab346ee0;
L_0xbab34d0e0 .concat [ 16 16 0 0], L_0xbaad59d60, L_0xbaad59e00;
L_0xbab34d180 .arith/sum 32, L_0xbaa87a260, L_0xbab34d0e0;
S_0xbab307300 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51d00 .param/l "i" 1 5 20, +C4<011>;
S_0xbab307480 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab307300;
 .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_0xbaad4f0c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f100 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f140 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab30b520_0 .net/s *"_ivl_0", 15 0, L_0xbab34d220;  1 drivers
v0xbab30b5c0_0 .net/s *"_ivl_2", 15 0, L_0xbab34d2c0;  1 drivers
v0xbab30b660_0 .net *"_ivl_7", 0 0, L_0xbab3470c0;  1 drivers
v0xbab30b700_0 .net *"_ivl_9", 15 0, L_0xbaad59f40;  1 drivers
L_0xbaa87a2a8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab30b7a0_0 .net/s "acc_in", 31 0, L_0xbaa87a2a8;  1 drivers
v0xbab30b840_0 .net/s "acc_out", 31 0, L_0xbab34d400;  alias, 1 drivers
v0xbab30b8e0_0 .net/s "product", 15 0, L_0xbaad59ea0;  1 drivers
v0xbab30b980_0 .net/s "product_ext", 31 0, L_0xbab34d360;  1 drivers
v0xbab30ba20_0 .net/s "w", 7 0, L_0xbab347200;  1 drivers
v0xbab30bac0_0 .net/s "x", 7 0, L_0xbab347160;  1 drivers
L_0xbab34d220 .extend/s 16, L_0xbab347160;
L_0xbab34d2c0 .extend/s 16, L_0xbab347200;
L_0xbaad59ea0 .arith/mult 16, L_0xbab34d220, L_0xbab34d2c0;
L_0xbab3470c0 .part L_0xbaad59ea0, 15, 1;
L_0xbaad59f40 .repeat 16, 16, L_0xbab3470c0;
L_0xbab34d360 .concat [ 16 16 0 0], L_0xbaad59ea0, L_0xbaad59f40;
L_0xbab34d400 .arith/sum 32, L_0xbaa87a2a8, L_0xbab34d360;
S_0xbab307600 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51d80 .param/l "i" 1 5 20, +C4<0100>;
S_0xbab307780 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab307600;
 .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_0xbaad4f180 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f1c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f200 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab30bb60_0 .net/s *"_ivl_0", 15 0, L_0xbab34d4a0;  1 drivers
v0xbab30bc00_0 .net/s *"_ivl_2", 15 0, L_0xbab34d540;  1 drivers
v0xbab30bca0_0 .net *"_ivl_7", 0 0, L_0xbab3472a0;  1 drivers
v0xbab30bd40_0 .net *"_ivl_9", 15 0, L_0xbaad5a080;  1 drivers
L_0xbaa87a2f0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab30bde0_0 .net/s "acc_in", 31 0, L_0xbaa87a2f0;  1 drivers
v0xbab30be80_0 .net/s "acc_out", 31 0, L_0xbab34d680;  alias, 1 drivers
v0xbab30bf20_0 .net/s "product", 15 0, L_0xbaad59fe0;  1 drivers
v0xbab310000_0 .net/s "product_ext", 31 0, L_0xbab34d5e0;  1 drivers
v0xbab3100a0_0 .net/s "w", 7 0, L_0xbab3473e0;  1 drivers
v0xbab310140_0 .net/s "x", 7 0, L_0xbab347340;  1 drivers
L_0xbab34d4a0 .extend/s 16, L_0xbab347340;
L_0xbab34d540 .extend/s 16, L_0xbab3473e0;
L_0xbaad59fe0 .arith/mult 16, L_0xbab34d4a0, L_0xbab34d540;
L_0xbab3472a0 .part L_0xbaad59fe0, 15, 1;
L_0xbaad5a080 .repeat 16, 16, L_0xbab3472a0;
L_0xbab34d5e0 .concat [ 16 16 0 0], L_0xbaad59fe0, L_0xbaad5a080;
L_0xbab34d680 .arith/sum 32, L_0xbaa87a2f0, L_0xbab34d5e0;
S_0xbab307900 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51dc0 .param/l "i" 1 5 20, +C4<0101>;
S_0xbab307a80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab307900;
 .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_0xbaad4f240 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f280 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f2c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab3101e0_0 .net/s *"_ivl_0", 15 0, L_0xbab34d720;  1 drivers
v0xbab310280_0 .net/s *"_ivl_2", 15 0, L_0xbab34d7c0;  1 drivers
v0xbab310320_0 .net *"_ivl_7", 0 0, L_0xbab347480;  1 drivers
v0xbab3103c0_0 .net *"_ivl_9", 15 0, L_0xbaad5a1c0;  1 drivers
L_0xbaa87a338 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab310460_0 .net/s "acc_in", 31 0, L_0xbaa87a338;  1 drivers
v0xbab310500_0 .net/s "acc_out", 31 0, L_0xbab34d900;  alias, 1 drivers
v0xbab3105a0_0 .net/s "product", 15 0, L_0xbaad5a120;  1 drivers
v0xbab310640_0 .net/s "product_ext", 31 0, L_0xbab34d860;  1 drivers
v0xbab3106e0_0 .net/s "w", 7 0, L_0xbab3475c0;  1 drivers
v0xbab310780_0 .net/s "x", 7 0, L_0xbab347520;  1 drivers
L_0xbab34d720 .extend/s 16, L_0xbab347520;
L_0xbab34d7c0 .extend/s 16, L_0xbab3475c0;
L_0xbaad5a120 .arith/mult 16, L_0xbab34d720, L_0xbab34d7c0;
L_0xbab347480 .part L_0xbaad5a120, 15, 1;
L_0xbaad5a1c0 .repeat 16, 16, L_0xbab347480;
L_0xbab34d860 .concat [ 16 16 0 0], L_0xbaad5a120, L_0xbaad5a1c0;
L_0xbab34d900 .arith/sum 32, L_0xbaa87a338, L_0xbab34d860;
S_0xbab307c00 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51e00 .param/l "i" 1 5 20, +C4<0110>;
S_0xbab307d80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab307c00;
 .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_0xbaad4f300 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f340 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f380 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab310820_0 .net/s *"_ivl_0", 15 0, L_0xbab34d9a0;  1 drivers
v0xbab3108c0_0 .net/s *"_ivl_2", 15 0, L_0xbab34da40;  1 drivers
v0xbab310960_0 .net *"_ivl_7", 0 0, L_0xbab347660;  1 drivers
v0xbab310a00_0 .net *"_ivl_9", 15 0, L_0xbaad5a300;  1 drivers
L_0xbaa87a380 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab310aa0_0 .net/s "acc_in", 31 0, L_0xbaa87a380;  1 drivers
v0xbab310b40_0 .net/s "acc_out", 31 0, L_0xbab34db80;  alias, 1 drivers
v0xbab310be0_0 .net/s "product", 15 0, L_0xbaad5a260;  1 drivers
v0xbab310c80_0 .net/s "product_ext", 31 0, L_0xbab34dae0;  1 drivers
v0xbab310d20_0 .net/s "w", 7 0, L_0xbab3477a0;  1 drivers
v0xbab310dc0_0 .net/s "x", 7 0, L_0xbab347700;  1 drivers
L_0xbab34d9a0 .extend/s 16, L_0xbab347700;
L_0xbab34da40 .extend/s 16, L_0xbab3477a0;
L_0xbaad5a260 .arith/mult 16, L_0xbab34d9a0, L_0xbab34da40;
L_0xbab347660 .part L_0xbaad5a260, 15, 1;
L_0xbaad5a300 .repeat 16, 16, L_0xbab347660;
L_0xbab34dae0 .concat [ 16 16 0 0], L_0xbaad5a260, L_0xbaad5a300;
L_0xbab34db80 .arith/sum 32, L_0xbaa87a380, L_0xbab34dae0;
S_0xbab318000 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51e40 .param/l "i" 1 5 20, +C4<0111>;
S_0xbab318180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab318000;
 .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_0xbaad4f3c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f400 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f440 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab310e60_0 .net/s *"_ivl_0", 15 0, L_0xbab34dc20;  1 drivers
v0xbab310f00_0 .net/s *"_ivl_2", 15 0, L_0xbab34dcc0;  1 drivers
v0xbab310fa0_0 .net *"_ivl_7", 0 0, L_0xbab347840;  1 drivers
v0xbab311040_0 .net *"_ivl_9", 15 0, L_0xbaad5a440;  1 drivers
L_0xbaa87a3c8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab3110e0_0 .net/s "acc_in", 31 0, L_0xbaa87a3c8;  1 drivers
v0xbab311180_0 .net/s "acc_out", 31 0, L_0xbab34de00;  alias, 1 drivers
v0xbab311220_0 .net/s "product", 15 0, L_0xbaad5a3a0;  1 drivers
v0xbab3112c0_0 .net/s "product_ext", 31 0, L_0xbab34dd60;  1 drivers
v0xbab311360_0 .net/s "w", 7 0, L_0xbab347980;  1 drivers
v0xbab311400_0 .net/s "x", 7 0, L_0xbab3478e0;  1 drivers
L_0xbab34dc20 .extend/s 16, L_0xbab3478e0;
L_0xbab34dcc0 .extend/s 16, L_0xbab347980;
L_0xbaad5a3a0 .arith/mult 16, L_0xbab34dc20, L_0xbab34dcc0;
L_0xbab347840 .part L_0xbaad5a3a0, 15, 1;
L_0xbaad5a440 .repeat 16, 16, L_0xbab347840;
L_0xbab34dd60 .concat [ 16 16 0 0], L_0xbaad5a3a0, L_0xbaad5a440;
L_0xbab34de00 .arith/sum 32, L_0xbaa87a3c8, L_0xbab34dd60;
S_0xbab318300 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51d40 .param/l "i" 1 5 80, +C4<00>;
L_0xbab06bd40 .functor BUFZ 32, L_0xbab34cc80, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab318480 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51e80 .param/l "i" 1 5 80, +C4<01>;
L_0xbab06bdb0 .functor BUFZ 32, L_0xbab34cf00, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab318600 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51ec0 .param/l "i" 1 5 80, +C4<010>;
L_0xbab06be20 .functor BUFZ 32, L_0xbab34d180, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab318780 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51f00 .param/l "i" 1 5 80, +C4<011>;
L_0xbab06be90 .functor BUFZ 32, L_0xbab34d400, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab318900 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51f40 .param/l "i" 1 5 80, +C4<0100>;
L_0xbab06bf00 .functor BUFZ 32, L_0xbab34d680, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab318a80 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51f80 .param/l "i" 1 5 80, +C4<0101>;
L_0xbab06bf70 .functor BUFZ 32, L_0xbab34d900, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab318c00 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad51fc0 .param/l "i" 1 5 80, +C4<0110>;
L_0xbab35c000 .functor BUFZ 32, L_0xbab34db80, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab318d80 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad52000 .param/l "i" 1 5 80, +C4<0111>;
L_0xbab360000 .functor BUFZ 32, L_0xbab34de00, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab318f00 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad52040 .param/l "level" 1 5 92, +C4<00>;
S_0xbab319080 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab318f00;
 .timescale 0 0;
P_0xbaad52080 .param/l "node" 1 5 94, +C4<00>;
L_0xbab34dea0 .arith/sum 32, L_0xbab06bd40, L_0xbab06bdb0;
S_0xbab319200 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab318f00;
 .timescale 0 0;
P_0xbaad520c0 .param/l "node" 1 5 94, +C4<01>;
L_0xbab34df40 .arith/sum 32, L_0xbab06be20, L_0xbab06be90;
S_0xbab319380 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0xbab318f00;
 .timescale 0 0;
P_0xbaad52100 .param/l "node" 1 5 94, +C4<010>;
L_0xbab34dfe0 .arith/sum 32, L_0xbab06bf00, L_0xbab06bf70;
S_0xbab319500 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0xbab318f00;
 .timescale 0 0;
P_0xbaad52140 .param/l "node" 1 5 94, +C4<011>;
L_0xbab34e080 .arith/sum 32, L_0xbab35c000, L_0xbab360000;
S_0xbab319680 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad52180 .param/l "level" 1 5 92, +C4<01>;
S_0xbab319800 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab319680;
 .timescale 0 0;
P_0xbaad521c0 .param/l "node" 1 5 94, +C4<00>;
L_0xbab34e120 .arith/sum 32, L_0xbab34dea0, L_0xbab34df40;
S_0xbab319980 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab319680;
 .timescale 0 0;
P_0xbaad52200 .param/l "node" 1 5 94, +C4<01>;
L_0xbab34e1c0 .arith/sum 32, L_0xbab34dfe0, L_0xbab34e080;
S_0xbab319b00 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0xbab306880;
 .timescale 0 0;
P_0xbaad52240 .param/l "level" 1 5 92, +C4<010>;
S_0xbab319c80 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab319b00;
 .timescale 0 0;
P_0xbaad52280 .param/l "node" 1 5 94, +C4<00>;
L_0xbab34e260 .arith/sum 32, L_0xbab34e120, L_0xbab34e1c0;
S_0x102e23ae0 .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_0x102e36380 .param/l "ACCESS_CYCLES" 1 11 43, +C4<00000000000000000000000000000110>;
P_0x102e363c0 .param/l "ADDR_WIDTH" 0 11 2, +C4<00000000000000000000000000010110>;
P_0x102e36400 .param/l "CLK_FREQ_MHZ" 0 11 4, +C4<00000000000000000000000001010000>;
P_0x102e36440 .param/l "COUNTER_WIDTH" 1 11 49, +C4<00000000000000000000000000001110>;
P_0x102e36480 .param/l "DATA_WIDTH" 0 11 3, +C4<00000000000000000000000000010000>;
P_0x102e364c0 .param/l "INIT_CYCLES" 1 11 46, +C4<00000000000000000010111011100000>;
P_0x102e36500 .param/l "STATE_IDLE" 1 11 58, C4<001>;
P_0x102e36540 .param/l "STATE_INIT" 1 11 57, C4<000>;
P_0x102e36580 .param/l "STATE_READ" 1 11 59, C4<010>;
P_0x102e365c0 .param/l "STATE_WRITE" 1 11 60, C4<011>;
P_0x102e36600 .param/l "STATE_WRITE_WAIT" 1 11 61, C4<100>;
o0xbaa85a8d0 .functor BUFZ 16, c4<zzzzzzzzzzzzzzzz>; HiZ drive
; Elide local net with no drivers, v0xbab31c6e0_0 name=_ivl_0
v0xbab31c780_0 .var "address_reg", 21 0;
o0xbaa85a930 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab31c820_0 .net "clk", 0 0, o0xbaa85a930;  0 drivers
v0xbab31c8c0_0 .var "counter", 13 0;
v0xbab31c960_0 .var "dq_oe", 0 0;
v0xbab31ca00_0 .var "dq_out", 15 0;
v0xbab31caa0_0 .var "lb_reg", 0 0;
o0xbaa85aa20 .functor BUFZ 22, c4<zzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab31cb40_0 .net "mem_addr", 21 0, o0xbaa85aa20;  0 drivers
o0xbaa85aa50 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab31cbe0_0 .net "mem_lb_n", 0 0, o0xbaa85aa50;  0 drivers
v0xbab31cc80_0 .var "mem_rdata", 15 0;
v0xbab31cd20_0 .var "mem_ready", 0 0;
o0xbaa85aae0 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab31cdc0_0 .net "mem_req", 0 0, o0xbaa85aae0;  0 drivers
o0xbaa85ab10 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab31ce60_0 .net "mem_ub_n", 0 0, o0xbaa85ab10;  0 drivers
o0xbaa85ab40 .functor BUFZ 16, c4<zzzzzzzzzzzzzzzz>; HiZ drive
v0xbab31cf00_0 .net "mem_wdata", 15 0, o0xbaa85ab40;  0 drivers
o0xbaa85ab70 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab31cfa0_0 .net "mem_wr", 0 0, o0xbaa85ab70;  0 drivers
v0xbab31d040_0 .var "psram_a", 21 0;
v0xbab31d0e0_0 .var "psram_ce_n", 0 0;
v0xbab31d180_0 .net "psram_dq", 15 0, L_0xbab347ac0;  1 drivers
v0xbab31d220_0 .var "psram_lb_n", 0 0;
v0xbab31d2c0_0 .var "psram_oe_n", 0 0;
v0xbab31d360_0 .var "psram_ub_n", 0 0;
v0xbab31d400_0 .var "psram_we_n", 0 0;
v0xbab31d4a0_0 .var "psram_zz_n", 0 0;
o0xbaa85ad20 .functor BUFZ 1, c4<z>; HiZ drive
v0xbab31d540_0 .net "rst", 0 0, o0xbaa85ad20;  0 drivers
v0xbab31d5e0_0 .var "state", 2 0;
v0xbab31d680_0 .var "ub_reg", 0 0;
v0xbab31d720_0 .var "wdata_reg", 15 0;
v0xbab31d7c0_0 .var "wr_reg", 0 0;
E_0xbaad3a440 .event posedge, v0xbab31c820_0;
L_0xbab347ac0 .functor MUXZ 16, o0xbaa85a8d0, v0xbab31ca00_0, v0xbab31c960_0, C4<>;
S_0x102e23c60 .scope module, "tb" "tb" 12 3;
 .timescale -9 -12;
P_0xbab294000 .param/l "ACC_WIDTH" 0 12 8, +C4<00000000000000000000000000100000>;
P_0xbab294040 .param/l "DATA_WIDTH" 0 12 5, +C4<00000000000000000000000000001000>;
P_0xbab294080 .param/l "N_INPUTS" 0 12 6, +C4<00000000000000000000000000100000>;
P_0xbab2940c0 .param/l "PARALLEL" 0 12 7, +C4<00000000000000000000000000001000>;
v0xbab322120_0 .var/s "bias", 7 0;
v0xbab3221c0_0 .net "busy", 0 0, v0xbab3219a0_0;  1 drivers
v0xbab322260_0 .var "clk", 0 0;
v0xbab322300_0 .net "done", 0 0, v0xbab321ae0_0;  1 drivers
v0xbab3223a0_0 .var/i "errors", 31 0;
v0xbab322440_0 .var/i "i", 31 0;
v0xbab3224e0_0 .var "rst", 0 0;
v0xbab322580_0 .var "start", 0 0;
v0xbab322620_0 .var/s "w_bus", 255 0;
v0xbab3226c0_0 .var/s "x_bus", 255 0;
v0xbab322760_0 .net/s "y", 7 0, v0xbab322080_0;  1 drivers
S_0xbab319e00 .scope module, "dut" "neuron_parallel" 12 30, 4 1 0, S_0x102e23c60;
 .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_0xbab2bca80 .param/l "ACC_WIDTH" 0 4 5, +C4<00000000000000000000000000100000>;
P_0xbab2bcac0 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000001000>;
P_0xbab2bcb00 .param/l "GROUPS" 1 4 20, +C4<00000000000000000000000000000100>;
P_0xbab2bcb40 .param/l "GROUP_INDEX_WIDTH" 1 4 21, +C4<00000000000000000000000000000010>;
P_0xbab2bcb80 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000000100000>;
P_0xbab2bcbc0 .param/l "PARALLEL" 0 4 4, +C4<00000000000000000000000000001000>;
v0xbab320e60_0 .net *"_ivl_0", 31 0, L_0xbab34e4e0;  1 drivers
v0xbab320f00_0 .net *"_ivl_11", 31 0, L_0xbaad5a6c0;  1 drivers
v0xbab320fa0_0 .net *"_ivl_14", 31 0, L_0xbab34e580;  1 drivers
L_0xbaa87a4e8 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab321040_0 .net *"_ivl_17", 29 0, L_0xbaa87a4e8;  1 drivers
L_0xbaa87a530 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab3210e0_0 .net/2u *"_ivl_18", 31 0, L_0xbaa87a530;  1 drivers
v0xbab321180_0 .net *"_ivl_21", 31 0, L_0xbaad5a760;  1 drivers
L_0xbaa87a578 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab321220_0 .net/2u *"_ivl_22", 31 0, L_0xbaa87a578;  1 drivers
v0xbab3212c0_0 .net *"_ivl_25", 31 0, L_0xbaad5a800;  1 drivers
v0xbab321360_0 .net *"_ivl_29", 0 0, L_0xbab364be0;  1 drivers
L_0xbaa87a410 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab321400_0 .net *"_ivl_3", 29 0, L_0xbaa87a410;  1 drivers
v0xbab3214a0_0 .net *"_ivl_31", 23 0, L_0xbaad5b340;  1 drivers
L_0xbaa87a458 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab321540_0 .net/2u *"_ivl_4", 31 0, L_0xbaa87a458;  1 drivers
v0xbab3215e0_0 .net *"_ivl_7", 31 0, L_0xbaad5a620;  1 drivers
L_0xbaa87a4a0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0xbab321680_0 .net/2u *"_ivl_8", 31 0, L_0xbaa87a4a0;  1 drivers
v0xbab321720_0 .var/s "acc", 31 0;
v0xbab3217c0_0 .net/s "acc_next", 31 0, L_0xbab34fe80;  1 drivers
v0xbab321860_0 .net/s "bias", 7 0, v0xbab322120_0;  1 drivers
v0xbab321900_0 .net/s "bias_ext", 31 0, L_0xbab34ff20;  1 drivers
v0xbab3219a0_0 .var "busy", 0 0;
v0xbab321a40_0 .net "clk", 0 0, v0xbab322260_0;  1 drivers
v0xbab321ae0_0 .var "done", 0 0;
v0xbab321b80_0 .net/s "final_acc", 31 0, L_0xbab368000;  1 drivers
v0xbab321c20_0 .var "group_index", 1 0;
v0xbab321cc0_0 .net "rst", 0 0, v0xbab3224e0_0;  1 drivers
v0xbab321d60_0 .net "start", 0 0, v0xbab322580_0;  1 drivers
v0xbab321e00_0 .net/s "w_bus", 255 0, v0xbab322620_0;  1 drivers
v0xbab321ea0_0 .net/s "w_group", 63 0, L_0xbab347c00;  1 drivers
v0xbab321f40_0 .net/s "x_bus", 255 0, v0xbab3226c0_0;  1 drivers
v0xbab321fe0_0 .net/s "x_group", 63 0, L_0xbab347b60;  1 drivers
v0xbab322080_0 .var/s "y", 7 0;
E_0xbaad3a480 .event posedge, v0xbab321a40_0;
L_0xbab34e4e0 .concat [ 2 30 0 0], v0xbab321c20_0, L_0xbaa87a410;
L_0xbaad5a620 .arith/mult 32, L_0xbab34e4e0, L_0xbaa87a458;
L_0xbaad5a6c0 .arith/mult 32, L_0xbaad5a620, L_0xbaa87a4a0;
L_0xbab347b60 .part/v v0xbab3226c0_0, L_0xbaad5a6c0, 64;
L_0xbab34e580 .concat [ 2 30 0 0], v0xbab321c20_0, L_0xbaa87a4e8;
L_0xbaad5a760 .arith/mult 32, L_0xbab34e580, L_0xbaa87a530;
L_0xbaad5a800 .arith/mult 32, L_0xbaad5a760, L_0xbaa87a578;
L_0xbab347c00 .part/v v0xbab322620_0, L_0xbaad5a800, 64;
L_0xbab364be0 .part v0xbab322120_0, 7, 1;
L_0xbaad5b340 .repeat 24, 24, L_0xbab364be0;
L_0xbab34ff20 .concat [ 8 24 0 0], v0xbab322120_0, L_0xbaad5b340;
L_0xbab368000 .arith/sum 32, L_0xbab34fe80, L_0xbab34ff20;
S_0xbab319f80 .scope module, "u_mac8" "mac8" 4 52, 5 1 0, S_0xbab319e00;
 .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_0xbab295f00 .param/l "ACC_WIDTH" 0 5 3, +C4<00000000000000000000000000100000>;
P_0xbab295f40 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000001000>;
P_0xbab295f80 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000001000>;
P_0xbab295fc0 .param/l "TREE_LEVELS" 1 5 70, +C4<00000000000000000000000000000011>;
v0xbab320aa0_0 .net/s "acc_in", 31 0, v0xbab321720_0;  1 drivers
v0xbab320b40_0 .net/s "acc_out", 31 0, L_0xbab34fe80;  alias, 1 drivers
v0xbab320be0 .array "products", 7 0;
v0xbab320be0_0 .net/s v0xbab320be0 0, 31 0, L_0xbab34e800; 1 drivers
v0xbab320be0_1 .net/s v0xbab320be0 1, 31 0, L_0xbab34ea80; 1 drivers
v0xbab320be0_2 .net/s v0xbab320be0 2, 31 0, L_0xbab34ed00; 1 drivers
v0xbab320be0_3 .net/s v0xbab320be0 3, 31 0, L_0xbab34ef80; 1 drivers
v0xbab320be0_4 .net/s v0xbab320be0 4, 31 0, L_0xbab34f200; 1 drivers
v0xbab320be0_5 .net/s v0xbab320be0 5, 31 0, L_0xbab34f480; 1 drivers
v0xbab320be0_6 .net/s v0xbab320be0 6, 31 0, L_0xbab34f700; 1 drivers
v0xbab320be0_7 .net/s v0xbab320be0 7, 31 0, L_0xbab34f980; 1 drivers
v0xbab320c80 .array "tree", 31 0;
v0xbab320c80_0 .net/s v0xbab320c80 0, 31 0, L_0xbab360070; 1 drivers
v0xbab320c80_1 .net/s v0xbab320c80 1, 31 0, L_0xbab3600e0; 1 drivers
v0xbab320c80_2 .net/s v0xbab320c80 2, 31 0, L_0xbab360150; 1 drivers
v0xbab320c80_3 .net/s v0xbab320c80 3, 31 0, L_0xbab3601c0; 1 drivers
v0xbab320c80_4 .net/s v0xbab320c80 4, 31 0, L_0xbab360230; 1 drivers
v0xbab320c80_5 .net/s v0xbab320c80 5, 31 0, L_0xbab3602a0; 1 drivers
v0xbab320c80_6 .net/s v0xbab320c80 6, 31 0, L_0xbab360310; 1 drivers
v0xbab320c80_7 .net/s v0xbab320c80 7, 31 0, L_0xbab360380; 1 drivers
v0xbab320c80_8 .net/s v0xbab320c80 8, 31 0, L_0xbab34fa20; 1 drivers
v0xbab320c80_9 .net/s v0xbab320c80 9, 31 0, L_0xbab34fac0; 1 drivers
v0xbab320c80_10 .net/s v0xbab320c80 10, 31 0, L_0xbab34fb60; 1 drivers
v0xbab320c80_11 .net/s v0xbab320c80 11, 31 0, L_0xbab34fc00; 1 drivers
o0xbaa85c910 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_12 .net/s v0xbab320c80 12, 31 0, o0xbaa85c910; 0 drivers
o0xbaa85c940 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_13 .net/s v0xbab320c80 13, 31 0, o0xbaa85c940; 0 drivers
o0xbaa85c970 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_14 .net/s v0xbab320c80 14, 31 0, o0xbaa85c970; 0 drivers
o0xbaa85c9a0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_15 .net/s v0xbab320c80 15, 31 0, o0xbaa85c9a0; 0 drivers
v0xbab320c80_16 .net/s v0xbab320c80 16, 31 0, L_0xbab34fca0; 1 drivers
v0xbab320c80_17 .net/s v0xbab320c80 17, 31 0, L_0xbab34fd40; 1 drivers
o0xbaa85ca30 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_18 .net/s v0xbab320c80 18, 31 0, o0xbaa85ca30; 0 drivers
o0xbaa85ca60 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_19 .net/s v0xbab320c80 19, 31 0, o0xbaa85ca60; 0 drivers
o0xbaa85ca90 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_20 .net/s v0xbab320c80 20, 31 0, o0xbaa85ca90; 0 drivers
o0xbaa85cac0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_21 .net/s v0xbab320c80 21, 31 0, o0xbaa85cac0; 0 drivers
o0xbaa85caf0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_22 .net/s v0xbab320c80 22, 31 0, o0xbaa85caf0; 0 drivers
o0xbaa85cb20 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_23 .net/s v0xbab320c80 23, 31 0, o0xbaa85cb20; 0 drivers
v0xbab320c80_24 .net/s v0xbab320c80 24, 31 0, L_0xbab34fde0; 1 drivers
o0xbaa85cb80 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_25 .net/s v0xbab320c80 25, 31 0, o0xbaa85cb80; 0 drivers
o0xbaa85cbb0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_26 .net/s v0xbab320c80 26, 31 0, o0xbaa85cbb0; 0 drivers
o0xbaa85cbe0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_27 .net/s v0xbab320c80 27, 31 0, o0xbaa85cbe0; 0 drivers
o0xbaa85cc10 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_28 .net/s v0xbab320c80 28, 31 0, o0xbaa85cc10; 0 drivers
o0xbaa85cc40 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_29 .net/s v0xbab320c80 29, 31 0, o0xbaa85cc40; 0 drivers
o0xbaa85cc70 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_30 .net/s v0xbab320c80 30, 31 0, o0xbaa85cc70; 0 drivers
o0xbaa85cca0 .functor BUFZ 32, c4<zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz>; HiZ drive
v0xbab320c80_31 .net/s v0xbab320c80 31, 31 0, o0xbaa85cca0; 0 drivers
v0xbab320d20_0 .net/s "w_bus", 63 0, L_0xbab347c00;  alias, 1 drivers
v0xbab320dc0_0 .net/s "x_bus", 63 0, L_0xbab347b60;  alias, 1 drivers
L_0xbab347d40 .part L_0xbab347b60, 0, 8;
L_0xbab347de0 .part L_0xbab347c00, 0, 8;
L_0xbab347f20 .part L_0xbab347b60, 8, 8;
L_0xbab364000 .part L_0xbab347c00, 8, 8;
L_0xbab364140 .part L_0xbab347b60, 16, 8;
L_0xbab3641e0 .part L_0xbab347c00, 16, 8;
L_0xbab364320 .part L_0xbab347b60, 24, 8;
L_0xbab3643c0 .part L_0xbab347c00, 24, 8;
L_0xbab364500 .part L_0xbab347b60, 32, 8;
L_0xbab3645a0 .part L_0xbab347c00, 32, 8;
L_0xbab3646e0 .part L_0xbab347b60, 40, 8;
L_0xbab364780 .part L_0xbab347c00, 40, 8;
L_0xbab3648c0 .part L_0xbab347b60, 48, 8;
L_0xbab364960 .part L_0xbab347c00, 48, 8;
L_0xbab364aa0 .part L_0xbab347b60, 56, 8;
L_0xbab364b40 .part L_0xbab347c00, 56, 8;
L_0xbab34fe80 .arith/sum 32, v0xbab321720_0, L_0xbab34fde0;
S_0xbab31a100 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 5 20, 5 20 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52300 .param/l "i" 1 5 20, +C4<00>;
S_0xbab31a280 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab31a100;
 .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_0xbaad4f480 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f4c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f500 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab31d860_0 .net/s *"_ivl_0", 15 0, L_0xbab34e620;  1 drivers
v0xbab31d900_0 .net/s *"_ivl_2", 15 0, L_0xbab34e6c0;  1 drivers
v0xbab31d9a0_0 .net *"_ivl_7", 0 0, L_0xbab347ca0;  1 drivers
v0xbab31da40_0 .net *"_ivl_9", 15 0, L_0xbaad5a940;  1 drivers
L_0xbaa87a5c0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab31dae0_0 .net/s "acc_in", 31 0, L_0xbaa87a5c0;  1 drivers
v0xbab31db80_0 .net/s "acc_out", 31 0, L_0xbab34e800;  alias, 1 drivers
v0xbab31dc20_0 .net/s "product", 15 0, L_0xbaad5a8a0;  1 drivers
v0xbab31dcc0_0 .net/s "product_ext", 31 0, L_0xbab34e760;  1 drivers
v0xbab31dd60_0 .net/s "w", 7 0, L_0xbab347de0;  1 drivers
v0xbab31de00_0 .net/s "x", 7 0, L_0xbab347d40;  1 drivers
L_0xbab34e620 .extend/s 16, L_0xbab347d40;
L_0xbab34e6c0 .extend/s 16, L_0xbab347de0;
L_0xbaad5a8a0 .arith/mult 16, L_0xbab34e620, L_0xbab34e6c0;
L_0xbab347ca0 .part L_0xbaad5a8a0, 15, 1;
L_0xbaad5a940 .repeat 16, 16, L_0xbab347ca0;
L_0xbab34e760 .concat [ 16 16 0 0], L_0xbaad5a8a0, L_0xbaad5a940;
L_0xbab34e800 .arith/sum 32, L_0xbaa87a5c0, L_0xbab34e760;
S_0xbab31a400 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 5 20, 5 20 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52340 .param/l "i" 1 5 20, +C4<01>;
S_0xbab31a580 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab31a400;
 .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_0xbaad4f540 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f580 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f5c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab31dea0_0 .net/s *"_ivl_0", 15 0, L_0xbab34e8a0;  1 drivers
v0xbab31df40_0 .net/s *"_ivl_2", 15 0, L_0xbab34e940;  1 drivers
v0xbab31dfe0_0 .net *"_ivl_7", 0 0, L_0xbab347e80;  1 drivers
v0xbab31e080_0 .net *"_ivl_9", 15 0, L_0xbaad5aa80;  1 drivers
L_0xbaa87a608 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab31e120_0 .net/s "acc_in", 31 0, L_0xbaa87a608;  1 drivers
v0xbab31e1c0_0 .net/s "acc_out", 31 0, L_0xbab34ea80;  alias, 1 drivers
v0xbab31e260_0 .net/s "product", 15 0, L_0xbaad5a9e0;  1 drivers
v0xbab31e300_0 .net/s "product_ext", 31 0, L_0xbab34e9e0;  1 drivers
v0xbab31e3a0_0 .net/s "w", 7 0, L_0xbab364000;  1 drivers
v0xbab31e440_0 .net/s "x", 7 0, L_0xbab347f20;  1 drivers
L_0xbab34e8a0 .extend/s 16, L_0xbab347f20;
L_0xbab34e940 .extend/s 16, L_0xbab364000;
L_0xbaad5a9e0 .arith/mult 16, L_0xbab34e8a0, L_0xbab34e940;
L_0xbab347e80 .part L_0xbaad5a9e0, 15, 1;
L_0xbaad5aa80 .repeat 16, 16, L_0xbab347e80;
L_0xbab34e9e0 .concat [ 16 16 0 0], L_0xbaad5a9e0, L_0xbaad5aa80;
L_0xbab34ea80 .arith/sum 32, L_0xbaa87a608, L_0xbab34e9e0;
S_0xbab31a700 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 5 20, 5 20 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52380 .param/l "i" 1 5 20, +C4<010>;
S_0xbab31a880 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab31a700;
 .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_0xbaad4f600 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f640 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f680 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab31e4e0_0 .net/s *"_ivl_0", 15 0, L_0xbab34eb20;  1 drivers
v0xbab31e580_0 .net/s *"_ivl_2", 15 0, L_0xbab34ebc0;  1 drivers
v0xbab31e620_0 .net *"_ivl_7", 0 0, L_0xbab3640a0;  1 drivers
v0xbab31e6c0_0 .net *"_ivl_9", 15 0, L_0xbaad5abc0;  1 drivers
L_0xbaa87a650 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab31e760_0 .net/s "acc_in", 31 0, L_0xbaa87a650;  1 drivers
v0xbab31e800_0 .net/s "acc_out", 31 0, L_0xbab34ed00;  alias, 1 drivers
v0xbab31e8a0_0 .net/s "product", 15 0, L_0xbaad5ab20;  1 drivers
v0xbab31e940_0 .net/s "product_ext", 31 0, L_0xbab34ec60;  1 drivers
v0xbab31e9e0_0 .net/s "w", 7 0, L_0xbab3641e0;  1 drivers
v0xbab31ea80_0 .net/s "x", 7 0, L_0xbab364140;  1 drivers
L_0xbab34eb20 .extend/s 16, L_0xbab364140;
L_0xbab34ebc0 .extend/s 16, L_0xbab3641e0;
L_0xbaad5ab20 .arith/mult 16, L_0xbab34eb20, L_0xbab34ebc0;
L_0xbab3640a0 .part L_0xbaad5ab20, 15, 1;
L_0xbaad5abc0 .repeat 16, 16, L_0xbab3640a0;
L_0xbab34ec60 .concat [ 16 16 0 0], L_0xbaad5ab20, L_0xbaad5abc0;
L_0xbab34ed00 .arith/sum 32, L_0xbaa87a650, L_0xbab34ec60;
S_0xbab31aa00 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 5 20, 5 20 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad523c0 .param/l "i" 1 5 20, +C4<011>;
S_0xbab31ab80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab31aa00;
 .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_0xbaad4f6c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f700 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f740 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab31eb20_0 .net/s *"_ivl_0", 15 0, L_0xbab34eda0;  1 drivers
v0xbab31ebc0_0 .net/s *"_ivl_2", 15 0, L_0xbab34ee40;  1 drivers
v0xbab31ec60_0 .net *"_ivl_7", 0 0, L_0xbab364280;  1 drivers
v0xbab31ed00_0 .net *"_ivl_9", 15 0, L_0xbaad5ad00;  1 drivers
L_0xbaa87a698 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab31eda0_0 .net/s "acc_in", 31 0, L_0xbaa87a698;  1 drivers
v0xbab31ee40_0 .net/s "acc_out", 31 0, L_0xbab34ef80;  alias, 1 drivers
v0xbab31eee0_0 .net/s "product", 15 0, L_0xbaad5ac60;  1 drivers
v0xbab31ef80_0 .net/s "product_ext", 31 0, L_0xbab34eee0;  1 drivers
v0xbab31f020_0 .net/s "w", 7 0, L_0xbab3643c0;  1 drivers
v0xbab31f0c0_0 .net/s "x", 7 0, L_0xbab364320;  1 drivers
L_0xbab34eda0 .extend/s 16, L_0xbab364320;
L_0xbab34ee40 .extend/s 16, L_0xbab3643c0;
L_0xbaad5ac60 .arith/mult 16, L_0xbab34eda0, L_0xbab34ee40;
L_0xbab364280 .part L_0xbaad5ac60, 15, 1;
L_0xbaad5ad00 .repeat 16, 16, L_0xbab364280;
L_0xbab34eee0 .concat [ 16 16 0 0], L_0xbaad5ac60, L_0xbaad5ad00;
L_0xbab34ef80 .arith/sum 32, L_0xbaa87a698, L_0xbab34eee0;
S_0xbab31ad00 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 5 20, 5 20 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52440 .param/l "i" 1 5 20, +C4<0100>;
S_0xbab31ae80 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab31ad00;
 .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_0xbaad4f780 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f7c0 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f800 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab31f160_0 .net/s *"_ivl_0", 15 0, L_0xbab34f020;  1 drivers
v0xbab31f200_0 .net/s *"_ivl_2", 15 0, L_0xbab34f0c0;  1 drivers
v0xbab31f2a0_0 .net *"_ivl_7", 0 0, L_0xbab364460;  1 drivers
v0xbab31f340_0 .net *"_ivl_9", 15 0, L_0xbaad5ae40;  1 drivers
L_0xbaa87a6e0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab31f3e0_0 .net/s "acc_in", 31 0, L_0xbaa87a6e0;  1 drivers
v0xbab31f480_0 .net/s "acc_out", 31 0, L_0xbab34f200;  alias, 1 drivers
v0xbab31f520_0 .net/s "product", 15 0, L_0xbaad5ada0;  1 drivers
v0xbab31f5c0_0 .net/s "product_ext", 31 0, L_0xbab34f160;  1 drivers
v0xbab31f660_0 .net/s "w", 7 0, L_0xbab3645a0;  1 drivers
v0xbab31f700_0 .net/s "x", 7 0, L_0xbab364500;  1 drivers
L_0xbab34f020 .extend/s 16, L_0xbab364500;
L_0xbab34f0c0 .extend/s 16, L_0xbab3645a0;
L_0xbaad5ada0 .arith/mult 16, L_0xbab34f020, L_0xbab34f0c0;
L_0xbab364460 .part L_0xbaad5ada0, 15, 1;
L_0xbaad5ae40 .repeat 16, 16, L_0xbab364460;
L_0xbab34f160 .concat [ 16 16 0 0], L_0xbaad5ada0, L_0xbaad5ae40;
L_0xbab34f200 .arith/sum 32, L_0xbaa87a6e0, L_0xbab34f160;
S_0xbab31b000 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 5 20, 5 20 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52480 .param/l "i" 1 5 20, +C4<0101>;
S_0xbab31b180 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab31b000;
 .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_0xbaad4f840 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f880 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f8c0 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab31f7a0_0 .net/s *"_ivl_0", 15 0, L_0xbab34f2a0;  1 drivers
v0xbab31f840_0 .net/s *"_ivl_2", 15 0, L_0xbab34f340;  1 drivers
v0xbab31f8e0_0 .net *"_ivl_7", 0 0, L_0xbab364640;  1 drivers
v0xbab31f980_0 .net *"_ivl_9", 15 0, L_0xbaad5af80;  1 drivers
L_0xbaa87a728 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab31fa20_0 .net/s "acc_in", 31 0, L_0xbaa87a728;  1 drivers
v0xbab31fac0_0 .net/s "acc_out", 31 0, L_0xbab34f480;  alias, 1 drivers
v0xbab31fb60_0 .net/s "product", 15 0, L_0xbaad5aee0;  1 drivers
v0xbab31fc00_0 .net/s "product_ext", 31 0, L_0xbab34f3e0;  1 drivers
v0xbab31fca0_0 .net/s "w", 7 0, L_0xbab364780;  1 drivers
v0xbab31fd40_0 .net/s "x", 7 0, L_0xbab3646e0;  1 drivers
L_0xbab34f2a0 .extend/s 16, L_0xbab3646e0;
L_0xbab34f340 .extend/s 16, L_0xbab364780;
L_0xbaad5aee0 .arith/mult 16, L_0xbab34f2a0, L_0xbab34f340;
L_0xbab364640 .part L_0xbaad5aee0, 15, 1;
L_0xbaad5af80 .repeat 16, 16, L_0xbab364640;
L_0xbab34f3e0 .concat [ 16 16 0 0], L_0xbaad5aee0, L_0xbaad5af80;
L_0xbab34f480 .arith/sum 32, L_0xbaa87a728, L_0xbab34f3e0;
S_0xbab31b300 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 5 20, 5 20 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad524c0 .param/l "i" 1 5 20, +C4<0110>;
S_0xbab31b480 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab31b300;
 .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_0xbaad4f900 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4f940 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4f980 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab31fde0_0 .net/s *"_ivl_0", 15 0, L_0xbab34f520;  1 drivers
v0xbab31fe80_0 .net/s *"_ivl_2", 15 0, L_0xbab34f5c0;  1 drivers
v0xbab31ff20_0 .net *"_ivl_7", 0 0, L_0xbab364820;  1 drivers
v0xbab320000_0 .net *"_ivl_9", 15 0, L_0xbaad5b0c0;  1 drivers
L_0xbaa87a770 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab3200a0_0 .net/s "acc_in", 31 0, L_0xbaa87a770;  1 drivers
v0xbab320140_0 .net/s "acc_out", 31 0, L_0xbab34f700;  alias, 1 drivers
v0xbab3201e0_0 .net/s "product", 15 0, L_0xbaad5b020;  1 drivers
v0xbab320280_0 .net/s "product_ext", 31 0, L_0xbab34f660;  1 drivers
v0xbab320320_0 .net/s "w", 7 0, L_0xbab364960;  1 drivers
v0xbab3203c0_0 .net/s "x", 7 0, L_0xbab3648c0;  1 drivers
L_0xbab34f520 .extend/s 16, L_0xbab3648c0;
L_0xbab34f5c0 .extend/s 16, L_0xbab364960;
L_0xbaad5b020 .arith/mult 16, L_0xbab34f520, L_0xbab34f5c0;
L_0xbab364820 .part L_0xbaad5b020, 15, 1;
L_0xbaad5b0c0 .repeat 16, 16, L_0xbab364820;
L_0xbab34f660 .concat [ 16 16 0 0], L_0xbaad5b020, L_0xbaad5b0c0;
L_0xbab34f700 .arith/sum 32, L_0xbaa87a770, L_0xbab34f660;
S_0xbab31b600 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 5 20, 5 20 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52500 .param/l "i" 1 5 20, +C4<0111>;
S_0xbab31b780 .scope module, "u_mac" "mac_unit" 5 25, 6 1 0, S_0xbab31b600;
 .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_0xbaad4f9c0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0xbaad4fa00 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0xbaad4fa40 .param/l "PROD_WIDTH" 1 6 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0xbab320460_0 .net/s *"_ivl_0", 15 0, L_0xbab34f7a0;  1 drivers
v0xbab320500_0 .net/s *"_ivl_2", 15 0, L_0xbab34f840;  1 drivers
v0xbab3205a0_0 .net *"_ivl_7", 0 0, L_0xbab364a00;  1 drivers
v0xbab320640_0 .net *"_ivl_9", 15 0, L_0xbaad5b200;  1 drivers
L_0xbaa87a7b8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0xbab3206e0_0 .net/s "acc_in", 31 0, L_0xbaa87a7b8;  1 drivers
v0xbab320780_0 .net/s "acc_out", 31 0, L_0xbab34f980;  alias, 1 drivers
v0xbab320820_0 .net/s "product", 15 0, L_0xbaad5b160;  1 drivers
v0xbab3208c0_0 .net/s "product_ext", 31 0, L_0xbab34f8e0;  1 drivers
v0xbab320960_0 .net/s "w", 7 0, L_0xbab364b40;  1 drivers
v0xbab320a00_0 .net/s "x", 7 0, L_0xbab364aa0;  1 drivers
L_0xbab34f7a0 .extend/s 16, L_0xbab364aa0;
L_0xbab34f840 .extend/s 16, L_0xbab364b40;
L_0xbaad5b160 .arith/mult 16, L_0xbab34f7a0, L_0xbab34f840;
L_0xbab364a00 .part L_0xbaad5b160, 15, 1;
L_0xbaad5b200 .repeat 16, 16, L_0xbab364a00;
L_0xbab34f8e0 .concat [ 16 16 0 0], L_0xbaad5b160, L_0xbaad5b200;
L_0xbab34f980 .arith/sum 32, L_0xbaa87a7b8, L_0xbab34f8e0;
S_0xbab31b900 .scope generate, "GEN_TREE_INPUT[0]" "GEN_TREE_INPUT[0]" 5 80, 5 80 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52400 .param/l "i" 1 5 80, +C4<00>;
L_0xbab360070 .functor BUFZ 32, L_0xbab34e800, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab31ba80 .scope generate, "GEN_TREE_INPUT[1]" "GEN_TREE_INPUT[1]" 5 80, 5 80 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52540 .param/l "i" 1 5 80, +C4<01>;
L_0xbab3600e0 .functor BUFZ 32, L_0xbab34ea80, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab31bc00 .scope generate, "GEN_TREE_INPUT[2]" "GEN_TREE_INPUT[2]" 5 80, 5 80 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52580 .param/l "i" 1 5 80, +C4<010>;
L_0xbab360150 .functor BUFZ 32, L_0xbab34ed00, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab31bd80 .scope generate, "GEN_TREE_INPUT[3]" "GEN_TREE_INPUT[3]" 5 80, 5 80 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad525c0 .param/l "i" 1 5 80, +C4<011>;
L_0xbab3601c0 .functor BUFZ 32, L_0xbab34ef80, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab324000 .scope generate, "GEN_TREE_INPUT[4]" "GEN_TREE_INPUT[4]" 5 80, 5 80 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52600 .param/l "i" 1 5 80, +C4<0100>;
L_0xbab360230 .functor BUFZ 32, L_0xbab34f200, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab324180 .scope generate, "GEN_TREE_INPUT[5]" "GEN_TREE_INPUT[5]" 5 80, 5 80 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52640 .param/l "i" 1 5 80, +C4<0101>;
L_0xbab3602a0 .functor BUFZ 32, L_0xbab34f480, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab324300 .scope generate, "GEN_TREE_INPUT[6]" "GEN_TREE_INPUT[6]" 5 80, 5 80 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52680 .param/l "i" 1 5 80, +C4<0110>;
L_0xbab360310 .functor BUFZ 32, L_0xbab34f700, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab324480 .scope generate, "GEN_TREE_INPUT[7]" "GEN_TREE_INPUT[7]" 5 80, 5 80 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad526c0 .param/l "i" 1 5 80, +C4<0111>;
L_0xbab360380 .functor BUFZ 32, L_0xbab34f980, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
S_0xbab324600 .scope generate, "GEN_TREE_LEVEL[0]" "GEN_TREE_LEVEL[0]" 5 92, 5 92 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52700 .param/l "level" 1 5 92, +C4<00>;
S_0xbab324780 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab324600;
 .timescale 0 0;
P_0xbaad52740 .param/l "node" 1 5 94, +C4<00>;
L_0xbab34fa20 .arith/sum 32, L_0xbab360070, L_0xbab3600e0;
S_0xbab324900 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab324600;
 .timescale 0 0;
P_0xbaad52780 .param/l "node" 1 5 94, +C4<01>;
L_0xbab34fac0 .arith/sum 32, L_0xbab360150, L_0xbab3601c0;
S_0xbab324a80 .scope generate, "GEN_TREE_NODE[2]" "GEN_TREE_NODE[2]" 5 94, 5 94 0, S_0xbab324600;
 .timescale 0 0;
P_0xbaad527c0 .param/l "node" 1 5 94, +C4<010>;
L_0xbab34fb60 .arith/sum 32, L_0xbab360230, L_0xbab3602a0;
S_0xbab324c00 .scope generate, "GEN_TREE_NODE[3]" "GEN_TREE_NODE[3]" 5 94, 5 94 0, S_0xbab324600;
 .timescale 0 0;
P_0xbaad52800 .param/l "node" 1 5 94, +C4<011>;
L_0xbab34fc00 .arith/sum 32, L_0xbab360310, L_0xbab360380;
S_0xbab324d80 .scope generate, "GEN_TREE_LEVEL[1]" "GEN_TREE_LEVEL[1]" 5 92, 5 92 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52840 .param/l "level" 1 5 92, +C4<01>;
S_0xbab324f00 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab324d80;
 .timescale 0 0;
P_0xbaad52880 .param/l "node" 1 5 94, +C4<00>;
L_0xbab34fca0 .arith/sum 32, L_0xbab34fa20, L_0xbab34fac0;
S_0xbab325080 .scope generate, "GEN_TREE_NODE[1]" "GEN_TREE_NODE[1]" 5 94, 5 94 0, S_0xbab324d80;
 .timescale 0 0;
P_0xbaad528c0 .param/l "node" 1 5 94, +C4<01>;
L_0xbab34fd40 .arith/sum 32, L_0xbab34fb60, L_0xbab34fc00;
S_0xbab325200 .scope generate, "GEN_TREE_LEVEL[2]" "GEN_TREE_LEVEL[2]" 5 92, 5 92 0, S_0xbab319f80;
 .timescale 0 0;
P_0xbaad52900 .param/l "level" 1 5 92, +C4<010>;
S_0xbab325380 .scope generate, "GEN_TREE_NODE[0]" "GEN_TREE_NODE[0]" 5 94, 5 94 0, S_0xbab325200;
 .timescale 0 0;
P_0xbaad52940 .param/l "node" 1 5 94, +C4<00>;
L_0xbab34fde0 .arith/sum 32, L_0xbab34fca0, L_0xbab34fd40;
S_0xbab325500 .scope task, "run_neuron" "run_neuron" 12 51, 12 51 0, S_0x102e23c60;
 .timescale -9 -12;
E_0xbaad3a700 .event anyedge, v0xbab321ae0_0;
TD_tb.run_neuron ;
    %wait E_0xbaad3a480;
    %pushi/vec4 1, 0, 1;
    %store/vec4 v0xbab322580_0, 0, 1;
    %wait E_0xbaad3a480;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0xbab322580_0, 0, 1;
T_0.0 ;
    %load/vec4 v0xbab322300_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_0xbaad3a700;
    %jmp T_0.0;
T_0.1 ;
    %wait E_0xbaad3a480;
    %end;
S_0xbab325680 .scope task, "test_1" "test_1" 12 78, 12 78 0, S_0x102e23c60;
 .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 v0xbab3226c0_0, 0, 256;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0xbab322620_0, 0, 256;
    %pushi/vec4 1, 0, 8;
    %store/vec4 v0xbab322120_0, 0, 8;
    %pushi/vec4 3, 0, 8;
    %ix/load 4, 0, 0;
    %flag_set/imm 4, 0;
    %store/vec4 v0xbab3226c0_0, 4, 8;
    %pushi/vec4 2, 0, 8;
    %ix/load 4, 0, 0;
    %flag_set/imm 4, 0;
    %store/vec4 v0xbab322620_0, 4, 8;
    %pushi/vec4 4, 0, 8;
    %ix/load 4, 8, 0;
    %flag_set/imm 4, 0;
    %store/vec4 v0xbab3226c0_0, 4, 8;
    %pushi/vec4 255, 0, 8;
    %ix/load 4, 8, 0;
    %flag_set/imm 4, 0;
    %store/vec4 v0xbab322620_0, 4, 8;
    %pushi/vec4 2, 0, 8;
    %ix/load 4, 16, 0;
    %flag_set/imm 4, 0;
    %store/vec4 v0xbab3226c0_0, 4, 8;
    %pushi/vec4 1, 0, 8;
    %ix/load 4, 16, 0;
    %flag_set/imm 4, 0;
    %store/vec4 v0xbab322620_0, 4, 8;
    %fork TD_tb.run_neuron, S_0xbab325500;
    %join;
    %vpi_call/w 12 98 "$display", "RTL      = %0d", v0xbab322760_0 {0 0 0};
    %vpi_call/w 12 99 "$display", "EXPECTED = 5" {0 0 0};
    %load/vec4 v0xbab322760_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 v0xbab3223a0_0;
    %addi 1, 0, 32;
    %store/vec4 v0xbab3223a0_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_0xbab325800 .scope task, "test_2" "test_2" 12 117, 12 117 0, S_0x102e23c60;
 .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 v0xbab3226c0_0, 0, 256;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0xbab322620_0, 0, 256;
    %pushi/vec4 0, 0, 8;
    %store/vec4 v0xbab322120_0, 0, 8;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0xbab322440_0, 0, 32;
T_2.4 ; Top of for-loop
    %load/vec4 v0xbab322440_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_2.5, 5;
    %pushi/vec4 1, 0, 8;
    %load/vec4 v0xbab322440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0xbab3226c0_0, 4, 8;
    %pushi/vec4 255, 0, 8;
    %load/vec4 v0xbab322440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0xbab322620_0, 4, 8;
T_2.6 ; for-loop step statement
    %load/vec4 v0xbab322440_0;
    %addi 1, 0, 32;
    %store/vec4 v0xbab322440_0, 0, 32;
    %jmp T_2.4;
T_2.5 ; for-loop exit label
    %fork TD_tb.run_neuron, S_0xbab325500;
    %join;
    %vpi_call/w 12 133 "$display", "RTL      = %0d", v0xbab322760_0 {0 0 0};
    %vpi_call/w 12 134 "$display", "EXPECTED = 0" {0 0 0};
    %load/vec4 v0xbab322760_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 v0xbab3223a0_0;
    %addi 1, 0, 32;
    %store/vec4 v0xbab3223a0_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_0xbab325980 .scope task, "test_3" "test_3" 12 152, 12 152 0, S_0x102e23c60;
 .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 v0xbab3226c0_0, 0, 256;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0xbab322620_0, 0, 256;
    %pushi/vec4 0, 0, 8;
    %store/vec4 v0xbab322120_0, 0, 8;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0xbab322440_0, 0, 32;
T_3.9 ; Top of for-loop
    %load/vec4 v0xbab322440_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_3.10, 5;
    %pushi/vec4 100, 0, 8;
    %load/vec4 v0xbab322440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0xbab3226c0_0, 4, 8;
    %pushi/vec4 2, 0, 8;
    %load/vec4 v0xbab322440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0xbab322620_0, 4, 8;
T_3.11 ; for-loop step statement
    %load/vec4 v0xbab322440_0;
    %addi 1, 0, 32;
    %store/vec4 v0xbab322440_0, 0, 32;
    %jmp T_3.9;
T_3.10 ; for-loop exit label
    %fork TD_tb.run_neuron, S_0xbab325500;
    %join;
    %vpi_call/w 12 168 "$display", "RTL      = %0d", v0xbab322760_0 {0 0 0};
    %vpi_call/w 12 169 "$display", "EXPECTED = 127" {0 0 0};
    %load/vec4 v0xbab322760_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 v0xbab3223a0_0;
    %addi 1, 0, 32;
    %store/vec4 v0xbab3223a0_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_0xbab325b00 .scope task, "test_4" "test_4" 12 193, 12 193 0, S_0x102e23c60;
 .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 v0xbab3226c0_0, 0, 256;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0xbab322620_0, 0, 256;
    %pushi/vec4 240, 0, 8;
    %store/vec4 v0xbab322120_0, 0, 8;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0xbab322440_0, 0, 32;
T_4.14 ; Top of for-loop
    %load/vec4 v0xbab322440_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_4.15, 5;
    %load/vec4 v0xbab322440_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 v0xbab322440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0xbab3226c0_0, 4, 8;
    %pushi/vec4 1, 0, 8;
    %load/vec4 v0xbab322440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0xbab322620_0, 4, 8;
    %jmp T_4.18;
T_4.17 ;
    %pushi/vec4 255, 0, 8;
    %load/vec4 v0xbab322440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0xbab3226c0_0, 4, 8;
    %pushi/vec4 1, 0, 8;
    %load/vec4 v0xbab322440_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0xbab322620_0, 4, 8;
T_4.18 ;
T_4.16 ; for-loop step statement
    %load/vec4 v0xbab322440_0;
    %addi 1, 0, 32;
    %store/vec4 v0xbab322440_0, 0, 32;
    %jmp T_4.14;
T_4.15 ; for-loop exit label
    %fork TD_tb.run_neuron, S_0xbab325500;
    %join;
    %vpi_call/w 12 215 "$display", "RTL      = %0d", v0xbab322760_0 {0 0 0};
    %vpi_call/w 12 216 "$display", "EXPECTED = 0" {0 0 0};
    %load/vec4 v0xbab322760_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 v0xbab3223a0_0;
    %addi 1, 0, 32;
    %store/vec4 v0xbab3223a0_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_0x102e22e30;
T_5 ;
    %wait E_0xbaad38ec0;
    %load/vec4 v0xbab2a90e0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_5.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2a9040_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2a8b40_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2a94a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2a8dc0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2a8f00_0, 0;
    %jmp T_5.1;
T_5.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2a8f00_0, 0;
    %load/vec4 v0xbab2a9180_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_5.4, 9;
    %load/vec4 v0xbab2a8dc0_0;
    %nor/r;
    %and;
T_5.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_5.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2a9040_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2a8b40_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2a8dc0_0, 0;
    %jmp T_5.3;
T_5.2 ;
    %load/vec4 v0xbab2a8dc0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_5.5, 8;
    %load/vec4 v0xbab2a9040_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_5.7, 4;
    %load/vec4 v0xbab2a8fa0_0;
    %assign/vec4 v0xbab2a8b40_0, 0;
    %load/vec4 v0xbab2a8fa0_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_5.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2a94a0_0, 0;
    %jmp T_5.10;
T_5.9 ;
    %load/vec4 v0xbab2a8fa0_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 v0xbab2a94a0_0, 0;
    %jmp T_5.12;
T_5.11 ;
    %load/vec4 v0xbab2a8fa0_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0xbab2a94a0_0, 0;
T_5.12 ;
T_5.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2a8dc0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2a8f00_0, 0;
    %jmp T_5.8;
T_5.7 ;
    %load/vec4 v0xbab2a8be0_0;
    %assign/vec4 v0xbab2a8b40_0, 0;
    %load/vec4 v0xbab2a9040_0;
    %addi 1, 0, 3;
    %assign/vec4 v0xbab2a9040_0, 0;
T_5.8 ;
T_5.5 ;
T_5.3 ;
T_5.1 ;
    %jmp T_5;
    .thread T_5;
    .scope S_0xbab2a6b80;
T_6 ;
    %wait E_0xbaad38ec0;
    %load/vec4 v0xbab2b99a0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_6.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2b9900_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2b9400_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2b9d60_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2b9680_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2b97c0_0, 0;
    %jmp T_6.1;
T_6.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2b97c0_0, 0;
    %load/vec4 v0xbab2b9a40_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_6.4, 9;
    %load/vec4 v0xbab2b9680_0;
    %nor/r;
    %and;
T_6.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_6.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2b9900_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2b9400_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2b9680_0, 0;
    %jmp T_6.3;
T_6.2 ;
    %load/vec4 v0xbab2b9680_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_6.5, 8;
    %load/vec4 v0xbab2b9900_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_6.7, 4;
    %load/vec4 v0xbab2b9860_0;
    %assign/vec4 v0xbab2b9400_0, 0;
    %load/vec4 v0xbab2b9860_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_6.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2b9d60_0, 0;
    %jmp T_6.10;
T_6.9 ;
    %load/vec4 v0xbab2b9860_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 v0xbab2b9d60_0, 0;
    %jmp T_6.12;
T_6.11 ;
    %load/vec4 v0xbab2b9860_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0xbab2b9d60_0, 0;
T_6.12 ;
T_6.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2b9680_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2b97c0_0, 0;
    %jmp T_6.8;
T_6.7 ;
    %load/vec4 v0xbab2b94a0_0;
    %assign/vec4 v0xbab2b9400_0, 0;
    %load/vec4 v0xbab2b9900_0;
    %addi 1, 0, 3;
    %assign/vec4 v0xbab2b9900_0, 0;
T_6.8 ;
T_6.5 ;
T_6.3 ;
T_6.1 ;
    %jmp T_6;
    .thread T_6;
    .scope S_0xbab2b2400;
T_7 ;
    %wait E_0xbaad38ec0;
    %load/vec4 v0xbab2c2260_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_7.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2c21c0_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2c1cc0_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2c2620_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2c1f40_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2c2080_0, 0;
    %jmp T_7.1;
T_7.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2c2080_0, 0;
    %load/vec4 v0xbab2c2300_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_7.4, 9;
    %load/vec4 v0xbab2c1f40_0;
    %nor/r;
    %and;
T_7.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_7.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2c21c0_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2c1cc0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2c1f40_0, 0;
    %jmp T_7.3;
T_7.2 ;
    %load/vec4 v0xbab2c1f40_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_7.5, 8;
    %load/vec4 v0xbab2c21c0_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_7.7, 4;
    %load/vec4 v0xbab2c2120_0;
    %assign/vec4 v0xbab2c1cc0_0, 0;
    %load/vec4 v0xbab2c2120_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_7.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2c2620_0, 0;
    %jmp T_7.10;
T_7.9 ;
    %load/vec4 v0xbab2c2120_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 v0xbab2c2620_0, 0;
    %jmp T_7.12;
T_7.11 ;
    %load/vec4 v0xbab2c2120_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0xbab2c2620_0, 0;
T_7.12 ;
T_7.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2c1f40_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2c2080_0, 0;
    %jmp T_7.8;
T_7.7 ;
    %load/vec4 v0xbab2c1d60_0;
    %assign/vec4 v0xbab2c1cc0_0, 0;
    %load/vec4 v0xbab2c21c0_0;
    %addi 1, 0, 3;
    %assign/vec4 v0xbab2c21c0_0, 0;
T_7.8 ;
T_7.5 ;
T_7.3 ;
T_7.1 ;
    %jmp T_7;
    .thread T_7;
    .scope S_0xbab2c5c80;
T_8 ;
    %wait E_0xbaad38ec0;
    %load/vec4 v0xbab2d2b20_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_8.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2d2a80_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2d2580_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2d2ee0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2d2800_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2d2940_0, 0;
    %jmp T_8.1;
T_8.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2d2940_0, 0;
    %load/vec4 v0xbab2d2bc0_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_8.4, 9;
    %load/vec4 v0xbab2d2800_0;
    %nor/r;
    %and;
T_8.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_8.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2d2a80_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2d2580_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2d2800_0, 0;
    %jmp T_8.3;
T_8.2 ;
    %load/vec4 v0xbab2d2800_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_8.5, 8;
    %load/vec4 v0xbab2d2a80_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_8.7, 4;
    %load/vec4 v0xbab2d29e0_0;
    %assign/vec4 v0xbab2d2580_0, 0;
    %load/vec4 v0xbab2d29e0_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_8.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2d2ee0_0, 0;
    %jmp T_8.10;
T_8.9 ;
    %load/vec4 v0xbab2d29e0_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 v0xbab2d2ee0_0, 0;
    %jmp T_8.12;
T_8.11 ;
    %load/vec4 v0xbab2d29e0_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0xbab2d2ee0_0, 0;
T_8.12 ;
T_8.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2d2800_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2d2940_0, 0;
    %jmp T_8.8;
T_8.7 ;
    %load/vec4 v0xbab2d2620_0;
    %assign/vec4 v0xbab2d2580_0, 0;
    %load/vec4 v0xbab2d2a80_0;
    %addi 1, 0, 3;
    %assign/vec4 v0xbab2d2a80_0, 0;
T_8.8 ;
T_8.5 ;
T_8.3 ;
T_8.1 ;
    %jmp T_8;
    .thread T_8;
    .scope S_0xbab2d5500;
T_9 ;
    %wait E_0xbaad38ec0;
    %load/vec4 v0xbab2db3e0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_9.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2db340_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2dae40_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2db7a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2db0c0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2db200_0, 0;
    %jmp T_9.1;
T_9.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2db200_0, 0;
    %load/vec4 v0xbab2db480_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_9.4, 9;
    %load/vec4 v0xbab2db0c0_0;
    %nor/r;
    %and;
T_9.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_9.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2db340_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2dae40_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2db0c0_0, 0;
    %jmp T_9.3;
T_9.2 ;
    %load/vec4 v0xbab2db0c0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_9.5, 8;
    %load/vec4 v0xbab2db340_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_9.7, 4;
    %load/vec4 v0xbab2db2a0_0;
    %assign/vec4 v0xbab2dae40_0, 0;
    %load/vec4 v0xbab2db2a0_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_9.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2db7a0_0, 0;
    %jmp T_9.10;
T_9.9 ;
    %load/vec4 v0xbab2db2a0_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 v0xbab2db7a0_0, 0;
    %jmp T_9.12;
T_9.11 ;
    %load/vec4 v0xbab2db2a0_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0xbab2db7a0_0, 0;
T_9.12 ;
T_9.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2db0c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2db200_0, 0;
    %jmp T_9.8;
T_9.7 ;
    %load/vec4 v0xbab2daee0_0;
    %assign/vec4 v0xbab2dae40_0, 0;
    %load/vec4 v0xbab2db340_0;
    %addi 1, 0, 3;
    %assign/vec4 v0xbab2db340_0, 0;
T_9.8 ;
T_9.5 ;
T_9.3 ;
T_9.1 ;
    %jmp T_9;
    .thread T_9;
    .scope S_0xbab2dcd80;
T_10 ;
    %wait E_0xbaad38ec0;
    %load/vec4 v0xbab2e3ca0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_10.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2e3c00_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2e3700_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2e80a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2e3980_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2e3ac0_0, 0;
    %jmp T_10.1;
T_10.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2e3ac0_0, 0;
    %load/vec4 v0xbab2e3d40_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_10.4, 9;
    %load/vec4 v0xbab2e3980_0;
    %nor/r;
    %and;
T_10.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_10.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2e3c00_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2e3700_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2e3980_0, 0;
    %jmp T_10.3;
T_10.2 ;
    %load/vec4 v0xbab2e3980_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_10.5, 8;
    %load/vec4 v0xbab2e3c00_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_10.7, 4;
    %load/vec4 v0xbab2e3b60_0;
    %assign/vec4 v0xbab2e3700_0, 0;
    %load/vec4 v0xbab2e3b60_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_10.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2e80a0_0, 0;
    %jmp T_10.10;
T_10.9 ;
    %load/vec4 v0xbab2e3b60_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 v0xbab2e80a0_0, 0;
    %jmp T_10.12;
T_10.11 ;
    %load/vec4 v0xbab2e3b60_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0xbab2e80a0_0, 0;
T_10.12 ;
T_10.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2e3980_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2e3ac0_0, 0;
    %jmp T_10.8;
T_10.7 ;
    %load/vec4 v0xbab2e37a0_0;
    %assign/vec4 v0xbab2e3700_0, 0;
    %load/vec4 v0xbab2e3c00_0;
    %addi 1, 0, 3;
    %assign/vec4 v0xbab2e3c00_0, 0;
T_10.8 ;
T_10.5 ;
T_10.3 ;
T_10.1 ;
    %jmp T_10;
    .thread T_10;
    .scope S_0xbab2e4600;
T_11 ;
    %wait E_0xbaad38ec0;
    %load/vec4 v0xbab2f85a0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_11.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2f8500_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2f8000_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2f8960_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2f8280_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2f83c0_0, 0;
    %jmp T_11.1;
T_11.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2f83c0_0, 0;
    %load/vec4 v0xbab2f8640_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_11.4, 9;
    %load/vec4 v0xbab2f8280_0;
    %nor/r;
    %and;
T_11.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_11.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab2f8500_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab2f8000_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2f8280_0, 0;
    %jmp T_11.3;
T_11.2 ;
    %load/vec4 v0xbab2f8280_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_11.5, 8;
    %load/vec4 v0xbab2f8500_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_11.7, 4;
    %load/vec4 v0xbab2f8460_0;
    %assign/vec4 v0xbab2f8000_0, 0;
    %load/vec4 v0xbab2f8460_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_11.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab2f8960_0, 0;
    %jmp T_11.10;
T_11.9 ;
    %load/vec4 v0xbab2f8460_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 v0xbab2f8960_0, 0;
    %jmp T_11.12;
T_11.11 ;
    %load/vec4 v0xbab2f8460_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0xbab2f8960_0, 0;
T_11.12 ;
T_11.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab2f8280_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab2f83c0_0, 0;
    %jmp T_11.8;
T_11.7 ;
    %load/vec4 v0xbab2f80a0_0;
    %assign/vec4 v0xbab2f8000_0, 0;
    %load/vec4 v0xbab2f8500_0;
    %addi 1, 0, 3;
    %assign/vec4 v0xbab2f8500_0, 0;
T_11.8 ;
T_11.5 ;
T_11.3 ;
T_11.1 ;
    %jmp T_11;
    .thread T_11;
    .scope S_0xbab2e7d80;
T_12 ;
    %wait E_0xbaad38ec0;
    %load/vec4 v0xbab300e60_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_12.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab300dc0_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab3008c0_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab301220_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab300b40_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab300c80_0, 0;
    %jmp T_12.1;
T_12.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab300c80_0, 0;
    %load/vec4 v0xbab300f00_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_12.4, 9;
    %load/vec4 v0xbab300b40_0;
    %nor/r;
    %and;
T_12.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_12.2, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab300dc0_0, 0;
    %pushi/vec4 0, 0, 40;
    %assign/vec4 v0xbab3008c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab300b40_0, 0;
    %jmp T_12.3;
T_12.2 ;
    %load/vec4 v0xbab300b40_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_12.5, 8;
    %load/vec4 v0xbab300dc0_0;
    %pad/u 32;
    %cmpi/e 7, 0, 32;
    %jmp/0xz  T_12.7, 4;
    %load/vec4 v0xbab300d20_0;
    %assign/vec4 v0xbab3008c0_0, 0;
    %load/vec4 v0xbab300d20_0;
    %cmpi/s 0, 0, 40;
    %flag_or 5, 4;
    %jmp/0xz  T_12.9, 5;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab301220_0, 0;
    %jmp T_12.10;
T_12.9 ;
    %load/vec4 v0xbab300d20_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 v0xbab301220_0, 0;
    %jmp T_12.12;
T_12.11 ;
    %load/vec4 v0xbab300d20_0;
    %parti/s 16, 0, 2;
    %assign/vec4 v0xbab301220_0, 0;
T_12.12 ;
T_12.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab300b40_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab300c80_0, 0;
    %jmp T_12.8;
T_12.7 ;
    %load/vec4 v0xbab300960_0;
    %assign/vec4 v0xbab3008c0_0, 0;
    %load/vec4 v0xbab300dc0_0;
    %addi 1, 0, 3;
    %assign/vec4 v0xbab300dc0_0, 0;
T_12.8 ;
T_12.5 ;
T_12.3 ;
T_12.1 ;
    %jmp T_12;
    .thread T_12;
    .scope S_0x102e305e0;
T_13 ;
    %wait E_0xbaad3a100;
    %load/vec4 v0xbab302260_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_13.0, 8;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0xbab302300_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab302080_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab302120_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab301c20_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab301ea0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab301e00_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab301fe0_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0xbab301b80_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab301f40_0, 0;
    %jmp T_13.1;
T_13.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab302120_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab301e00_0, 0;
    %load/vec4 v0xbab302300_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 v0xbab302300_0, 0;
    %jmp T_13.5;
T_13.2 ;
    %load/vec4 v0xbab3021c0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_13.6, 8;
    %load/vec4 v0xbab3024e0_0;
    %assign/vec4 v0xbab301fe0_0, 0;
    %load/vec4 v0xbab3019a0_0;
    %assign/vec4 v0xbab301b80_0, 0;
    %load/vec4 v0xbab302440_0;
    %assign/vec4 v0xbab301f40_0, 0;
    %load/vec4 v0xbab301ae0_0;
    %assign/vec4 v0xbab301c20_0, 0;
    %load/vec4 v0xbab3023a0_0;
    %assign/vec4 v0xbab301ea0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab301e00_0, 0;
    %pushi/vec4 1, 0, 2;
    %assign/vec4 v0xbab302300_0, 0;
T_13.6 ;
    %jmp T_13.5;
T_13.3 ;
    %load/vec4 v0xbab301d60_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_13.8, 8;
    %load/vec4 v0xbab301fe0_0;
    %nor/r;
    %flag_set/vec4 8;
    %jmp/0xz  T_13.10, 8;
    %load/vec4 v0xbab301cc0_0;
    %assign/vec4 v0xbab302080_0, 0;
T_13.10 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab302120_0, 0;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0xbab302300_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_0x102e25b60;
T_14 ;
    %wait E_0xbaad3a140;
    %load/vec4 v0xbab302d00_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_14.0, 8;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab302b20_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab302bc0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab302620_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab302a80_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0xbab302940_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab3029e0_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0xbab302760_0, 0;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0xbab302800_0, 0, 32;
T_14.2 ; Top of for-loop
    %load/vec4 v0xbab302800_0;
    %cmpi/s 4096, 0, 32;
	  %jmp/0xz T_14.3, 5;
    %pushi/vec4 0, 0, 16;
    %ix/getv/s 3, v0xbab302800_0;
    %ix/load 4, 0, 0; Constant delay
    %assign/vec4/a/d v0xbab3028a0, 0, 4;
T_14.4 ; for-loop step statement
    %load/vec4 v0xbab302800_0;
    %addi 1, 0, 32;
    %store/vec4 v0xbab302800_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 v0xbab302bc0_0, 0;
    %load/vec4 v0xbab302620_0;
    %nor/r;
    %flag_set/vec4 8;
    %jmp/0xz  T_14.5, 8;
    %load/vec4 v0xbab302c60_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_14.7, 8;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab302620_0, 0;
    %load/vec4 v0xbab302e40_0;
    %assign/vec4 v0xbab302a80_0, 0;
    %load/vec4 v0xbab302580_0;
    %assign/vec4 v0xbab302940_0, 0;
    %load/vec4 v0xbab302da0_0;
    %assign/vec4 v0xbab3029e0_0, 0;
    %pushi/vec4 2, 0, 32;
    %assign/vec4 v0xbab302760_0, 0;
T_14.7 ;
    %jmp T_14.6;
T_14.5 ;
    %load/vec4 v0xbab302760_0;
    %cmpi/s 0, 0, 32;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_14.9, 5;
    %load/vec4 v0xbab302760_0;
    %subi 1, 0, 32;
    %assign/vec4 v0xbab302760_0, 0;
    %jmp T_14.10;
T_14.9 ;
    %load/vec4 v0xbab302a80_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_14.11, 8;
    %load/vec4 v0xbab302940_0;
    %pad/u 32;
    %cmpi/u 4096, 0, 32;
    %jmp/0xz  T_14.13, 5;
    %load/vec4 v0xbab3029e0_0;
    %ix/getv 3, v0xbab302940_0;
    %ix/load 4, 0, 0; Constant delay
    %assign/vec4/a/d v0xbab3028a0, 0, 4;
T_14.13 ;
    %jmp T_14.12;
T_14.11 ;
    %load/vec4 v0xbab302940_0;
    %pad/u 32;
    %cmpi/u 4096, 0, 32;
    %jmp/0xz  T_14.15, 5;
    %ix/getv 4, v0xbab302940_0;
    %load/vec4a v0xbab3028a0, 4;
    %assign/vec4 v0xbab302b20_0, 0;
    %jmp T_14.16;
T_14.15 ;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab302b20_0, 0;
T_14.16 ;
T_14.12 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab302bc0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab302620_0, 0;
T_14.10 ;
T_14.6 ;
T_14.1 ;
    %jmp T_14;
    .thread T_14;
    .scope S_0xbab306580;
T_15 ;
    %wait E_0xbaad3a1c0;
    %load/vec4 v0xbab309fe0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_15.0, 8;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0xbab30a080_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0xbab3097c0_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0xbab309e00_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab309ea0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab309b80_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab309d60_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0xbab309900_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab309cc0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab3099a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab309c20_0, 0;
    %jmp T_15.1;
T_15.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab309ea0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab309b80_0, 0;
    %load/vec4 v0xbab30a080_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 v0xbab30a080_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab309b80_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab3099a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab309c20_0, 0;
    %jmp T_15.5;
T_15.2 ;
    %load/vec4 v0xbab309f40_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_15.6, 8;
    %load/vec4 v0xbab309720_0;
    %assign/vec4 v0xbab3097c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab309b80_0, 0;
    %load/vec4 v0xbab30a1c0_0;
    %assign/vec4 v0xbab309d60_0, 0;
    %load/vec4 v0xbab309720_0;
    %ix/load 4, 1, 0;
    %flag_set/imm 4, 0;
    %shiftr 4;
    %assign/vec4 v0xbab309900_0, 0;
    %load/vec4 v0xbab309720_0;
    %parti/s 1, 0, 2;
    %cmpi/e 0, 0, 1;
    %jmp/0xz  T_15.8, 4;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3099a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab309c20_0, 0;
    %pushi/vec4 0, 0, 8;
    %load/vec4 v0xbab30a120_0;
    %concat/vec4; draw_concat_vec4
    %assign/vec4 v0xbab309cc0_0, 0;
    %jmp T_15.9;
T_15.8 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab3099a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab309c20_0, 0;
    %load/vec4 v0xbab30a120_0;
    %concati/vec4 0, 0, 8;
    %assign/vec4 v0xbab309cc0_0, 0;
T_15.9 ;
    %pushi/vec4 1, 0, 2;
    %assign/vec4 v0xbab30a080_0, 0;
T_15.6 ;
    %jmp T_15.5;
T_15.3 ;
    %load/vec4 v0xbab309ae0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_15.10, 8;
    %load/vec4 v0xbab3097c0_0;
    %parti/s 1, 0, 2;
    %cmpi/e 0, 0, 1;
    %jmp/0xz  T_15.12, 4;
    %load/vec4 v0xbab309a40_0;
    %parti/s 8, 0, 2;
    %assign/vec4 v0xbab309e00_0, 0;
    %jmp T_15.13;
T_15.12 ;
    %load/vec4 v0xbab309a40_0;
    %parti/s 8, 8, 5;
    %assign/vec4 v0xbab309e00_0, 0;
T_15.13 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab309ea0_0, 0;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0xbab30a080_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_0xbab306700;
T_16 ;
    %wait E_0xbaad3a1c0;
    %load/vec4 v0xbab3126c0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_16.0, 8;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0xbab312620_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0xbab312120_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0xbab312a80_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3123a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3124e0_0, 0;
    %jmp T_16.1;
T_16.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3124e0_0, 0;
    %load/vec4 v0xbab312760_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_16.4, 9;
    %load/vec4 v0xbab3123a0_0;
    %nor/r;
    %and;
T_16.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_16.2, 8;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0xbab312620_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0xbab312120_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab3123a0_0, 0;
    %jmp T_16.3;
T_16.2 ;
    %load/vec4 v0xbab3123a0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_16.5, 8;
    %load/vec4 v0xbab312620_0;
    %pad/u 32;
    %cmpi/e 3, 0, 32;
    %jmp/0xz  T_16.7, 4;
    %load/vec4 v0xbab312580_0;
    %assign/vec4 v0xbab312120_0, 0;
    %load/vec4 v0xbab312580_0;
    %cmpi/s 0, 0, 32;
    %flag_or 5, 4;
    %jmp/0xz  T_16.9, 5;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0xbab312a80_0, 0;
    %jmp T_16.10;
T_16.9 ;
    %load/vec4 v0xbab312580_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 v0xbab312a80_0, 0;
    %jmp T_16.12;
T_16.11 ;
    %load/vec4 v0xbab312580_0;
    %parti/s 8, 0, 2;
    %assign/vec4 v0xbab312a80_0, 0;
T_16.12 ;
T_16.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3123a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab3124e0_0, 0;
    %jmp T_16.8;
T_16.7 ;
    %load/vec4 v0xbab3121c0_0;
    %assign/vec4 v0xbab312120_0, 0;
    %load/vec4 v0xbab312620_0;
    %addi 1, 0, 2;
    %assign/vec4 v0xbab312620_0, 0;
T_16.8 ;
T_16.5 ;
T_16.3 ;
T_16.1 ;
    %jmp T_16;
    .thread T_16;
    .scope S_0x102e25ce0;
T_17 ;
    %wait E_0xbaad3a1c0;
    %load/vec4 v0xbab31c0a0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_17.0, 8;
    %pushi/vec4 0, 0, 4;
    %assign/vec4 v0xbab31c1e0_0, 0;
    %pushi/vec4 0, 0, 6;
    %assign/vec4 v0xbab313980_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0xbab313700_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab313480_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3135c0_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0xbab312e40_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0xbab313520_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab313f20_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0xbab31c640_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3137a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3138e0_0, 0;
    %jmp T_17.1;
T_17.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab313480_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab313f20_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3138e0_0, 0;
    %load/vec4 v0xbab31c1e0_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 v0xbab31c1e0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3137a0_0, 0;
    %jmp T_17.9;
T_17.2 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3137a0_0, 0;
    %load/vec4 v0xbab31c140_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_17.10, 8;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab3137a0_0, 0;
    %pushi/vec4 0, 0, 6;
    %assign/vec4 v0xbab313980_0, 0;
    %load/vec4 v0xbab31c460_0;
    %assign/vec4 v0xbab312e40_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3135c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab313480_0, 0;
    %pushi/vec4 1, 0, 4;
    %assign/vec4 v0xbab31c1e0_0, 0;
T_17.10 ;
    %jmp T_17.9;
T_17.3 ;
    %load/vec4 v0xbab3133e0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_17.12, 8;
    %load/vec4 v0xbab313340_0;
    %load/vec4 v0xbab313980_0;
    %pad/u 7;
    %ix/vec4 3;
    %ix/load 4, 0, 0; Constant delay
    %assign/vec4/a/d v0xbab31c5a0, 0, 4;
    %load/vec4 v0xbab313980_0;
    %pad/u 32;
    %cmpi/e 31, 0, 32;
    %jmp/0xz  T_17.14, 4;
    %pushi/vec4 0, 0, 6;
    %assign/vec4 v0xbab313980_0, 0;
    %load/vec4 v0xbab31c280_0;
    %assign/vec4 v0xbab312e40_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3135c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab313480_0, 0;
    %pushi/vec4 2, 0, 4;
    %assign/vec4 v0xbab31c1e0_0, 0;
    %jmp T_17.15;
T_17.14 ;
    %load/vec4 v0xbab313980_0;
    %addi 1, 0, 6;
    %assign/vec4 v0xbab313980_0, 0;
    %load/vec4 v0xbab31c460_0;
    %load/vec4 v0xbab313980_0;
    %pad/u 22;
    %add;
    %addi 1, 0, 22;
    %assign/vec4 v0xbab312e40_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab313480_0, 0;
T_17.15 ;
T_17.12 ;
    %jmp T_17.9;
T_17.4 ;
    %load/vec4 v0xbab3133e0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_17.16, 8;
    %load/vec4 v0xbab313340_0;
    %load/vec4 v0xbab313980_0;
    %pad/u 7;
    %ix/vec4 3;
    %ix/load 4, 0, 0; Constant delay
    %assign/vec4/a/d v0xbab31c3c0, 0, 4;
    %load/vec4 v0xbab313980_0;
    %pad/u 32;
    %cmpi/e 31, 0, 32;
    %jmp/0xz  T_17.18, 4;
    %load/vec4 v0xbab313660_0;
    %assign/vec4 v0xbab312e40_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3135c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab313480_0, 0;
    %pushi/vec4 3, 0, 4;
    %assign/vec4 v0xbab31c1e0_0, 0;
    %jmp T_17.19;
T_17.18 ;
    %load/vec4 v0xbab313980_0;
    %addi 1, 0, 6;
    %assign/vec4 v0xbab313980_0, 0;
    %load/vec4 v0xbab31c280_0;
    %load/vec4 v0xbab313980_0;
    %pad/u 22;
    %add;
    %addi 1, 0, 22;
    %assign/vec4 v0xbab312e40_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab313480_0, 0;
T_17.19 ;
T_17.16 ;
    %jmp T_17.9;
T_17.5 ;
    %load/vec4 v0xbab3133e0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_17.20, 8;
    %load/vec4 v0xbab313340_0;
    %assign/vec4 v0xbab313700_0, 0;
    %pushi/vec4 4, 0, 4;
    %assign/vec4 v0xbab31c1e0_0, 0;
T_17.20 ;
    %jmp T_17.9;
T_17.6 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab313f20_0, 0;
    %pushi/vec4 5, 0, 4;
    %assign/vec4 v0xbab31c1e0_0, 0;
    %jmp T_17.9;
T_17.7 ;
    %load/vec4 v0xbab313e80_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_17.22, 8;
    %load/vec4 v0xbab31c000_0;
    %assign/vec4 v0xbab31c640_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3137a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab3138e0_0, 0;
    %pushi/vec4 0, 0, 4;
    %assign/vec4 v0xbab31c1e0_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_0x102e23ae0;
T_18 ;
    %wait E_0xbaad3a440;
    %load/vec4 v0xbab31d540_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_18.0, 8;
    %pushi/vec4 0, 0, 3;
    %assign/vec4 v0xbab31d5e0_0, 0;
    %pushi/vec4 0, 0, 14;
    %assign/vec4 v0xbab31c8c0_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0xbab31c780_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab31d720_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31d7c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31caa0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d680_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab31cc80_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31cd20_0, 0;
    %pushi/vec4 0, 0, 22;
    %assign/vec4 v0xbab31d040_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d400_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d220_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d4a0_0, 0;
    %pushi/vec4 0, 0, 16;
    %assign/vec4 v0xbab31ca00_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31c960_0, 0;
    %jmp T_18.1;
T_18.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31cd20_0, 0;
    %load/vec4 v0xbab31d5e0_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 v0xbab31d5e0_0, 0;
    %pushi/vec4 0, 0, 14;
    %assign/vec4 v0xbab31c8c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d400_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d220_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d4a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31c960_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31caa0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d680_0, 0;
    %jmp T_18.8;
T_18.2 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d400_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d220_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d4a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31c960_0, 0;
    %load/vec4 v0xbab31c8c0_0;
    %pad/u 32;
    %cmpi/e 11999, 0, 32;
    %jmp/0xz  T_18.9, 4;
    %pushi/vec4 0, 0, 14;
    %assign/vec4 v0xbab31c8c0_0, 0;
    %pushi/vec4 1, 0, 3;
    %assign/vec4 v0xbab31d5e0_0, 0;
    %jmp T_18.10;
T_18.9 ;
    %load/vec4 v0xbab31c8c0_0;
    %addi 1, 0, 14;
    %assign/vec4 v0xbab31c8c0_0, 0;
T_18.10 ;
    %jmp T_18.8;
T_18.3 ;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d400_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d220_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d4a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31c960_0, 0;
    %load/vec4 v0xbab31cdc0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_18.11, 8;
    %load/vec4 v0xbab31cb40_0;
    %assign/vec4 v0xbab31c780_0, 0;
    %load/vec4 v0xbab31cf00_0;
    %assign/vec4 v0xbab31d720_0, 0;
    %load/vec4 v0xbab31cfa0_0;
    %assign/vec4 v0xbab31d7c0_0, 0;
    %load/vec4 v0xbab31cbe0_0;
    %assign/vec4 v0xbab31caa0_0, 0;
    %load/vec4 v0xbab31ce60_0;
    %assign/vec4 v0xbab31d680_0, 0;
    %load/vec4 v0xbab31cb40_0;
    %assign/vec4 v0xbab31d040_0, 0;
    %load/vec4 v0xbab31cbe0_0;
    %assign/vec4 v0xbab31d220_0, 0;
    %load/vec4 v0xbab31ce60_0;
    %assign/vec4 v0xbab31d360_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31d0e0_0, 0;
    %pushi/vec4 0, 0, 14;
    %assign/vec4 v0xbab31c8c0_0, 0;
    %load/vec4 v0xbab31cfa0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_18.13, 8;
    %load/vec4 v0xbab31cf00_0;
    %assign/vec4 v0xbab31ca00_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31c960_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31d400_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d2c0_0, 0;
    %pushi/vec4 3, 0, 3;
    %assign/vec4 v0xbab31d5e0_0, 0;
    %jmp T_18.14;
T_18.13 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31c960_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d400_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31d2c0_0, 0;
    %pushi/vec4 2, 0, 3;
    %assign/vec4 v0xbab31d5e0_0, 0;
T_18.14 ;
T_18.11 ;
    %jmp T_18.8;
T_18.4 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31d0e0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d400_0, 0;
    %load/vec4 v0xbab31caa0_0;
    %assign/vec4 v0xbab31d220_0, 0;
    %load/vec4 v0xbab31d680_0;
    %assign/vec4 v0xbab31d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d4a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31c960_0, 0;
    %load/vec4 v0xbab31c8c0_0;
    %pad/u 32;
    %cmpi/e 5, 0, 32;
    %jmp/0xz  T_18.15, 4;
    %load/vec4 v0xbab31d180_0;
    %assign/vec4 v0xbab31cc80_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31cd20_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d220_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d360_0, 0;
    %pushi/vec4 0, 0, 14;
    %assign/vec4 v0xbab31c8c0_0, 0;
    %pushi/vec4 1, 0, 3;
    %assign/vec4 v0xbab31d5e0_0, 0;
    %jmp T_18.16;
T_18.15 ;
    %load/vec4 v0xbab31c8c0_0;
    %addi 1, 0, 14;
    %assign/vec4 v0xbab31c8c0_0, 0;
T_18.16 ;
    %jmp T_18.8;
T_18.5 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d2c0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31d400_0, 0;
    %load/vec4 v0xbab31caa0_0;
    %assign/vec4 v0xbab31d220_0, 0;
    %load/vec4 v0xbab31d680_0;
    %assign/vec4 v0xbab31d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d4a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31c960_0, 0;
    %load/vec4 v0xbab31c8c0_0;
    %pad/u 32;
    %cmpi/e 5, 0, 32;
    %jmp/0xz  T_18.17, 4;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d400_0, 0;
    %pushi/vec4 0, 0, 14;
    %assign/vec4 v0xbab31c8c0_0, 0;
    %pushi/vec4 4, 0, 3;
    %assign/vec4 v0xbab31d5e0_0, 0;
    %jmp T_18.18;
T_18.17 ;
    %load/vec4 v0xbab31c8c0_0;
    %addi 1, 0, 14;
    %assign/vec4 v0xbab31c8c0_0, 0;
T_18.18 ;
    %jmp T_18.8;
T_18.6 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d2c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d400_0, 0;
    %load/vec4 v0xbab31caa0_0;
    %assign/vec4 v0xbab31d220_0, 0;
    %load/vec4 v0xbab31d680_0;
    %assign/vec4 v0xbab31d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d4a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab31c960_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d0e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d220_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31d360_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab31cd20_0, 0;
    %pushi/vec4 1, 0, 3;
    %assign/vec4 v0xbab31d5e0_0, 0;
    %jmp T_18.8;
T_18.8 ;
    %pop/vec4 1;
T_18.1 ;
    %jmp T_18;
    .thread T_18;
    .scope S_0xbab319e00;
T_19 ;
    %wait E_0xbaad3a480;
    %load/vec4 v0xbab321cc0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_19.0, 8;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0xbab321c20_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0xbab321720_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0xbab322080_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3219a0_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab321ae0_0, 0;
    %jmp T_19.1;
T_19.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab321ae0_0, 0;
    %load/vec4 v0xbab321d60_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_19.4, 9;
    %load/vec4 v0xbab3219a0_0;
    %nor/r;
    %and;
T_19.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_19.2, 8;
    %pushi/vec4 0, 0, 2;
    %assign/vec4 v0xbab321c20_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0xbab321720_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab3219a0_0, 0;
    %jmp T_19.3;
T_19.2 ;
    %load/vec4 v0xbab3219a0_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_19.5, 8;
    %load/vec4 v0xbab321c20_0;
    %pad/u 32;
    %cmpi/e 3, 0, 32;
    %jmp/0xz  T_19.7, 4;
    %load/vec4 v0xbab321b80_0;
    %assign/vec4 v0xbab321720_0, 0;
    %load/vec4 v0xbab321b80_0;
    %cmpi/s 0, 0, 32;
    %flag_or 5, 4;
    %jmp/0xz  T_19.9, 5;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0xbab322080_0, 0;
    %jmp T_19.10;
T_19.9 ;
    %load/vec4 v0xbab321b80_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 v0xbab322080_0, 0;
    %jmp T_19.12;
T_19.11 ;
    %load/vec4 v0xbab321b80_0;
    %parti/s 8, 0, 2;
    %assign/vec4 v0xbab322080_0, 0;
T_19.12 ;
T_19.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0xbab3219a0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0xbab321ae0_0, 0;
    %jmp T_19.8;
T_19.7 ;
    %load/vec4 v0xbab3217c0_0;
    %assign/vec4 v0xbab321720_0, 0;
    %load/vec4 v0xbab321c20_0;
    %addi 1, 0, 2;
    %assign/vec4 v0xbab321c20_0, 0;
T_19.8 ;
T_19.5 ;
T_19.3 ;
T_19.1 ;
    %jmp T_19;
    .thread T_19;
    .scope S_0x102e23c60;
T_20 ;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0xbab322260_0, 0, 1;
T_20.0 ;
    %delay 5000, 0;
    %load/vec4 v0xbab322260_0;
    %inv;
    %store/vec4 v0xbab322260_0, 0, 1;
    %jmp T_20.0;
T_20.1 ;
    %end;
    .thread T_20;
    .scope S_0x102e23c60;
T_21 ;
    %vpi_call/w 12 233 "$dumpfile", "sim/neuron_parallel.vcd" {0 0 0};
    %vpi_call/w 12 234 "$dumpvars", 32'sb00000000000000000000000000000000, S_0x102e23c60 {0 0 0};
    %pushi/vec4 1, 0, 1;
    %store/vec4 v0xbab3224e0_0, 0, 1;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0xbab322580_0, 0, 1;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0xbab3226c0_0, 0, 256;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0xbab322620_0, 0, 256;
    %pushi/vec4 0, 0, 8;
    %store/vec4 v0xbab322120_0, 0, 8;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0xbab3223a0_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_0xbaad3a480;
    %jmp T_21.0;
T_21.1 ;
    %pop/vec4 1;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0xbab3224e0_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_0xbab325680;
    %join;
    %fork TD_tb.test_2, S_0xbab325800;
    %join;
    %fork TD_tb.test_3, S_0xbab325980;
    %join;
    %fork TD_tb.test_4, S_0xbab325b00;
    %join;
    %vpi_call/w 12 257 "$display", "\000" {0 0 0};
    %vpi_call/w 12 258 "$display", "==============================" {0 0 0};
    %load/vec4 v0xbab3223a0_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", v0xbab3223a0_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";
