#! /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_0x100d39790 .scope package, "$unit" "$unit" 2 1;
 .timescale 0 0;
S_0x100d3a3f0 .scope module, "tb" "tb" 3 3;
 .timescale -9 -12;
P_0x8990fbe80 .param/l "ACC_WIDTH" 0 3 9, +C4<00000000000000000000000000100000>;
P_0x8990fbec0 .param/l "DATA_WIDTH" 0 3 5, +C4<00000000000000000000000000001000>;
P_0x8990fbf00 .param/l "N_INPUTS" 0 3 6, +C4<00000000000000000000000000100000>;
P_0x8990fbf40 .param/l "N_NEURONS" 0 3 7, +C4<00000000000000000000000000000100>;
P_0x8990fbf80 .param/l "PARALLEL" 0 3 8, +C4<00000000000000000000000000100000>;
v0x8991b86e0_0 .var/s "bias_bus", 31 0;
v0x8991b8780_0 .net "busy", 0 0, L_0x89913c500;  1 drivers
v0x8991b8820_0 .var "clk", 0 0;
v0x8991b88c0_0 .net "done", 0 0, L_0x89913c460;  1 drivers
v0x8991b8960_0 .var/i "errors", 31 0;
v0x8991b8a00_0 .var/i "expected", 31 0;
v0x8991b8aa0_0 .var/i "i", 31 0;
v0x8991b8b40_0 .var "rst", 0 0;
v0x8991b8be0_0 .var "start", 0 0;
v0x8991b8c80_0 .var/s "weights_bus", 1023 0;
v0x8991b8d20_0 .var/s "x_bus", 255 0;
v0x8991b8dc0_0 .net/s "y_bus", 31 0, L_0x8991ce120;  1 drivers
S_0x100d3aa50 .scope module, "dut" "layer" 3 38, 4 1 0, S_0x100d3a3f0;
 .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 256 "x_bus";
    .port_info 4 /INPUT 1024 "weights_bus";
    .port_info 5 /INPUT 32 "bias_bus";
    .port_info 6 /OUTPUT 32 "y_bus";
    .port_info 7 /OUTPUT 1 "busy";
    .port_info 8 /OUTPUT 1 "done";
P_0x8990fbd40 .param/l "ACC_WIDTH" 0 4 6, +C4<00000000000000000000000000100000>;
P_0x8990fbd80 .param/l "DATA_WIDTH" 0 4 2, +C4<00000000000000000000000000001000>;
P_0x8990fbdc0 .param/l "N_INPUTS" 0 4 3, +C4<00000000000000000000000000100000>;
P_0x8990fbe00 .param/l "N_NEURONS" 0 4 4, +C4<00000000000000000000000000000100>;
P_0x8990fbe40 .param/l "PARALLEL" 0 4 5, +C4<00000000000000000000000000100000>;
v0x8991b8000_0 .net/s "bias_bus", 31 0, v0x8991b86e0_0;  1 drivers
v0x8991b80a0_0 .net "busy", 0 0, L_0x89913c500;  alias, 1 drivers
v0x8991b8140_0 .net "clk", 0 0, v0x8991b8820_0;  1 drivers
v0x8991b81e0_0 .net "done", 0 0, L_0x89913c460;  alias, 1 drivers
v0x8991b8280_0 .net "neuron_busy", 3 0, L_0x8991ce1c0;  1 drivers
v0x8991b8320_0 .net "neuron_done", 3 0, L_0x8991ce260;  1 drivers
v0x8991b83c0_0 .net "rst", 0 0, v0x8991b8b40_0;  1 drivers
v0x8991b8460_0 .net "start", 0 0, v0x8991b8be0_0;  1 drivers
v0x8991b8500_0 .net/s "weights_bus", 1023 0, v0x8991b8c80_0;  1 drivers
v0x8991b85a0_0 .net/s "x_bus", 255 0, v0x8991b8d20_0;  1 drivers
v0x8991b8640_0 .net/s "y_bus", 31 0, L_0x8991ce120;  alias, 1 drivers
L_0x898e43980 .part v0x8991b8c80_0, 0, 256;
L_0x898e43a20 .part v0x8991b86e0_0, 0, 8;
L_0x898e50d20 .part v0x8991b8c80_0, 256, 256;
L_0x898e50dc0 .part v0x8991b86e0_0, 8, 8;
L_0x898e62120 .part v0x8991b8c80_0, 512, 256;
L_0x898e621c0 .part v0x8991b86e0_0, 16, 8;
L_0x898e6f520 .part v0x8991b8c80_0, 768, 256;
L_0x898e6f5c0 .part v0x8991b86e0_0, 24, 8;
L_0x8991ce120 .concat8 [ 8 8 8 8], v0x899181f40_0, v0x89918ff20_0, v0x8991a5f40_0, v0x8991b7f20_0;
L_0x8991ce1c0 .concat8 [ 1 1 1 1], v0x899181860_0, v0x89918f840_0, v0x8991a5860_0, v0x8991b7840_0;
L_0x8991ce260 .concat8 [ 1 1 1 1], v0x8991819a0_0, v0x89918f980_0, v0x8991a59a0_0, v0x8991b7980_0;
L_0x89913c500 .reduce/or L_0x8991ce1c0;
L_0x89913c460 .reduce/and L_0x8991ce260;
S_0x100d33d60 .scope generate, "GEN_NEURON[0]" "GEN_NEURON[0]" 4 34, 4 34 0, S_0x100d3aa50;
 .timescale 0 0;
P_0x89906ba00 .param/l "n" 1 4 34, +C4<00>;
S_0x100d33ee0 .scope module, "u_neuron" "neuron_parallel" 4 41, 5 1 0, S_0x100d33d60;
 .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 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_0x100d2eb10 .param/l "ACC_WIDTH" 0 5 5, +C4<00000000000000000000000000100000>;
P_0x100d2eb50 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000001000>;
P_0x100d2eb90 .param/l "GROUPS" 1 5 20, +C4<00000000000000000000000000000001>;
P_0x100d2ebd0 .param/l "GROUP_INDEX_WIDTH" 1 5 21, +C4<00000000000000000000000000000001>;
P_0x100d2ec10 .param/l "N_INPUTS" 0 5 3, +C4<00000000000000000000000000100000>;
P_0x100d2ec50 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000100000>;
v0x899180d20_0 .net *"_ivl_0", 31 0, L_0x8991b8e60;  1 drivers
v0x899180dc0_0 .net *"_ivl_11", 31 0, L_0x8991b8fa0;  1 drivers
v0x899180e60_0 .net *"_ivl_14", 31 0, L_0x8991b9040;  1 drivers
L_0x8988540e8 .functor BUFT 1, C4<0000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899180f00_0 .net *"_ivl_17", 30 0, L_0x8988540e8;  1 drivers
L_0x898854130 .functor BUFT 1, C4<00000000000000000000000000100000>, C4<0>, C4<0>, C4<0>;
v0x899180fa0_0 .net/2u *"_ivl_18", 31 0, L_0x898854130;  1 drivers
v0x899181040_0 .net *"_ivl_21", 31 0, L_0x8991b90e0;  1 drivers
L_0x898854178 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x8991810e0_0 .net/2u *"_ivl_22", 31 0, L_0x898854178;  1 drivers
v0x899181180_0 .net *"_ivl_25", 31 0, L_0x8991b9180;  1 drivers
v0x899181220_0 .net *"_ivl_29", 0 0, L_0x898e43840;  1 drivers
L_0x898854010 .functor BUFT 1, C4<0000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991812c0_0 .net *"_ivl_3", 30 0, L_0x898854010;  1 drivers
v0x899181360_0 .net *"_ivl_31", 23 0, L_0x898e438e0;  1 drivers
L_0x898854058 .functor BUFT 1, C4<00000000000000000000000000100000>, C4<0>, C4<0>, C4<0>;
v0x899181400_0 .net/2u *"_ivl_4", 31 0, L_0x898854058;  1 drivers
v0x8991814a0_0 .net *"_ivl_7", 31 0, L_0x8991b8f00;  1 drivers
L_0x8988540a0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x899181540_0 .net/2u *"_ivl_8", 31 0, L_0x8988540a0;  1 drivers
v0x8991815e0_0 .var/s "acc", 31 0;
v0x899181680_0 .net/s "acc_next", 31 0, L_0x898c96080;  1 drivers
v0x899181720_0 .net/s "bias", 7 0, L_0x898e43a20;  1 drivers
v0x8991817c0_0 .net/s "bias_ext", 31 0, L_0x8991be260;  1 drivers
v0x899181860_0 .var "busy", 0 0;
v0x899181900_0 .net "clk", 0 0, v0x8991b8820_0;  alias, 1 drivers
v0x8991819a0_0 .var "done", 0 0;
v0x899181a40_0 .net/s "final_acc", 31 0, L_0x898c96120;  1 drivers
v0x899181ae0_0 .var "group_index", 0 0;
v0x899181b80_0 .net "rst", 0 0, v0x8991b8b40_0;  alias, 1 drivers
v0x899181c20_0 .net "start", 0 0, v0x8991b8be0_0;  alias, 1 drivers
v0x899181cc0_0 .net/s "w_bus", 255 0, L_0x898e43980;  1 drivers
v0x899181d60_0 .net/s "w_group", 255 0, L_0x898dda6c0;  1 drivers
v0x899181e00_0 .net/s "x_bus", 255 0, v0x8991b8d20_0;  alias, 1 drivers
v0x899181ea0_0 .net/s "x_group", 255 0, L_0x898dda620;  1 drivers
v0x899181f40_0 .var/s "y", 7 0;
E_0x898dc7f00 .event posedge, v0x899181900_0;
L_0x8991b8e60 .concat [ 1 31 0 0], v0x899181ae0_0, L_0x898854010;
L_0x8991b8f00 .arith/mult 32, L_0x8991b8e60, L_0x898854058;
L_0x8991b8fa0 .arith/mult 32, L_0x8991b8f00, L_0x8988540a0;
L_0x898dda620 .part/v v0x8991b8d20_0, L_0x8991b8fa0, 256;
L_0x8991b9040 .concat [ 1 31 0 0], v0x899181ae0_0, L_0x8988540e8;
L_0x8991b90e0 .arith/mult 32, L_0x8991b9040, L_0x898854130;
L_0x8991b9180 .arith/mult 32, L_0x8991b90e0, L_0x898854178;
L_0x898dda6c0 .part/v L_0x898e43980, L_0x8991b9180, 256;
L_0x898e43840 .part L_0x898e43a20, 7, 1;
L_0x898e438e0 .repeat 24, 24, L_0x898e43840;
L_0x8991be260 .concat [ 8 24 0 0], L_0x898e43a20, L_0x898e438e0;
L_0x898c96120 .arith/sum 32, L_0x898c96080, L_0x8991be260;
S_0x100d2ec90 .scope module, "u_mac8" "mac8" 5 52, 6 1 0, S_0x100d33ee0;
 .timescale 0 0;
    .port_info 0 /INPUT 256 "x_bus";
    .port_info 1 /INPUT 256 "w_bus";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x100d3abd0 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x100d3ac10 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x100d3ac50 .param/l "PARALLEL" 0 6 4, +C4<00000000000000000000000000100000>;
v0x8991808c0_0 .net/s "acc_in", 31 0, v0x8991815e0_0;  1 drivers
v0x899180960_0 .net/s "acc_out", 31 0, L_0x898c96080;  alias, 1 drivers
v0x899180a00_0 .var/i "j", 31 0;
v0x899180aa0 .array "products", 31 0;
v0x899180aa0_0 .net/s v0x899180aa0 0, 31 0, L_0x898c94aa0; 1 drivers
v0x899180aa0_1 .net/s v0x899180aa0 1, 31 0, L_0x898c94dc0; 1 drivers
v0x899180aa0_2 .net/s v0x899180aa0 2, 31 0, L_0x898c94e60; 1 drivers
v0x899180aa0_3 .net/s v0x899180aa0 3, 31 0, L_0x898c94f00; 1 drivers
v0x899180aa0_4 .net/s v0x899180aa0 4, 31 0, L_0x898c94d20; 1 drivers
v0x899180aa0_5 .net/s v0x899180aa0 5, 31 0, L_0x898c94fa0; 1 drivers
v0x899180aa0_6 .net/s v0x899180aa0 6, 31 0, L_0x898c95040; 1 drivers
v0x899180aa0_7 .net/s v0x899180aa0 7, 31 0, L_0x898c950e0; 1 drivers
v0x899180aa0_8 .net/s v0x899180aa0 8, 31 0, L_0x898c95180; 1 drivers
v0x899180aa0_9 .net/s v0x899180aa0 9, 31 0, L_0x898c95220; 1 drivers
v0x899180aa0_10 .net/s v0x899180aa0 10, 31 0, L_0x898c952c0; 1 drivers
v0x899180aa0_11 .net/s v0x899180aa0 11, 31 0, L_0x898c95360; 1 drivers
v0x899180aa0_12 .net/s v0x899180aa0 12, 31 0, L_0x898c95400; 1 drivers
v0x899180aa0_13 .net/s v0x899180aa0 13, 31 0, L_0x898c954a0; 1 drivers
v0x899180aa0_14 .net/s v0x899180aa0 14, 31 0, L_0x898c95540; 1 drivers
v0x899180aa0_15 .net/s v0x899180aa0 15, 31 0, L_0x898c955e0; 1 drivers
v0x899180aa0_16 .net/s v0x899180aa0 16, 31 0, L_0x898c95680; 1 drivers
v0x899180aa0_17 .net/s v0x899180aa0 17, 31 0, L_0x898c95720; 1 drivers
v0x899180aa0_18 .net/s v0x899180aa0 18, 31 0, L_0x898c957c0; 1 drivers
v0x899180aa0_19 .net/s v0x899180aa0 19, 31 0, L_0x898c95860; 1 drivers
v0x899180aa0_20 .net/s v0x899180aa0 20, 31 0, L_0x898c95900; 1 drivers
v0x899180aa0_21 .net/s v0x899180aa0 21, 31 0, L_0x898c959a0; 1 drivers
v0x899180aa0_22 .net/s v0x899180aa0 22, 31 0, L_0x898c95a40; 1 drivers
v0x899180aa0_23 .net/s v0x899180aa0 23, 31 0, L_0x898c95ae0; 1 drivers
v0x899180aa0_24 .net/s v0x899180aa0 24, 31 0, L_0x898c95b80; 1 drivers
v0x899180aa0_25 .net/s v0x899180aa0 25, 31 0, L_0x898c95c20; 1 drivers
v0x899180aa0_26 .net/s v0x899180aa0 26, 31 0, L_0x898c95cc0; 1 drivers
v0x899180aa0_27 .net/s v0x899180aa0 27, 31 0, L_0x898c95d60; 1 drivers
v0x899180aa0_28 .net/s v0x899180aa0 28, 31 0, L_0x898c95e00; 1 drivers
v0x899180aa0_29 .net/s v0x899180aa0 29, 31 0, L_0x898c95ea0; 1 drivers
v0x899180aa0_30 .net/s v0x899180aa0 30, 31 0, L_0x898c95f40; 1 drivers
v0x899180aa0_31 .net/s v0x899180aa0 31, 31 0, L_0x898c95fe0; 1 drivers
v0x899180b40_0 .var/s "sum", 31 0;
v0x899180be0_0 .net/s "w_bus", 255 0, L_0x898dda6c0;  alias, 1 drivers
v0x899180c80_0 .net/s "x_bus", 255 0, L_0x898dda620;  alias, 1 drivers
E_0x898dc7f40/0 .event anyedge, v0x899180b40_0, v0x899168320_0, v0x899168960_0, v0x899168fa0_0;
E_0x898dc7f40/1 .event anyedge, v0x8991695e0_0, v0x899169c20_0, v0x89916a260_0, v0x89916a8a0_0;
E_0x898dc7f40/2 .event anyedge, v0x89916aee0_0, v0x89916b520_0, v0x89916bb60_0, v0x8991701e0_0;
E_0x898dc7f40/3 .event anyedge, v0x899170820_0, v0x899170e60_0, v0x8991714a0_0, v0x899171ae0_0;
E_0x898dc7f40/4 .event anyedge, v0x899172120_0, v0x899172760_0, v0x899172da0_0, v0x8991733e0_0;
E_0x898dc7f40/5 .event anyedge, v0x899173a20_0, v0x8991740a0_0, v0x8991746e0_0, v0x899174d20_0;
E_0x898dc7f40/6 .event anyedge, v0x899175360_0, v0x8991759a0_0, v0x899175fe0_0, v0x899176620_0;
E_0x898dc7f40/7 .event anyedge, v0x899176c60_0, v0x8991772a0_0, v0x8991778e0_0, v0x899177f20_0;
E_0x898dc7f40/8 .event anyedge, v0x8991805a0_0;
E_0x898dc7f40 .event/or E_0x898dc7f40/0, E_0x898dc7f40/1, E_0x898dc7f40/2, E_0x898dc7f40/3, E_0x898dc7f40/4, E_0x898dc7f40/5, E_0x898dc7f40/6, E_0x898dc7f40/7, E_0x898dc7f40/8;
L_0x898dda8a0 .part L_0x898dda620, 0, 8;
L_0x898dda940 .part L_0x898dda6c0, 0, 8;
L_0x898ddab20 .part L_0x898dda620, 8, 8;
L_0x898ddabc0 .part L_0x898dda6c0, 8, 8;
L_0x898ddada0 .part L_0x898dda620, 16, 8;
L_0x898ddae40 .part L_0x898dda6c0, 16, 8;
L_0x898ddb020 .part L_0x898dda620, 24, 8;
L_0x898ddb0c0 .part L_0x898dda6c0, 24, 8;
L_0x898ddb2a0 .part L_0x898dda620, 32, 8;
L_0x898ddb340 .part L_0x898dda6c0, 32, 8;
L_0x898ddb520 .part L_0x898dda620, 40, 8;
L_0x898ddb5c0 .part L_0x898dda6c0, 40, 8;
L_0x898ddb7a0 .part L_0x898dda620, 48, 8;
L_0x898ddb840 .part L_0x898dda6c0, 48, 8;
L_0x898ddba20 .part L_0x898dda620, 56, 8;
L_0x898ddbac0 .part L_0x898dda6c0, 56, 8;
L_0x898ddbca0 .part L_0x898dda620, 64, 8;
L_0x898ddbde0 .part L_0x898dda6c0, 64, 8;
L_0x898e40000 .part L_0x898dda620, 72, 8;
L_0x898e400a0 .part L_0x898dda6c0, 72, 8;
L_0x898e40280 .part L_0x898dda620, 80, 8;
L_0x898e40320 .part L_0x898dda6c0, 80, 8;
L_0x898e40500 .part L_0x898dda620, 88, 8;
L_0x898e405a0 .part L_0x898dda6c0, 88, 8;
L_0x898e40780 .part L_0x898dda620, 96, 8;
L_0x898e40820 .part L_0x898dda6c0, 96, 8;
L_0x898e40a00 .part L_0x898dda620, 104, 8;
L_0x898e40aa0 .part L_0x898dda6c0, 104, 8;
L_0x898e40c80 .part L_0x898dda620, 112, 8;
L_0x898e40d20 .part L_0x898dda6c0, 112, 8;
L_0x898e40f00 .part L_0x898dda620, 120, 8;
L_0x898e40fa0 .part L_0x898dda6c0, 120, 8;
L_0x898e41180 .part L_0x898dda620, 128, 8;
L_0x898e41220 .part L_0x898dda6c0, 128, 8;
L_0x898e41400 .part L_0x898dda620, 136, 8;
L_0x898e414a0 .part L_0x898dda6c0, 136, 8;
L_0x898e41680 .part L_0x898dda620, 144, 8;
L_0x898e41720 .part L_0x898dda6c0, 144, 8;
L_0x898e41900 .part L_0x898dda620, 152, 8;
L_0x898e419a0 .part L_0x898dda6c0, 152, 8;
L_0x898e41b80 .part L_0x898dda620, 160, 8;
L_0x898e41c20 .part L_0x898dda6c0, 160, 8;
L_0x898e41e00 .part L_0x898dda620, 168, 8;
L_0x898e41ea0 .part L_0x898dda6c0, 168, 8;
L_0x898e42080 .part L_0x898dda620, 176, 8;
L_0x898e42120 .part L_0x898dda6c0, 176, 8;
L_0x898e42300 .part L_0x898dda620, 184, 8;
L_0x898e423a0 .part L_0x898dda6c0, 184, 8;
L_0x898e42580 .part L_0x898dda620, 192, 8;
L_0x898e42620 .part L_0x898dda6c0, 192, 8;
L_0x898e42800 .part L_0x898dda620, 200, 8;
L_0x898e428a0 .part L_0x898dda6c0, 200, 8;
L_0x898e42a80 .part L_0x898dda620, 208, 8;
L_0x898e42b20 .part L_0x898dda6c0, 208, 8;
L_0x898e42d00 .part L_0x898dda620, 216, 8;
L_0x898e42da0 .part L_0x898dda6c0, 216, 8;
L_0x898e42f80 .part L_0x898dda620, 224, 8;
L_0x898e43020 .part L_0x898dda6c0, 224, 8;
L_0x898e43200 .part L_0x898dda620, 232, 8;
L_0x898e432a0 .part L_0x898dda6c0, 232, 8;
L_0x898e43480 .part L_0x898dda620, 240, 8;
L_0x898e43520 .part L_0x898dda6c0, 240, 8;
L_0x898e43700 .part L_0x898dda620, 248, 8;
L_0x898e437a0 .part L_0x898dda6c0, 248, 8;
L_0x898c96080 .arith/sum 32, v0x8991815e0_0, v0x899180b40_0;
S_0x100d28ca0 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906ba40 .param/l "i" 1 6 17, +C4<00>;
S_0x100d28e20 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x100d28ca0;
 .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_0x100d3a570 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x100d3a5b0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x100d3a5f0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899168000_0 .net/s *"_ivl_0", 15 0, L_0x8991b9220;  1 drivers
v0x8991680a0_0 .net/s *"_ivl_2", 15 0, L_0x8991b92c0;  1 drivers
v0x899168140_0 .net *"_ivl_7", 0 0, L_0x898dda760;  1 drivers
v0x8991681e0_0 .net *"_ivl_9", 15 0, L_0x898dda800;  1 drivers
L_0x8988541c0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899168280_0 .net/s "acc_in", 31 0, L_0x8988541c0;  1 drivers
v0x899168320_0 .net/s "acc_out", 31 0, L_0x898c94aa0;  alias, 1 drivers
v0x8991683c0_0 .net/s "product", 15 0, L_0x8991b9360;  1 drivers
v0x899168460_0 .net/s "product_ext", 31 0, L_0x8991b9400;  1 drivers
v0x899168500_0 .net/s "w", 7 0, L_0x898dda940;  1 drivers
v0x8991685a0_0 .net/s "x", 7 0, L_0x898dda8a0;  1 drivers
L_0x8991b9220 .extend/s 16, L_0x898dda8a0;
L_0x8991b92c0 .extend/s 16, L_0x898dda940;
L_0x8991b9360 .arith/mult 16, L_0x8991b9220, L_0x8991b92c0;
L_0x898dda760 .part L_0x8991b9360, 15, 1;
L_0x898dda800 .repeat 16, 16, L_0x898dda760;
L_0x8991b9400 .concat [ 16 16 0 0], L_0x8991b9360, L_0x898dda800;
L_0x898c94aa0 .arith/sum 32, L_0x8988541c0, L_0x8991b9400;
S_0x100d2b2a0 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906ba80 .param/l "i" 1 6 17, +C4<01>;
S_0x100d2b420 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x100d2b2a0;
 .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_0x100d3e4a0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x100d3e4e0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x100d3e520 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899168640_0 .net/s *"_ivl_0", 15 0, L_0x8991b94a0;  1 drivers
v0x8991686e0_0 .net/s *"_ivl_2", 15 0, L_0x8991b9540;  1 drivers
v0x899168780_0 .net *"_ivl_7", 0 0, L_0x898dda9e0;  1 drivers
v0x899168820_0 .net *"_ivl_9", 15 0, L_0x898ddaa80;  1 drivers
L_0x898854208 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991688c0_0 .net/s "acc_in", 31 0, L_0x898854208;  1 drivers
v0x899168960_0 .net/s "acc_out", 31 0, L_0x898c94dc0;  alias, 1 drivers
v0x899168a00_0 .net/s "product", 15 0, L_0x8991b95e0;  1 drivers
v0x899168aa0_0 .net/s "product_ext", 31 0, L_0x8991b9680;  1 drivers
v0x899168b40_0 .net/s "w", 7 0, L_0x898ddabc0;  1 drivers
v0x899168be0_0 .net/s "x", 7 0, L_0x898ddab20;  1 drivers
L_0x8991b94a0 .extend/s 16, L_0x898ddab20;
L_0x8991b9540 .extend/s 16, L_0x898ddabc0;
L_0x8991b95e0 .arith/mult 16, L_0x8991b94a0, L_0x8991b9540;
L_0x898dda9e0 .part L_0x8991b95e0, 15, 1;
L_0x898ddaa80 .repeat 16, 16, L_0x898dda9e0;
L_0x8991b9680 .concat [ 16 16 0 0], L_0x8991b95e0, L_0x898ddaa80;
L_0x898c94dc0 .arith/sum 32, L_0x898854208, L_0x8991b9680;
S_0x100d329c0 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bac0 .param/l "i" 1 6 17, +C4<010>;
S_0x898e0c000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x100d329c0;
 .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_0x100d3e560 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x100d3e5a0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x100d3e5e0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899168c80_0 .net/s *"_ivl_0", 15 0, L_0x8991b9720;  1 drivers
v0x899168d20_0 .net/s *"_ivl_2", 15 0, L_0x8991b97c0;  1 drivers
v0x899168dc0_0 .net *"_ivl_7", 0 0, L_0x898ddac60;  1 drivers
v0x899168e60_0 .net *"_ivl_9", 15 0, L_0x898ddad00;  1 drivers
L_0x898854250 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899168f00_0 .net/s "acc_in", 31 0, L_0x898854250;  1 drivers
v0x899168fa0_0 .net/s "acc_out", 31 0, L_0x898c94e60;  alias, 1 drivers
v0x899169040_0 .net/s "product", 15 0, L_0x8991b9860;  1 drivers
v0x8991690e0_0 .net/s "product_ext", 31 0, L_0x8991b9900;  1 drivers
v0x899169180_0 .net/s "w", 7 0, L_0x898ddae40;  1 drivers
v0x899169220_0 .net/s "x", 7 0, L_0x898ddada0;  1 drivers
L_0x8991b9720 .extend/s 16, L_0x898ddada0;
L_0x8991b97c0 .extend/s 16, L_0x898ddae40;
L_0x8991b9860 .arith/mult 16, L_0x8991b9720, L_0x8991b97c0;
L_0x898ddac60 .part L_0x8991b9860, 15, 1;
L_0x898ddad00 .repeat 16, 16, L_0x898ddac60;
L_0x8991b9900 .concat [ 16 16 0 0], L_0x8991b9860, L_0x898ddad00;
L_0x898c94e60 .arith/sum 32, L_0x898854250, L_0x8991b9900;
S_0x898e0c180 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bb00 .param/l "i" 1 6 17, +C4<011>;
S_0x898e0c300 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0c180;
 .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_0x100d39ac0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x100d39b00 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x100d39b40 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991692c0_0 .net/s *"_ivl_0", 15 0, L_0x8991b99a0;  1 drivers
v0x899169360_0 .net/s *"_ivl_2", 15 0, L_0x8991b9a40;  1 drivers
v0x899169400_0 .net *"_ivl_7", 0 0, L_0x898ddaee0;  1 drivers
v0x8991694a0_0 .net *"_ivl_9", 15 0, L_0x898ddaf80;  1 drivers
L_0x898854298 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899169540_0 .net/s "acc_in", 31 0, L_0x898854298;  1 drivers
v0x8991695e0_0 .net/s "acc_out", 31 0, L_0x898c94f00;  alias, 1 drivers
v0x899169680_0 .net/s "product", 15 0, L_0x8991b9ae0;  1 drivers
v0x899169720_0 .net/s "product_ext", 31 0, L_0x8991b9b80;  1 drivers
v0x8991697c0_0 .net/s "w", 7 0, L_0x898ddb0c0;  1 drivers
v0x899169860_0 .net/s "x", 7 0, L_0x898ddb020;  1 drivers
L_0x8991b99a0 .extend/s 16, L_0x898ddb020;
L_0x8991b9a40 .extend/s 16, L_0x898ddb0c0;
L_0x8991b9ae0 .arith/mult 16, L_0x8991b99a0, L_0x8991b9a40;
L_0x898ddaee0 .part L_0x8991b9ae0, 15, 1;
L_0x898ddaf80 .repeat 16, 16, L_0x898ddaee0;
L_0x8991b9b80 .concat [ 16 16 0 0], L_0x8991b9ae0, L_0x898ddaf80;
L_0x898c94f00 .arith/sum 32, L_0x898854298, L_0x8991b9b80;
S_0x898e0c480 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bb40 .param/l "i" 1 6 17, +C4<0100>;
S_0x898e0c600 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0c480;
 .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_0x100d39f90 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x100d39fd0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x100d3a010 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899169900_0 .net/s *"_ivl_0", 15 0, L_0x8991b9c20;  1 drivers
v0x8991699a0_0 .net/s *"_ivl_2", 15 0, L_0x8991b9cc0;  1 drivers
v0x899169a40_0 .net *"_ivl_7", 0 0, L_0x898ddb160;  1 drivers
v0x899169ae0_0 .net *"_ivl_9", 15 0, L_0x898ddb200;  1 drivers
L_0x8988542e0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899169b80_0 .net/s "acc_in", 31 0, L_0x8988542e0;  1 drivers
v0x899169c20_0 .net/s "acc_out", 31 0, L_0x898c94d20;  alias, 1 drivers
v0x899169cc0_0 .net/s "product", 15 0, L_0x8991b9d60;  1 drivers
v0x899169d60_0 .net/s "product_ext", 31 0, L_0x8991b9e00;  1 drivers
v0x899169e00_0 .net/s "w", 7 0, L_0x898ddb340;  1 drivers
v0x899169ea0_0 .net/s "x", 7 0, L_0x898ddb2a0;  1 drivers
L_0x8991b9c20 .extend/s 16, L_0x898ddb2a0;
L_0x8991b9cc0 .extend/s 16, L_0x898ddb340;
L_0x8991b9d60 .arith/mult 16, L_0x8991b9c20, L_0x8991b9cc0;
L_0x898ddb160 .part L_0x8991b9d60, 15, 1;
L_0x898ddb200 .repeat 16, 16, L_0x898ddb160;
L_0x8991b9e00 .concat [ 16 16 0 0], L_0x8991b9d60, L_0x898ddb200;
L_0x898c94d20 .arith/sum 32, L_0x8988542e0, L_0x8991b9e00;
S_0x898e0c780 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bb80 .param/l "i" 1 6 17, +C4<0101>;
S_0x898e0c900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0c780;
 .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_0x89916c000 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c040 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c080 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899169f40_0 .net/s *"_ivl_0", 15 0, L_0x8991b9ea0;  1 drivers
v0x899169fe0_0 .net/s *"_ivl_2", 15 0, L_0x8991b9f40;  1 drivers
v0x89916a080_0 .net *"_ivl_7", 0 0, L_0x898ddb3e0;  1 drivers
v0x89916a120_0 .net *"_ivl_9", 15 0, L_0x898ddb480;  1 drivers
L_0x898854328 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89916a1c0_0 .net/s "acc_in", 31 0, L_0x898854328;  1 drivers
v0x89916a260_0 .net/s "acc_out", 31 0, L_0x898c94fa0;  alias, 1 drivers
v0x89916a300_0 .net/s "product", 15 0, L_0x8991b9fe0;  1 drivers
v0x89916a3a0_0 .net/s "product_ext", 31 0, L_0x8991ba080;  1 drivers
v0x89916a440_0 .net/s "w", 7 0, L_0x898ddb5c0;  1 drivers
v0x89916a4e0_0 .net/s "x", 7 0, L_0x898ddb520;  1 drivers
L_0x8991b9ea0 .extend/s 16, L_0x898ddb520;
L_0x8991b9f40 .extend/s 16, L_0x898ddb5c0;
L_0x8991b9fe0 .arith/mult 16, L_0x8991b9ea0, L_0x8991b9f40;
L_0x898ddb3e0 .part L_0x8991b9fe0, 15, 1;
L_0x898ddb480 .repeat 16, 16, L_0x898ddb3e0;
L_0x8991ba080 .concat [ 16 16 0 0], L_0x8991b9fe0, L_0x898ddb480;
L_0x898c94fa0 .arith/sum 32, L_0x898854328, L_0x8991ba080;
S_0x898e0ca80 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bbc0 .param/l "i" 1 6 17, +C4<0110>;
S_0x898e0cc00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0ca80;
 .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_0x89916c0c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c100 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c140 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89916a580_0 .net/s *"_ivl_0", 15 0, L_0x8991ba120;  1 drivers
v0x89916a620_0 .net/s *"_ivl_2", 15 0, L_0x8991ba1c0;  1 drivers
v0x89916a6c0_0 .net *"_ivl_7", 0 0, L_0x898ddb660;  1 drivers
v0x89916a760_0 .net *"_ivl_9", 15 0, L_0x898ddb700;  1 drivers
L_0x898854370 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89916a800_0 .net/s "acc_in", 31 0, L_0x898854370;  1 drivers
v0x89916a8a0_0 .net/s "acc_out", 31 0, L_0x898c95040;  alias, 1 drivers
v0x89916a940_0 .net/s "product", 15 0, L_0x8991ba260;  1 drivers
v0x89916a9e0_0 .net/s "product_ext", 31 0, L_0x8991ba300;  1 drivers
v0x89916aa80_0 .net/s "w", 7 0, L_0x898ddb840;  1 drivers
v0x89916ab20_0 .net/s "x", 7 0, L_0x898ddb7a0;  1 drivers
L_0x8991ba120 .extend/s 16, L_0x898ddb7a0;
L_0x8991ba1c0 .extend/s 16, L_0x898ddb840;
L_0x8991ba260 .arith/mult 16, L_0x8991ba120, L_0x8991ba1c0;
L_0x898ddb660 .part L_0x8991ba260, 15, 1;
L_0x898ddb700 .repeat 16, 16, L_0x898ddb660;
L_0x8991ba300 .concat [ 16 16 0 0], L_0x8991ba260, L_0x898ddb700;
L_0x898c95040 .arith/sum 32, L_0x898854370, L_0x8991ba300;
S_0x898e0cd80 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bc00 .param/l "i" 1 6 17, +C4<0111>;
S_0x898e0cf00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0cd80;
 .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_0x89916c180 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c1c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c200 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89916abc0_0 .net/s *"_ivl_0", 15 0, L_0x8991ba3a0;  1 drivers
v0x89916ac60_0 .net/s *"_ivl_2", 15 0, L_0x8991ba440;  1 drivers
v0x89916ad00_0 .net *"_ivl_7", 0 0, L_0x898ddb8e0;  1 drivers
v0x89916ada0_0 .net *"_ivl_9", 15 0, L_0x898ddb980;  1 drivers
L_0x8988543b8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89916ae40_0 .net/s "acc_in", 31 0, L_0x8988543b8;  1 drivers
v0x89916aee0_0 .net/s "acc_out", 31 0, L_0x898c950e0;  alias, 1 drivers
v0x89916af80_0 .net/s "product", 15 0, L_0x8991ba4e0;  1 drivers
v0x89916b020_0 .net/s "product_ext", 31 0, L_0x8991ba580;  1 drivers
v0x89916b0c0_0 .net/s "w", 7 0, L_0x898ddbac0;  1 drivers
v0x89916b160_0 .net/s "x", 7 0, L_0x898ddba20;  1 drivers
L_0x8991ba3a0 .extend/s 16, L_0x898ddba20;
L_0x8991ba440 .extend/s 16, L_0x898ddbac0;
L_0x8991ba4e0 .arith/mult 16, L_0x8991ba3a0, L_0x8991ba440;
L_0x898ddb8e0 .part L_0x8991ba4e0, 15, 1;
L_0x898ddb980 .repeat 16, 16, L_0x898ddb8e0;
L_0x8991ba580 .concat [ 16 16 0 0], L_0x8991ba4e0, L_0x898ddb980;
L_0x898c950e0 .arith/sum 32, L_0x8988543b8, L_0x8991ba580;
S_0x898e0d080 .scope generate, "GEN_MAC[8]" "GEN_MAC[8]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bc40 .param/l "i" 1 6 17, +C4<01000>;
S_0x898e0d200 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0d080;
 .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_0x89916c240 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c280 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c2c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89916b200_0 .net/s *"_ivl_0", 15 0, L_0x8991ba620;  1 drivers
v0x89916b2a0_0 .net/s *"_ivl_2", 15 0, L_0x8991ba6c0;  1 drivers
v0x89916b340_0 .net *"_ivl_7", 0 0, L_0x898ddbb60;  1 drivers
v0x89916b3e0_0 .net *"_ivl_9", 15 0, L_0x898ddbc00;  1 drivers
L_0x898854400 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89916b480_0 .net/s "acc_in", 31 0, L_0x898854400;  1 drivers
v0x89916b520_0 .net/s "acc_out", 31 0, L_0x898c95180;  alias, 1 drivers
v0x89916b5c0_0 .net/s "product", 15 0, L_0x8991ba760;  1 drivers
v0x89916b660_0 .net/s "product_ext", 31 0, L_0x8991ba800;  1 drivers
v0x89916b700_0 .net/s "w", 7 0, L_0x898ddbde0;  1 drivers
v0x89916b7a0_0 .net/s "x", 7 0, L_0x898ddbca0;  1 drivers
L_0x8991ba620 .extend/s 16, L_0x898ddbca0;
L_0x8991ba6c0 .extend/s 16, L_0x898ddbde0;
L_0x8991ba760 .arith/mult 16, L_0x8991ba620, L_0x8991ba6c0;
L_0x898ddbb60 .part L_0x8991ba760, 15, 1;
L_0x898ddbc00 .repeat 16, 16, L_0x898ddbb60;
L_0x8991ba800 .concat [ 16 16 0 0], L_0x8991ba760, L_0x898ddbc00;
L_0x898c95180 .arith/sum 32, L_0x898854400, L_0x8991ba800;
S_0x898e0d380 .scope generate, "GEN_MAC[9]" "GEN_MAC[9]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bc80 .param/l "i" 1 6 17, +C4<01001>;
S_0x898e0d500 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0d380;
 .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_0x89916c300 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c340 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c380 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89916b840_0 .net/s *"_ivl_0", 15 0, L_0x8991ba8a0;  1 drivers
v0x89916b8e0_0 .net/s *"_ivl_2", 15 0, L_0x8991ba940;  1 drivers
v0x89916b980_0 .net *"_ivl_7", 0 0, L_0x898ddbe80;  1 drivers
v0x89916ba20_0 .net *"_ivl_9", 15 0, L_0x898ddbf20;  1 drivers
L_0x898854448 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89916bac0_0 .net/s "acc_in", 31 0, L_0x898854448;  1 drivers
v0x89916bb60_0 .net/s "acc_out", 31 0, L_0x898c95220;  alias, 1 drivers
v0x89916bc00_0 .net/s "product", 15 0, L_0x8991ba9e0;  1 drivers
v0x89916bca0_0 .net/s "product_ext", 31 0, L_0x8991baa80;  1 drivers
v0x89916bd40_0 .net/s "w", 7 0, L_0x898e400a0;  1 drivers
v0x89916bde0_0 .net/s "x", 7 0, L_0x898e40000;  1 drivers
L_0x8991ba8a0 .extend/s 16, L_0x898e40000;
L_0x8991ba940 .extend/s 16, L_0x898e400a0;
L_0x8991ba9e0 .arith/mult 16, L_0x8991ba8a0, L_0x8991ba940;
L_0x898ddbe80 .part L_0x8991ba9e0, 15, 1;
L_0x898ddbf20 .repeat 16, 16, L_0x898ddbe80;
L_0x8991baa80 .concat [ 16 16 0 0], L_0x8991ba9e0, L_0x898ddbf20;
L_0x898c95220 .arith/sum 32, L_0x898854448, L_0x8991baa80;
S_0x898e0d680 .scope generate, "GEN_MAC[10]" "GEN_MAC[10]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bcc0 .param/l "i" 1 6 17, +C4<01010>;
S_0x898e0d800 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0d680;
 .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_0x89916c3c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c400 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c440 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89916be80_0 .net/s *"_ivl_0", 15 0, L_0x8991bab20;  1 drivers
v0x89916bf20_0 .net/s *"_ivl_2", 15 0, L_0x8991babc0;  1 drivers
v0x899170000_0 .net *"_ivl_7", 0 0, L_0x898e40140;  1 drivers
v0x8991700a0_0 .net *"_ivl_9", 15 0, L_0x898e401e0;  1 drivers
L_0x898854490 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899170140_0 .net/s "acc_in", 31 0, L_0x898854490;  1 drivers
v0x8991701e0_0 .net/s "acc_out", 31 0, L_0x898c952c0;  alias, 1 drivers
v0x899170280_0 .net/s "product", 15 0, L_0x8991bac60;  1 drivers
v0x899170320_0 .net/s "product_ext", 31 0, L_0x8991bad00;  1 drivers
v0x8991703c0_0 .net/s "w", 7 0, L_0x898e40320;  1 drivers
v0x899170460_0 .net/s "x", 7 0, L_0x898e40280;  1 drivers
L_0x8991bab20 .extend/s 16, L_0x898e40280;
L_0x8991babc0 .extend/s 16, L_0x898e40320;
L_0x8991bac60 .arith/mult 16, L_0x8991bab20, L_0x8991babc0;
L_0x898e40140 .part L_0x8991bac60, 15, 1;
L_0x898e401e0 .repeat 16, 16, L_0x898e40140;
L_0x8991bad00 .concat [ 16 16 0 0], L_0x8991bac60, L_0x898e401e0;
L_0x898c952c0 .arith/sum 32, L_0x898854490, L_0x8991bad00;
S_0x898e0d980 .scope generate, "GEN_MAC[11]" "GEN_MAC[11]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bd00 .param/l "i" 1 6 17, +C4<01011>;
S_0x898e0db00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0d980;
 .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_0x89916c480 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c4c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c500 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899170500_0 .net/s *"_ivl_0", 15 0, L_0x8991bada0;  1 drivers
v0x8991705a0_0 .net/s *"_ivl_2", 15 0, L_0x8991bae40;  1 drivers
v0x899170640_0 .net *"_ivl_7", 0 0, L_0x898e403c0;  1 drivers
v0x8991706e0_0 .net *"_ivl_9", 15 0, L_0x898e40460;  1 drivers
L_0x8988544d8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899170780_0 .net/s "acc_in", 31 0, L_0x8988544d8;  1 drivers
v0x899170820_0 .net/s "acc_out", 31 0, L_0x898c95360;  alias, 1 drivers
v0x8991708c0_0 .net/s "product", 15 0, L_0x8991baee0;  1 drivers
v0x899170960_0 .net/s "product_ext", 31 0, L_0x8991baf80;  1 drivers
v0x899170a00_0 .net/s "w", 7 0, L_0x898e405a0;  1 drivers
v0x899170aa0_0 .net/s "x", 7 0, L_0x898e40500;  1 drivers
L_0x8991bada0 .extend/s 16, L_0x898e40500;
L_0x8991bae40 .extend/s 16, L_0x898e405a0;
L_0x8991baee0 .arith/mult 16, L_0x8991bada0, L_0x8991bae40;
L_0x898e403c0 .part L_0x8991baee0, 15, 1;
L_0x898e40460 .repeat 16, 16, L_0x898e403c0;
L_0x8991baf80 .concat [ 16 16 0 0], L_0x8991baee0, L_0x898e40460;
L_0x898c95360 .arith/sum 32, L_0x8988544d8, L_0x8991baf80;
S_0x898e0dc80 .scope generate, "GEN_MAC[12]" "GEN_MAC[12]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bd40 .param/l "i" 1 6 17, +C4<01100>;
S_0x898e0de00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0dc80;
 .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_0x89916c540 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c580 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c5c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899170b40_0 .net/s *"_ivl_0", 15 0, L_0x8991bb020;  1 drivers
v0x899170be0_0 .net/s *"_ivl_2", 15 0, L_0x8991bb0c0;  1 drivers
v0x899170c80_0 .net *"_ivl_7", 0 0, L_0x898e40640;  1 drivers
v0x899170d20_0 .net *"_ivl_9", 15 0, L_0x898e406e0;  1 drivers
L_0x898854520 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899170dc0_0 .net/s "acc_in", 31 0, L_0x898854520;  1 drivers
v0x899170e60_0 .net/s "acc_out", 31 0, L_0x898c95400;  alias, 1 drivers
v0x899170f00_0 .net/s "product", 15 0, L_0x8991bb160;  1 drivers
v0x899170fa0_0 .net/s "product_ext", 31 0, L_0x8991bb200;  1 drivers
v0x899171040_0 .net/s "w", 7 0, L_0x898e40820;  1 drivers
v0x8991710e0_0 .net/s "x", 7 0, L_0x898e40780;  1 drivers
L_0x8991bb020 .extend/s 16, L_0x898e40780;
L_0x8991bb0c0 .extend/s 16, L_0x898e40820;
L_0x8991bb160 .arith/mult 16, L_0x8991bb020, L_0x8991bb0c0;
L_0x898e40640 .part L_0x8991bb160, 15, 1;
L_0x898e406e0 .repeat 16, 16, L_0x898e40640;
L_0x8991bb200 .concat [ 16 16 0 0], L_0x8991bb160, L_0x898e406e0;
L_0x898c95400 .arith/sum 32, L_0x898854520, L_0x8991bb200;
S_0x898e0df80 .scope generate, "GEN_MAC[13]" "GEN_MAC[13]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bd80 .param/l "i" 1 6 17, +C4<01101>;
S_0x898e0e100 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0df80;
 .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_0x89916c600 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c640 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c680 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899171180_0 .net/s *"_ivl_0", 15 0, L_0x8991bb2a0;  1 drivers
v0x899171220_0 .net/s *"_ivl_2", 15 0, L_0x8991bb340;  1 drivers
v0x8991712c0_0 .net *"_ivl_7", 0 0, L_0x898e408c0;  1 drivers
v0x899171360_0 .net *"_ivl_9", 15 0, L_0x898e40960;  1 drivers
L_0x898854568 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899171400_0 .net/s "acc_in", 31 0, L_0x898854568;  1 drivers
v0x8991714a0_0 .net/s "acc_out", 31 0, L_0x898c954a0;  alias, 1 drivers
v0x899171540_0 .net/s "product", 15 0, L_0x8991bb3e0;  1 drivers
v0x8991715e0_0 .net/s "product_ext", 31 0, L_0x8991bb480;  1 drivers
v0x899171680_0 .net/s "w", 7 0, L_0x898e40aa0;  1 drivers
v0x899171720_0 .net/s "x", 7 0, L_0x898e40a00;  1 drivers
L_0x8991bb2a0 .extend/s 16, L_0x898e40a00;
L_0x8991bb340 .extend/s 16, L_0x898e40aa0;
L_0x8991bb3e0 .arith/mult 16, L_0x8991bb2a0, L_0x8991bb340;
L_0x898e408c0 .part L_0x8991bb3e0, 15, 1;
L_0x898e40960 .repeat 16, 16, L_0x898e408c0;
L_0x8991bb480 .concat [ 16 16 0 0], L_0x8991bb3e0, L_0x898e40960;
L_0x898c954a0 .arith/sum 32, L_0x898854568, L_0x8991bb480;
S_0x898e0e280 .scope generate, "GEN_MAC[14]" "GEN_MAC[14]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bdc0 .param/l "i" 1 6 17, +C4<01110>;
S_0x898e0e400 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0e280;
 .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_0x89916c6c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c700 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c740 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991717c0_0 .net/s *"_ivl_0", 15 0, L_0x8991bb520;  1 drivers
v0x899171860_0 .net/s *"_ivl_2", 15 0, L_0x8991bb5c0;  1 drivers
v0x899171900_0 .net *"_ivl_7", 0 0, L_0x898e40b40;  1 drivers
v0x8991719a0_0 .net *"_ivl_9", 15 0, L_0x898e40be0;  1 drivers
L_0x8988545b0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899171a40_0 .net/s "acc_in", 31 0, L_0x8988545b0;  1 drivers
v0x899171ae0_0 .net/s "acc_out", 31 0, L_0x898c95540;  alias, 1 drivers
v0x899171b80_0 .net/s "product", 15 0, L_0x8991bb660;  1 drivers
v0x899171c20_0 .net/s "product_ext", 31 0, L_0x8991bb700;  1 drivers
v0x899171cc0_0 .net/s "w", 7 0, L_0x898e40d20;  1 drivers
v0x899171d60_0 .net/s "x", 7 0, L_0x898e40c80;  1 drivers
L_0x8991bb520 .extend/s 16, L_0x898e40c80;
L_0x8991bb5c0 .extend/s 16, L_0x898e40d20;
L_0x8991bb660 .arith/mult 16, L_0x8991bb520, L_0x8991bb5c0;
L_0x898e40b40 .part L_0x8991bb660, 15, 1;
L_0x898e40be0 .repeat 16, 16, L_0x898e40b40;
L_0x8991bb700 .concat [ 16 16 0 0], L_0x8991bb660, L_0x898e40be0;
L_0x898c95540 .arith/sum 32, L_0x8988545b0, L_0x8991bb700;
S_0x898e0e580 .scope generate, "GEN_MAC[15]" "GEN_MAC[15]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906be00 .param/l "i" 1 6 17, +C4<01111>;
S_0x898e0e700 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0e580;
 .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_0x89916c780 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c7c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c800 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899171e00_0 .net/s *"_ivl_0", 15 0, L_0x8991bb7a0;  1 drivers
v0x899171ea0_0 .net/s *"_ivl_2", 15 0, L_0x8991bb840;  1 drivers
v0x899171f40_0 .net *"_ivl_7", 0 0, L_0x898e40dc0;  1 drivers
v0x899171fe0_0 .net *"_ivl_9", 15 0, L_0x898e40e60;  1 drivers
L_0x8988545f8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899172080_0 .net/s "acc_in", 31 0, L_0x8988545f8;  1 drivers
v0x899172120_0 .net/s "acc_out", 31 0, L_0x898c955e0;  alias, 1 drivers
v0x8991721c0_0 .net/s "product", 15 0, L_0x8991bb8e0;  1 drivers
v0x899172260_0 .net/s "product_ext", 31 0, L_0x8991bb980;  1 drivers
v0x899172300_0 .net/s "w", 7 0, L_0x898e40fa0;  1 drivers
v0x8991723a0_0 .net/s "x", 7 0, L_0x898e40f00;  1 drivers
L_0x8991bb7a0 .extend/s 16, L_0x898e40f00;
L_0x8991bb840 .extend/s 16, L_0x898e40fa0;
L_0x8991bb8e0 .arith/mult 16, L_0x8991bb7a0, L_0x8991bb840;
L_0x898e40dc0 .part L_0x8991bb8e0, 15, 1;
L_0x898e40e60 .repeat 16, 16, L_0x898e40dc0;
L_0x8991bb980 .concat [ 16 16 0 0], L_0x8991bb8e0, L_0x898e40e60;
L_0x898c955e0 .arith/sum 32, L_0x8988545f8, L_0x8991bb980;
S_0x898e0e880 .scope generate, "GEN_MAC[16]" "GEN_MAC[16]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906be40 .param/l "i" 1 6 17, +C4<010000>;
S_0x898e0ea00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0e880;
 .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_0x89916c840 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c880 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c8c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899172440_0 .net/s *"_ivl_0", 15 0, L_0x8991bba20;  1 drivers
v0x8991724e0_0 .net/s *"_ivl_2", 15 0, L_0x8991bbac0;  1 drivers
v0x899172580_0 .net *"_ivl_7", 0 0, L_0x898e41040;  1 drivers
v0x899172620_0 .net *"_ivl_9", 15 0, L_0x898e410e0;  1 drivers
L_0x898854640 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991726c0_0 .net/s "acc_in", 31 0, L_0x898854640;  1 drivers
v0x899172760_0 .net/s "acc_out", 31 0, L_0x898c95680;  alias, 1 drivers
v0x899172800_0 .net/s "product", 15 0, L_0x8991bbb60;  1 drivers
v0x8991728a0_0 .net/s "product_ext", 31 0, L_0x8991bbc00;  1 drivers
v0x899172940_0 .net/s "w", 7 0, L_0x898e41220;  1 drivers
v0x8991729e0_0 .net/s "x", 7 0, L_0x898e41180;  1 drivers
L_0x8991bba20 .extend/s 16, L_0x898e41180;
L_0x8991bbac0 .extend/s 16, L_0x898e41220;
L_0x8991bbb60 .arith/mult 16, L_0x8991bba20, L_0x8991bbac0;
L_0x898e41040 .part L_0x8991bbb60, 15, 1;
L_0x898e410e0 .repeat 16, 16, L_0x898e41040;
L_0x8991bbc00 .concat [ 16 16 0 0], L_0x8991bbb60, L_0x898e410e0;
L_0x898c95680 .arith/sum 32, L_0x898854640, L_0x8991bbc00;
S_0x898e0eb80 .scope generate, "GEN_MAC[17]" "GEN_MAC[17]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906be80 .param/l "i" 1 6 17, +C4<010001>;
S_0x898e0ed00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0eb80;
 .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_0x89916c900 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916c940 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916c980 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899172a80_0 .net/s *"_ivl_0", 15 0, L_0x8991bbca0;  1 drivers
v0x899172b20_0 .net/s *"_ivl_2", 15 0, L_0x8991bbd40;  1 drivers
v0x899172bc0_0 .net *"_ivl_7", 0 0, L_0x898e412c0;  1 drivers
v0x899172c60_0 .net *"_ivl_9", 15 0, L_0x898e41360;  1 drivers
L_0x898854688 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899172d00_0 .net/s "acc_in", 31 0, L_0x898854688;  1 drivers
v0x899172da0_0 .net/s "acc_out", 31 0, L_0x898c95720;  alias, 1 drivers
v0x899172e40_0 .net/s "product", 15 0, L_0x8991bbde0;  1 drivers
v0x899172ee0_0 .net/s "product_ext", 31 0, L_0x8991bbe80;  1 drivers
v0x899172f80_0 .net/s "w", 7 0, L_0x898e414a0;  1 drivers
v0x899173020_0 .net/s "x", 7 0, L_0x898e41400;  1 drivers
L_0x8991bbca0 .extend/s 16, L_0x898e41400;
L_0x8991bbd40 .extend/s 16, L_0x898e414a0;
L_0x8991bbde0 .arith/mult 16, L_0x8991bbca0, L_0x8991bbd40;
L_0x898e412c0 .part L_0x8991bbde0, 15, 1;
L_0x898e41360 .repeat 16, 16, L_0x898e412c0;
L_0x8991bbe80 .concat [ 16 16 0 0], L_0x8991bbde0, L_0x898e41360;
L_0x898c95720 .arith/sum 32, L_0x898854688, L_0x8991bbe80;
S_0x898e0ee80 .scope generate, "GEN_MAC[18]" "GEN_MAC[18]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bec0 .param/l "i" 1 6 17, +C4<010010>;
S_0x898e0f000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0ee80;
 .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_0x89916c9c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916ca00 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916ca40 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991730c0_0 .net/s *"_ivl_0", 15 0, L_0x8991bbf20;  1 drivers
v0x899173160_0 .net/s *"_ivl_2", 15 0, L_0x8991bc000;  1 drivers
v0x899173200_0 .net *"_ivl_7", 0 0, L_0x898e41540;  1 drivers
v0x8991732a0_0 .net *"_ivl_9", 15 0, L_0x898e415e0;  1 drivers
L_0x8988546d0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899173340_0 .net/s "acc_in", 31 0, L_0x8988546d0;  1 drivers
v0x8991733e0_0 .net/s "acc_out", 31 0, L_0x898c957c0;  alias, 1 drivers
v0x899173480_0 .net/s "product", 15 0, L_0x8991bc0a0;  1 drivers
v0x899173520_0 .net/s "product_ext", 31 0, L_0x8991bc140;  1 drivers
v0x8991735c0_0 .net/s "w", 7 0, L_0x898e41720;  1 drivers
v0x899173660_0 .net/s "x", 7 0, L_0x898e41680;  1 drivers
L_0x8991bbf20 .extend/s 16, L_0x898e41680;
L_0x8991bc000 .extend/s 16, L_0x898e41720;
L_0x8991bc0a0 .arith/mult 16, L_0x8991bbf20, L_0x8991bc000;
L_0x898e41540 .part L_0x8991bc0a0, 15, 1;
L_0x898e415e0 .repeat 16, 16, L_0x898e41540;
L_0x8991bc140 .concat [ 16 16 0 0], L_0x8991bc0a0, L_0x898e415e0;
L_0x898c957c0 .arith/sum 32, L_0x8988546d0, L_0x8991bc140;
S_0x898e0f180 .scope generate, "GEN_MAC[19]" "GEN_MAC[19]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bf00 .param/l "i" 1 6 17, +C4<010011>;
S_0x898e0f300 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0f180;
 .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_0x89916ca80 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916cac0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916cb00 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899173700_0 .net/s *"_ivl_0", 15 0, L_0x8991bc1e0;  1 drivers
v0x8991737a0_0 .net/s *"_ivl_2", 15 0, L_0x8991bc280;  1 drivers
v0x899173840_0 .net *"_ivl_7", 0 0, L_0x898e417c0;  1 drivers
v0x8991738e0_0 .net *"_ivl_9", 15 0, L_0x898e41860;  1 drivers
L_0x898854718 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899173980_0 .net/s "acc_in", 31 0, L_0x898854718;  1 drivers
v0x899173a20_0 .net/s "acc_out", 31 0, L_0x898c95860;  alias, 1 drivers
v0x899173ac0_0 .net/s "product", 15 0, L_0x8991bc320;  1 drivers
v0x899173b60_0 .net/s "product_ext", 31 0, L_0x8991bc3c0;  1 drivers
v0x899173c00_0 .net/s "w", 7 0, L_0x898e419a0;  1 drivers
v0x899173ca0_0 .net/s "x", 7 0, L_0x898e41900;  1 drivers
L_0x8991bc1e0 .extend/s 16, L_0x898e41900;
L_0x8991bc280 .extend/s 16, L_0x898e419a0;
L_0x8991bc320 .arith/mult 16, L_0x8991bc1e0, L_0x8991bc280;
L_0x898e417c0 .part L_0x8991bc320, 15, 1;
L_0x898e41860 .repeat 16, 16, L_0x898e417c0;
L_0x8991bc3c0 .concat [ 16 16 0 0], L_0x8991bc320, L_0x898e41860;
L_0x898c95860 .arith/sum 32, L_0x898854718, L_0x8991bc3c0;
S_0x898e0f480 .scope generate, "GEN_MAC[20]" "GEN_MAC[20]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bf40 .param/l "i" 1 6 17, +C4<010100>;
S_0x898e0f600 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0f480;
 .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_0x89916cb40 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916cb80 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916cbc0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899173d40_0 .net/s *"_ivl_0", 15 0, L_0x8991bc460;  1 drivers
v0x899173de0_0 .net/s *"_ivl_2", 15 0, L_0x8991bc500;  1 drivers
v0x899173e80_0 .net *"_ivl_7", 0 0, L_0x898e41a40;  1 drivers
v0x899173f20_0 .net *"_ivl_9", 15 0, L_0x898e41ae0;  1 drivers
L_0x898854760 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899174000_0 .net/s "acc_in", 31 0, L_0x898854760;  1 drivers
v0x8991740a0_0 .net/s "acc_out", 31 0, L_0x898c95900;  alias, 1 drivers
v0x899174140_0 .net/s "product", 15 0, L_0x8991bc5a0;  1 drivers
v0x8991741e0_0 .net/s "product_ext", 31 0, L_0x8991bc640;  1 drivers
v0x899174280_0 .net/s "w", 7 0, L_0x898e41c20;  1 drivers
v0x899174320_0 .net/s "x", 7 0, L_0x898e41b80;  1 drivers
L_0x8991bc460 .extend/s 16, L_0x898e41b80;
L_0x8991bc500 .extend/s 16, L_0x898e41c20;
L_0x8991bc5a0 .arith/mult 16, L_0x8991bc460, L_0x8991bc500;
L_0x898e41a40 .part L_0x8991bc5a0, 15, 1;
L_0x898e41ae0 .repeat 16, 16, L_0x898e41a40;
L_0x8991bc640 .concat [ 16 16 0 0], L_0x8991bc5a0, L_0x898e41ae0;
L_0x898c95900 .arith/sum 32, L_0x898854760, L_0x8991bc640;
S_0x898e0f780 .scope generate, "GEN_MAC[21]" "GEN_MAC[21]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bf80 .param/l "i" 1 6 17, +C4<010101>;
S_0x898e0f900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0f780;
 .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_0x89916cc00 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916cc40 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916cc80 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991743c0_0 .net/s *"_ivl_0", 15 0, L_0x8991bc6e0;  1 drivers
v0x899174460_0 .net/s *"_ivl_2", 15 0, L_0x8991bc780;  1 drivers
v0x899174500_0 .net *"_ivl_7", 0 0, L_0x898e41cc0;  1 drivers
v0x8991745a0_0 .net *"_ivl_9", 15 0, L_0x898e41d60;  1 drivers
L_0x8988547a8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899174640_0 .net/s "acc_in", 31 0, L_0x8988547a8;  1 drivers
v0x8991746e0_0 .net/s "acc_out", 31 0, L_0x898c959a0;  alias, 1 drivers
v0x899174780_0 .net/s "product", 15 0, L_0x8991bc820;  1 drivers
v0x899174820_0 .net/s "product_ext", 31 0, L_0x8991bc8c0;  1 drivers
v0x8991748c0_0 .net/s "w", 7 0, L_0x898e41ea0;  1 drivers
v0x899174960_0 .net/s "x", 7 0, L_0x898e41e00;  1 drivers
L_0x8991bc6e0 .extend/s 16, L_0x898e41e00;
L_0x8991bc780 .extend/s 16, L_0x898e41ea0;
L_0x8991bc820 .arith/mult 16, L_0x8991bc6e0, L_0x8991bc780;
L_0x898e41cc0 .part L_0x8991bc820, 15, 1;
L_0x898e41d60 .repeat 16, 16, L_0x898e41cc0;
L_0x8991bc8c0 .concat [ 16 16 0 0], L_0x8991bc820, L_0x898e41d60;
L_0x898c959a0 .arith/sum 32, L_0x8988547a8, L_0x8991bc8c0;
S_0x898e0fa80 .scope generate, "GEN_MAC[22]" "GEN_MAC[22]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89906bfc0 .param/l "i" 1 6 17, +C4<010110>;
S_0x898e0fc00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0fa80;
 .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_0x89916ccc0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916cd00 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916cd40 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899174a00_0 .net/s *"_ivl_0", 15 0, L_0x8991bc960;  1 drivers
v0x899174aa0_0 .net/s *"_ivl_2", 15 0, L_0x8991bca00;  1 drivers
v0x899174b40_0 .net *"_ivl_7", 0 0, L_0x898e41f40;  1 drivers
v0x899174be0_0 .net *"_ivl_9", 15 0, L_0x898e41fe0;  1 drivers
L_0x8988547f0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899174c80_0 .net/s "acc_in", 31 0, L_0x8988547f0;  1 drivers
v0x899174d20_0 .net/s "acc_out", 31 0, L_0x898c95a40;  alias, 1 drivers
v0x899174dc0_0 .net/s "product", 15 0, L_0x8991bcaa0;  1 drivers
v0x899174e60_0 .net/s "product_ext", 31 0, L_0x8991bcb40;  1 drivers
v0x899174f00_0 .net/s "w", 7 0, L_0x898e42120;  1 drivers
v0x899174fa0_0 .net/s "x", 7 0, L_0x898e42080;  1 drivers
L_0x8991bc960 .extend/s 16, L_0x898e42080;
L_0x8991bca00 .extend/s 16, L_0x898e42120;
L_0x8991bcaa0 .arith/mult 16, L_0x8991bc960, L_0x8991bca00;
L_0x898e41f40 .part L_0x8991bcaa0, 15, 1;
L_0x898e41fe0 .repeat 16, 16, L_0x898e41f40;
L_0x8991bcb40 .concat [ 16 16 0 0], L_0x8991bcaa0, L_0x898e41fe0;
L_0x898c95a40 .arith/sum 32, L_0x8988547f0, L_0x8991bcb40;
S_0x898e0fd80 .scope generate, "GEN_MAC[23]" "GEN_MAC[23]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x899178000 .param/l "i" 1 6 17, +C4<010111>;
S_0x898e10000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e0fd80;
 .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_0x89916cd80 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916cdc0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916ce00 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899175040_0 .net/s *"_ivl_0", 15 0, L_0x8991bcbe0;  1 drivers
v0x8991750e0_0 .net/s *"_ivl_2", 15 0, L_0x8991bcc80;  1 drivers
v0x899175180_0 .net *"_ivl_7", 0 0, L_0x898e421c0;  1 drivers
v0x899175220_0 .net *"_ivl_9", 15 0, L_0x898e42260;  1 drivers
L_0x898854838 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991752c0_0 .net/s "acc_in", 31 0, L_0x898854838;  1 drivers
v0x899175360_0 .net/s "acc_out", 31 0, L_0x898c95ae0;  alias, 1 drivers
v0x899175400_0 .net/s "product", 15 0, L_0x8991bcd20;  1 drivers
v0x8991754a0_0 .net/s "product_ext", 31 0, L_0x8991bcdc0;  1 drivers
v0x899175540_0 .net/s "w", 7 0, L_0x898e423a0;  1 drivers
v0x8991755e0_0 .net/s "x", 7 0, L_0x898e42300;  1 drivers
L_0x8991bcbe0 .extend/s 16, L_0x898e42300;
L_0x8991bcc80 .extend/s 16, L_0x898e423a0;
L_0x8991bcd20 .arith/mult 16, L_0x8991bcbe0, L_0x8991bcc80;
L_0x898e421c0 .part L_0x8991bcd20, 15, 1;
L_0x898e42260 .repeat 16, 16, L_0x898e421c0;
L_0x8991bcdc0 .concat [ 16 16 0 0], L_0x8991bcd20, L_0x898e42260;
L_0x898c95ae0 .arith/sum 32, L_0x898854838, L_0x8991bcdc0;
S_0x898e10180 .scope generate, "GEN_MAC[24]" "GEN_MAC[24]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89917c000 .param/l "i" 1 6 17, +C4<011000>;
S_0x898e10300 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e10180;
 .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_0x89916ce40 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916ce80 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916cec0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899175680_0 .net/s *"_ivl_0", 15 0, L_0x8991bce60;  1 drivers
v0x899175720_0 .net/s *"_ivl_2", 15 0, L_0x8991bcf00;  1 drivers
v0x8991757c0_0 .net *"_ivl_7", 0 0, L_0x898e42440;  1 drivers
v0x899175860_0 .net *"_ivl_9", 15 0, L_0x898e424e0;  1 drivers
L_0x898854880 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899175900_0 .net/s "acc_in", 31 0, L_0x898854880;  1 drivers
v0x8991759a0_0 .net/s "acc_out", 31 0, L_0x898c95b80;  alias, 1 drivers
v0x899175a40_0 .net/s "product", 15 0, L_0x8991bcfa0;  1 drivers
v0x899175ae0_0 .net/s "product_ext", 31 0, L_0x8991bd040;  1 drivers
v0x899175b80_0 .net/s "w", 7 0, L_0x898e42620;  1 drivers
v0x899175c20_0 .net/s "x", 7 0, L_0x898e42580;  1 drivers
L_0x8991bce60 .extend/s 16, L_0x898e42580;
L_0x8991bcf00 .extend/s 16, L_0x898e42620;
L_0x8991bcfa0 .arith/mult 16, L_0x8991bce60, L_0x8991bcf00;
L_0x898e42440 .part L_0x8991bcfa0, 15, 1;
L_0x898e424e0 .repeat 16, 16, L_0x898e42440;
L_0x8991bd040 .concat [ 16 16 0 0], L_0x8991bcfa0, L_0x898e424e0;
L_0x898c95b80 .arith/sum 32, L_0x898854880, L_0x8991bd040;
S_0x898e10480 .scope generate, "GEN_MAC[25]" "GEN_MAC[25]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89917c040 .param/l "i" 1 6 17, +C4<011001>;
S_0x898e10600 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e10480;
 .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_0x89916cf00 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916cf40 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916cf80 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899175cc0_0 .net/s *"_ivl_0", 15 0, L_0x8991bd0e0;  1 drivers
v0x899175d60_0 .net/s *"_ivl_2", 15 0, L_0x8991bd180;  1 drivers
v0x899175e00_0 .net *"_ivl_7", 0 0, L_0x898e426c0;  1 drivers
v0x899175ea0_0 .net *"_ivl_9", 15 0, L_0x898e42760;  1 drivers
L_0x8988548c8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899175f40_0 .net/s "acc_in", 31 0, L_0x8988548c8;  1 drivers
v0x899175fe0_0 .net/s "acc_out", 31 0, L_0x898c95c20;  alias, 1 drivers
v0x899176080_0 .net/s "product", 15 0, L_0x8991bd220;  1 drivers
v0x899176120_0 .net/s "product_ext", 31 0, L_0x8991bd2c0;  1 drivers
v0x8991761c0_0 .net/s "w", 7 0, L_0x898e428a0;  1 drivers
v0x899176260_0 .net/s "x", 7 0, L_0x898e42800;  1 drivers
L_0x8991bd0e0 .extend/s 16, L_0x898e42800;
L_0x8991bd180 .extend/s 16, L_0x898e428a0;
L_0x8991bd220 .arith/mult 16, L_0x8991bd0e0, L_0x8991bd180;
L_0x898e426c0 .part L_0x8991bd220, 15, 1;
L_0x898e42760 .repeat 16, 16, L_0x898e426c0;
L_0x8991bd2c0 .concat [ 16 16 0 0], L_0x8991bd220, L_0x898e42760;
L_0x898c95c20 .arith/sum 32, L_0x8988548c8, L_0x8991bd2c0;
S_0x898e10780 .scope generate, "GEN_MAC[26]" "GEN_MAC[26]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89917c080 .param/l "i" 1 6 17, +C4<011010>;
S_0x898e10900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e10780;
 .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_0x89916cfc0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d000 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916d040 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899176300_0 .net/s *"_ivl_0", 15 0, L_0x8991bd360;  1 drivers
v0x8991763a0_0 .net/s *"_ivl_2", 15 0, L_0x8991bd400;  1 drivers
v0x899176440_0 .net *"_ivl_7", 0 0, L_0x898e42940;  1 drivers
v0x8991764e0_0 .net *"_ivl_9", 15 0, L_0x898e429e0;  1 drivers
L_0x898854910 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899176580_0 .net/s "acc_in", 31 0, L_0x898854910;  1 drivers
v0x899176620_0 .net/s "acc_out", 31 0, L_0x898c95cc0;  alias, 1 drivers
v0x8991766c0_0 .net/s "product", 15 0, L_0x8991bd4a0;  1 drivers
v0x899176760_0 .net/s "product_ext", 31 0, L_0x8991bd540;  1 drivers
v0x899176800_0 .net/s "w", 7 0, L_0x898e42b20;  1 drivers
v0x8991768a0_0 .net/s "x", 7 0, L_0x898e42a80;  1 drivers
L_0x8991bd360 .extend/s 16, L_0x898e42a80;
L_0x8991bd400 .extend/s 16, L_0x898e42b20;
L_0x8991bd4a0 .arith/mult 16, L_0x8991bd360, L_0x8991bd400;
L_0x898e42940 .part L_0x8991bd4a0, 15, 1;
L_0x898e429e0 .repeat 16, 16, L_0x898e42940;
L_0x8991bd540 .concat [ 16 16 0 0], L_0x8991bd4a0, L_0x898e429e0;
L_0x898c95cc0 .arith/sum 32, L_0x898854910, L_0x8991bd540;
S_0x898e10a80 .scope generate, "GEN_MAC[27]" "GEN_MAC[27]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89917c0c0 .param/l "i" 1 6 17, +C4<011011>;
S_0x898e10c00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e10a80;
 .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_0x89916d080 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d0c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916d100 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899176940_0 .net/s *"_ivl_0", 15 0, L_0x8991bd5e0;  1 drivers
v0x8991769e0_0 .net/s *"_ivl_2", 15 0, L_0x8991bd680;  1 drivers
v0x899176a80_0 .net *"_ivl_7", 0 0, L_0x898e42bc0;  1 drivers
v0x899176b20_0 .net *"_ivl_9", 15 0, L_0x898e42c60;  1 drivers
L_0x898854958 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899176bc0_0 .net/s "acc_in", 31 0, L_0x898854958;  1 drivers
v0x899176c60_0 .net/s "acc_out", 31 0, L_0x898c95d60;  alias, 1 drivers
v0x899176d00_0 .net/s "product", 15 0, L_0x8991bd720;  1 drivers
v0x899176da0_0 .net/s "product_ext", 31 0, L_0x8991bd7c0;  1 drivers
v0x899176e40_0 .net/s "w", 7 0, L_0x898e42da0;  1 drivers
v0x899176ee0_0 .net/s "x", 7 0, L_0x898e42d00;  1 drivers
L_0x8991bd5e0 .extend/s 16, L_0x898e42d00;
L_0x8991bd680 .extend/s 16, L_0x898e42da0;
L_0x8991bd720 .arith/mult 16, L_0x8991bd5e0, L_0x8991bd680;
L_0x898e42bc0 .part L_0x8991bd720, 15, 1;
L_0x898e42c60 .repeat 16, 16, L_0x898e42bc0;
L_0x8991bd7c0 .concat [ 16 16 0 0], L_0x8991bd720, L_0x898e42c60;
L_0x898c95d60 .arith/sum 32, L_0x898854958, L_0x8991bd7c0;
S_0x898e10d80 .scope generate, "GEN_MAC[28]" "GEN_MAC[28]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89917c100 .param/l "i" 1 6 17, +C4<011100>;
S_0x898e10f00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e10d80;
 .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_0x89916d140 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d180 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916d1c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899176f80_0 .net/s *"_ivl_0", 15 0, L_0x8991bd860;  1 drivers
v0x899177020_0 .net/s *"_ivl_2", 15 0, L_0x8991bd900;  1 drivers
v0x8991770c0_0 .net *"_ivl_7", 0 0, L_0x898e42e40;  1 drivers
v0x899177160_0 .net *"_ivl_9", 15 0, L_0x898e42ee0;  1 drivers
L_0x8988549a0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899177200_0 .net/s "acc_in", 31 0, L_0x8988549a0;  1 drivers
v0x8991772a0_0 .net/s "acc_out", 31 0, L_0x898c95e00;  alias, 1 drivers
v0x899177340_0 .net/s "product", 15 0, L_0x8991bd9a0;  1 drivers
v0x8991773e0_0 .net/s "product_ext", 31 0, L_0x8991bda40;  1 drivers
v0x899177480_0 .net/s "w", 7 0, L_0x898e43020;  1 drivers
v0x899177520_0 .net/s "x", 7 0, L_0x898e42f80;  1 drivers
L_0x8991bd860 .extend/s 16, L_0x898e42f80;
L_0x8991bd900 .extend/s 16, L_0x898e43020;
L_0x8991bd9a0 .arith/mult 16, L_0x8991bd860, L_0x8991bd900;
L_0x898e42e40 .part L_0x8991bd9a0, 15, 1;
L_0x898e42ee0 .repeat 16, 16, L_0x898e42e40;
L_0x8991bda40 .concat [ 16 16 0 0], L_0x8991bd9a0, L_0x898e42ee0;
L_0x898c95e00 .arith/sum 32, L_0x8988549a0, L_0x8991bda40;
S_0x898e11080 .scope generate, "GEN_MAC[29]" "GEN_MAC[29]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89917c140 .param/l "i" 1 6 17, +C4<011101>;
S_0x898e11200 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e11080;
 .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_0x89916d200 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d240 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916d280 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991775c0_0 .net/s *"_ivl_0", 15 0, L_0x8991bdae0;  1 drivers
v0x899177660_0 .net/s *"_ivl_2", 15 0, L_0x8991bdb80;  1 drivers
v0x899177700_0 .net *"_ivl_7", 0 0, L_0x898e430c0;  1 drivers
v0x8991777a0_0 .net *"_ivl_9", 15 0, L_0x898e43160;  1 drivers
L_0x8988549e8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899177840_0 .net/s "acc_in", 31 0, L_0x8988549e8;  1 drivers
v0x8991778e0_0 .net/s "acc_out", 31 0, L_0x898c95ea0;  alias, 1 drivers
v0x899177980_0 .net/s "product", 15 0, L_0x8991bdc20;  1 drivers
v0x899177a20_0 .net/s "product_ext", 31 0, L_0x8991bdcc0;  1 drivers
v0x899177ac0_0 .net/s "w", 7 0, L_0x898e432a0;  1 drivers
v0x899177b60_0 .net/s "x", 7 0, L_0x898e43200;  1 drivers
L_0x8991bdae0 .extend/s 16, L_0x898e43200;
L_0x8991bdb80 .extend/s 16, L_0x898e432a0;
L_0x8991bdc20 .arith/mult 16, L_0x8991bdae0, L_0x8991bdb80;
L_0x898e430c0 .part L_0x8991bdc20, 15, 1;
L_0x898e43160 .repeat 16, 16, L_0x898e430c0;
L_0x8991bdcc0 .concat [ 16 16 0 0], L_0x8991bdc20, L_0x898e43160;
L_0x898c95ea0 .arith/sum 32, L_0x8988549e8, L_0x8991bdcc0;
S_0x898e11380 .scope generate, "GEN_MAC[30]" "GEN_MAC[30]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89917c180 .param/l "i" 1 6 17, +C4<011110>;
S_0x898e11500 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e11380;
 .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_0x89916d2c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d300 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916d340 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899177c00_0 .net/s *"_ivl_0", 15 0, L_0x8991bdd60;  1 drivers
v0x899177ca0_0 .net/s *"_ivl_2", 15 0, L_0x8991bde00;  1 drivers
v0x899177d40_0 .net *"_ivl_7", 0 0, L_0x898e43340;  1 drivers
v0x899177de0_0 .net *"_ivl_9", 15 0, L_0x898e433e0;  1 drivers
L_0x898854a30 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899177e80_0 .net/s "acc_in", 31 0, L_0x898854a30;  1 drivers
v0x899177f20_0 .net/s "acc_out", 31 0, L_0x898c95f40;  alias, 1 drivers
v0x899180000_0 .net/s "product", 15 0, L_0x8991bdea0;  1 drivers
v0x8991800a0_0 .net/s "product_ext", 31 0, L_0x8991bdf40;  1 drivers
v0x899180140_0 .net/s "w", 7 0, L_0x898e43520;  1 drivers
v0x8991801e0_0 .net/s "x", 7 0, L_0x898e43480;  1 drivers
L_0x8991bdd60 .extend/s 16, L_0x898e43480;
L_0x8991bde00 .extend/s 16, L_0x898e43520;
L_0x8991bdea0 .arith/mult 16, L_0x8991bdd60, L_0x8991bde00;
L_0x898e43340 .part L_0x8991bdea0, 15, 1;
L_0x898e433e0 .repeat 16, 16, L_0x898e43340;
L_0x8991bdf40 .concat [ 16 16 0 0], L_0x8991bdea0, L_0x898e433e0;
L_0x898c95f40 .arith/sum 32, L_0x898854a30, L_0x8991bdf40;
S_0x898e11680 .scope generate, "GEN_MAC[31]" "GEN_MAC[31]" 6 17, 6 17 0, S_0x100d2ec90;
 .timescale 0 0;
P_0x89917c1c0 .param/l "i" 1 6 17, +C4<011111>;
S_0x898e11800 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e11680;
 .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_0x89916d380 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d3c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916d400 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899180280_0 .net/s *"_ivl_0", 15 0, L_0x8991bdfe0;  1 drivers
v0x899180320_0 .net/s *"_ivl_2", 15 0, L_0x8991be080;  1 drivers
v0x8991803c0_0 .net *"_ivl_7", 0 0, L_0x898e435c0;  1 drivers
v0x899180460_0 .net *"_ivl_9", 15 0, L_0x898e43660;  1 drivers
L_0x898854a78 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899180500_0 .net/s "acc_in", 31 0, L_0x898854a78;  1 drivers
v0x8991805a0_0 .net/s "acc_out", 31 0, L_0x898c95fe0;  alias, 1 drivers
v0x899180640_0 .net/s "product", 15 0, L_0x8991be120;  1 drivers
v0x8991806e0_0 .net/s "product_ext", 31 0, L_0x8991be1c0;  1 drivers
v0x899180780_0 .net/s "w", 7 0, L_0x898e437a0;  1 drivers
v0x899180820_0 .net/s "x", 7 0, L_0x898e43700;  1 drivers
L_0x8991bdfe0 .extend/s 16, L_0x898e43700;
L_0x8991be080 .extend/s 16, L_0x898e437a0;
L_0x8991be120 .arith/mult 16, L_0x8991bdfe0, L_0x8991be080;
L_0x898e435c0 .part L_0x8991be120, 15, 1;
L_0x898e43660 .repeat 16, 16, L_0x898e435c0;
L_0x8991be1c0 .concat [ 16 16 0 0], L_0x8991be120, L_0x898e43660;
L_0x898c95fe0 .arith/sum 32, L_0x898854a78, L_0x8991be1c0;
S_0x898e11980 .scope generate, "GEN_NEURON[1]" "GEN_NEURON[1]" 4 34, 4 34 0, S_0x100d3aa50;
 .timescale 0 0;
P_0x89917c200 .param/l "n" 1 4 34, +C4<01>;
S_0x898e11b00 .scope module, "u_neuron" "neuron_parallel" 4 41, 5 1 0, S_0x898e11980;
 .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 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_0x898e11c80 .param/l "ACC_WIDTH" 0 5 5, +C4<00000000000000000000000000100000>;
P_0x898e11cc0 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000001000>;
P_0x898e11d00 .param/l "GROUPS" 1 5 20, +C4<00000000000000000000000000000001>;
P_0x898e11d40 .param/l "GROUP_INDEX_WIDTH" 1 5 21, +C4<00000000000000000000000000000001>;
P_0x898e11d80 .param/l "N_INPUTS" 0 5 3, +C4<00000000000000000000000000100000>;
P_0x898e11dc0 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000100000>;
v0x89918ed00_0 .net *"_ivl_0", 31 0, L_0x8991be300;  1 drivers
v0x89918eda0_0 .net *"_ivl_11", 31 0, L_0x8991be440;  1 drivers
v0x89918ee40_0 .net *"_ivl_14", 31 0, L_0x8991be4e0;  1 drivers
L_0x898854b98 .functor BUFT 1, C4<0000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918eee0_0 .net *"_ivl_17", 30 0, L_0x898854b98;  1 drivers
L_0x898854be0 .functor BUFT 1, C4<00000000000000000000000000100000>, C4<0>, C4<0>, C4<0>;
v0x89918ef80_0 .net/2u *"_ivl_18", 31 0, L_0x898854be0;  1 drivers
v0x89918f020_0 .net *"_ivl_21", 31 0, L_0x8991be580;  1 drivers
L_0x898854c28 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x89918f0c0_0 .net/2u *"_ivl_22", 31 0, L_0x898854c28;  1 drivers
v0x89918f160_0 .net *"_ivl_25", 31 0, L_0x8991be620;  1 drivers
v0x89918f200_0 .net *"_ivl_29", 0 0, L_0x898e50be0;  1 drivers
L_0x898854ac0 .functor BUFT 1, C4<0000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918f2a0_0 .net *"_ivl_3", 30 0, L_0x898854ac0;  1 drivers
v0x89918f340_0 .net *"_ivl_31", 23 0, L_0x898e50c80;  1 drivers
L_0x898854b08 .functor BUFT 1, C4<00000000000000000000000000100000>, C4<0>, C4<0>, C4<0>;
v0x89918f3e0_0 .net/2u *"_ivl_4", 31 0, L_0x898854b08;  1 drivers
v0x89918f480_0 .net *"_ivl_7", 31 0, L_0x8991be3a0;  1 drivers
L_0x898854b50 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x89918f520_0 .net/2u *"_ivl_8", 31 0, L_0x898854b50;  1 drivers
v0x89918f5c0_0 .var/s "acc", 31 0;
v0x89918f660_0 .net/s "acc_next", 31 0, L_0x898c975c0;  1 drivers
v0x89918f700_0 .net/s "bias", 7 0, L_0x898e50dc0;  1 drivers
v0x89918f7a0_0 .net/s "bias_ext", 31 0, L_0x8991c3700;  1 drivers
v0x89918f840_0 .var "busy", 0 0;
v0x89918f8e0_0 .net "clk", 0 0, v0x8991b8820_0;  alias, 1 drivers
v0x89918f980_0 .var "done", 0 0;
v0x89918fa20_0 .net/s "final_acc", 31 0, L_0x898c97660;  1 drivers
v0x89918fac0_0 .var "group_index", 0 0;
v0x89918fb60_0 .net "rst", 0 0, v0x8991b8b40_0;  alias, 1 drivers
v0x89918fc00_0 .net "start", 0 0, v0x8991b8be0_0;  alias, 1 drivers
v0x89918fca0_0 .net/s "w_bus", 255 0, L_0x898e50d20;  1 drivers
v0x89918fd40_0 .net/s "w_group", 255 0, L_0x898e43b60;  1 drivers
v0x89918fde0_0 .net/s "x_bus", 255 0, v0x8991b8d20_0;  alias, 1 drivers
v0x89918fe80_0 .net/s "x_group", 255 0, L_0x898e43ac0;  1 drivers
v0x89918ff20_0 .var/s "y", 7 0;
L_0x8991be300 .concat [ 1 31 0 0], v0x89918fac0_0, L_0x898854ac0;
L_0x8991be3a0 .arith/mult 32, L_0x8991be300, L_0x898854b08;
L_0x8991be440 .arith/mult 32, L_0x8991be3a0, L_0x898854b50;
L_0x898e43ac0 .part/v v0x8991b8d20_0, L_0x8991be440, 256;
L_0x8991be4e0 .concat [ 1 31 0 0], v0x89918fac0_0, L_0x898854b98;
L_0x8991be580 .arith/mult 32, L_0x8991be4e0, L_0x898854be0;
L_0x8991be620 .arith/mult 32, L_0x8991be580, L_0x898854c28;
L_0x898e43b60 .part/v L_0x898e50d20, L_0x8991be620, 256;
L_0x898e50be0 .part L_0x898e50dc0, 7, 1;
L_0x898e50c80 .repeat 24, 24, L_0x898e50be0;
L_0x8991c3700 .concat [ 8 24 0 0], L_0x898e50dc0, L_0x898e50c80;
L_0x898c97660 .arith/sum 32, L_0x898c975c0, L_0x8991c3700;
S_0x898e11e00 .scope module, "u_mac8" "mac8" 5 52, 6 1 0, S_0x898e11b00;
 .timescale 0 0;
    .port_info 0 /INPUT 256 "x_bus";
    .port_info 1 /INPUT 256 "w_bus";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x89916d440 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x89916d480 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x89916d4c0 .param/l "PARALLEL" 0 6 4, +C4<00000000000000000000000000100000>;
v0x89918e8a0_0 .net/s "acc_in", 31 0, v0x89918f5c0_0;  1 drivers
v0x89918e940_0 .net/s "acc_out", 31 0, L_0x898c975c0;  alias, 1 drivers
v0x89918e9e0_0 .var/i "j", 31 0;
v0x89918ea80 .array "products", 31 0;
v0x89918ea80_0 .net/s v0x89918ea80 0, 31 0, L_0x898c961c0; 1 drivers
v0x89918ea80_1 .net/s v0x89918ea80 1, 31 0, L_0x898c96260; 1 drivers
v0x89918ea80_2 .net/s v0x89918ea80 2, 31 0, L_0x898c96300; 1 drivers
v0x89918ea80_3 .net/s v0x89918ea80 3, 31 0, L_0x898c963a0; 1 drivers
v0x89918ea80_4 .net/s v0x89918ea80 4, 31 0, L_0x898c96440; 1 drivers
v0x89918ea80_5 .net/s v0x89918ea80 5, 31 0, L_0x898c964e0; 1 drivers
v0x89918ea80_6 .net/s v0x89918ea80 6, 31 0, L_0x898c96580; 1 drivers
v0x89918ea80_7 .net/s v0x89918ea80 7, 31 0, L_0x898c96620; 1 drivers
v0x89918ea80_8 .net/s v0x89918ea80 8, 31 0, L_0x898c966c0; 1 drivers
v0x89918ea80_9 .net/s v0x89918ea80 9, 31 0, L_0x898c96760; 1 drivers
v0x89918ea80_10 .net/s v0x89918ea80 10, 31 0, L_0x898c96800; 1 drivers
v0x89918ea80_11 .net/s v0x89918ea80 11, 31 0, L_0x898c968a0; 1 drivers
v0x89918ea80_12 .net/s v0x89918ea80 12, 31 0, L_0x898c96940; 1 drivers
v0x89918ea80_13 .net/s v0x89918ea80 13, 31 0, L_0x898c969e0; 1 drivers
v0x89918ea80_14 .net/s v0x89918ea80 14, 31 0, L_0x898c96a80; 1 drivers
v0x89918ea80_15 .net/s v0x89918ea80 15, 31 0, L_0x898c96b20; 1 drivers
v0x89918ea80_16 .net/s v0x89918ea80 16, 31 0, L_0x898c96bc0; 1 drivers
v0x89918ea80_17 .net/s v0x89918ea80 17, 31 0, L_0x898c96c60; 1 drivers
v0x89918ea80_18 .net/s v0x89918ea80 18, 31 0, L_0x898c96d00; 1 drivers
v0x89918ea80_19 .net/s v0x89918ea80 19, 31 0, L_0x898c96da0; 1 drivers
v0x89918ea80_20 .net/s v0x89918ea80 20, 31 0, L_0x898c96e40; 1 drivers
v0x89918ea80_21 .net/s v0x89918ea80 21, 31 0, L_0x898c96ee0; 1 drivers
v0x89918ea80_22 .net/s v0x89918ea80 22, 31 0, L_0x898c96f80; 1 drivers
v0x89918ea80_23 .net/s v0x89918ea80 23, 31 0, L_0x898c97020; 1 drivers
v0x89918ea80_24 .net/s v0x89918ea80 24, 31 0, L_0x898c970c0; 1 drivers
v0x89918ea80_25 .net/s v0x89918ea80 25, 31 0, L_0x898c97160; 1 drivers
v0x89918ea80_26 .net/s v0x89918ea80 26, 31 0, L_0x898c97200; 1 drivers
v0x89918ea80_27 .net/s v0x89918ea80 27, 31 0, L_0x898c972a0; 1 drivers
v0x89918ea80_28 .net/s v0x89918ea80 28, 31 0, L_0x898c97340; 1 drivers
v0x89918ea80_29 .net/s v0x89918ea80 29, 31 0, L_0x898c973e0; 1 drivers
v0x89918ea80_30 .net/s v0x89918ea80 30, 31 0, L_0x898c97480; 1 drivers
v0x89918ea80_31 .net/s v0x89918ea80 31, 31 0, L_0x898c97520; 1 drivers
v0x89918eb20_0 .var/s "sum", 31 0;
v0x89918ebc0_0 .net/s "w_bus", 255 0, L_0x898e43b60;  alias, 1 drivers
v0x89918ec60_0 .net/s "x_bus", 255 0, L_0x898e43ac0;  alias, 1 drivers
E_0x898e087c0/0 .event anyedge, v0x89918eb20_0, v0x899182300_0, v0x899182940_0, v0x899182f80_0;
E_0x898e087c0/1 .event anyedge, v0x8991835c0_0, v0x899183c00_0, v0x899184280_0, v0x8991848c0_0;
E_0x898e087c0/2 .event anyedge, v0x899184f00_0, v0x899185540_0, v0x899185b80_0, v0x8991861c0_0;
E_0x898e087c0/3 .event anyedge, v0x899186800_0, v0x899186e40_0, v0x899187480_0, v0x899187ac0_0;
E_0x898e087c0/4 .event anyedge, v0x899188140_0, v0x899188780_0, v0x899188dc0_0, v0x899189400_0;
E_0x898e087c0/5 .event anyedge, v0x899189a40_0, v0x89918a080_0, v0x89918a6c0_0, v0x89918ad00_0;
E_0x898e087c0/6 .event anyedge, v0x89918b340_0, v0x89918b980_0, v0x89918c000_0, v0x89918c640_0;
E_0x898e087c0/7 .event anyedge, v0x89918cc80_0, v0x89918d2c0_0, v0x89918d900_0, v0x89918df40_0;
E_0x898e087c0/8 .event anyedge, v0x89918e580_0;
E_0x898e087c0 .event/or E_0x898e087c0/0, E_0x898e087c0/1, E_0x898e087c0/2, E_0x898e087c0/3, E_0x898e087c0/4, E_0x898e087c0/5, E_0x898e087c0/6, E_0x898e087c0/7, E_0x898e087c0/8;
L_0x898e43d40 .part L_0x898e43ac0, 0, 8;
L_0x898e43de0 .part L_0x898e43b60, 0, 8;
L_0x898ddbd40 .part L_0x898e43ac0, 8, 8;
L_0x898e48000 .part L_0x898e43b60, 8, 8;
L_0x898e481e0 .part L_0x898e43ac0, 16, 8;
L_0x898e48280 .part L_0x898e43b60, 16, 8;
L_0x898e48460 .part L_0x898e43ac0, 24, 8;
L_0x898e48500 .part L_0x898e43b60, 24, 8;
L_0x898e486e0 .part L_0x898e43ac0, 32, 8;
L_0x898e48780 .part L_0x898e43b60, 32, 8;
L_0x898e48960 .part L_0x898e43ac0, 40, 8;
L_0x898e48a00 .part L_0x898e43b60, 40, 8;
L_0x898e48be0 .part L_0x898e43ac0, 48, 8;
L_0x898e48c80 .part L_0x898e43b60, 48, 8;
L_0x898e48e60 .part L_0x898e43ac0, 56, 8;
L_0x898e48f00 .part L_0x898e43b60, 56, 8;
L_0x898e490e0 .part L_0x898e43ac0, 64, 8;
L_0x898e49220 .part L_0x898e43b60, 64, 8;
L_0x898e49400 .part L_0x898e43ac0, 72, 8;
L_0x898e494a0 .part L_0x898e43b60, 72, 8;
L_0x898e49680 .part L_0x898e43ac0, 80, 8;
L_0x898e49180 .part L_0x898e43b60, 80, 8;
L_0x898e49860 .part L_0x898e43ac0, 88, 8;
L_0x898e49900 .part L_0x898e43b60, 88, 8;
L_0x898e49ae0 .part L_0x898e43ac0, 96, 8;
L_0x898e49b80 .part L_0x898e43b60, 96, 8;
L_0x898e49d60 .part L_0x898e43ac0, 104, 8;
L_0x898e49e00 .part L_0x898e43b60, 104, 8;
L_0x898e49fe0 .part L_0x898e43ac0, 112, 8;
L_0x898e4a080 .part L_0x898e43b60, 112, 8;
L_0x898e4a260 .part L_0x898e43ac0, 120, 8;
L_0x898e4a300 .part L_0x898e43b60, 120, 8;
L_0x898e4a4e0 .part L_0x898e43ac0, 128, 8;
L_0x898e4a580 .part L_0x898e43b60, 128, 8;
L_0x898e4a760 .part L_0x898e43ac0, 136, 8;
L_0x898e4a800 .part L_0x898e43b60, 136, 8;
L_0x898e4a9e0 .part L_0x898e43ac0, 144, 8;
L_0x898e4aa80 .part L_0x898e43b60, 144, 8;
L_0x898e4ac60 .part L_0x898e43ac0, 152, 8;
L_0x898e4ad00 .part L_0x898e43b60, 152, 8;
L_0x898e4aee0 .part L_0x898e43ac0, 160, 8;
L_0x898e4af80 .part L_0x898e43b60, 160, 8;
L_0x898e4b160 .part L_0x898e43ac0, 168, 8;
L_0x898e4b200 .part L_0x898e43b60, 168, 8;
L_0x898e4b3e0 .part L_0x898e43ac0, 176, 8;
L_0x898e4b480 .part L_0x898e43b60, 176, 8;
L_0x898e4b660 .part L_0x898e43ac0, 184, 8;
L_0x898e4b700 .part L_0x898e43b60, 184, 8;
L_0x898e4b8e0 .part L_0x898e43ac0, 192, 8;
L_0x898e4b980 .part L_0x898e43b60, 192, 8;
L_0x898e4bb60 .part L_0x898e43ac0, 200, 8;
L_0x898e4bc00 .part L_0x898e43b60, 200, 8;
L_0x898e4bde0 .part L_0x898e43ac0, 208, 8;
L_0x898e4be80 .part L_0x898e43b60, 208, 8;
L_0x898e500a0 .part L_0x898e43ac0, 216, 8;
L_0x898e50140 .part L_0x898e43b60, 216, 8;
L_0x898e50320 .part L_0x898e43ac0, 224, 8;
L_0x898e503c0 .part L_0x898e43b60, 224, 8;
L_0x898e505a0 .part L_0x898e43ac0, 232, 8;
L_0x898e50640 .part L_0x898e43b60, 232, 8;
L_0x898e50820 .part L_0x898e43ac0, 240, 8;
L_0x898e508c0 .part L_0x898e43b60, 240, 8;
L_0x898e50aa0 .part L_0x898e43ac0, 248, 8;
L_0x898e50b40 .part L_0x898e43b60, 248, 8;
L_0x898c975c0 .arith/sum 32, v0x89918f5c0_0, v0x89918eb20_0;
S_0x898e11f80 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c240 .param/l "i" 1 6 17, +C4<00>;
S_0x898e12100 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e11f80;
 .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_0x89916d500 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d540 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916d580 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899181fe0_0 .net/s *"_ivl_0", 15 0, L_0x8991be6c0;  1 drivers
v0x899182080_0 .net/s *"_ivl_2", 15 0, L_0x8991be760;  1 drivers
v0x899182120_0 .net *"_ivl_7", 0 0, L_0x898e43c00;  1 drivers
v0x8991821c0_0 .net *"_ivl_9", 15 0, L_0x898e43ca0;  1 drivers
L_0x898854c70 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899182260_0 .net/s "acc_in", 31 0, L_0x898854c70;  1 drivers
v0x899182300_0 .net/s "acc_out", 31 0, L_0x898c961c0;  alias, 1 drivers
v0x8991823a0_0 .net/s "product", 15 0, L_0x8991be800;  1 drivers
v0x899182440_0 .net/s "product_ext", 31 0, L_0x8991be8a0;  1 drivers
v0x8991824e0_0 .net/s "w", 7 0, L_0x898e43de0;  1 drivers
v0x899182580_0 .net/s "x", 7 0, L_0x898e43d40;  1 drivers
L_0x8991be6c0 .extend/s 16, L_0x898e43d40;
L_0x8991be760 .extend/s 16, L_0x898e43de0;
L_0x8991be800 .arith/mult 16, L_0x8991be6c0, L_0x8991be760;
L_0x898e43c00 .part L_0x8991be800, 15, 1;
L_0x898e43ca0 .repeat 16, 16, L_0x898e43c00;
L_0x8991be8a0 .concat [ 16 16 0 0], L_0x8991be800, L_0x898e43ca0;
L_0x898c961c0 .arith/sum 32, L_0x898854c70, L_0x8991be8a0;
S_0x898e12280 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c280 .param/l "i" 1 6 17, +C4<01>;
S_0x898e12400 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e12280;
 .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_0x89916d5c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d600 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916d640 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899182620_0 .net/s *"_ivl_0", 15 0, L_0x8991be940;  1 drivers
v0x8991826c0_0 .net/s *"_ivl_2", 15 0, L_0x8991be9e0;  1 drivers
v0x899182760_0 .net *"_ivl_7", 0 0, L_0x898e43e80;  1 drivers
v0x899182800_0 .net *"_ivl_9", 15 0, L_0x898e43f20;  1 drivers
L_0x898854cb8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991828a0_0 .net/s "acc_in", 31 0, L_0x898854cb8;  1 drivers
v0x899182940_0 .net/s "acc_out", 31 0, L_0x898c96260;  alias, 1 drivers
v0x8991829e0_0 .net/s "product", 15 0, L_0x8991bea80;  1 drivers
v0x899182a80_0 .net/s "product_ext", 31 0, L_0x8991beb20;  1 drivers
v0x899182b20_0 .net/s "w", 7 0, L_0x898e48000;  1 drivers
v0x899182bc0_0 .net/s "x", 7 0, L_0x898ddbd40;  1 drivers
L_0x8991be940 .extend/s 16, L_0x898ddbd40;
L_0x8991be9e0 .extend/s 16, L_0x898e48000;
L_0x8991bea80 .arith/mult 16, L_0x8991be940, L_0x8991be9e0;
L_0x898e43e80 .part L_0x8991bea80, 15, 1;
L_0x898e43f20 .repeat 16, 16, L_0x898e43e80;
L_0x8991beb20 .concat [ 16 16 0 0], L_0x8991bea80, L_0x898e43f20;
L_0x898c96260 .arith/sum 32, L_0x898854cb8, L_0x8991beb20;
S_0x898e12580 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c2c0 .param/l "i" 1 6 17, +C4<010>;
S_0x898e12700 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e12580;
 .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_0x89916d680 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d6c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916d700 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899182c60_0 .net/s *"_ivl_0", 15 0, L_0x8991bebc0;  1 drivers
v0x899182d00_0 .net/s *"_ivl_2", 15 0, L_0x8991bec60;  1 drivers
v0x899182da0_0 .net *"_ivl_7", 0 0, L_0x898e480a0;  1 drivers
v0x899182e40_0 .net *"_ivl_9", 15 0, L_0x898e48140;  1 drivers
L_0x898854d00 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899182ee0_0 .net/s "acc_in", 31 0, L_0x898854d00;  1 drivers
v0x899182f80_0 .net/s "acc_out", 31 0, L_0x898c96300;  alias, 1 drivers
v0x899183020_0 .net/s "product", 15 0, L_0x8991bed00;  1 drivers
v0x8991830c0_0 .net/s "product_ext", 31 0, L_0x8991beda0;  1 drivers
v0x899183160_0 .net/s "w", 7 0, L_0x898e48280;  1 drivers
v0x899183200_0 .net/s "x", 7 0, L_0x898e481e0;  1 drivers
L_0x8991bebc0 .extend/s 16, L_0x898e481e0;
L_0x8991bec60 .extend/s 16, L_0x898e48280;
L_0x8991bed00 .arith/mult 16, L_0x8991bebc0, L_0x8991bec60;
L_0x898e480a0 .part L_0x8991bed00, 15, 1;
L_0x898e48140 .repeat 16, 16, L_0x898e480a0;
L_0x8991beda0 .concat [ 16 16 0 0], L_0x8991bed00, L_0x898e48140;
L_0x898c96300 .arith/sum 32, L_0x898854d00, L_0x8991beda0;
S_0x898e12880 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c300 .param/l "i" 1 6 17, +C4<011>;
S_0x898e12a00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e12880;
 .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_0x89916d740 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d780 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916d7c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991832a0_0 .net/s *"_ivl_0", 15 0, L_0x8991bee40;  1 drivers
v0x899183340_0 .net/s *"_ivl_2", 15 0, L_0x8991beee0;  1 drivers
v0x8991833e0_0 .net *"_ivl_7", 0 0, L_0x898e48320;  1 drivers
v0x899183480_0 .net *"_ivl_9", 15 0, L_0x898e483c0;  1 drivers
L_0x898854d48 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899183520_0 .net/s "acc_in", 31 0, L_0x898854d48;  1 drivers
v0x8991835c0_0 .net/s "acc_out", 31 0, L_0x898c963a0;  alias, 1 drivers
v0x899183660_0 .net/s "product", 15 0, L_0x8991bef80;  1 drivers
v0x899183700_0 .net/s "product_ext", 31 0, L_0x8991bf020;  1 drivers
v0x8991837a0_0 .net/s "w", 7 0, L_0x898e48500;  1 drivers
v0x899183840_0 .net/s "x", 7 0, L_0x898e48460;  1 drivers
L_0x8991bee40 .extend/s 16, L_0x898e48460;
L_0x8991beee0 .extend/s 16, L_0x898e48500;
L_0x8991bef80 .arith/mult 16, L_0x8991bee40, L_0x8991beee0;
L_0x898e48320 .part L_0x8991bef80, 15, 1;
L_0x898e483c0 .repeat 16, 16, L_0x898e48320;
L_0x8991bf020 .concat [ 16 16 0 0], L_0x8991bef80, L_0x898e483c0;
L_0x898c963a0 .arith/sum 32, L_0x898854d48, L_0x8991bf020;
S_0x898e12b80 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c340 .param/l "i" 1 6 17, +C4<0100>;
S_0x898e12d00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e12b80;
 .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_0x89916d800 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d840 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916d880 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991838e0_0 .net/s *"_ivl_0", 15 0, L_0x8991bf0c0;  1 drivers
v0x899183980_0 .net/s *"_ivl_2", 15 0, L_0x8991bf160;  1 drivers
v0x899183a20_0 .net *"_ivl_7", 0 0, L_0x898e485a0;  1 drivers
v0x899183ac0_0 .net *"_ivl_9", 15 0, L_0x898e48640;  1 drivers
L_0x898854d90 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899183b60_0 .net/s "acc_in", 31 0, L_0x898854d90;  1 drivers
v0x899183c00_0 .net/s "acc_out", 31 0, L_0x898c96440;  alias, 1 drivers
v0x899183ca0_0 .net/s "product", 15 0, L_0x8991bf200;  1 drivers
v0x899183d40_0 .net/s "product_ext", 31 0, L_0x8991bf2a0;  1 drivers
v0x899183de0_0 .net/s "w", 7 0, L_0x898e48780;  1 drivers
v0x899183e80_0 .net/s "x", 7 0, L_0x898e486e0;  1 drivers
L_0x8991bf0c0 .extend/s 16, L_0x898e486e0;
L_0x8991bf160 .extend/s 16, L_0x898e48780;
L_0x8991bf200 .arith/mult 16, L_0x8991bf0c0, L_0x8991bf160;
L_0x898e485a0 .part L_0x8991bf200, 15, 1;
L_0x898e48640 .repeat 16, 16, L_0x898e485a0;
L_0x8991bf2a0 .concat [ 16 16 0 0], L_0x8991bf200, L_0x898e48640;
L_0x898c96440 .arith/sum 32, L_0x898854d90, L_0x8991bf2a0;
S_0x898e12e80 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c380 .param/l "i" 1 6 17, +C4<0101>;
S_0x898e13000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e12e80;
 .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_0x89916d8c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d900 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916d940 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899183f20_0 .net/s *"_ivl_0", 15 0, L_0x8991bf340;  1 drivers
v0x899184000_0 .net/s *"_ivl_2", 15 0, L_0x8991bf3e0;  1 drivers
v0x8991840a0_0 .net *"_ivl_7", 0 0, L_0x898e48820;  1 drivers
v0x899184140_0 .net *"_ivl_9", 15 0, L_0x898e488c0;  1 drivers
L_0x898854dd8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991841e0_0 .net/s "acc_in", 31 0, L_0x898854dd8;  1 drivers
v0x899184280_0 .net/s "acc_out", 31 0, L_0x898c964e0;  alias, 1 drivers
v0x899184320_0 .net/s "product", 15 0, L_0x8991bf480;  1 drivers
v0x8991843c0_0 .net/s "product_ext", 31 0, L_0x8991bf520;  1 drivers
v0x899184460_0 .net/s "w", 7 0, L_0x898e48a00;  1 drivers
v0x899184500_0 .net/s "x", 7 0, L_0x898e48960;  1 drivers
L_0x8991bf340 .extend/s 16, L_0x898e48960;
L_0x8991bf3e0 .extend/s 16, L_0x898e48a00;
L_0x8991bf480 .arith/mult 16, L_0x8991bf340, L_0x8991bf3e0;
L_0x898e48820 .part L_0x8991bf480, 15, 1;
L_0x898e488c0 .repeat 16, 16, L_0x898e48820;
L_0x8991bf520 .concat [ 16 16 0 0], L_0x8991bf480, L_0x898e488c0;
L_0x898c964e0 .arith/sum 32, L_0x898854dd8, L_0x8991bf520;
S_0x898e13180 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c3c0 .param/l "i" 1 6 17, +C4<0110>;
S_0x898e13300 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e13180;
 .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_0x89916d980 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916d9c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916da00 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991845a0_0 .net/s *"_ivl_0", 15 0, L_0x8991bf5c0;  1 drivers
v0x899184640_0 .net/s *"_ivl_2", 15 0, L_0x8991bf660;  1 drivers
v0x8991846e0_0 .net *"_ivl_7", 0 0, L_0x898e48aa0;  1 drivers
v0x899184780_0 .net *"_ivl_9", 15 0, L_0x898e48b40;  1 drivers
L_0x898854e20 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899184820_0 .net/s "acc_in", 31 0, L_0x898854e20;  1 drivers
v0x8991848c0_0 .net/s "acc_out", 31 0, L_0x898c96580;  alias, 1 drivers
v0x899184960_0 .net/s "product", 15 0, L_0x8991bf700;  1 drivers
v0x899184a00_0 .net/s "product_ext", 31 0, L_0x8991bf7a0;  1 drivers
v0x899184aa0_0 .net/s "w", 7 0, L_0x898e48c80;  1 drivers
v0x899184b40_0 .net/s "x", 7 0, L_0x898e48be0;  1 drivers
L_0x8991bf5c0 .extend/s 16, L_0x898e48be0;
L_0x8991bf660 .extend/s 16, L_0x898e48c80;
L_0x8991bf700 .arith/mult 16, L_0x8991bf5c0, L_0x8991bf660;
L_0x898e48aa0 .part L_0x8991bf700, 15, 1;
L_0x898e48b40 .repeat 16, 16, L_0x898e48aa0;
L_0x8991bf7a0 .concat [ 16 16 0 0], L_0x8991bf700, L_0x898e48b40;
L_0x898c96580 .arith/sum 32, L_0x898854e20, L_0x8991bf7a0;
S_0x898e13480 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c400 .param/l "i" 1 6 17, +C4<0111>;
S_0x898e13600 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e13480;
 .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_0x89916da40 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916da80 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916dac0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899184be0_0 .net/s *"_ivl_0", 15 0, L_0x8991bf840;  1 drivers
v0x899184c80_0 .net/s *"_ivl_2", 15 0, L_0x8991bf8e0;  1 drivers
v0x899184d20_0 .net *"_ivl_7", 0 0, L_0x898e48d20;  1 drivers
v0x899184dc0_0 .net *"_ivl_9", 15 0, L_0x898e48dc0;  1 drivers
L_0x898854e68 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899184e60_0 .net/s "acc_in", 31 0, L_0x898854e68;  1 drivers
v0x899184f00_0 .net/s "acc_out", 31 0, L_0x898c96620;  alias, 1 drivers
v0x899184fa0_0 .net/s "product", 15 0, L_0x8991bf980;  1 drivers
v0x899185040_0 .net/s "product_ext", 31 0, L_0x8991bfa20;  1 drivers
v0x8991850e0_0 .net/s "w", 7 0, L_0x898e48f00;  1 drivers
v0x899185180_0 .net/s "x", 7 0, L_0x898e48e60;  1 drivers
L_0x8991bf840 .extend/s 16, L_0x898e48e60;
L_0x8991bf8e0 .extend/s 16, L_0x898e48f00;
L_0x8991bf980 .arith/mult 16, L_0x8991bf840, L_0x8991bf8e0;
L_0x898e48d20 .part L_0x8991bf980, 15, 1;
L_0x898e48dc0 .repeat 16, 16, L_0x898e48d20;
L_0x8991bfa20 .concat [ 16 16 0 0], L_0x8991bf980, L_0x898e48dc0;
L_0x898c96620 .arith/sum 32, L_0x898854e68, L_0x8991bfa20;
S_0x898e13780 .scope generate, "GEN_MAC[8]" "GEN_MAC[8]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c440 .param/l "i" 1 6 17, +C4<01000>;
S_0x898e13900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e13780;
 .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_0x89916db00 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916db40 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916db80 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899185220_0 .net/s *"_ivl_0", 15 0, L_0x8991bfac0;  1 drivers
v0x8991852c0_0 .net/s *"_ivl_2", 15 0, L_0x8991bfb60;  1 drivers
v0x899185360_0 .net *"_ivl_7", 0 0, L_0x898e48fa0;  1 drivers
v0x899185400_0 .net *"_ivl_9", 15 0, L_0x898e49040;  1 drivers
L_0x898854eb0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991854a0_0 .net/s "acc_in", 31 0, L_0x898854eb0;  1 drivers
v0x899185540_0 .net/s "acc_out", 31 0, L_0x898c966c0;  alias, 1 drivers
v0x8991855e0_0 .net/s "product", 15 0, L_0x8991bfc00;  1 drivers
v0x899185680_0 .net/s "product_ext", 31 0, L_0x8991bfca0;  1 drivers
v0x899185720_0 .net/s "w", 7 0, L_0x898e49220;  1 drivers
v0x8991857c0_0 .net/s "x", 7 0, L_0x898e490e0;  1 drivers
L_0x8991bfac0 .extend/s 16, L_0x898e490e0;
L_0x8991bfb60 .extend/s 16, L_0x898e49220;
L_0x8991bfc00 .arith/mult 16, L_0x8991bfac0, L_0x8991bfb60;
L_0x898e48fa0 .part L_0x8991bfc00, 15, 1;
L_0x898e49040 .repeat 16, 16, L_0x898e48fa0;
L_0x8991bfca0 .concat [ 16 16 0 0], L_0x8991bfc00, L_0x898e49040;
L_0x898c966c0 .arith/sum 32, L_0x898854eb0, L_0x8991bfca0;
S_0x898e13a80 .scope generate, "GEN_MAC[9]" "GEN_MAC[9]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c480 .param/l "i" 1 6 17, +C4<01001>;
S_0x898e13c00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e13a80;
 .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_0x89916dbc0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916dc00 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916dc40 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899185860_0 .net/s *"_ivl_0", 15 0, L_0x8991bfd40;  1 drivers
v0x899185900_0 .net/s *"_ivl_2", 15 0, L_0x8991bfde0;  1 drivers
v0x8991859a0_0 .net *"_ivl_7", 0 0, L_0x898e492c0;  1 drivers
v0x899185a40_0 .net *"_ivl_9", 15 0, L_0x898e49360;  1 drivers
L_0x898854ef8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899185ae0_0 .net/s "acc_in", 31 0, L_0x898854ef8;  1 drivers
v0x899185b80_0 .net/s "acc_out", 31 0, L_0x898c96760;  alias, 1 drivers
v0x899185c20_0 .net/s "product", 15 0, L_0x8991bfe80;  1 drivers
v0x899185cc0_0 .net/s "product_ext", 31 0, L_0x8991bff20;  1 drivers
v0x899185d60_0 .net/s "w", 7 0, L_0x898e494a0;  1 drivers
v0x899185e00_0 .net/s "x", 7 0, L_0x898e49400;  1 drivers
L_0x8991bfd40 .extend/s 16, L_0x898e49400;
L_0x8991bfde0 .extend/s 16, L_0x898e494a0;
L_0x8991bfe80 .arith/mult 16, L_0x8991bfd40, L_0x8991bfde0;
L_0x898e492c0 .part L_0x8991bfe80, 15, 1;
L_0x898e49360 .repeat 16, 16, L_0x898e492c0;
L_0x8991bff20 .concat [ 16 16 0 0], L_0x8991bfe80, L_0x898e49360;
L_0x898c96760 .arith/sum 32, L_0x898854ef8, L_0x8991bff20;
S_0x898e13d80 .scope generate, "GEN_MAC[10]" "GEN_MAC[10]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c4c0 .param/l "i" 1 6 17, +C4<01010>;
S_0x898e18000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e13d80;
 .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_0x89916dc80 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916dcc0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916dd00 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899185ea0_0 .net/s *"_ivl_0", 15 0, L_0x8991c0000;  1 drivers
v0x899185f40_0 .net/s *"_ivl_2", 15 0, L_0x8991c00a0;  1 drivers
v0x899185fe0_0 .net *"_ivl_7", 0 0, L_0x898e49540;  1 drivers
v0x899186080_0 .net *"_ivl_9", 15 0, L_0x898e495e0;  1 drivers
L_0x898854f40 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899186120_0 .net/s "acc_in", 31 0, L_0x898854f40;  1 drivers
v0x8991861c0_0 .net/s "acc_out", 31 0, L_0x898c96800;  alias, 1 drivers
v0x899186260_0 .net/s "product", 15 0, L_0x8991c0140;  1 drivers
v0x899186300_0 .net/s "product_ext", 31 0, L_0x8991c01e0;  1 drivers
v0x8991863a0_0 .net/s "w", 7 0, L_0x898e49180;  1 drivers
v0x899186440_0 .net/s "x", 7 0, L_0x898e49680;  1 drivers
L_0x8991c0000 .extend/s 16, L_0x898e49680;
L_0x8991c00a0 .extend/s 16, L_0x898e49180;
L_0x8991c0140 .arith/mult 16, L_0x8991c0000, L_0x8991c00a0;
L_0x898e49540 .part L_0x8991c0140, 15, 1;
L_0x898e495e0 .repeat 16, 16, L_0x898e49540;
L_0x8991c01e0 .concat [ 16 16 0 0], L_0x8991c0140, L_0x898e495e0;
L_0x898c96800 .arith/sum 32, L_0x898854f40, L_0x8991c01e0;
S_0x898e18180 .scope generate, "GEN_MAC[11]" "GEN_MAC[11]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c500 .param/l "i" 1 6 17, +C4<01011>;
S_0x898e18300 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e18180;
 .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_0x89916dd40 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916dd80 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916ddc0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991864e0_0 .net/s *"_ivl_0", 15 0, L_0x8991c0280;  1 drivers
v0x899186580_0 .net/s *"_ivl_2", 15 0, L_0x8991c0320;  1 drivers
v0x899186620_0 .net *"_ivl_7", 0 0, L_0x898e49720;  1 drivers
v0x8991866c0_0 .net *"_ivl_9", 15 0, L_0x898e497c0;  1 drivers
L_0x898854f88 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899186760_0 .net/s "acc_in", 31 0, L_0x898854f88;  1 drivers
v0x899186800_0 .net/s "acc_out", 31 0, L_0x898c968a0;  alias, 1 drivers
v0x8991868a0_0 .net/s "product", 15 0, L_0x8991c03c0;  1 drivers
v0x899186940_0 .net/s "product_ext", 31 0, L_0x8991c0460;  1 drivers
v0x8991869e0_0 .net/s "w", 7 0, L_0x898e49900;  1 drivers
v0x899186a80_0 .net/s "x", 7 0, L_0x898e49860;  1 drivers
L_0x8991c0280 .extend/s 16, L_0x898e49860;
L_0x8991c0320 .extend/s 16, L_0x898e49900;
L_0x8991c03c0 .arith/mult 16, L_0x8991c0280, L_0x8991c0320;
L_0x898e49720 .part L_0x8991c03c0, 15, 1;
L_0x898e497c0 .repeat 16, 16, L_0x898e49720;
L_0x8991c0460 .concat [ 16 16 0 0], L_0x8991c03c0, L_0x898e497c0;
L_0x898c968a0 .arith/sum 32, L_0x898854f88, L_0x8991c0460;
S_0x898e18480 .scope generate, "GEN_MAC[12]" "GEN_MAC[12]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c540 .param/l "i" 1 6 17, +C4<01100>;
S_0x898e18600 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e18480;
 .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_0x89916de00 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916de40 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916de80 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899186b20_0 .net/s *"_ivl_0", 15 0, L_0x8991c0500;  1 drivers
v0x899186bc0_0 .net/s *"_ivl_2", 15 0, L_0x8991c05a0;  1 drivers
v0x899186c60_0 .net *"_ivl_7", 0 0, L_0x898e499a0;  1 drivers
v0x899186d00_0 .net *"_ivl_9", 15 0, L_0x898e49a40;  1 drivers
L_0x898854fd0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899186da0_0 .net/s "acc_in", 31 0, L_0x898854fd0;  1 drivers
v0x899186e40_0 .net/s "acc_out", 31 0, L_0x898c96940;  alias, 1 drivers
v0x899186ee0_0 .net/s "product", 15 0, L_0x8991c0640;  1 drivers
v0x899186f80_0 .net/s "product_ext", 31 0, L_0x8991c06e0;  1 drivers
v0x899187020_0 .net/s "w", 7 0, L_0x898e49b80;  1 drivers
v0x8991870c0_0 .net/s "x", 7 0, L_0x898e49ae0;  1 drivers
L_0x8991c0500 .extend/s 16, L_0x898e49ae0;
L_0x8991c05a0 .extend/s 16, L_0x898e49b80;
L_0x8991c0640 .arith/mult 16, L_0x8991c0500, L_0x8991c05a0;
L_0x898e499a0 .part L_0x8991c0640, 15, 1;
L_0x898e49a40 .repeat 16, 16, L_0x898e499a0;
L_0x8991c06e0 .concat [ 16 16 0 0], L_0x8991c0640, L_0x898e49a40;
L_0x898c96940 .arith/sum 32, L_0x898854fd0, L_0x8991c06e0;
S_0x898e18780 .scope generate, "GEN_MAC[13]" "GEN_MAC[13]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c580 .param/l "i" 1 6 17, +C4<01101>;
S_0x898e18900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e18780;
 .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_0x89916dec0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916df00 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916df40 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899187160_0 .net/s *"_ivl_0", 15 0, L_0x8991c0780;  1 drivers
v0x899187200_0 .net/s *"_ivl_2", 15 0, L_0x8991c0820;  1 drivers
v0x8991872a0_0 .net *"_ivl_7", 0 0, L_0x898e49c20;  1 drivers
v0x899187340_0 .net *"_ivl_9", 15 0, L_0x898e49cc0;  1 drivers
L_0x898855018 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991873e0_0 .net/s "acc_in", 31 0, L_0x898855018;  1 drivers
v0x899187480_0 .net/s "acc_out", 31 0, L_0x898c969e0;  alias, 1 drivers
v0x899187520_0 .net/s "product", 15 0, L_0x8991c08c0;  1 drivers
v0x8991875c0_0 .net/s "product_ext", 31 0, L_0x8991c0960;  1 drivers
v0x899187660_0 .net/s "w", 7 0, L_0x898e49e00;  1 drivers
v0x899187700_0 .net/s "x", 7 0, L_0x898e49d60;  1 drivers
L_0x8991c0780 .extend/s 16, L_0x898e49d60;
L_0x8991c0820 .extend/s 16, L_0x898e49e00;
L_0x8991c08c0 .arith/mult 16, L_0x8991c0780, L_0x8991c0820;
L_0x898e49c20 .part L_0x8991c08c0, 15, 1;
L_0x898e49cc0 .repeat 16, 16, L_0x898e49c20;
L_0x8991c0960 .concat [ 16 16 0 0], L_0x8991c08c0, L_0x898e49cc0;
L_0x898c969e0 .arith/sum 32, L_0x898855018, L_0x8991c0960;
S_0x898e18a80 .scope generate, "GEN_MAC[14]" "GEN_MAC[14]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c5c0 .param/l "i" 1 6 17, +C4<01110>;
S_0x898e18c00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e18a80;
 .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_0x89916df80 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916dfc0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e000 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991877a0_0 .net/s *"_ivl_0", 15 0, L_0x8991c0a00;  1 drivers
v0x899187840_0 .net/s *"_ivl_2", 15 0, L_0x8991c0aa0;  1 drivers
v0x8991878e0_0 .net *"_ivl_7", 0 0, L_0x898e49ea0;  1 drivers
v0x899187980_0 .net *"_ivl_9", 15 0, L_0x898e49f40;  1 drivers
L_0x898855060 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899187a20_0 .net/s "acc_in", 31 0, L_0x898855060;  1 drivers
v0x899187ac0_0 .net/s "acc_out", 31 0, L_0x898c96a80;  alias, 1 drivers
v0x899187b60_0 .net/s "product", 15 0, L_0x8991c0b40;  1 drivers
v0x899187c00_0 .net/s "product_ext", 31 0, L_0x8991c0be0;  1 drivers
v0x899187ca0_0 .net/s "w", 7 0, L_0x898e4a080;  1 drivers
v0x899187d40_0 .net/s "x", 7 0, L_0x898e49fe0;  1 drivers
L_0x8991c0a00 .extend/s 16, L_0x898e49fe0;
L_0x8991c0aa0 .extend/s 16, L_0x898e4a080;
L_0x8991c0b40 .arith/mult 16, L_0x8991c0a00, L_0x8991c0aa0;
L_0x898e49ea0 .part L_0x8991c0b40, 15, 1;
L_0x898e49f40 .repeat 16, 16, L_0x898e49ea0;
L_0x8991c0be0 .concat [ 16 16 0 0], L_0x8991c0b40, L_0x898e49f40;
L_0x898c96a80 .arith/sum 32, L_0x898855060, L_0x8991c0be0;
S_0x898e18d80 .scope generate, "GEN_MAC[15]" "GEN_MAC[15]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c600 .param/l "i" 1 6 17, +C4<01111>;
S_0x898e18f00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e18d80;
 .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_0x89916e040 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e080 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e0c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899187de0_0 .net/s *"_ivl_0", 15 0, L_0x8991c0c80;  1 drivers
v0x899187e80_0 .net/s *"_ivl_2", 15 0, L_0x8991c0d20;  1 drivers
v0x899187f20_0 .net *"_ivl_7", 0 0, L_0x898e4a120;  1 drivers
v0x899188000_0 .net *"_ivl_9", 15 0, L_0x898e4a1c0;  1 drivers
L_0x8988550a8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991880a0_0 .net/s "acc_in", 31 0, L_0x8988550a8;  1 drivers
v0x899188140_0 .net/s "acc_out", 31 0, L_0x898c96b20;  alias, 1 drivers
v0x8991881e0_0 .net/s "product", 15 0, L_0x8991c0dc0;  1 drivers
v0x899188280_0 .net/s "product_ext", 31 0, L_0x8991c0e60;  1 drivers
v0x899188320_0 .net/s "w", 7 0, L_0x898e4a300;  1 drivers
v0x8991883c0_0 .net/s "x", 7 0, L_0x898e4a260;  1 drivers
L_0x8991c0c80 .extend/s 16, L_0x898e4a260;
L_0x8991c0d20 .extend/s 16, L_0x898e4a300;
L_0x8991c0dc0 .arith/mult 16, L_0x8991c0c80, L_0x8991c0d20;
L_0x898e4a120 .part L_0x8991c0dc0, 15, 1;
L_0x898e4a1c0 .repeat 16, 16, L_0x898e4a120;
L_0x8991c0e60 .concat [ 16 16 0 0], L_0x8991c0dc0, L_0x898e4a1c0;
L_0x898c96b20 .arith/sum 32, L_0x8988550a8, L_0x8991c0e60;
S_0x898e19080 .scope generate, "GEN_MAC[16]" "GEN_MAC[16]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c640 .param/l "i" 1 6 17, +C4<010000>;
S_0x898e19200 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e19080;
 .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_0x89916e100 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e140 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e180 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899188460_0 .net/s *"_ivl_0", 15 0, L_0x8991c0f00;  1 drivers
v0x899188500_0 .net/s *"_ivl_2", 15 0, L_0x8991c0fa0;  1 drivers
v0x8991885a0_0 .net *"_ivl_7", 0 0, L_0x898e4a3a0;  1 drivers
v0x899188640_0 .net *"_ivl_9", 15 0, L_0x898e4a440;  1 drivers
L_0x8988550f0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991886e0_0 .net/s "acc_in", 31 0, L_0x8988550f0;  1 drivers
v0x899188780_0 .net/s "acc_out", 31 0, L_0x898c96bc0;  alias, 1 drivers
v0x899188820_0 .net/s "product", 15 0, L_0x8991c1040;  1 drivers
v0x8991888c0_0 .net/s "product_ext", 31 0, L_0x8991c10e0;  1 drivers
v0x899188960_0 .net/s "w", 7 0, L_0x898e4a580;  1 drivers
v0x899188a00_0 .net/s "x", 7 0, L_0x898e4a4e0;  1 drivers
L_0x8991c0f00 .extend/s 16, L_0x898e4a4e0;
L_0x8991c0fa0 .extend/s 16, L_0x898e4a580;
L_0x8991c1040 .arith/mult 16, L_0x8991c0f00, L_0x8991c0fa0;
L_0x898e4a3a0 .part L_0x8991c1040, 15, 1;
L_0x898e4a440 .repeat 16, 16, L_0x898e4a3a0;
L_0x8991c10e0 .concat [ 16 16 0 0], L_0x8991c1040, L_0x898e4a440;
L_0x898c96bc0 .arith/sum 32, L_0x8988550f0, L_0x8991c10e0;
S_0x898e19380 .scope generate, "GEN_MAC[17]" "GEN_MAC[17]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c680 .param/l "i" 1 6 17, +C4<010001>;
S_0x898e19500 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e19380;
 .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_0x89916e1c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e200 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e240 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899188aa0_0 .net/s *"_ivl_0", 15 0, L_0x8991c1180;  1 drivers
v0x899188b40_0 .net/s *"_ivl_2", 15 0, L_0x8991c1220;  1 drivers
v0x899188be0_0 .net *"_ivl_7", 0 0, L_0x898e4a620;  1 drivers
v0x899188c80_0 .net *"_ivl_9", 15 0, L_0x898e4a6c0;  1 drivers
L_0x898855138 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899188d20_0 .net/s "acc_in", 31 0, L_0x898855138;  1 drivers
v0x899188dc0_0 .net/s "acc_out", 31 0, L_0x898c96c60;  alias, 1 drivers
v0x899188e60_0 .net/s "product", 15 0, L_0x8991c12c0;  1 drivers
v0x899188f00_0 .net/s "product_ext", 31 0, L_0x8991c1360;  1 drivers
v0x899188fa0_0 .net/s "w", 7 0, L_0x898e4a800;  1 drivers
v0x899189040_0 .net/s "x", 7 0, L_0x898e4a760;  1 drivers
L_0x8991c1180 .extend/s 16, L_0x898e4a760;
L_0x8991c1220 .extend/s 16, L_0x898e4a800;
L_0x8991c12c0 .arith/mult 16, L_0x8991c1180, L_0x8991c1220;
L_0x898e4a620 .part L_0x8991c12c0, 15, 1;
L_0x898e4a6c0 .repeat 16, 16, L_0x898e4a620;
L_0x8991c1360 .concat [ 16 16 0 0], L_0x8991c12c0, L_0x898e4a6c0;
L_0x898c96c60 .arith/sum 32, L_0x898855138, L_0x8991c1360;
S_0x898e19680 .scope generate, "GEN_MAC[18]" "GEN_MAC[18]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c6c0 .param/l "i" 1 6 17, +C4<010010>;
S_0x898e19800 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e19680;
 .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_0x89916e280 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e2c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e300 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991890e0_0 .net/s *"_ivl_0", 15 0, L_0x8991c1400;  1 drivers
v0x899189180_0 .net/s *"_ivl_2", 15 0, L_0x8991c14a0;  1 drivers
v0x899189220_0 .net *"_ivl_7", 0 0, L_0x898e4a8a0;  1 drivers
v0x8991892c0_0 .net *"_ivl_9", 15 0, L_0x898e4a940;  1 drivers
L_0x898855180 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899189360_0 .net/s "acc_in", 31 0, L_0x898855180;  1 drivers
v0x899189400_0 .net/s "acc_out", 31 0, L_0x898c96d00;  alias, 1 drivers
v0x8991894a0_0 .net/s "product", 15 0, L_0x8991c1540;  1 drivers
v0x899189540_0 .net/s "product_ext", 31 0, L_0x8991c15e0;  1 drivers
v0x8991895e0_0 .net/s "w", 7 0, L_0x898e4aa80;  1 drivers
v0x899189680_0 .net/s "x", 7 0, L_0x898e4a9e0;  1 drivers
L_0x8991c1400 .extend/s 16, L_0x898e4a9e0;
L_0x8991c14a0 .extend/s 16, L_0x898e4aa80;
L_0x8991c1540 .arith/mult 16, L_0x8991c1400, L_0x8991c14a0;
L_0x898e4a8a0 .part L_0x8991c1540, 15, 1;
L_0x898e4a940 .repeat 16, 16, L_0x898e4a8a0;
L_0x8991c15e0 .concat [ 16 16 0 0], L_0x8991c1540, L_0x898e4a940;
L_0x898c96d00 .arith/sum 32, L_0x898855180, L_0x8991c15e0;
S_0x898e19980 .scope generate, "GEN_MAC[19]" "GEN_MAC[19]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c700 .param/l "i" 1 6 17, +C4<010011>;
S_0x898e19b00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e19980;
 .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_0x89916e340 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e380 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e3c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899189720_0 .net/s *"_ivl_0", 15 0, L_0x8991c1680;  1 drivers
v0x8991897c0_0 .net/s *"_ivl_2", 15 0, L_0x8991c1720;  1 drivers
v0x899189860_0 .net *"_ivl_7", 0 0, L_0x898e4ab20;  1 drivers
v0x899189900_0 .net *"_ivl_9", 15 0, L_0x898e4abc0;  1 drivers
L_0x8988551c8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991899a0_0 .net/s "acc_in", 31 0, L_0x8988551c8;  1 drivers
v0x899189a40_0 .net/s "acc_out", 31 0, L_0x898c96da0;  alias, 1 drivers
v0x899189ae0_0 .net/s "product", 15 0, L_0x8991c17c0;  1 drivers
v0x899189b80_0 .net/s "product_ext", 31 0, L_0x8991c1860;  1 drivers
v0x899189c20_0 .net/s "w", 7 0, L_0x898e4ad00;  1 drivers
v0x899189cc0_0 .net/s "x", 7 0, L_0x898e4ac60;  1 drivers
L_0x8991c1680 .extend/s 16, L_0x898e4ac60;
L_0x8991c1720 .extend/s 16, L_0x898e4ad00;
L_0x8991c17c0 .arith/mult 16, L_0x8991c1680, L_0x8991c1720;
L_0x898e4ab20 .part L_0x8991c17c0, 15, 1;
L_0x898e4abc0 .repeat 16, 16, L_0x898e4ab20;
L_0x8991c1860 .concat [ 16 16 0 0], L_0x8991c17c0, L_0x898e4abc0;
L_0x898c96da0 .arith/sum 32, L_0x8988551c8, L_0x8991c1860;
S_0x898e19c80 .scope generate, "GEN_MAC[20]" "GEN_MAC[20]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c740 .param/l "i" 1 6 17, +C4<010100>;
S_0x898e19e00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e19c80;
 .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_0x89916e400 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e440 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e480 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899189d60_0 .net/s *"_ivl_0", 15 0, L_0x8991c1900;  1 drivers
v0x899189e00_0 .net/s *"_ivl_2", 15 0, L_0x8991c19a0;  1 drivers
v0x899189ea0_0 .net *"_ivl_7", 0 0, L_0x898e4ada0;  1 drivers
v0x899189f40_0 .net *"_ivl_9", 15 0, L_0x898e4ae40;  1 drivers
L_0x898855210 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899189fe0_0 .net/s "acc_in", 31 0, L_0x898855210;  1 drivers
v0x89918a080_0 .net/s "acc_out", 31 0, L_0x898c96e40;  alias, 1 drivers
v0x89918a120_0 .net/s "product", 15 0, L_0x8991c1a40;  1 drivers
v0x89918a1c0_0 .net/s "product_ext", 31 0, L_0x8991c1ae0;  1 drivers
v0x89918a260_0 .net/s "w", 7 0, L_0x898e4af80;  1 drivers
v0x89918a300_0 .net/s "x", 7 0, L_0x898e4aee0;  1 drivers
L_0x8991c1900 .extend/s 16, L_0x898e4aee0;
L_0x8991c19a0 .extend/s 16, L_0x898e4af80;
L_0x8991c1a40 .arith/mult 16, L_0x8991c1900, L_0x8991c19a0;
L_0x898e4ada0 .part L_0x8991c1a40, 15, 1;
L_0x898e4ae40 .repeat 16, 16, L_0x898e4ada0;
L_0x8991c1ae0 .concat [ 16 16 0 0], L_0x8991c1a40, L_0x898e4ae40;
L_0x898c96e40 .arith/sum 32, L_0x898855210, L_0x8991c1ae0;
S_0x898e19f80 .scope generate, "GEN_MAC[21]" "GEN_MAC[21]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c780 .param/l "i" 1 6 17, +C4<010101>;
S_0x898e1a100 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e19f80;
 .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_0x89916e4c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e500 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e540 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89918a3a0_0 .net/s *"_ivl_0", 15 0, L_0x8991c1b80;  1 drivers
v0x89918a440_0 .net/s *"_ivl_2", 15 0, L_0x8991c1c20;  1 drivers
v0x89918a4e0_0 .net *"_ivl_7", 0 0, L_0x898e4b020;  1 drivers
v0x89918a580_0 .net *"_ivl_9", 15 0, L_0x898e4b0c0;  1 drivers
L_0x898855258 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918a620_0 .net/s "acc_in", 31 0, L_0x898855258;  1 drivers
v0x89918a6c0_0 .net/s "acc_out", 31 0, L_0x898c96ee0;  alias, 1 drivers
v0x89918a760_0 .net/s "product", 15 0, L_0x8991c1cc0;  1 drivers
v0x89918a800_0 .net/s "product_ext", 31 0, L_0x8991c1d60;  1 drivers
v0x89918a8a0_0 .net/s "w", 7 0, L_0x898e4b200;  1 drivers
v0x89918a940_0 .net/s "x", 7 0, L_0x898e4b160;  1 drivers
L_0x8991c1b80 .extend/s 16, L_0x898e4b160;
L_0x8991c1c20 .extend/s 16, L_0x898e4b200;
L_0x8991c1cc0 .arith/mult 16, L_0x8991c1b80, L_0x8991c1c20;
L_0x898e4b020 .part L_0x8991c1cc0, 15, 1;
L_0x898e4b0c0 .repeat 16, 16, L_0x898e4b020;
L_0x8991c1d60 .concat [ 16 16 0 0], L_0x8991c1cc0, L_0x898e4b0c0;
L_0x898c96ee0 .arith/sum 32, L_0x898855258, L_0x8991c1d60;
S_0x898e1a280 .scope generate, "GEN_MAC[22]" "GEN_MAC[22]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c7c0 .param/l "i" 1 6 17, +C4<010110>;
S_0x898e1a400 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e1a280;
 .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_0x89916e580 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e5c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e600 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89918a9e0_0 .net/s *"_ivl_0", 15 0, L_0x8991c1e00;  1 drivers
v0x89918aa80_0 .net/s *"_ivl_2", 15 0, L_0x8991c1ea0;  1 drivers
v0x89918ab20_0 .net *"_ivl_7", 0 0, L_0x898e4b2a0;  1 drivers
v0x89918abc0_0 .net *"_ivl_9", 15 0, L_0x898e4b340;  1 drivers
L_0x8988552a0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918ac60_0 .net/s "acc_in", 31 0, L_0x8988552a0;  1 drivers
v0x89918ad00_0 .net/s "acc_out", 31 0, L_0x898c96f80;  alias, 1 drivers
v0x89918ada0_0 .net/s "product", 15 0, L_0x8991c1f40;  1 drivers
v0x89918ae40_0 .net/s "product_ext", 31 0, L_0x8991c1fe0;  1 drivers
v0x89918aee0_0 .net/s "w", 7 0, L_0x898e4b480;  1 drivers
v0x89918af80_0 .net/s "x", 7 0, L_0x898e4b3e0;  1 drivers
L_0x8991c1e00 .extend/s 16, L_0x898e4b3e0;
L_0x8991c1ea0 .extend/s 16, L_0x898e4b480;
L_0x8991c1f40 .arith/mult 16, L_0x8991c1e00, L_0x8991c1ea0;
L_0x898e4b2a0 .part L_0x8991c1f40, 15, 1;
L_0x898e4b340 .repeat 16, 16, L_0x898e4b2a0;
L_0x8991c1fe0 .concat [ 16 16 0 0], L_0x8991c1f40, L_0x898e4b340;
L_0x898c96f80 .arith/sum 32, L_0x8988552a0, L_0x8991c1fe0;
S_0x898e1a580 .scope generate, "GEN_MAC[23]" "GEN_MAC[23]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c800 .param/l "i" 1 6 17, +C4<010111>;
S_0x898e1a700 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e1a580;
 .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_0x89916e640 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e680 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e6c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89918b020_0 .net/s *"_ivl_0", 15 0, L_0x8991c2080;  1 drivers
v0x89918b0c0_0 .net/s *"_ivl_2", 15 0, L_0x8991c2120;  1 drivers
v0x89918b160_0 .net *"_ivl_7", 0 0, L_0x898e4b520;  1 drivers
v0x89918b200_0 .net *"_ivl_9", 15 0, L_0x898e4b5c0;  1 drivers
L_0x8988552e8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918b2a0_0 .net/s "acc_in", 31 0, L_0x8988552e8;  1 drivers
v0x89918b340_0 .net/s "acc_out", 31 0, L_0x898c97020;  alias, 1 drivers
v0x89918b3e0_0 .net/s "product", 15 0, L_0x8991c21c0;  1 drivers
v0x89918b480_0 .net/s "product_ext", 31 0, L_0x8991c2260;  1 drivers
v0x89918b520_0 .net/s "w", 7 0, L_0x898e4b700;  1 drivers
v0x89918b5c0_0 .net/s "x", 7 0, L_0x898e4b660;  1 drivers
L_0x8991c2080 .extend/s 16, L_0x898e4b660;
L_0x8991c2120 .extend/s 16, L_0x898e4b700;
L_0x8991c21c0 .arith/mult 16, L_0x8991c2080, L_0x8991c2120;
L_0x898e4b520 .part L_0x8991c21c0, 15, 1;
L_0x898e4b5c0 .repeat 16, 16, L_0x898e4b520;
L_0x8991c2260 .concat [ 16 16 0 0], L_0x8991c21c0, L_0x898e4b5c0;
L_0x898c97020 .arith/sum 32, L_0x8988552e8, L_0x8991c2260;
S_0x898e1a880 .scope generate, "GEN_MAC[24]" "GEN_MAC[24]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c840 .param/l "i" 1 6 17, +C4<011000>;
S_0x898e1aa00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e1a880;
 .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_0x89916e700 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e740 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e780 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89918b660_0 .net/s *"_ivl_0", 15 0, L_0x8991c2300;  1 drivers
v0x89918b700_0 .net/s *"_ivl_2", 15 0, L_0x8991c23a0;  1 drivers
v0x89918b7a0_0 .net *"_ivl_7", 0 0, L_0x898e4b7a0;  1 drivers
v0x89918b840_0 .net *"_ivl_9", 15 0, L_0x898e4b840;  1 drivers
L_0x898855330 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918b8e0_0 .net/s "acc_in", 31 0, L_0x898855330;  1 drivers
v0x89918b980_0 .net/s "acc_out", 31 0, L_0x898c970c0;  alias, 1 drivers
v0x89918ba20_0 .net/s "product", 15 0, L_0x8991c2440;  1 drivers
v0x89918bac0_0 .net/s "product_ext", 31 0, L_0x8991c24e0;  1 drivers
v0x89918bb60_0 .net/s "w", 7 0, L_0x898e4b980;  1 drivers
v0x89918bc00_0 .net/s "x", 7 0, L_0x898e4b8e0;  1 drivers
L_0x8991c2300 .extend/s 16, L_0x898e4b8e0;
L_0x8991c23a0 .extend/s 16, L_0x898e4b980;
L_0x8991c2440 .arith/mult 16, L_0x8991c2300, L_0x8991c23a0;
L_0x898e4b7a0 .part L_0x8991c2440, 15, 1;
L_0x898e4b840 .repeat 16, 16, L_0x898e4b7a0;
L_0x8991c24e0 .concat [ 16 16 0 0], L_0x8991c2440, L_0x898e4b840;
L_0x898c970c0 .arith/sum 32, L_0x898855330, L_0x8991c24e0;
S_0x898e1ab80 .scope generate, "GEN_MAC[25]" "GEN_MAC[25]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c880 .param/l "i" 1 6 17, +C4<011001>;
S_0x898e1ad00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e1ab80;
 .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_0x89916e7c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e800 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e840 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89918bca0_0 .net/s *"_ivl_0", 15 0, L_0x8991c2580;  1 drivers
v0x89918bd40_0 .net/s *"_ivl_2", 15 0, L_0x8991c2620;  1 drivers
v0x89918bde0_0 .net *"_ivl_7", 0 0, L_0x898e4ba20;  1 drivers
v0x89918be80_0 .net *"_ivl_9", 15 0, L_0x898e4bac0;  1 drivers
L_0x898855378 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918bf20_0 .net/s "acc_in", 31 0, L_0x898855378;  1 drivers
v0x89918c000_0 .net/s "acc_out", 31 0, L_0x898c97160;  alias, 1 drivers
v0x89918c0a0_0 .net/s "product", 15 0, L_0x8991c26c0;  1 drivers
v0x89918c140_0 .net/s "product_ext", 31 0, L_0x8991c2760;  1 drivers
v0x89918c1e0_0 .net/s "w", 7 0, L_0x898e4bc00;  1 drivers
v0x89918c280_0 .net/s "x", 7 0, L_0x898e4bb60;  1 drivers
L_0x8991c2580 .extend/s 16, L_0x898e4bb60;
L_0x8991c2620 .extend/s 16, L_0x898e4bc00;
L_0x8991c26c0 .arith/mult 16, L_0x8991c2580, L_0x8991c2620;
L_0x898e4ba20 .part L_0x8991c26c0, 15, 1;
L_0x898e4bac0 .repeat 16, 16, L_0x898e4ba20;
L_0x8991c2760 .concat [ 16 16 0 0], L_0x8991c26c0, L_0x898e4bac0;
L_0x898c97160 .arith/sum 32, L_0x898855378, L_0x8991c2760;
S_0x898e1ae80 .scope generate, "GEN_MAC[26]" "GEN_MAC[26]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c8c0 .param/l "i" 1 6 17, +C4<011010>;
S_0x898e1b000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e1ae80;
 .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_0x89916e880 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e8c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e900 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89918c320_0 .net/s *"_ivl_0", 15 0, L_0x8991c2800;  1 drivers
v0x89918c3c0_0 .net/s *"_ivl_2", 15 0, L_0x8991c28a0;  1 drivers
v0x89918c460_0 .net *"_ivl_7", 0 0, L_0x898e4bca0;  1 drivers
v0x89918c500_0 .net *"_ivl_9", 15 0, L_0x898e4bd40;  1 drivers
L_0x8988553c0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918c5a0_0 .net/s "acc_in", 31 0, L_0x8988553c0;  1 drivers
v0x89918c640_0 .net/s "acc_out", 31 0, L_0x898c97200;  alias, 1 drivers
v0x89918c6e0_0 .net/s "product", 15 0, L_0x8991c2940;  1 drivers
v0x89918c780_0 .net/s "product_ext", 31 0, L_0x8991c29e0;  1 drivers
v0x89918c820_0 .net/s "w", 7 0, L_0x898e4be80;  1 drivers
v0x89918c8c0_0 .net/s "x", 7 0, L_0x898e4bde0;  1 drivers
L_0x8991c2800 .extend/s 16, L_0x898e4bde0;
L_0x8991c28a0 .extend/s 16, L_0x898e4be80;
L_0x8991c2940 .arith/mult 16, L_0x8991c2800, L_0x8991c28a0;
L_0x898e4bca0 .part L_0x8991c2940, 15, 1;
L_0x898e4bd40 .repeat 16, 16, L_0x898e4bca0;
L_0x8991c29e0 .concat [ 16 16 0 0], L_0x8991c2940, L_0x898e4bd40;
L_0x898c97200 .arith/sum 32, L_0x8988553c0, L_0x8991c29e0;
S_0x898e1b180 .scope generate, "GEN_MAC[27]" "GEN_MAC[27]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c900 .param/l "i" 1 6 17, +C4<011011>;
S_0x898e1b300 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e1b180;
 .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_0x89916e940 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916e980 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916e9c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89918c960_0 .net/s *"_ivl_0", 15 0, L_0x8991c2a80;  1 drivers
v0x89918ca00_0 .net/s *"_ivl_2", 15 0, L_0x8991c2b20;  1 drivers
v0x89918caa0_0 .net *"_ivl_7", 0 0, L_0x898e4bf20;  1 drivers
v0x89918cb40_0 .net *"_ivl_9", 15 0, L_0x898e50000;  1 drivers
L_0x898855408 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918cbe0_0 .net/s "acc_in", 31 0, L_0x898855408;  1 drivers
v0x89918cc80_0 .net/s "acc_out", 31 0, L_0x898c972a0;  alias, 1 drivers
v0x89918cd20_0 .net/s "product", 15 0, L_0x8991c2bc0;  1 drivers
v0x89918cdc0_0 .net/s "product_ext", 31 0, L_0x8991c2c60;  1 drivers
v0x89918ce60_0 .net/s "w", 7 0, L_0x898e50140;  1 drivers
v0x89918cf00_0 .net/s "x", 7 0, L_0x898e500a0;  1 drivers
L_0x8991c2a80 .extend/s 16, L_0x898e500a0;
L_0x8991c2b20 .extend/s 16, L_0x898e50140;
L_0x8991c2bc0 .arith/mult 16, L_0x8991c2a80, L_0x8991c2b20;
L_0x898e4bf20 .part L_0x8991c2bc0, 15, 1;
L_0x898e50000 .repeat 16, 16, L_0x898e4bf20;
L_0x8991c2c60 .concat [ 16 16 0 0], L_0x8991c2bc0, L_0x898e50000;
L_0x898c972a0 .arith/sum 32, L_0x898855408, L_0x8991c2c60;
S_0x898e1b480 .scope generate, "GEN_MAC[28]" "GEN_MAC[28]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c940 .param/l "i" 1 6 17, +C4<011100>;
S_0x898e1b600 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e1b480;
 .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_0x89916ea00 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916ea40 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916ea80 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89918cfa0_0 .net/s *"_ivl_0", 15 0, L_0x8991c2d00;  1 drivers
v0x89918d040_0 .net/s *"_ivl_2", 15 0, L_0x8991c2da0;  1 drivers
v0x89918d0e0_0 .net *"_ivl_7", 0 0, L_0x898e501e0;  1 drivers
v0x89918d180_0 .net *"_ivl_9", 15 0, L_0x898e50280;  1 drivers
L_0x898855450 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918d220_0 .net/s "acc_in", 31 0, L_0x898855450;  1 drivers
v0x89918d2c0_0 .net/s "acc_out", 31 0, L_0x898c97340;  alias, 1 drivers
v0x89918d360_0 .net/s "product", 15 0, L_0x8991c2e40;  1 drivers
v0x89918d400_0 .net/s "product_ext", 31 0, L_0x8991c2ee0;  1 drivers
v0x89918d4a0_0 .net/s "w", 7 0, L_0x898e503c0;  1 drivers
v0x89918d540_0 .net/s "x", 7 0, L_0x898e50320;  1 drivers
L_0x8991c2d00 .extend/s 16, L_0x898e50320;
L_0x8991c2da0 .extend/s 16, L_0x898e503c0;
L_0x8991c2e40 .arith/mult 16, L_0x8991c2d00, L_0x8991c2da0;
L_0x898e501e0 .part L_0x8991c2e40, 15, 1;
L_0x898e50280 .repeat 16, 16, L_0x898e501e0;
L_0x8991c2ee0 .concat [ 16 16 0 0], L_0x8991c2e40, L_0x898e50280;
L_0x898c97340 .arith/sum 32, L_0x898855450, L_0x8991c2ee0;
S_0x898e1b780 .scope generate, "GEN_MAC[29]" "GEN_MAC[29]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c980 .param/l "i" 1 6 17, +C4<011101>;
S_0x898e1b900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e1b780;
 .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_0x89916eac0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916eb00 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916eb40 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89918d5e0_0 .net/s *"_ivl_0", 15 0, L_0x8991c2f80;  1 drivers
v0x89918d680_0 .net/s *"_ivl_2", 15 0, L_0x8991c3020;  1 drivers
v0x89918d720_0 .net *"_ivl_7", 0 0, L_0x898e50460;  1 drivers
v0x89918d7c0_0 .net *"_ivl_9", 15 0, L_0x898e50500;  1 drivers
L_0x898855498 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918d860_0 .net/s "acc_in", 31 0, L_0x898855498;  1 drivers
v0x89918d900_0 .net/s "acc_out", 31 0, L_0x898c973e0;  alias, 1 drivers
v0x89918d9a0_0 .net/s "product", 15 0, L_0x8991c30c0;  1 drivers
v0x89918da40_0 .net/s "product_ext", 31 0, L_0x8991c3160;  1 drivers
v0x89918dae0_0 .net/s "w", 7 0, L_0x898e50640;  1 drivers
v0x89918db80_0 .net/s "x", 7 0, L_0x898e505a0;  1 drivers
L_0x8991c2f80 .extend/s 16, L_0x898e505a0;
L_0x8991c3020 .extend/s 16, L_0x898e50640;
L_0x8991c30c0 .arith/mult 16, L_0x8991c2f80, L_0x8991c3020;
L_0x898e50460 .part L_0x8991c30c0, 15, 1;
L_0x898e50500 .repeat 16, 16, L_0x898e50460;
L_0x8991c3160 .concat [ 16 16 0 0], L_0x8991c30c0, L_0x898e50500;
L_0x898c973e0 .arith/sum 32, L_0x898855498, L_0x8991c3160;
S_0x898e1ba80 .scope generate, "GEN_MAC[30]" "GEN_MAC[30]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917c9c0 .param/l "i" 1 6 17, +C4<011110>;
S_0x898e1bc00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e1ba80;
 .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_0x89916eb80 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916ebc0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916ec00 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89918dc20_0 .net/s *"_ivl_0", 15 0, L_0x8991c3200;  1 drivers
v0x89918dcc0_0 .net/s *"_ivl_2", 15 0, L_0x8991c32a0;  1 drivers
v0x89918dd60_0 .net *"_ivl_7", 0 0, L_0x898e506e0;  1 drivers
v0x89918de00_0 .net *"_ivl_9", 15 0, L_0x898e50780;  1 drivers
L_0x8988554e0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918dea0_0 .net/s "acc_in", 31 0, L_0x8988554e0;  1 drivers
v0x89918df40_0 .net/s "acc_out", 31 0, L_0x898c97480;  alias, 1 drivers
v0x89918dfe0_0 .net/s "product", 15 0, L_0x8991c3340;  1 drivers
v0x89918e080_0 .net/s "product_ext", 31 0, L_0x8991c33e0;  1 drivers
v0x89918e120_0 .net/s "w", 7 0, L_0x898e508c0;  1 drivers
v0x89918e1c0_0 .net/s "x", 7 0, L_0x898e50820;  1 drivers
L_0x8991c3200 .extend/s 16, L_0x898e50820;
L_0x8991c32a0 .extend/s 16, L_0x898e508c0;
L_0x8991c3340 .arith/mult 16, L_0x8991c3200, L_0x8991c32a0;
L_0x898e506e0 .part L_0x8991c3340, 15, 1;
L_0x898e50780 .repeat 16, 16, L_0x898e506e0;
L_0x8991c33e0 .concat [ 16 16 0 0], L_0x8991c3340, L_0x898e50780;
L_0x898c97480 .arith/sum 32, L_0x8988554e0, L_0x8991c33e0;
S_0x898e1bd80 .scope generate, "GEN_MAC[31]" "GEN_MAC[31]" 6 17, 6 17 0, S_0x898e11e00;
 .timescale 0 0;
P_0x89917ca00 .param/l "i" 1 6 17, +C4<011111>;
S_0x898e24000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e1bd80;
 .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_0x89916ec40 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916ec80 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916ecc0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89918e260_0 .net/s *"_ivl_0", 15 0, L_0x8991c3480;  1 drivers
v0x89918e300_0 .net/s *"_ivl_2", 15 0, L_0x8991c3520;  1 drivers
v0x89918e3a0_0 .net *"_ivl_7", 0 0, L_0x898e50960;  1 drivers
v0x89918e440_0 .net *"_ivl_9", 15 0, L_0x898e50a00;  1 drivers
L_0x898855528 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89918e4e0_0 .net/s "acc_in", 31 0, L_0x898855528;  1 drivers
v0x89918e580_0 .net/s "acc_out", 31 0, L_0x898c97520;  alias, 1 drivers
v0x89918e620_0 .net/s "product", 15 0, L_0x8991c35c0;  1 drivers
v0x89918e6c0_0 .net/s "product_ext", 31 0, L_0x8991c3660;  1 drivers
v0x89918e760_0 .net/s "w", 7 0, L_0x898e50b40;  1 drivers
v0x89918e800_0 .net/s "x", 7 0, L_0x898e50aa0;  1 drivers
L_0x8991c3480 .extend/s 16, L_0x898e50aa0;
L_0x8991c3520 .extend/s 16, L_0x898e50b40;
L_0x8991c35c0 .arith/mult 16, L_0x8991c3480, L_0x8991c3520;
L_0x898e50960 .part L_0x8991c35c0, 15, 1;
L_0x898e50a00 .repeat 16, 16, L_0x898e50960;
L_0x8991c3660 .concat [ 16 16 0 0], L_0x8991c35c0, L_0x898e50a00;
L_0x898c97520 .arith/sum 32, L_0x898855528, L_0x8991c3660;
S_0x898e24180 .scope generate, "GEN_NEURON[2]" "GEN_NEURON[2]" 4 34, 4 34 0, S_0x100d3aa50;
 .timescale 0 0;
P_0x89917ca40 .param/l "n" 1 4 34, +C4<010>;
S_0x898e24300 .scope module, "u_neuron" "neuron_parallel" 4 41, 5 1 0, S_0x898e24180;
 .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 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_0x898e24480 .param/l "ACC_WIDTH" 0 5 5, +C4<00000000000000000000000000100000>;
P_0x898e244c0 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000001000>;
P_0x898e24500 .param/l "GROUPS" 1 5 20, +C4<00000000000000000000000000000001>;
P_0x898e24540 .param/l "GROUP_INDEX_WIDTH" 1 5 21, +C4<00000000000000000000000000000001>;
P_0x898e24580 .param/l "N_INPUTS" 0 5 3, +C4<00000000000000000000000000100000>;
P_0x898e245c0 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000100000>;
v0x8991a4d20_0 .net *"_ivl_0", 31 0, L_0x8991c37a0;  1 drivers
v0x8991a4dc0_0 .net *"_ivl_11", 31 0, L_0x8991c38e0;  1 drivers
v0x8991a4e60_0 .net *"_ivl_14", 31 0, L_0x8991c3980;  1 drivers
L_0x898855648 .functor BUFT 1, C4<0000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a4f00_0 .net *"_ivl_17", 30 0, L_0x898855648;  1 drivers
L_0x898855690 .functor BUFT 1, C4<00000000000000000000000000100000>, C4<0>, C4<0>, C4<0>;
v0x8991a4fa0_0 .net/2u *"_ivl_18", 31 0, L_0x898855690;  1 drivers
v0x8991a5040_0 .net *"_ivl_21", 31 0, L_0x8991c3a20;  1 drivers
L_0x8988556d8 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x8991a50e0_0 .net/2u *"_ivl_22", 31 0, L_0x8988556d8;  1 drivers
v0x8991a5180_0 .net *"_ivl_25", 31 0, L_0x8991c3ac0;  1 drivers
v0x8991a5220_0 .net *"_ivl_29", 0 0, L_0x898e61fe0;  1 drivers
L_0x898855570 .functor BUFT 1, C4<0000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a52c0_0 .net *"_ivl_3", 30 0, L_0x898855570;  1 drivers
v0x8991a5360_0 .net *"_ivl_31", 23 0, L_0x898e62080;  1 drivers
L_0x8988555b8 .functor BUFT 1, C4<00000000000000000000000000100000>, C4<0>, C4<0>, C4<0>;
v0x8991a5400_0 .net/2u *"_ivl_4", 31 0, L_0x8988555b8;  1 drivers
v0x8991a54a0_0 .net *"_ivl_7", 31 0, L_0x8991c3840;  1 drivers
L_0x898855600 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x8991a5540_0 .net/2u *"_ivl_8", 31 0, L_0x898855600;  1 drivers
v0x8991a55e0_0 .var/s "acc", 31 0;
v0x8991a5680_0 .net/s "acc_next", 31 0, L_0x898e58b40;  1 drivers
v0x8991a5720_0 .net/s "bias", 7 0, L_0x898e621c0;  1 drivers
v0x8991a57c0_0 .net/s "bias_ext", 31 0, L_0x8991c8be0;  1 drivers
v0x8991a5860_0 .var "busy", 0 0;
v0x8991a5900_0 .net "clk", 0 0, v0x8991b8820_0;  alias, 1 drivers
v0x8991a59a0_0 .var "done", 0 0;
v0x8991a5a40_0 .net/s "final_acc", 31 0, L_0x898e58be0;  1 drivers
v0x8991a5ae0_0 .var "group_index", 0 0;
v0x8991a5b80_0 .net "rst", 0 0, v0x8991b8b40_0;  alias, 1 drivers
v0x8991a5c20_0 .net "start", 0 0, v0x8991b8be0_0;  alias, 1 drivers
v0x8991a5cc0_0 .net/s "w_bus", 255 0, L_0x898e62120;  1 drivers
v0x8991a5d60_0 .net/s "w_group", 255 0, L_0x898e50f00;  1 drivers
v0x8991a5e00_0 .net/s "x_bus", 255 0, v0x8991b8d20_0;  alias, 1 drivers
v0x8991a5ea0_0 .net/s "x_group", 255 0, L_0x898e50e60;  1 drivers
v0x8991a5f40_0 .var/s "y", 7 0;
L_0x8991c37a0 .concat [ 1 31 0 0], v0x8991a5ae0_0, L_0x898855570;
L_0x8991c3840 .arith/mult 32, L_0x8991c37a0, L_0x8988555b8;
L_0x8991c38e0 .arith/mult 32, L_0x8991c3840, L_0x898855600;
L_0x898e50e60 .part/v v0x8991b8d20_0, L_0x8991c38e0, 256;
L_0x8991c3980 .concat [ 1 31 0 0], v0x8991a5ae0_0, L_0x898855648;
L_0x8991c3a20 .arith/mult 32, L_0x8991c3980, L_0x898855690;
L_0x8991c3ac0 .arith/mult 32, L_0x8991c3a20, L_0x8988556d8;
L_0x898e50f00 .part/v L_0x898e62120, L_0x8991c3ac0, 256;
L_0x898e61fe0 .part L_0x898e621c0, 7, 1;
L_0x898e62080 .repeat 24, 24, L_0x898e61fe0;
L_0x8991c8be0 .concat [ 8 24 0 0], L_0x898e621c0, L_0x898e62080;
L_0x898e58be0 .arith/sum 32, L_0x898e58b40, L_0x8991c8be0;
S_0x898e24600 .scope module, "u_mac8" "mac8" 5 52, 6 1 0, S_0x898e24300;
 .timescale 0 0;
    .port_info 0 /INPUT 256 "x_bus";
    .port_info 1 /INPUT 256 "w_bus";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x89916ed00 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x89916ed40 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x89916ed80 .param/l "PARALLEL" 0 6 4, +C4<00000000000000000000000000100000>;
v0x8991a48c0_0 .net/s "acc_in", 31 0, v0x8991a55e0_0;  1 drivers
v0x8991a4960_0 .net/s "acc_out", 31 0, L_0x898e58b40;  alias, 1 drivers
v0x8991a4a00_0 .var/i "j", 31 0;
v0x8991a4aa0 .array "products", 31 0;
v0x8991a4aa0_0 .net/s v0x8991a4aa0 0, 31 0, L_0x898c97700; 1 drivers
v0x8991a4aa0_1 .net/s v0x8991a4aa0 1, 31 0, L_0x898c977a0; 1 drivers
v0x8991a4aa0_2 .net/s v0x8991a4aa0 2, 31 0, L_0x898c97840; 1 drivers
v0x8991a4aa0_3 .net/s v0x8991a4aa0 3, 31 0, L_0x898c978e0; 1 drivers
v0x8991a4aa0_4 .net/s v0x8991a4aa0 4, 31 0, L_0x898c97980; 1 drivers
v0x8991a4aa0_5 .net/s v0x8991a4aa0 5, 31 0, L_0x898c97a20; 1 drivers
v0x8991a4aa0_6 .net/s v0x8991a4aa0 6, 31 0, L_0x898c97ac0; 1 drivers
v0x8991a4aa0_7 .net/s v0x8991a4aa0 7, 31 0, L_0x898c97b60; 1 drivers
v0x8991a4aa0_8 .net/s v0x8991a4aa0 8, 31 0, L_0x898c97c00; 1 drivers
v0x8991a4aa0_9 .net/s v0x8991a4aa0 9, 31 0, L_0x898c97ca0; 1 drivers
v0x8991a4aa0_10 .net/s v0x8991a4aa0 10, 31 0, L_0x898c97d40; 1 drivers
v0x8991a4aa0_11 .net/s v0x8991a4aa0 11, 31 0, L_0x898c97de0; 1 drivers
v0x8991a4aa0_12 .net/s v0x8991a4aa0 12, 31 0, L_0x898c97e80; 1 drivers
v0x8991a4aa0_13 .net/s v0x8991a4aa0 13, 31 0, L_0x898c97f20; 1 drivers
v0x8991a4aa0_14 .net/s v0x8991a4aa0 14, 31 0, L_0x898e58000; 1 drivers
v0x8991a4aa0_15 .net/s v0x8991a4aa0 15, 31 0, L_0x898e580a0; 1 drivers
v0x8991a4aa0_16 .net/s v0x8991a4aa0 16, 31 0, L_0x898e58140; 1 drivers
v0x8991a4aa0_17 .net/s v0x8991a4aa0 17, 31 0, L_0x898e581e0; 1 drivers
v0x8991a4aa0_18 .net/s v0x8991a4aa0 18, 31 0, L_0x898e58280; 1 drivers
v0x8991a4aa0_19 .net/s v0x8991a4aa0 19, 31 0, L_0x898e58320; 1 drivers
v0x8991a4aa0_20 .net/s v0x8991a4aa0 20, 31 0, L_0x898e583c0; 1 drivers
v0x8991a4aa0_21 .net/s v0x8991a4aa0 21, 31 0, L_0x898e58460; 1 drivers
v0x8991a4aa0_22 .net/s v0x8991a4aa0 22, 31 0, L_0x898e58500; 1 drivers
v0x8991a4aa0_23 .net/s v0x8991a4aa0 23, 31 0, L_0x898e585a0; 1 drivers
v0x8991a4aa0_24 .net/s v0x8991a4aa0 24, 31 0, L_0x898e58640; 1 drivers
v0x8991a4aa0_25 .net/s v0x8991a4aa0 25, 31 0, L_0x898e586e0; 1 drivers
v0x8991a4aa0_26 .net/s v0x8991a4aa0 26, 31 0, L_0x898e58780; 1 drivers
v0x8991a4aa0_27 .net/s v0x8991a4aa0 27, 31 0, L_0x898e58820; 1 drivers
v0x8991a4aa0_28 .net/s v0x8991a4aa0 28, 31 0, L_0x898e588c0; 1 drivers
v0x8991a4aa0_29 .net/s v0x8991a4aa0 29, 31 0, L_0x898e58960; 1 drivers
v0x8991a4aa0_30 .net/s v0x8991a4aa0 30, 31 0, L_0x898e58a00; 1 drivers
v0x8991a4aa0_31 .net/s v0x8991a4aa0 31, 31 0, L_0x898e58aa0; 1 drivers
v0x8991a4b40_0 .var/s "sum", 31 0;
v0x8991a4be0_0 .net/s "w_bus", 255 0, L_0x898e50f00;  alias, 1 drivers
v0x8991a4c80_0 .net/s "x_bus", 255 0, L_0x898e50e60;  alias, 1 drivers
E_0x898e09040/0 .event anyedge, v0x8991a4b40_0, v0x899190320_0, v0x899190960_0, v0x899190fa0_0;
E_0x898e09040/1 .event anyedge, v0x8991915e0_0, v0x899191c20_0, v0x899192260_0, v0x8991928a0_0;
E_0x898e09040/2 .event anyedge, v0x899192ee0_0, v0x899193520_0, v0x899193b60_0, v0x8991941e0_0;
E_0x898e09040/3 .event anyedge, v0x899194820_0, v0x899194e60_0, v0x8991954a0_0, v0x899195ae0_0;
E_0x898e09040/4 .event anyedge, v0x899196120_0, v0x899196760_0, v0x899196da0_0, v0x8991973e0_0;
E_0x898e09040/5 .event anyedge, v0x899197a20_0, v0x8991980a0_0, v0x8991986e0_0, v0x899198d20_0;
E_0x898e09040/6 .event anyedge, v0x899199360_0, v0x8991999a0_0, v0x899199fe0_0, v0x89919a620_0;
E_0x898e09040/7 .event anyedge, v0x89919ac60_0, v0x89919b2a0_0, v0x89919b8e0_0, v0x89919bf20_0;
E_0x898e09040/8 .event anyedge, v0x8991a45a0_0;
E_0x898e09040 .event/or E_0x898e09040/0, E_0x898e09040/1, E_0x898e09040/2, E_0x898e09040/3, E_0x898e09040/4, E_0x898e09040/5, E_0x898e09040/6, E_0x898e09040/7, E_0x898e09040/8;
L_0x898e510e0 .part L_0x898e50e60, 0, 8;
L_0x898e51180 .part L_0x898e50f00, 0, 8;
L_0x898e51360 .part L_0x898e50e60, 8, 8;
L_0x898e51400 .part L_0x898e50f00, 8, 8;
L_0x898e515e0 .part L_0x898e50e60, 16, 8;
L_0x898e51680 .part L_0x898e50f00, 16, 8;
L_0x898e51860 .part L_0x898e50e60, 24, 8;
L_0x898e51900 .part L_0x898e50f00, 24, 8;
L_0x898e51ae0 .part L_0x898e50e60, 32, 8;
L_0x898e51b80 .part L_0x898e50f00, 32, 8;
L_0x898e51d60 .part L_0x898e50e60, 40, 8;
L_0x898e51e00 .part L_0x898e50f00, 40, 8;
L_0x898e51fe0 .part L_0x898e50e60, 48, 8;
L_0x898e52080 .part L_0x898e50f00, 48, 8;
L_0x898e52260 .part L_0x898e50e60, 56, 8;
L_0x898e52300 .part L_0x898e50f00, 56, 8;
L_0x898e524e0 .part L_0x898e50e60, 64, 8;
L_0x898e52620 .part L_0x898e50f00, 64, 8;
L_0x898e52800 .part L_0x898e50e60, 72, 8;
L_0x898e528a0 .part L_0x898e50f00, 72, 8;
L_0x898e52a80 .part L_0x898e50e60, 80, 8;
L_0x898e52580 .part L_0x898e50f00, 80, 8;
L_0x898e52c60 .part L_0x898e50e60, 88, 8;
L_0x898e52d00 .part L_0x898e50f00, 88, 8;
L_0x898e52ee0 .part L_0x898e50e60, 96, 8;
L_0x898e52f80 .part L_0x898e50f00, 96, 8;
L_0x898e53160 .part L_0x898e50e60, 104, 8;
L_0x898e53200 .part L_0x898e50f00, 104, 8;
L_0x898e533e0 .part L_0x898e50e60, 112, 8;
L_0x898e53480 .part L_0x898e50f00, 112, 8;
L_0x898e53660 .part L_0x898e50e60, 120, 8;
L_0x898e53700 .part L_0x898e50f00, 120, 8;
L_0x898e538e0 .part L_0x898e50e60, 128, 8;
L_0x898e53980 .part L_0x898e50f00, 128, 8;
L_0x898e53b60 .part L_0x898e50e60, 136, 8;
L_0x898e53c00 .part L_0x898e50f00, 136, 8;
L_0x898e53de0 .part L_0x898e50e60, 144, 8;
L_0x898e53e80 .part L_0x898e50f00, 144, 8;
L_0x898e600a0 .part L_0x898e50e60, 152, 8;
L_0x898e60140 .part L_0x898e50f00, 152, 8;
L_0x898e60320 .part L_0x898e50e60, 160, 8;
L_0x898e603c0 .part L_0x898e50f00, 160, 8;
L_0x898e605a0 .part L_0x898e50e60, 168, 8;
L_0x898e60640 .part L_0x898e50f00, 168, 8;
L_0x898e60820 .part L_0x898e50e60, 176, 8;
L_0x898e608c0 .part L_0x898e50f00, 176, 8;
L_0x898e60aa0 .part L_0x898e50e60, 184, 8;
L_0x898e60b40 .part L_0x898e50f00, 184, 8;
L_0x898e60d20 .part L_0x898e50e60, 192, 8;
L_0x898e60dc0 .part L_0x898e50f00, 192, 8;
L_0x898e60fa0 .part L_0x898e50e60, 200, 8;
L_0x898e61040 .part L_0x898e50f00, 200, 8;
L_0x898e61220 .part L_0x898e50e60, 208, 8;
L_0x898e612c0 .part L_0x898e50f00, 208, 8;
L_0x898e614a0 .part L_0x898e50e60, 216, 8;
L_0x898e61540 .part L_0x898e50f00, 216, 8;
L_0x898e61720 .part L_0x898e50e60, 224, 8;
L_0x898e617c0 .part L_0x898e50f00, 224, 8;
L_0x898e619a0 .part L_0x898e50e60, 232, 8;
L_0x898e61a40 .part L_0x898e50f00, 232, 8;
L_0x898e61c20 .part L_0x898e50e60, 240, 8;
L_0x898e61cc0 .part L_0x898e50f00, 240, 8;
L_0x898e61ea0 .part L_0x898e50e60, 248, 8;
L_0x898e61f40 .part L_0x898e50f00, 248, 8;
L_0x898e58b40 .arith/sum 32, v0x8991a55e0_0, v0x8991a4b40_0;
S_0x898e24780 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917ca80 .param/l "i" 1 6 17, +C4<00>;
S_0x898e24900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e24780;
 .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_0x89916edc0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916ee00 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916ee40 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899190000_0 .net/s *"_ivl_0", 15 0, L_0x8991c3b60;  1 drivers
v0x8991900a0_0 .net/s *"_ivl_2", 15 0, L_0x8991c3c00;  1 drivers
v0x899190140_0 .net *"_ivl_7", 0 0, L_0x898e50fa0;  1 drivers
v0x8991901e0_0 .net *"_ivl_9", 15 0, L_0x898e51040;  1 drivers
L_0x898855720 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899190280_0 .net/s "acc_in", 31 0, L_0x898855720;  1 drivers
v0x899190320_0 .net/s "acc_out", 31 0, L_0x898c97700;  alias, 1 drivers
v0x8991903c0_0 .net/s "product", 15 0, L_0x8991c3ca0;  1 drivers
v0x899190460_0 .net/s "product_ext", 31 0, L_0x8991c3d40;  1 drivers
v0x899190500_0 .net/s "w", 7 0, L_0x898e51180;  1 drivers
v0x8991905a0_0 .net/s "x", 7 0, L_0x898e510e0;  1 drivers
L_0x8991c3b60 .extend/s 16, L_0x898e510e0;
L_0x8991c3c00 .extend/s 16, L_0x898e51180;
L_0x8991c3ca0 .arith/mult 16, L_0x8991c3b60, L_0x8991c3c00;
L_0x898e50fa0 .part L_0x8991c3ca0, 15, 1;
L_0x898e51040 .repeat 16, 16, L_0x898e50fa0;
L_0x8991c3d40 .concat [ 16 16 0 0], L_0x8991c3ca0, L_0x898e51040;
L_0x898c97700 .arith/sum 32, L_0x898855720, L_0x8991c3d40;
S_0x898e24a80 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cac0 .param/l "i" 1 6 17, +C4<01>;
S_0x898e24c00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e24a80;
 .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_0x89916ee80 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916eec0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916ef00 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899190640_0 .net/s *"_ivl_0", 15 0, L_0x8991c3de0;  1 drivers
v0x8991906e0_0 .net/s *"_ivl_2", 15 0, L_0x8991c3e80;  1 drivers
v0x899190780_0 .net *"_ivl_7", 0 0, L_0x898e51220;  1 drivers
v0x899190820_0 .net *"_ivl_9", 15 0, L_0x898e512c0;  1 drivers
L_0x898855768 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991908c0_0 .net/s "acc_in", 31 0, L_0x898855768;  1 drivers
v0x899190960_0 .net/s "acc_out", 31 0, L_0x898c977a0;  alias, 1 drivers
v0x899190a00_0 .net/s "product", 15 0, L_0x8991c3f20;  1 drivers
v0x899190aa0_0 .net/s "product_ext", 31 0, L_0x8991c4000;  1 drivers
v0x899190b40_0 .net/s "w", 7 0, L_0x898e51400;  1 drivers
v0x899190be0_0 .net/s "x", 7 0, L_0x898e51360;  1 drivers
L_0x8991c3de0 .extend/s 16, L_0x898e51360;
L_0x8991c3e80 .extend/s 16, L_0x898e51400;
L_0x8991c3f20 .arith/mult 16, L_0x8991c3de0, L_0x8991c3e80;
L_0x898e51220 .part L_0x8991c3f20, 15, 1;
L_0x898e512c0 .repeat 16, 16, L_0x898e51220;
L_0x8991c4000 .concat [ 16 16 0 0], L_0x8991c3f20, L_0x898e512c0;
L_0x898c977a0 .arith/sum 32, L_0x898855768, L_0x8991c4000;
S_0x898e24d80 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cb00 .param/l "i" 1 6 17, +C4<010>;
S_0x898e24f00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e24d80;
 .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_0x89916ef40 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916ef80 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916efc0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899190c80_0 .net/s *"_ivl_0", 15 0, L_0x8991c40a0;  1 drivers
v0x899190d20_0 .net/s *"_ivl_2", 15 0, L_0x8991c4140;  1 drivers
v0x899190dc0_0 .net *"_ivl_7", 0 0, L_0x898e514a0;  1 drivers
v0x899190e60_0 .net *"_ivl_9", 15 0, L_0x898e51540;  1 drivers
L_0x8988557b0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899190f00_0 .net/s "acc_in", 31 0, L_0x8988557b0;  1 drivers
v0x899190fa0_0 .net/s "acc_out", 31 0, L_0x898c97840;  alias, 1 drivers
v0x899191040_0 .net/s "product", 15 0, L_0x8991c41e0;  1 drivers
v0x8991910e0_0 .net/s "product_ext", 31 0, L_0x8991c4280;  1 drivers
v0x899191180_0 .net/s "w", 7 0, L_0x898e51680;  1 drivers
v0x899191220_0 .net/s "x", 7 0, L_0x898e515e0;  1 drivers
L_0x8991c40a0 .extend/s 16, L_0x898e515e0;
L_0x8991c4140 .extend/s 16, L_0x898e51680;
L_0x8991c41e0 .arith/mult 16, L_0x8991c40a0, L_0x8991c4140;
L_0x898e514a0 .part L_0x8991c41e0, 15, 1;
L_0x898e51540 .repeat 16, 16, L_0x898e514a0;
L_0x8991c4280 .concat [ 16 16 0 0], L_0x8991c41e0, L_0x898e51540;
L_0x898c97840 .arith/sum 32, L_0x8988557b0, L_0x8991c4280;
S_0x898e25080 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cb40 .param/l "i" 1 6 17, +C4<011>;
S_0x898e25200 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e25080;
 .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_0x89916f000 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f040 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f080 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991912c0_0 .net/s *"_ivl_0", 15 0, L_0x8991c4320;  1 drivers
v0x899191360_0 .net/s *"_ivl_2", 15 0, L_0x8991c43c0;  1 drivers
v0x899191400_0 .net *"_ivl_7", 0 0, L_0x898e51720;  1 drivers
v0x8991914a0_0 .net *"_ivl_9", 15 0, L_0x898e517c0;  1 drivers
L_0x8988557f8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899191540_0 .net/s "acc_in", 31 0, L_0x8988557f8;  1 drivers
v0x8991915e0_0 .net/s "acc_out", 31 0, L_0x898c978e0;  alias, 1 drivers
v0x899191680_0 .net/s "product", 15 0, L_0x8991c4460;  1 drivers
v0x899191720_0 .net/s "product_ext", 31 0, L_0x8991c4500;  1 drivers
v0x8991917c0_0 .net/s "w", 7 0, L_0x898e51900;  1 drivers
v0x899191860_0 .net/s "x", 7 0, L_0x898e51860;  1 drivers
L_0x8991c4320 .extend/s 16, L_0x898e51860;
L_0x8991c43c0 .extend/s 16, L_0x898e51900;
L_0x8991c4460 .arith/mult 16, L_0x8991c4320, L_0x8991c43c0;
L_0x898e51720 .part L_0x8991c4460, 15, 1;
L_0x898e517c0 .repeat 16, 16, L_0x898e51720;
L_0x8991c4500 .concat [ 16 16 0 0], L_0x8991c4460, L_0x898e517c0;
L_0x898c978e0 .arith/sum 32, L_0x8988557f8, L_0x8991c4500;
S_0x898e25380 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cb80 .param/l "i" 1 6 17, +C4<0100>;
S_0x898e25500 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e25380;
 .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_0x89916f0c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f100 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f140 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899191900_0 .net/s *"_ivl_0", 15 0, L_0x8991c45a0;  1 drivers
v0x8991919a0_0 .net/s *"_ivl_2", 15 0, L_0x8991c4640;  1 drivers
v0x899191a40_0 .net *"_ivl_7", 0 0, L_0x898e519a0;  1 drivers
v0x899191ae0_0 .net *"_ivl_9", 15 0, L_0x898e51a40;  1 drivers
L_0x898855840 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899191b80_0 .net/s "acc_in", 31 0, L_0x898855840;  1 drivers
v0x899191c20_0 .net/s "acc_out", 31 0, L_0x898c97980;  alias, 1 drivers
v0x899191cc0_0 .net/s "product", 15 0, L_0x8991c46e0;  1 drivers
v0x899191d60_0 .net/s "product_ext", 31 0, L_0x8991c4780;  1 drivers
v0x899191e00_0 .net/s "w", 7 0, L_0x898e51b80;  1 drivers
v0x899191ea0_0 .net/s "x", 7 0, L_0x898e51ae0;  1 drivers
L_0x8991c45a0 .extend/s 16, L_0x898e51ae0;
L_0x8991c4640 .extend/s 16, L_0x898e51b80;
L_0x8991c46e0 .arith/mult 16, L_0x8991c45a0, L_0x8991c4640;
L_0x898e519a0 .part L_0x8991c46e0, 15, 1;
L_0x898e51a40 .repeat 16, 16, L_0x898e519a0;
L_0x8991c4780 .concat [ 16 16 0 0], L_0x8991c46e0, L_0x898e51a40;
L_0x898c97980 .arith/sum 32, L_0x898855840, L_0x8991c4780;
S_0x898e25680 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cbc0 .param/l "i" 1 6 17, +C4<0101>;
S_0x898e25800 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e25680;
 .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_0x89916f180 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f1c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f200 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899191f40_0 .net/s *"_ivl_0", 15 0, L_0x8991c4820;  1 drivers
v0x899191fe0_0 .net/s *"_ivl_2", 15 0, L_0x8991c48c0;  1 drivers
v0x899192080_0 .net *"_ivl_7", 0 0, L_0x898e51c20;  1 drivers
v0x899192120_0 .net *"_ivl_9", 15 0, L_0x898e51cc0;  1 drivers
L_0x898855888 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991921c0_0 .net/s "acc_in", 31 0, L_0x898855888;  1 drivers
v0x899192260_0 .net/s "acc_out", 31 0, L_0x898c97a20;  alias, 1 drivers
v0x899192300_0 .net/s "product", 15 0, L_0x8991c4960;  1 drivers
v0x8991923a0_0 .net/s "product_ext", 31 0, L_0x8991c4a00;  1 drivers
v0x899192440_0 .net/s "w", 7 0, L_0x898e51e00;  1 drivers
v0x8991924e0_0 .net/s "x", 7 0, L_0x898e51d60;  1 drivers
L_0x8991c4820 .extend/s 16, L_0x898e51d60;
L_0x8991c48c0 .extend/s 16, L_0x898e51e00;
L_0x8991c4960 .arith/mult 16, L_0x8991c4820, L_0x8991c48c0;
L_0x898e51c20 .part L_0x8991c4960, 15, 1;
L_0x898e51cc0 .repeat 16, 16, L_0x898e51c20;
L_0x8991c4a00 .concat [ 16 16 0 0], L_0x8991c4960, L_0x898e51cc0;
L_0x898c97a20 .arith/sum 32, L_0x898855888, L_0x8991c4a00;
S_0x898e25980 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cc00 .param/l "i" 1 6 17, +C4<0110>;
S_0x898e25b00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e25980;
 .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_0x89916f240 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f280 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f2c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899192580_0 .net/s *"_ivl_0", 15 0, L_0x8991c4aa0;  1 drivers
v0x899192620_0 .net/s *"_ivl_2", 15 0, L_0x8991c4b40;  1 drivers
v0x8991926c0_0 .net *"_ivl_7", 0 0, L_0x898e51ea0;  1 drivers
v0x899192760_0 .net *"_ivl_9", 15 0, L_0x898e51f40;  1 drivers
L_0x8988558d0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899192800_0 .net/s "acc_in", 31 0, L_0x8988558d0;  1 drivers
v0x8991928a0_0 .net/s "acc_out", 31 0, L_0x898c97ac0;  alias, 1 drivers
v0x899192940_0 .net/s "product", 15 0, L_0x8991c4be0;  1 drivers
v0x8991929e0_0 .net/s "product_ext", 31 0, L_0x8991c4c80;  1 drivers
v0x899192a80_0 .net/s "w", 7 0, L_0x898e52080;  1 drivers
v0x899192b20_0 .net/s "x", 7 0, L_0x898e51fe0;  1 drivers
L_0x8991c4aa0 .extend/s 16, L_0x898e51fe0;
L_0x8991c4b40 .extend/s 16, L_0x898e52080;
L_0x8991c4be0 .arith/mult 16, L_0x8991c4aa0, L_0x8991c4b40;
L_0x898e51ea0 .part L_0x8991c4be0, 15, 1;
L_0x898e51f40 .repeat 16, 16, L_0x898e51ea0;
L_0x8991c4c80 .concat [ 16 16 0 0], L_0x8991c4be0, L_0x898e51f40;
L_0x898c97ac0 .arith/sum 32, L_0x8988558d0, L_0x8991c4c80;
S_0x898e25c80 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cc40 .param/l "i" 1 6 17, +C4<0111>;
S_0x898e25e00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e25c80;
 .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_0x89916f300 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f340 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f380 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899192bc0_0 .net/s *"_ivl_0", 15 0, L_0x8991c4d20;  1 drivers
v0x899192c60_0 .net/s *"_ivl_2", 15 0, L_0x8991c4dc0;  1 drivers
v0x899192d00_0 .net *"_ivl_7", 0 0, L_0x898e52120;  1 drivers
v0x899192da0_0 .net *"_ivl_9", 15 0, L_0x898e521c0;  1 drivers
L_0x898855918 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899192e40_0 .net/s "acc_in", 31 0, L_0x898855918;  1 drivers
v0x899192ee0_0 .net/s "acc_out", 31 0, L_0x898c97b60;  alias, 1 drivers
v0x899192f80_0 .net/s "product", 15 0, L_0x8991c4e60;  1 drivers
v0x899193020_0 .net/s "product_ext", 31 0, L_0x8991c4f00;  1 drivers
v0x8991930c0_0 .net/s "w", 7 0, L_0x898e52300;  1 drivers
v0x899193160_0 .net/s "x", 7 0, L_0x898e52260;  1 drivers
L_0x8991c4d20 .extend/s 16, L_0x898e52260;
L_0x8991c4dc0 .extend/s 16, L_0x898e52300;
L_0x8991c4e60 .arith/mult 16, L_0x8991c4d20, L_0x8991c4dc0;
L_0x898e52120 .part L_0x8991c4e60, 15, 1;
L_0x898e521c0 .repeat 16, 16, L_0x898e52120;
L_0x8991c4f00 .concat [ 16 16 0 0], L_0x8991c4e60, L_0x898e521c0;
L_0x898c97b60 .arith/sum 32, L_0x898855918, L_0x8991c4f00;
S_0x898e25f80 .scope generate, "GEN_MAC[8]" "GEN_MAC[8]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cc80 .param/l "i" 1 6 17, +C4<01000>;
S_0x898e26100 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e25f80;
 .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_0x89916f3c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f400 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f440 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899193200_0 .net/s *"_ivl_0", 15 0, L_0x8991c4fa0;  1 drivers
v0x8991932a0_0 .net/s *"_ivl_2", 15 0, L_0x8991c5040;  1 drivers
v0x899193340_0 .net *"_ivl_7", 0 0, L_0x898e523a0;  1 drivers
v0x8991933e0_0 .net *"_ivl_9", 15 0, L_0x898e52440;  1 drivers
L_0x898855960 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899193480_0 .net/s "acc_in", 31 0, L_0x898855960;  1 drivers
v0x899193520_0 .net/s "acc_out", 31 0, L_0x898c97c00;  alias, 1 drivers
v0x8991935c0_0 .net/s "product", 15 0, L_0x8991c50e0;  1 drivers
v0x899193660_0 .net/s "product_ext", 31 0, L_0x8991c5180;  1 drivers
v0x899193700_0 .net/s "w", 7 0, L_0x898e52620;  1 drivers
v0x8991937a0_0 .net/s "x", 7 0, L_0x898e524e0;  1 drivers
L_0x8991c4fa0 .extend/s 16, L_0x898e524e0;
L_0x8991c5040 .extend/s 16, L_0x898e52620;
L_0x8991c50e0 .arith/mult 16, L_0x8991c4fa0, L_0x8991c5040;
L_0x898e523a0 .part L_0x8991c50e0, 15, 1;
L_0x898e52440 .repeat 16, 16, L_0x898e523a0;
L_0x8991c5180 .concat [ 16 16 0 0], L_0x8991c50e0, L_0x898e52440;
L_0x898c97c00 .arith/sum 32, L_0x898855960, L_0x8991c5180;
S_0x898e26280 .scope generate, "GEN_MAC[9]" "GEN_MAC[9]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917ccc0 .param/l "i" 1 6 17, +C4<01001>;
S_0x898e26400 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e26280;
 .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_0x89916f480 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f4c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f500 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899193840_0 .net/s *"_ivl_0", 15 0, L_0x8991c5220;  1 drivers
v0x8991938e0_0 .net/s *"_ivl_2", 15 0, L_0x8991c52c0;  1 drivers
v0x899193980_0 .net *"_ivl_7", 0 0, L_0x898e526c0;  1 drivers
v0x899193a20_0 .net *"_ivl_9", 15 0, L_0x898e52760;  1 drivers
L_0x8988559a8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899193ac0_0 .net/s "acc_in", 31 0, L_0x8988559a8;  1 drivers
v0x899193b60_0 .net/s "acc_out", 31 0, L_0x898c97ca0;  alias, 1 drivers
v0x899193c00_0 .net/s "product", 15 0, L_0x8991c5360;  1 drivers
v0x899193ca0_0 .net/s "product_ext", 31 0, L_0x8991c5400;  1 drivers
v0x899193d40_0 .net/s "w", 7 0, L_0x898e528a0;  1 drivers
v0x899193de0_0 .net/s "x", 7 0, L_0x898e52800;  1 drivers
L_0x8991c5220 .extend/s 16, L_0x898e52800;
L_0x8991c52c0 .extend/s 16, L_0x898e528a0;
L_0x8991c5360 .arith/mult 16, L_0x8991c5220, L_0x8991c52c0;
L_0x898e526c0 .part L_0x8991c5360, 15, 1;
L_0x898e52760 .repeat 16, 16, L_0x898e526c0;
L_0x8991c5400 .concat [ 16 16 0 0], L_0x8991c5360, L_0x898e52760;
L_0x898c97ca0 .arith/sum 32, L_0x8988559a8, L_0x8991c5400;
S_0x898e26580 .scope generate, "GEN_MAC[10]" "GEN_MAC[10]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cd00 .param/l "i" 1 6 17, +C4<01010>;
S_0x898e26700 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e26580;
 .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_0x89916f540 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f580 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f5c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899193e80_0 .net/s *"_ivl_0", 15 0, L_0x8991c54a0;  1 drivers
v0x899193f20_0 .net/s *"_ivl_2", 15 0, L_0x8991c5540;  1 drivers
v0x899194000_0 .net *"_ivl_7", 0 0, L_0x898e52940;  1 drivers
v0x8991940a0_0 .net *"_ivl_9", 15 0, L_0x898e529e0;  1 drivers
L_0x8988559f0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899194140_0 .net/s "acc_in", 31 0, L_0x8988559f0;  1 drivers
v0x8991941e0_0 .net/s "acc_out", 31 0, L_0x898c97d40;  alias, 1 drivers
v0x899194280_0 .net/s "product", 15 0, L_0x8991c55e0;  1 drivers
v0x899194320_0 .net/s "product_ext", 31 0, L_0x8991c5680;  1 drivers
v0x8991943c0_0 .net/s "w", 7 0, L_0x898e52580;  1 drivers
v0x899194460_0 .net/s "x", 7 0, L_0x898e52a80;  1 drivers
L_0x8991c54a0 .extend/s 16, L_0x898e52a80;
L_0x8991c5540 .extend/s 16, L_0x898e52580;
L_0x8991c55e0 .arith/mult 16, L_0x8991c54a0, L_0x8991c5540;
L_0x898e52940 .part L_0x8991c55e0, 15, 1;
L_0x898e529e0 .repeat 16, 16, L_0x898e52940;
L_0x8991c5680 .concat [ 16 16 0 0], L_0x8991c55e0, L_0x898e529e0;
L_0x898c97d40 .arith/sum 32, L_0x8988559f0, L_0x8991c5680;
S_0x898e26880 .scope generate, "GEN_MAC[11]" "GEN_MAC[11]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cd40 .param/l "i" 1 6 17, +C4<01011>;
S_0x898e26a00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e26880;
 .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_0x89916f600 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f640 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f680 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899194500_0 .net/s *"_ivl_0", 15 0, L_0x8991c5720;  1 drivers
v0x8991945a0_0 .net/s *"_ivl_2", 15 0, L_0x8991c57c0;  1 drivers
v0x899194640_0 .net *"_ivl_7", 0 0, L_0x898e52b20;  1 drivers
v0x8991946e0_0 .net *"_ivl_9", 15 0, L_0x898e52bc0;  1 drivers
L_0x898855a38 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899194780_0 .net/s "acc_in", 31 0, L_0x898855a38;  1 drivers
v0x899194820_0 .net/s "acc_out", 31 0, L_0x898c97de0;  alias, 1 drivers
v0x8991948c0_0 .net/s "product", 15 0, L_0x8991c5860;  1 drivers
v0x899194960_0 .net/s "product_ext", 31 0, L_0x8991c5900;  1 drivers
v0x899194a00_0 .net/s "w", 7 0, L_0x898e52d00;  1 drivers
v0x899194aa0_0 .net/s "x", 7 0, L_0x898e52c60;  1 drivers
L_0x8991c5720 .extend/s 16, L_0x898e52c60;
L_0x8991c57c0 .extend/s 16, L_0x898e52d00;
L_0x8991c5860 .arith/mult 16, L_0x8991c5720, L_0x8991c57c0;
L_0x898e52b20 .part L_0x8991c5860, 15, 1;
L_0x898e52bc0 .repeat 16, 16, L_0x898e52b20;
L_0x8991c5900 .concat [ 16 16 0 0], L_0x8991c5860, L_0x898e52bc0;
L_0x898c97de0 .arith/sum 32, L_0x898855a38, L_0x8991c5900;
S_0x898e26b80 .scope generate, "GEN_MAC[12]" "GEN_MAC[12]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cd80 .param/l "i" 1 6 17, +C4<01100>;
S_0x898e26d00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e26b80;
 .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_0x89916f6c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f700 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f740 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899194b40_0 .net/s *"_ivl_0", 15 0, L_0x8991c59a0;  1 drivers
v0x899194be0_0 .net/s *"_ivl_2", 15 0, L_0x8991c5a40;  1 drivers
v0x899194c80_0 .net *"_ivl_7", 0 0, L_0x898e52da0;  1 drivers
v0x899194d20_0 .net *"_ivl_9", 15 0, L_0x898e52e40;  1 drivers
L_0x898855a80 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899194dc0_0 .net/s "acc_in", 31 0, L_0x898855a80;  1 drivers
v0x899194e60_0 .net/s "acc_out", 31 0, L_0x898c97e80;  alias, 1 drivers
v0x899194f00_0 .net/s "product", 15 0, L_0x8991c5ae0;  1 drivers
v0x899194fa0_0 .net/s "product_ext", 31 0, L_0x8991c5b80;  1 drivers
v0x899195040_0 .net/s "w", 7 0, L_0x898e52f80;  1 drivers
v0x8991950e0_0 .net/s "x", 7 0, L_0x898e52ee0;  1 drivers
L_0x8991c59a0 .extend/s 16, L_0x898e52ee0;
L_0x8991c5a40 .extend/s 16, L_0x898e52f80;
L_0x8991c5ae0 .arith/mult 16, L_0x8991c59a0, L_0x8991c5a40;
L_0x898e52da0 .part L_0x8991c5ae0, 15, 1;
L_0x898e52e40 .repeat 16, 16, L_0x898e52da0;
L_0x8991c5b80 .concat [ 16 16 0 0], L_0x8991c5ae0, L_0x898e52e40;
L_0x898c97e80 .arith/sum 32, L_0x898855a80, L_0x8991c5b80;
S_0x898e26e80 .scope generate, "GEN_MAC[13]" "GEN_MAC[13]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cdc0 .param/l "i" 1 6 17, +C4<01101>;
S_0x898e27000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e26e80;
 .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_0x89916f780 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f7c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f800 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899195180_0 .net/s *"_ivl_0", 15 0, L_0x8991c5c20;  1 drivers
v0x899195220_0 .net/s *"_ivl_2", 15 0, L_0x8991c5cc0;  1 drivers
v0x8991952c0_0 .net *"_ivl_7", 0 0, L_0x898e53020;  1 drivers
v0x899195360_0 .net *"_ivl_9", 15 0, L_0x898e530c0;  1 drivers
L_0x898855ac8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899195400_0 .net/s "acc_in", 31 0, L_0x898855ac8;  1 drivers
v0x8991954a0_0 .net/s "acc_out", 31 0, L_0x898c97f20;  alias, 1 drivers
v0x899195540_0 .net/s "product", 15 0, L_0x8991c5d60;  1 drivers
v0x8991955e0_0 .net/s "product_ext", 31 0, L_0x8991c5e00;  1 drivers
v0x899195680_0 .net/s "w", 7 0, L_0x898e53200;  1 drivers
v0x899195720_0 .net/s "x", 7 0, L_0x898e53160;  1 drivers
L_0x8991c5c20 .extend/s 16, L_0x898e53160;
L_0x8991c5cc0 .extend/s 16, L_0x898e53200;
L_0x8991c5d60 .arith/mult 16, L_0x8991c5c20, L_0x8991c5cc0;
L_0x898e53020 .part L_0x8991c5d60, 15, 1;
L_0x898e530c0 .repeat 16, 16, L_0x898e53020;
L_0x8991c5e00 .concat [ 16 16 0 0], L_0x8991c5d60, L_0x898e530c0;
L_0x898c97f20 .arith/sum 32, L_0x898855ac8, L_0x8991c5e00;
S_0x898e27180 .scope generate, "GEN_MAC[14]" "GEN_MAC[14]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917ce00 .param/l "i" 1 6 17, +C4<01110>;
S_0x898e27300 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e27180;
 .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_0x89916f840 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f880 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f8c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991957c0_0 .net/s *"_ivl_0", 15 0, L_0x8991c5ea0;  1 drivers
v0x899195860_0 .net/s *"_ivl_2", 15 0, L_0x8991c5f40;  1 drivers
v0x899195900_0 .net *"_ivl_7", 0 0, L_0x898e532a0;  1 drivers
v0x8991959a0_0 .net *"_ivl_9", 15 0, L_0x898e53340;  1 drivers
L_0x898855b10 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899195a40_0 .net/s "acc_in", 31 0, L_0x898855b10;  1 drivers
v0x899195ae0_0 .net/s "acc_out", 31 0, L_0x898e58000;  alias, 1 drivers
v0x899195b80_0 .net/s "product", 15 0, L_0x8991c5fe0;  1 drivers
v0x899195c20_0 .net/s "product_ext", 31 0, L_0x8991c6080;  1 drivers
v0x899195cc0_0 .net/s "w", 7 0, L_0x898e53480;  1 drivers
v0x899195d60_0 .net/s "x", 7 0, L_0x898e533e0;  1 drivers
L_0x8991c5ea0 .extend/s 16, L_0x898e533e0;
L_0x8991c5f40 .extend/s 16, L_0x898e53480;
L_0x8991c5fe0 .arith/mult 16, L_0x8991c5ea0, L_0x8991c5f40;
L_0x898e532a0 .part L_0x8991c5fe0, 15, 1;
L_0x898e53340 .repeat 16, 16, L_0x898e532a0;
L_0x8991c6080 .concat [ 16 16 0 0], L_0x8991c5fe0, L_0x898e53340;
L_0x898e58000 .arith/sum 32, L_0x898855b10, L_0x8991c6080;
S_0x898e27480 .scope generate, "GEN_MAC[15]" "GEN_MAC[15]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917ce40 .param/l "i" 1 6 17, +C4<01111>;
S_0x898e27600 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e27480;
 .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_0x89916f900 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916f940 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916f980 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899195e00_0 .net/s *"_ivl_0", 15 0, L_0x8991c6120;  1 drivers
v0x899195ea0_0 .net/s *"_ivl_2", 15 0, L_0x8991c61c0;  1 drivers
v0x899195f40_0 .net *"_ivl_7", 0 0, L_0x898e53520;  1 drivers
v0x899195fe0_0 .net *"_ivl_9", 15 0, L_0x898e535c0;  1 drivers
L_0x898855b58 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899196080_0 .net/s "acc_in", 31 0, L_0x898855b58;  1 drivers
v0x899196120_0 .net/s "acc_out", 31 0, L_0x898e580a0;  alias, 1 drivers
v0x8991961c0_0 .net/s "product", 15 0, L_0x8991c6260;  1 drivers
v0x899196260_0 .net/s "product_ext", 31 0, L_0x8991c6300;  1 drivers
v0x899196300_0 .net/s "w", 7 0, L_0x898e53700;  1 drivers
v0x8991963a0_0 .net/s "x", 7 0, L_0x898e53660;  1 drivers
L_0x8991c6120 .extend/s 16, L_0x898e53660;
L_0x8991c61c0 .extend/s 16, L_0x898e53700;
L_0x8991c6260 .arith/mult 16, L_0x8991c6120, L_0x8991c61c0;
L_0x898e53520 .part L_0x8991c6260, 15, 1;
L_0x898e535c0 .repeat 16, 16, L_0x898e53520;
L_0x8991c6300 .concat [ 16 16 0 0], L_0x8991c6260, L_0x898e535c0;
L_0x898e580a0 .arith/sum 32, L_0x898855b58, L_0x8991c6300;
S_0x898e27780 .scope generate, "GEN_MAC[16]" "GEN_MAC[16]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917ce80 .param/l "i" 1 6 17, +C4<010000>;
S_0x898e27900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e27780;
 .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_0x89916f9c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916fa00 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916fa40 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899196440_0 .net/s *"_ivl_0", 15 0, L_0x8991c63a0;  1 drivers
v0x8991964e0_0 .net/s *"_ivl_2", 15 0, L_0x8991c6440;  1 drivers
v0x899196580_0 .net *"_ivl_7", 0 0, L_0x898e537a0;  1 drivers
v0x899196620_0 .net *"_ivl_9", 15 0, L_0x898e53840;  1 drivers
L_0x898855ba0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991966c0_0 .net/s "acc_in", 31 0, L_0x898855ba0;  1 drivers
v0x899196760_0 .net/s "acc_out", 31 0, L_0x898e58140;  alias, 1 drivers
v0x899196800_0 .net/s "product", 15 0, L_0x8991c64e0;  1 drivers
v0x8991968a0_0 .net/s "product_ext", 31 0, L_0x8991c6580;  1 drivers
v0x899196940_0 .net/s "w", 7 0, L_0x898e53980;  1 drivers
v0x8991969e0_0 .net/s "x", 7 0, L_0x898e538e0;  1 drivers
L_0x8991c63a0 .extend/s 16, L_0x898e538e0;
L_0x8991c6440 .extend/s 16, L_0x898e53980;
L_0x8991c64e0 .arith/mult 16, L_0x8991c63a0, L_0x8991c6440;
L_0x898e537a0 .part L_0x8991c64e0, 15, 1;
L_0x898e53840 .repeat 16, 16, L_0x898e537a0;
L_0x8991c6580 .concat [ 16 16 0 0], L_0x8991c64e0, L_0x898e53840;
L_0x898e58140 .arith/sum 32, L_0x898855ba0, L_0x8991c6580;
S_0x898e27a80 .scope generate, "GEN_MAC[17]" "GEN_MAC[17]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cec0 .param/l "i" 1 6 17, +C4<010001>;
S_0x898e27c00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e27a80;
 .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_0x89916fa80 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916fac0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916fb00 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899196a80_0 .net/s *"_ivl_0", 15 0, L_0x8991c6620;  1 drivers
v0x899196b20_0 .net/s *"_ivl_2", 15 0, L_0x8991c66c0;  1 drivers
v0x899196bc0_0 .net *"_ivl_7", 0 0, L_0x898e53a20;  1 drivers
v0x899196c60_0 .net *"_ivl_9", 15 0, L_0x898e53ac0;  1 drivers
L_0x898855be8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899196d00_0 .net/s "acc_in", 31 0, L_0x898855be8;  1 drivers
v0x899196da0_0 .net/s "acc_out", 31 0, L_0x898e581e0;  alias, 1 drivers
v0x899196e40_0 .net/s "product", 15 0, L_0x8991c6760;  1 drivers
v0x899196ee0_0 .net/s "product_ext", 31 0, L_0x8991c6800;  1 drivers
v0x899196f80_0 .net/s "w", 7 0, L_0x898e53c00;  1 drivers
v0x899197020_0 .net/s "x", 7 0, L_0x898e53b60;  1 drivers
L_0x8991c6620 .extend/s 16, L_0x898e53b60;
L_0x8991c66c0 .extend/s 16, L_0x898e53c00;
L_0x8991c6760 .arith/mult 16, L_0x8991c6620, L_0x8991c66c0;
L_0x898e53a20 .part L_0x8991c6760, 15, 1;
L_0x898e53ac0 .repeat 16, 16, L_0x898e53a20;
L_0x8991c6800 .concat [ 16 16 0 0], L_0x8991c6760, L_0x898e53ac0;
L_0x898e581e0 .arith/sum 32, L_0x898855be8, L_0x8991c6800;
S_0x898e27d80 .scope generate, "GEN_MAC[18]" "GEN_MAC[18]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cf00 .param/l "i" 1 6 17, +C4<010010>;
S_0x898e2c000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e27d80;
 .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_0x89916fb40 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916fb80 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916fbc0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991970c0_0 .net/s *"_ivl_0", 15 0, L_0x8991c68a0;  1 drivers
v0x899197160_0 .net/s *"_ivl_2", 15 0, L_0x8991c6940;  1 drivers
v0x899197200_0 .net *"_ivl_7", 0 0, L_0x898e53ca0;  1 drivers
v0x8991972a0_0 .net *"_ivl_9", 15 0, L_0x898e53d40;  1 drivers
L_0x898855c30 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899197340_0 .net/s "acc_in", 31 0, L_0x898855c30;  1 drivers
v0x8991973e0_0 .net/s "acc_out", 31 0, L_0x898e58280;  alias, 1 drivers
v0x899197480_0 .net/s "product", 15 0, L_0x8991c69e0;  1 drivers
v0x899197520_0 .net/s "product_ext", 31 0, L_0x8991c6a80;  1 drivers
v0x8991975c0_0 .net/s "w", 7 0, L_0x898e53e80;  1 drivers
v0x899197660_0 .net/s "x", 7 0, L_0x898e53de0;  1 drivers
L_0x8991c68a0 .extend/s 16, L_0x898e53de0;
L_0x8991c6940 .extend/s 16, L_0x898e53e80;
L_0x8991c69e0 .arith/mult 16, L_0x8991c68a0, L_0x8991c6940;
L_0x898e53ca0 .part L_0x8991c69e0, 15, 1;
L_0x898e53d40 .repeat 16, 16, L_0x898e53ca0;
L_0x8991c6a80 .concat [ 16 16 0 0], L_0x8991c69e0, L_0x898e53d40;
L_0x898e58280 .arith/sum 32, L_0x898855c30, L_0x8991c6a80;
S_0x898e2c180 .scope generate, "GEN_MAC[19]" "GEN_MAC[19]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cf40 .param/l "i" 1 6 17, +C4<010011>;
S_0x898e2c300 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2c180;
 .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_0x89916fc00 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916fc40 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916fc80 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899197700_0 .net/s *"_ivl_0", 15 0, L_0x8991c6b20;  1 drivers
v0x8991977a0_0 .net/s *"_ivl_2", 15 0, L_0x8991c6bc0;  1 drivers
v0x899197840_0 .net *"_ivl_7", 0 0, L_0x898e53f20;  1 drivers
v0x8991978e0_0 .net *"_ivl_9", 15 0, L_0x898e60000;  1 drivers
L_0x898855c78 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899197980_0 .net/s "acc_in", 31 0, L_0x898855c78;  1 drivers
v0x899197a20_0 .net/s "acc_out", 31 0, L_0x898e58320;  alias, 1 drivers
v0x899197ac0_0 .net/s "product", 15 0, L_0x8991c6c60;  1 drivers
v0x899197b60_0 .net/s "product_ext", 31 0, L_0x8991c6d00;  1 drivers
v0x899197c00_0 .net/s "w", 7 0, L_0x898e60140;  1 drivers
v0x899197ca0_0 .net/s "x", 7 0, L_0x898e600a0;  1 drivers
L_0x8991c6b20 .extend/s 16, L_0x898e600a0;
L_0x8991c6bc0 .extend/s 16, L_0x898e60140;
L_0x8991c6c60 .arith/mult 16, L_0x8991c6b20, L_0x8991c6bc0;
L_0x898e53f20 .part L_0x8991c6c60, 15, 1;
L_0x898e60000 .repeat 16, 16, L_0x898e53f20;
L_0x8991c6d00 .concat [ 16 16 0 0], L_0x8991c6c60, L_0x898e60000;
L_0x898e58320 .arith/sum 32, L_0x898855c78, L_0x8991c6d00;
S_0x898e2c480 .scope generate, "GEN_MAC[20]" "GEN_MAC[20]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cf80 .param/l "i" 1 6 17, +C4<010100>;
S_0x898e2c600 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2c480;
 .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_0x89916fcc0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916fd00 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916fd40 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899197d40_0 .net/s *"_ivl_0", 15 0, L_0x8991c6da0;  1 drivers
v0x899197de0_0 .net/s *"_ivl_2", 15 0, L_0x8991c6e40;  1 drivers
v0x899197e80_0 .net *"_ivl_7", 0 0, L_0x898e601e0;  1 drivers
v0x899197f20_0 .net *"_ivl_9", 15 0, L_0x898e60280;  1 drivers
L_0x898855cc0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899198000_0 .net/s "acc_in", 31 0, L_0x898855cc0;  1 drivers
v0x8991980a0_0 .net/s "acc_out", 31 0, L_0x898e583c0;  alias, 1 drivers
v0x899198140_0 .net/s "product", 15 0, L_0x8991c6ee0;  1 drivers
v0x8991981e0_0 .net/s "product_ext", 31 0, L_0x8991c6f80;  1 drivers
v0x899198280_0 .net/s "w", 7 0, L_0x898e603c0;  1 drivers
v0x899198320_0 .net/s "x", 7 0, L_0x898e60320;  1 drivers
L_0x8991c6da0 .extend/s 16, L_0x898e60320;
L_0x8991c6e40 .extend/s 16, L_0x898e603c0;
L_0x8991c6ee0 .arith/mult 16, L_0x8991c6da0, L_0x8991c6e40;
L_0x898e601e0 .part L_0x8991c6ee0, 15, 1;
L_0x898e60280 .repeat 16, 16, L_0x898e601e0;
L_0x8991c6f80 .concat [ 16 16 0 0], L_0x8991c6ee0, L_0x898e60280;
L_0x898e583c0 .arith/sum 32, L_0x898855cc0, L_0x8991c6f80;
S_0x898e2c780 .scope generate, "GEN_MAC[21]" "GEN_MAC[21]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917cfc0 .param/l "i" 1 6 17, +C4<010101>;
S_0x898e2c900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2c780;
 .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_0x89916fd80 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916fdc0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916fe00 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991983c0_0 .net/s *"_ivl_0", 15 0, L_0x8991c7020;  1 drivers
v0x899198460_0 .net/s *"_ivl_2", 15 0, L_0x8991c70c0;  1 drivers
v0x899198500_0 .net *"_ivl_7", 0 0, L_0x898e60460;  1 drivers
v0x8991985a0_0 .net *"_ivl_9", 15 0, L_0x898e60500;  1 drivers
L_0x898855d08 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899198640_0 .net/s "acc_in", 31 0, L_0x898855d08;  1 drivers
v0x8991986e0_0 .net/s "acc_out", 31 0, L_0x898e58460;  alias, 1 drivers
v0x899198780_0 .net/s "product", 15 0, L_0x8991c7160;  1 drivers
v0x899198820_0 .net/s "product_ext", 31 0, L_0x8991c7200;  1 drivers
v0x8991988c0_0 .net/s "w", 7 0, L_0x898e60640;  1 drivers
v0x899198960_0 .net/s "x", 7 0, L_0x898e605a0;  1 drivers
L_0x8991c7020 .extend/s 16, L_0x898e605a0;
L_0x8991c70c0 .extend/s 16, L_0x898e60640;
L_0x8991c7160 .arith/mult 16, L_0x8991c7020, L_0x8991c70c0;
L_0x898e60460 .part L_0x8991c7160, 15, 1;
L_0x898e60500 .repeat 16, 16, L_0x898e60460;
L_0x8991c7200 .concat [ 16 16 0 0], L_0x8991c7160, L_0x898e60500;
L_0x898e58460 .arith/sum 32, L_0x898855d08, L_0x8991c7200;
S_0x898e2ca80 .scope generate, "GEN_MAC[22]" "GEN_MAC[22]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917d000 .param/l "i" 1 6 17, +C4<010110>;
S_0x898e2cc00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2ca80;
 .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_0x89916fe40 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916fe80 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916fec0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899198a00_0 .net/s *"_ivl_0", 15 0, L_0x8991c72a0;  1 drivers
v0x899198aa0_0 .net/s *"_ivl_2", 15 0, L_0x8991c7340;  1 drivers
v0x899198b40_0 .net *"_ivl_7", 0 0, L_0x898e606e0;  1 drivers
v0x899198be0_0 .net *"_ivl_9", 15 0, L_0x898e60780;  1 drivers
L_0x898855d50 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899198c80_0 .net/s "acc_in", 31 0, L_0x898855d50;  1 drivers
v0x899198d20_0 .net/s "acc_out", 31 0, L_0x898e58500;  alias, 1 drivers
v0x899198dc0_0 .net/s "product", 15 0, L_0x8991c73e0;  1 drivers
v0x899198e60_0 .net/s "product_ext", 31 0, L_0x8991c7480;  1 drivers
v0x899198f00_0 .net/s "w", 7 0, L_0x898e608c0;  1 drivers
v0x899198fa0_0 .net/s "x", 7 0, L_0x898e60820;  1 drivers
L_0x8991c72a0 .extend/s 16, L_0x898e60820;
L_0x8991c7340 .extend/s 16, L_0x898e608c0;
L_0x8991c73e0 .arith/mult 16, L_0x8991c72a0, L_0x8991c7340;
L_0x898e606e0 .part L_0x8991c73e0, 15, 1;
L_0x898e60780 .repeat 16, 16, L_0x898e606e0;
L_0x8991c7480 .concat [ 16 16 0 0], L_0x8991c73e0, L_0x898e60780;
L_0x898e58500 .arith/sum 32, L_0x898855d50, L_0x8991c7480;
S_0x898e2cd80 .scope generate, "GEN_MAC[23]" "GEN_MAC[23]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917d040 .param/l "i" 1 6 17, +C4<010111>;
S_0x898e2cf00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2cd80;
 .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_0x89916ff00 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89916ff40 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89916ff80 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899199040_0 .net/s *"_ivl_0", 15 0, L_0x8991c7520;  1 drivers
v0x8991990e0_0 .net/s *"_ivl_2", 15 0, L_0x8991c75c0;  1 drivers
v0x899199180_0 .net *"_ivl_7", 0 0, L_0x898e60960;  1 drivers
v0x899199220_0 .net *"_ivl_9", 15 0, L_0x898e60a00;  1 drivers
L_0x898855d98 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991992c0_0 .net/s "acc_in", 31 0, L_0x898855d98;  1 drivers
v0x899199360_0 .net/s "acc_out", 31 0, L_0x898e585a0;  alias, 1 drivers
v0x899199400_0 .net/s "product", 15 0, L_0x8991c7660;  1 drivers
v0x8991994a0_0 .net/s "product_ext", 31 0, L_0x8991c7700;  1 drivers
v0x899199540_0 .net/s "w", 7 0, L_0x898e60b40;  1 drivers
v0x8991995e0_0 .net/s "x", 7 0, L_0x898e60aa0;  1 drivers
L_0x8991c7520 .extend/s 16, L_0x898e60aa0;
L_0x8991c75c0 .extend/s 16, L_0x898e60b40;
L_0x8991c7660 .arith/mult 16, L_0x8991c7520, L_0x8991c75c0;
L_0x898e60960 .part L_0x8991c7660, 15, 1;
L_0x898e60a00 .repeat 16, 16, L_0x898e60960;
L_0x8991c7700 .concat [ 16 16 0 0], L_0x8991c7660, L_0x898e60a00;
L_0x898e585a0 .arith/sum 32, L_0x898855d98, L_0x8991c7700;
S_0x898e2d080 .scope generate, "GEN_MAC[24]" "GEN_MAC[24]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917d080 .param/l "i" 1 6 17, +C4<011000>;
S_0x898e2d200 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2d080;
 .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_0x89919c000 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919c040 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919c080 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899199680_0 .net/s *"_ivl_0", 15 0, L_0x8991c77a0;  1 drivers
v0x899199720_0 .net/s *"_ivl_2", 15 0, L_0x8991c7840;  1 drivers
v0x8991997c0_0 .net *"_ivl_7", 0 0, L_0x898e60be0;  1 drivers
v0x899199860_0 .net *"_ivl_9", 15 0, L_0x898e60c80;  1 drivers
L_0x898855de0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899199900_0 .net/s "acc_in", 31 0, L_0x898855de0;  1 drivers
v0x8991999a0_0 .net/s "acc_out", 31 0, L_0x898e58640;  alias, 1 drivers
v0x899199a40_0 .net/s "product", 15 0, L_0x8991c78e0;  1 drivers
v0x899199ae0_0 .net/s "product_ext", 31 0, L_0x8991c7980;  1 drivers
v0x899199b80_0 .net/s "w", 7 0, L_0x898e60dc0;  1 drivers
v0x899199c20_0 .net/s "x", 7 0, L_0x898e60d20;  1 drivers
L_0x8991c77a0 .extend/s 16, L_0x898e60d20;
L_0x8991c7840 .extend/s 16, L_0x898e60dc0;
L_0x8991c78e0 .arith/mult 16, L_0x8991c77a0, L_0x8991c7840;
L_0x898e60be0 .part L_0x8991c78e0, 15, 1;
L_0x898e60c80 .repeat 16, 16, L_0x898e60be0;
L_0x8991c7980 .concat [ 16 16 0 0], L_0x8991c78e0, L_0x898e60c80;
L_0x898e58640 .arith/sum 32, L_0x898855de0, L_0x8991c7980;
S_0x898e2d380 .scope generate, "GEN_MAC[25]" "GEN_MAC[25]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917d0c0 .param/l "i" 1 6 17, +C4<011001>;
S_0x898e2d500 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2d380;
 .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_0x89919c0c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919c100 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919c140 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x899199cc0_0 .net/s *"_ivl_0", 15 0, L_0x8991c7a20;  1 drivers
v0x899199d60_0 .net/s *"_ivl_2", 15 0, L_0x8991c7ac0;  1 drivers
v0x899199e00_0 .net *"_ivl_7", 0 0, L_0x898e60e60;  1 drivers
v0x899199ea0_0 .net *"_ivl_9", 15 0, L_0x898e60f00;  1 drivers
L_0x898855e28 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x899199f40_0 .net/s "acc_in", 31 0, L_0x898855e28;  1 drivers
v0x899199fe0_0 .net/s "acc_out", 31 0, L_0x898e586e0;  alias, 1 drivers
v0x89919a080_0 .net/s "product", 15 0, L_0x8991c7b60;  1 drivers
v0x89919a120_0 .net/s "product_ext", 31 0, L_0x8991c7c00;  1 drivers
v0x89919a1c0_0 .net/s "w", 7 0, L_0x898e61040;  1 drivers
v0x89919a260_0 .net/s "x", 7 0, L_0x898e60fa0;  1 drivers
L_0x8991c7a20 .extend/s 16, L_0x898e60fa0;
L_0x8991c7ac0 .extend/s 16, L_0x898e61040;
L_0x8991c7b60 .arith/mult 16, L_0x8991c7a20, L_0x8991c7ac0;
L_0x898e60e60 .part L_0x8991c7b60, 15, 1;
L_0x898e60f00 .repeat 16, 16, L_0x898e60e60;
L_0x8991c7c00 .concat [ 16 16 0 0], L_0x8991c7b60, L_0x898e60f00;
L_0x898e586e0 .arith/sum 32, L_0x898855e28, L_0x8991c7c00;
S_0x898e2d680 .scope generate, "GEN_MAC[26]" "GEN_MAC[26]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917d100 .param/l "i" 1 6 17, +C4<011010>;
S_0x898e2d800 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2d680;
 .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_0x89919c180 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919c1c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919c200 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89919a300_0 .net/s *"_ivl_0", 15 0, L_0x8991c7ca0;  1 drivers
v0x89919a3a0_0 .net/s *"_ivl_2", 15 0, L_0x8991c7d40;  1 drivers
v0x89919a440_0 .net *"_ivl_7", 0 0, L_0x898e610e0;  1 drivers
v0x89919a4e0_0 .net *"_ivl_9", 15 0, L_0x898e61180;  1 drivers
L_0x898855e70 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89919a580_0 .net/s "acc_in", 31 0, L_0x898855e70;  1 drivers
v0x89919a620_0 .net/s "acc_out", 31 0, L_0x898e58780;  alias, 1 drivers
v0x89919a6c0_0 .net/s "product", 15 0, L_0x8991c7de0;  1 drivers
v0x89919a760_0 .net/s "product_ext", 31 0, L_0x8991c7e80;  1 drivers
v0x89919a800_0 .net/s "w", 7 0, L_0x898e612c0;  1 drivers
v0x89919a8a0_0 .net/s "x", 7 0, L_0x898e61220;  1 drivers
L_0x8991c7ca0 .extend/s 16, L_0x898e61220;
L_0x8991c7d40 .extend/s 16, L_0x898e612c0;
L_0x8991c7de0 .arith/mult 16, L_0x8991c7ca0, L_0x8991c7d40;
L_0x898e610e0 .part L_0x8991c7de0, 15, 1;
L_0x898e61180 .repeat 16, 16, L_0x898e610e0;
L_0x8991c7e80 .concat [ 16 16 0 0], L_0x8991c7de0, L_0x898e61180;
L_0x898e58780 .arith/sum 32, L_0x898855e70, L_0x8991c7e80;
S_0x898e2d980 .scope generate, "GEN_MAC[27]" "GEN_MAC[27]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917d140 .param/l "i" 1 6 17, +C4<011011>;
S_0x898e2db00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2d980;
 .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_0x89919c240 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919c280 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919c2c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89919a940_0 .net/s *"_ivl_0", 15 0, L_0x8991c7f20;  1 drivers
v0x89919a9e0_0 .net/s *"_ivl_2", 15 0, L_0x8991c8000;  1 drivers
v0x89919aa80_0 .net *"_ivl_7", 0 0, L_0x898e61360;  1 drivers
v0x89919ab20_0 .net *"_ivl_9", 15 0, L_0x898e61400;  1 drivers
L_0x898855eb8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89919abc0_0 .net/s "acc_in", 31 0, L_0x898855eb8;  1 drivers
v0x89919ac60_0 .net/s "acc_out", 31 0, L_0x898e58820;  alias, 1 drivers
v0x89919ad00_0 .net/s "product", 15 0, L_0x8991c80a0;  1 drivers
v0x89919ada0_0 .net/s "product_ext", 31 0, L_0x8991c8140;  1 drivers
v0x89919ae40_0 .net/s "w", 7 0, L_0x898e61540;  1 drivers
v0x89919aee0_0 .net/s "x", 7 0, L_0x898e614a0;  1 drivers
L_0x8991c7f20 .extend/s 16, L_0x898e614a0;
L_0x8991c8000 .extend/s 16, L_0x898e61540;
L_0x8991c80a0 .arith/mult 16, L_0x8991c7f20, L_0x8991c8000;
L_0x898e61360 .part L_0x8991c80a0, 15, 1;
L_0x898e61400 .repeat 16, 16, L_0x898e61360;
L_0x8991c8140 .concat [ 16 16 0 0], L_0x8991c80a0, L_0x898e61400;
L_0x898e58820 .arith/sum 32, L_0x898855eb8, L_0x8991c8140;
S_0x898e2dc80 .scope generate, "GEN_MAC[28]" "GEN_MAC[28]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917d180 .param/l "i" 1 6 17, +C4<011100>;
S_0x898e2de00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2dc80;
 .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_0x89919c300 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919c340 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919c380 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89919af80_0 .net/s *"_ivl_0", 15 0, L_0x8991c81e0;  1 drivers
v0x89919b020_0 .net/s *"_ivl_2", 15 0, L_0x8991c8280;  1 drivers
v0x89919b0c0_0 .net *"_ivl_7", 0 0, L_0x898e615e0;  1 drivers
v0x89919b160_0 .net *"_ivl_9", 15 0, L_0x898e61680;  1 drivers
L_0x898855f00 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89919b200_0 .net/s "acc_in", 31 0, L_0x898855f00;  1 drivers
v0x89919b2a0_0 .net/s "acc_out", 31 0, L_0x898e588c0;  alias, 1 drivers
v0x89919b340_0 .net/s "product", 15 0, L_0x8991c8320;  1 drivers
v0x89919b3e0_0 .net/s "product_ext", 31 0, L_0x8991c83c0;  1 drivers
v0x89919b480_0 .net/s "w", 7 0, L_0x898e617c0;  1 drivers
v0x89919b520_0 .net/s "x", 7 0, L_0x898e61720;  1 drivers
L_0x8991c81e0 .extend/s 16, L_0x898e61720;
L_0x8991c8280 .extend/s 16, L_0x898e617c0;
L_0x8991c8320 .arith/mult 16, L_0x8991c81e0, L_0x8991c8280;
L_0x898e615e0 .part L_0x8991c8320, 15, 1;
L_0x898e61680 .repeat 16, 16, L_0x898e615e0;
L_0x8991c83c0 .concat [ 16 16 0 0], L_0x8991c8320, L_0x898e61680;
L_0x898e588c0 .arith/sum 32, L_0x898855f00, L_0x8991c83c0;
S_0x898e2df80 .scope generate, "GEN_MAC[29]" "GEN_MAC[29]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917d1c0 .param/l "i" 1 6 17, +C4<011101>;
S_0x898e2e100 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2df80;
 .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_0x89919c3c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919c400 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919c440 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89919b5c0_0 .net/s *"_ivl_0", 15 0, L_0x8991c8460;  1 drivers
v0x89919b660_0 .net/s *"_ivl_2", 15 0, L_0x8991c8500;  1 drivers
v0x89919b700_0 .net *"_ivl_7", 0 0, L_0x898e61860;  1 drivers
v0x89919b7a0_0 .net *"_ivl_9", 15 0, L_0x898e61900;  1 drivers
L_0x898855f48 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89919b840_0 .net/s "acc_in", 31 0, L_0x898855f48;  1 drivers
v0x89919b8e0_0 .net/s "acc_out", 31 0, L_0x898e58960;  alias, 1 drivers
v0x89919b980_0 .net/s "product", 15 0, L_0x8991c85a0;  1 drivers
v0x89919ba20_0 .net/s "product_ext", 31 0, L_0x8991c8640;  1 drivers
v0x89919bac0_0 .net/s "w", 7 0, L_0x898e61a40;  1 drivers
v0x89919bb60_0 .net/s "x", 7 0, L_0x898e619a0;  1 drivers
L_0x8991c8460 .extend/s 16, L_0x898e619a0;
L_0x8991c8500 .extend/s 16, L_0x898e61a40;
L_0x8991c85a0 .arith/mult 16, L_0x8991c8460, L_0x8991c8500;
L_0x898e61860 .part L_0x8991c85a0, 15, 1;
L_0x898e61900 .repeat 16, 16, L_0x898e61860;
L_0x8991c8640 .concat [ 16 16 0 0], L_0x8991c85a0, L_0x898e61900;
L_0x898e58960 .arith/sum 32, L_0x898855f48, L_0x8991c8640;
S_0x898e2e280 .scope generate, "GEN_MAC[30]" "GEN_MAC[30]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917d200 .param/l "i" 1 6 17, +C4<011110>;
S_0x898e2e400 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2e280;
 .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_0x89919c480 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919c4c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919c500 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x89919bc00_0 .net/s *"_ivl_0", 15 0, L_0x8991c86e0;  1 drivers
v0x89919bca0_0 .net/s *"_ivl_2", 15 0, L_0x8991c8780;  1 drivers
v0x89919bd40_0 .net *"_ivl_7", 0 0, L_0x898e61ae0;  1 drivers
v0x89919bde0_0 .net *"_ivl_9", 15 0, L_0x898e61b80;  1 drivers
L_0x898855f90 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x89919be80_0 .net/s "acc_in", 31 0, L_0x898855f90;  1 drivers
v0x89919bf20_0 .net/s "acc_out", 31 0, L_0x898e58a00;  alias, 1 drivers
v0x8991a4000_0 .net/s "product", 15 0, L_0x8991c8820;  1 drivers
v0x8991a40a0_0 .net/s "product_ext", 31 0, L_0x8991c88c0;  1 drivers
v0x8991a4140_0 .net/s "w", 7 0, L_0x898e61cc0;  1 drivers
v0x8991a41e0_0 .net/s "x", 7 0, L_0x898e61c20;  1 drivers
L_0x8991c86e0 .extend/s 16, L_0x898e61c20;
L_0x8991c8780 .extend/s 16, L_0x898e61cc0;
L_0x8991c8820 .arith/mult 16, L_0x8991c86e0, L_0x8991c8780;
L_0x898e61ae0 .part L_0x8991c8820, 15, 1;
L_0x898e61b80 .repeat 16, 16, L_0x898e61ae0;
L_0x8991c88c0 .concat [ 16 16 0 0], L_0x8991c8820, L_0x898e61b80;
L_0x898e58a00 .arith/sum 32, L_0x898855f90, L_0x8991c88c0;
S_0x898e2e580 .scope generate, "GEN_MAC[31]" "GEN_MAC[31]" 6 17, 6 17 0, S_0x898e24600;
 .timescale 0 0;
P_0x89917d240 .param/l "i" 1 6 17, +C4<011111>;
S_0x898e2e700 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2e580;
 .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_0x89919c540 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919c580 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919c5c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991a4280_0 .net/s *"_ivl_0", 15 0, L_0x8991c8960;  1 drivers
v0x8991a4320_0 .net/s *"_ivl_2", 15 0, L_0x8991c8a00;  1 drivers
v0x8991a43c0_0 .net *"_ivl_7", 0 0, L_0x898e61d60;  1 drivers
v0x8991a4460_0 .net *"_ivl_9", 15 0, L_0x898e61e00;  1 drivers
L_0x898855fd8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a4500_0 .net/s "acc_in", 31 0, L_0x898855fd8;  1 drivers
v0x8991a45a0_0 .net/s "acc_out", 31 0, L_0x898e58aa0;  alias, 1 drivers
v0x8991a4640_0 .net/s "product", 15 0, L_0x8991c8aa0;  1 drivers
v0x8991a46e0_0 .net/s "product_ext", 31 0, L_0x8991c8b40;  1 drivers
v0x8991a4780_0 .net/s "w", 7 0, L_0x898e61f40;  1 drivers
v0x8991a4820_0 .net/s "x", 7 0, L_0x898e61ea0;  1 drivers
L_0x8991c8960 .extend/s 16, L_0x898e61ea0;
L_0x8991c8a00 .extend/s 16, L_0x898e61f40;
L_0x8991c8aa0 .arith/mult 16, L_0x8991c8960, L_0x8991c8a00;
L_0x898e61d60 .part L_0x8991c8aa0, 15, 1;
L_0x898e61e00 .repeat 16, 16, L_0x898e61d60;
L_0x8991c8b40 .concat [ 16 16 0 0], L_0x8991c8aa0, L_0x898e61e00;
L_0x898e58aa0 .arith/sum 32, L_0x898855fd8, L_0x8991c8b40;
S_0x898e2e880 .scope generate, "GEN_NEURON[3]" "GEN_NEURON[3]" 4 34, 4 34 0, S_0x100d3aa50;
 .timescale 0 0;
P_0x89917d280 .param/l "n" 1 4 34, +C4<011>;
S_0x898e2ea00 .scope module, "u_neuron" "neuron_parallel" 4 41, 5 1 0, S_0x898e2e880;
 .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 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_0x898e2eb80 .param/l "ACC_WIDTH" 0 5 5, +C4<00000000000000000000000000100000>;
P_0x898e2ebc0 .param/l "DATA_WIDTH" 0 5 2, +C4<00000000000000000000000000001000>;
P_0x898e2ec00 .param/l "GROUPS" 1 5 20, +C4<00000000000000000000000000000001>;
P_0x898e2ec40 .param/l "GROUP_INDEX_WIDTH" 1 5 21, +C4<00000000000000000000000000000001>;
P_0x898e2ec80 .param/l "N_INPUTS" 0 5 3, +C4<00000000000000000000000000100000>;
P_0x898e2ecc0 .param/l "PARALLEL" 0 5 4, +C4<00000000000000000000000000100000>;
v0x8991b6d00_0 .net *"_ivl_0", 31 0, L_0x8991c8c80;  1 drivers
v0x8991b6da0_0 .net *"_ivl_11", 31 0, L_0x8991c8dc0;  1 drivers
v0x8991b6e40_0 .net *"_ivl_14", 31 0, L_0x8991c8e60;  1 drivers
L_0x8988560f8 .functor BUFT 1, C4<0000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991b6ee0_0 .net *"_ivl_17", 30 0, L_0x8988560f8;  1 drivers
L_0x898856140 .functor BUFT 1, C4<00000000000000000000000000100000>, C4<0>, C4<0>, C4<0>;
v0x8991b6f80_0 .net/2u *"_ivl_18", 31 0, L_0x898856140;  1 drivers
v0x8991b7020_0 .net *"_ivl_21", 31 0, L_0x8991c8f00;  1 drivers
L_0x898856188 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x8991b70c0_0 .net/2u *"_ivl_22", 31 0, L_0x898856188;  1 drivers
v0x8991b7160_0 .net *"_ivl_25", 31 0, L_0x8991c8fa0;  1 drivers
v0x8991b7200_0 .net *"_ivl_29", 0 0, L_0x898e6f3e0;  1 drivers
L_0x898856020 .functor BUFT 1, C4<0000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991b72a0_0 .net *"_ivl_3", 30 0, L_0x898856020;  1 drivers
v0x8991b7340_0 .net *"_ivl_31", 23 0, L_0x898e6f480;  1 drivers
L_0x898856068 .functor BUFT 1, C4<00000000000000000000000000100000>, C4<0>, C4<0>, C4<0>;
v0x8991b73e0_0 .net/2u *"_ivl_4", 31 0, L_0x898856068;  1 drivers
v0x8991b7480_0 .net *"_ivl_7", 31 0, L_0x8991c8d20;  1 drivers
L_0x8988560b0 .functor BUFT 1, C4<00000000000000000000000000001000>, C4<0>, C4<0>, C4<0>;
v0x8991b7520_0 .net/2u *"_ivl_8", 31 0, L_0x8988560b0;  1 drivers
v0x8991b75c0_0 .var/s "acc", 31 0;
v0x8991b7660_0 .net/s "acc_next", 31 0, L_0x898e5a080;  1 drivers
v0x8991b7700_0 .net/s "bias", 7 0, L_0x898e6f5c0;  1 drivers
v0x8991b77a0_0 .net/s "bias_ext", 31 0, L_0x8991ce080;  1 drivers
v0x8991b7840_0 .var "busy", 0 0;
v0x8991b78e0_0 .net "clk", 0 0, v0x8991b8820_0;  alias, 1 drivers
v0x8991b7980_0 .var "done", 0 0;
v0x8991b7a20_0 .net/s "final_acc", 31 0, L_0x898e5a120;  1 drivers
v0x8991b7ac0_0 .var "group_index", 0 0;
v0x8991b7b60_0 .net "rst", 0 0, v0x8991b8b40_0;  alias, 1 drivers
v0x8991b7c00_0 .net "start", 0 0, v0x8991b8be0_0;  alias, 1 drivers
v0x8991b7ca0_0 .net/s "w_bus", 255 0, L_0x898e6f520;  1 drivers
v0x8991b7d40_0 .net/s "w_group", 255 0, L_0x898e62300;  1 drivers
v0x8991b7de0_0 .net/s "x_bus", 255 0, v0x8991b8d20_0;  alias, 1 drivers
v0x8991b7e80_0 .net/s "x_group", 255 0, L_0x898e62260;  1 drivers
v0x8991b7f20_0 .var/s "y", 7 0;
L_0x8991c8c80 .concat [ 1 31 0 0], v0x8991b7ac0_0, L_0x898856020;
L_0x8991c8d20 .arith/mult 32, L_0x8991c8c80, L_0x898856068;
L_0x8991c8dc0 .arith/mult 32, L_0x8991c8d20, L_0x8988560b0;
L_0x898e62260 .part/v v0x8991b8d20_0, L_0x8991c8dc0, 256;
L_0x8991c8e60 .concat [ 1 31 0 0], v0x8991b7ac0_0, L_0x8988560f8;
L_0x8991c8f00 .arith/mult 32, L_0x8991c8e60, L_0x898856140;
L_0x8991c8fa0 .arith/mult 32, L_0x8991c8f00, L_0x898856188;
L_0x898e62300 .part/v L_0x898e6f520, L_0x8991c8fa0, 256;
L_0x898e6f3e0 .part L_0x898e6f5c0, 7, 1;
L_0x898e6f480 .repeat 24, 24, L_0x898e6f3e0;
L_0x8991ce080 .concat [ 8 24 0 0], L_0x898e6f5c0, L_0x898e6f480;
L_0x898e5a120 .arith/sum 32, L_0x898e5a080, L_0x8991ce080;
S_0x898e2ed00 .scope module, "u_mac8" "mac8" 5 52, 6 1 0, S_0x898e2ea00;
 .timescale 0 0;
    .port_info 0 /INPUT 256 "x_bus";
    .port_info 1 /INPUT 256 "w_bus";
    .port_info 2 /INPUT 32 "acc_in";
    .port_info 3 /OUTPUT 32 "acc_out";
P_0x89919c600 .param/l "ACC_WIDTH" 0 6 3, +C4<00000000000000000000000000100000>;
P_0x89919c640 .param/l "DATA_WIDTH" 0 6 2, +C4<00000000000000000000000000001000>;
P_0x89919c680 .param/l "PARALLEL" 0 6 4, +C4<00000000000000000000000000100000>;
v0x8991b68a0_0 .net/s "acc_in", 31 0, v0x8991b75c0_0;  1 drivers
v0x8991b6940_0 .net/s "acc_out", 31 0, L_0x898e5a080;  alias, 1 drivers
v0x8991b69e0_0 .var/i "j", 31 0;
v0x8991b6a80 .array "products", 31 0;
v0x8991b6a80_0 .net/s v0x8991b6a80 0, 31 0, L_0x898e58c80; 1 drivers
v0x8991b6a80_1 .net/s v0x8991b6a80 1, 31 0, L_0x898e58d20; 1 drivers
v0x8991b6a80_2 .net/s v0x8991b6a80 2, 31 0, L_0x898e58dc0; 1 drivers
v0x8991b6a80_3 .net/s v0x8991b6a80 3, 31 0, L_0x898e58e60; 1 drivers
v0x8991b6a80_4 .net/s v0x8991b6a80 4, 31 0, L_0x898e58f00; 1 drivers
v0x8991b6a80_5 .net/s v0x8991b6a80 5, 31 0, L_0x898e58fa0; 1 drivers
v0x8991b6a80_6 .net/s v0x8991b6a80 6, 31 0, L_0x898e59040; 1 drivers
v0x8991b6a80_7 .net/s v0x8991b6a80 7, 31 0, L_0x898e590e0; 1 drivers
v0x8991b6a80_8 .net/s v0x8991b6a80 8, 31 0, L_0x898e59180; 1 drivers
v0x8991b6a80_9 .net/s v0x8991b6a80 9, 31 0, L_0x898e59220; 1 drivers
v0x8991b6a80_10 .net/s v0x8991b6a80 10, 31 0, L_0x898e592c0; 1 drivers
v0x8991b6a80_11 .net/s v0x8991b6a80 11, 31 0, L_0x898e59360; 1 drivers
v0x8991b6a80_12 .net/s v0x8991b6a80 12, 31 0, L_0x898e59400; 1 drivers
v0x8991b6a80_13 .net/s v0x8991b6a80 13, 31 0, L_0x898e594a0; 1 drivers
v0x8991b6a80_14 .net/s v0x8991b6a80 14, 31 0, L_0x898e59540; 1 drivers
v0x8991b6a80_15 .net/s v0x8991b6a80 15, 31 0, L_0x898e595e0; 1 drivers
v0x8991b6a80_16 .net/s v0x8991b6a80 16, 31 0, L_0x898e59680; 1 drivers
v0x8991b6a80_17 .net/s v0x8991b6a80 17, 31 0, L_0x898e59720; 1 drivers
v0x8991b6a80_18 .net/s v0x8991b6a80 18, 31 0, L_0x898e597c0; 1 drivers
v0x8991b6a80_19 .net/s v0x8991b6a80 19, 31 0, L_0x898e59860; 1 drivers
v0x8991b6a80_20 .net/s v0x8991b6a80 20, 31 0, L_0x898e59900; 1 drivers
v0x8991b6a80_21 .net/s v0x8991b6a80 21, 31 0, L_0x898e599a0; 1 drivers
v0x8991b6a80_22 .net/s v0x8991b6a80 22, 31 0, L_0x898e59a40; 1 drivers
v0x8991b6a80_23 .net/s v0x8991b6a80 23, 31 0, L_0x898e59ae0; 1 drivers
v0x8991b6a80_24 .net/s v0x8991b6a80 24, 31 0, L_0x898e59b80; 1 drivers
v0x8991b6a80_25 .net/s v0x8991b6a80 25, 31 0, L_0x898e59c20; 1 drivers
v0x8991b6a80_26 .net/s v0x8991b6a80 26, 31 0, L_0x898e59cc0; 1 drivers
v0x8991b6a80_27 .net/s v0x8991b6a80 27, 31 0, L_0x898e59d60; 1 drivers
v0x8991b6a80_28 .net/s v0x8991b6a80 28, 31 0, L_0x898e59e00; 1 drivers
v0x8991b6a80_29 .net/s v0x8991b6a80 29, 31 0, L_0x898e59ea0; 1 drivers
v0x8991b6a80_30 .net/s v0x8991b6a80 30, 31 0, L_0x898e59f40; 1 drivers
v0x8991b6a80_31 .net/s v0x8991b6a80 31, 31 0, L_0x898e59fe0; 1 drivers
v0x8991b6b20_0 .var/s "sum", 31 0;
v0x8991b6bc0_0 .net/s "w_bus", 255 0, L_0x898e62300;  alias, 1 drivers
v0x8991b6c60_0 .net/s "x_bus", 255 0, L_0x898e62260;  alias, 1 drivers
E_0x898e098c0/0 .event anyedge, v0x8991b6b20_0, v0x8991a6300_0, v0x8991a6940_0, v0x8991a6f80_0;
E_0x898e098c0/1 .event anyedge, v0x8991a75c0_0, v0x8991a7c00_0, v0x8991a8280_0, v0x8991a88c0_0;
E_0x898e098c0/2 .event anyedge, v0x8991a8f00_0, v0x8991a9540_0, v0x8991a9b80_0, v0x8991aa1c0_0;
E_0x898e098c0/3 .event anyedge, v0x8991aa800_0, v0x8991aae40_0, v0x8991ab480_0, v0x8991abac0_0;
E_0x898e098c0/4 .event anyedge, v0x8991ac140_0, v0x8991ac780_0, v0x8991acdc0_0, v0x8991ad400_0;
E_0x898e098c0/5 .event anyedge, v0x8991ada40_0, v0x8991ae080_0, v0x8991ae6c0_0, v0x8991aed00_0;
E_0x898e098c0/6 .event anyedge, v0x8991af340_0, v0x8991af980_0, v0x8991b4000_0, v0x8991b4640_0;
E_0x898e098c0/7 .event anyedge, v0x8991b4c80_0, v0x8991b52c0_0, v0x8991b5900_0, v0x8991b5f40_0;
E_0x898e098c0/8 .event anyedge, v0x8991b6580_0;
E_0x898e098c0 .event/or E_0x898e098c0/0, E_0x898e098c0/1, E_0x898e098c0/2, E_0x898e098c0/3, E_0x898e098c0/4, E_0x898e098c0/5, E_0x898e098c0/6, E_0x898e098c0/7, E_0x898e098c0/8;
L_0x898e624e0 .part L_0x898e62260, 0, 8;
L_0x898e62580 .part L_0x898e62300, 0, 8;
L_0x898e62760 .part L_0x898e62260, 8, 8;
L_0x898e62800 .part L_0x898e62300, 8, 8;
L_0x898e629e0 .part L_0x898e62260, 16, 8;
L_0x898e62a80 .part L_0x898e62300, 16, 8;
L_0x898e62c60 .part L_0x898e62260, 24, 8;
L_0x898e62d00 .part L_0x898e62300, 24, 8;
L_0x898e62ee0 .part L_0x898e62260, 32, 8;
L_0x898e62f80 .part L_0x898e62300, 32, 8;
L_0x898e63160 .part L_0x898e62260, 40, 8;
L_0x898e63200 .part L_0x898e62300, 40, 8;
L_0x898e633e0 .part L_0x898e62260, 48, 8;
L_0x898e63480 .part L_0x898e62300, 48, 8;
L_0x898e63660 .part L_0x898e62260, 56, 8;
L_0x898e63700 .part L_0x898e62300, 56, 8;
L_0x898e638e0 .part L_0x898e62260, 64, 8;
L_0x898e63a20 .part L_0x898e62300, 64, 8;
L_0x898e63c00 .part L_0x898e62260, 72, 8;
L_0x898e63ca0 .part L_0x898e62300, 72, 8;
L_0x898e63e80 .part L_0x898e62260, 80, 8;
L_0x898e63980 .part L_0x898e62300, 80, 8;
L_0x898e6c0a0 .part L_0x898e62260, 88, 8;
L_0x898e6c140 .part L_0x898e62300, 88, 8;
L_0x898e6c320 .part L_0x898e62260, 96, 8;
L_0x898e6c3c0 .part L_0x898e62300, 96, 8;
L_0x898e6c5a0 .part L_0x898e62260, 104, 8;
L_0x898e6c640 .part L_0x898e62300, 104, 8;
L_0x898e6c820 .part L_0x898e62260, 112, 8;
L_0x898e6c8c0 .part L_0x898e62300, 112, 8;
L_0x898e6caa0 .part L_0x898e62260, 120, 8;
L_0x898e6cb40 .part L_0x898e62300, 120, 8;
L_0x898e6cd20 .part L_0x898e62260, 128, 8;
L_0x898e6cdc0 .part L_0x898e62300, 128, 8;
L_0x898e6cfa0 .part L_0x898e62260, 136, 8;
L_0x898e6d040 .part L_0x898e62300, 136, 8;
L_0x898e6d220 .part L_0x898e62260, 144, 8;
L_0x898e6d2c0 .part L_0x898e62300, 144, 8;
L_0x898e6d4a0 .part L_0x898e62260, 152, 8;
L_0x898e6d540 .part L_0x898e62300, 152, 8;
L_0x898e6d720 .part L_0x898e62260, 160, 8;
L_0x898e6d7c0 .part L_0x898e62300, 160, 8;
L_0x898e6d9a0 .part L_0x898e62260, 168, 8;
L_0x898e6da40 .part L_0x898e62300, 168, 8;
L_0x898e6dc20 .part L_0x898e62260, 176, 8;
L_0x898e6dcc0 .part L_0x898e62300, 176, 8;
L_0x898e6dea0 .part L_0x898e62260, 184, 8;
L_0x898e6df40 .part L_0x898e62300, 184, 8;
L_0x898e6e120 .part L_0x898e62260, 192, 8;
L_0x898e6e1c0 .part L_0x898e62300, 192, 8;
L_0x898e6e3a0 .part L_0x898e62260, 200, 8;
L_0x898e6e440 .part L_0x898e62300, 200, 8;
L_0x898e6e620 .part L_0x898e62260, 208, 8;
L_0x898e6e6c0 .part L_0x898e62300, 208, 8;
L_0x898e6e8a0 .part L_0x898e62260, 216, 8;
L_0x898e6e940 .part L_0x898e62300, 216, 8;
L_0x898e6eb20 .part L_0x898e62260, 224, 8;
L_0x898e6ebc0 .part L_0x898e62300, 224, 8;
L_0x898e6eda0 .part L_0x898e62260, 232, 8;
L_0x898e6ee40 .part L_0x898e62300, 232, 8;
L_0x898e6f020 .part L_0x898e62260, 240, 8;
L_0x898e6f0c0 .part L_0x898e62300, 240, 8;
L_0x898e6f2a0 .part L_0x898e62260, 248, 8;
L_0x898e6f340 .part L_0x898e62300, 248, 8;
L_0x898e5a080 .arith/sum 32, v0x8991b75c0_0, v0x8991b6b20_0;
S_0x898e2ee80 .scope generate, "GEN_MAC[0]" "GEN_MAC[0]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d2c0 .param/l "i" 1 6 17, +C4<00>;
S_0x898e2f000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2ee80;
 .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_0x89919c6c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919c700 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919c740 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991a5fe0_0 .net/s *"_ivl_0", 15 0, L_0x8991c9040;  1 drivers
v0x8991a6080_0 .net/s *"_ivl_2", 15 0, L_0x8991c90e0;  1 drivers
v0x8991a6120_0 .net *"_ivl_7", 0 0, L_0x898e623a0;  1 drivers
v0x8991a61c0_0 .net *"_ivl_9", 15 0, L_0x898e62440;  1 drivers
L_0x8988561d0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a6260_0 .net/s "acc_in", 31 0, L_0x8988561d0;  1 drivers
v0x8991a6300_0 .net/s "acc_out", 31 0, L_0x898e58c80;  alias, 1 drivers
v0x8991a63a0_0 .net/s "product", 15 0, L_0x8991c9180;  1 drivers
v0x8991a6440_0 .net/s "product_ext", 31 0, L_0x8991c9220;  1 drivers
v0x8991a64e0_0 .net/s "w", 7 0, L_0x898e62580;  1 drivers
v0x8991a6580_0 .net/s "x", 7 0, L_0x898e624e0;  1 drivers
L_0x8991c9040 .extend/s 16, L_0x898e624e0;
L_0x8991c90e0 .extend/s 16, L_0x898e62580;
L_0x8991c9180 .arith/mult 16, L_0x8991c9040, L_0x8991c90e0;
L_0x898e623a0 .part L_0x8991c9180, 15, 1;
L_0x898e62440 .repeat 16, 16, L_0x898e623a0;
L_0x8991c9220 .concat [ 16 16 0 0], L_0x8991c9180, L_0x898e62440;
L_0x898e58c80 .arith/sum 32, L_0x8988561d0, L_0x8991c9220;
S_0x898e2f180 .scope generate, "GEN_MAC[1]" "GEN_MAC[1]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d300 .param/l "i" 1 6 17, +C4<01>;
S_0x898e2f300 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2f180;
 .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_0x89919c780 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919c7c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919c800 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991a6620_0 .net/s *"_ivl_0", 15 0, L_0x8991c92c0;  1 drivers
v0x8991a66c0_0 .net/s *"_ivl_2", 15 0, L_0x8991c9360;  1 drivers
v0x8991a6760_0 .net *"_ivl_7", 0 0, L_0x898e62620;  1 drivers
v0x8991a6800_0 .net *"_ivl_9", 15 0, L_0x898e626c0;  1 drivers
L_0x898856218 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a68a0_0 .net/s "acc_in", 31 0, L_0x898856218;  1 drivers
v0x8991a6940_0 .net/s "acc_out", 31 0, L_0x898e58d20;  alias, 1 drivers
v0x8991a69e0_0 .net/s "product", 15 0, L_0x8991c9400;  1 drivers
v0x8991a6a80_0 .net/s "product_ext", 31 0, L_0x8991c94a0;  1 drivers
v0x8991a6b20_0 .net/s "w", 7 0, L_0x898e62800;  1 drivers
v0x8991a6bc0_0 .net/s "x", 7 0, L_0x898e62760;  1 drivers
L_0x8991c92c0 .extend/s 16, L_0x898e62760;
L_0x8991c9360 .extend/s 16, L_0x898e62800;
L_0x8991c9400 .arith/mult 16, L_0x8991c92c0, L_0x8991c9360;
L_0x898e62620 .part L_0x8991c9400, 15, 1;
L_0x898e626c0 .repeat 16, 16, L_0x898e62620;
L_0x8991c94a0 .concat [ 16 16 0 0], L_0x8991c9400, L_0x898e626c0;
L_0x898e58d20 .arith/sum 32, L_0x898856218, L_0x8991c94a0;
S_0x898e2f480 .scope generate, "GEN_MAC[2]" "GEN_MAC[2]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d340 .param/l "i" 1 6 17, +C4<010>;
S_0x898e2f600 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2f480;
 .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_0x89919c840 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919c880 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919c8c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991a6c60_0 .net/s *"_ivl_0", 15 0, L_0x8991c9540;  1 drivers
v0x8991a6d00_0 .net/s *"_ivl_2", 15 0, L_0x8991c95e0;  1 drivers
v0x8991a6da0_0 .net *"_ivl_7", 0 0, L_0x898e628a0;  1 drivers
v0x8991a6e40_0 .net *"_ivl_9", 15 0, L_0x898e62940;  1 drivers
L_0x898856260 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a6ee0_0 .net/s "acc_in", 31 0, L_0x898856260;  1 drivers
v0x8991a6f80_0 .net/s "acc_out", 31 0, L_0x898e58dc0;  alias, 1 drivers
v0x8991a7020_0 .net/s "product", 15 0, L_0x8991c9680;  1 drivers
v0x8991a70c0_0 .net/s "product_ext", 31 0, L_0x8991c9720;  1 drivers
v0x8991a7160_0 .net/s "w", 7 0, L_0x898e62a80;  1 drivers
v0x8991a7200_0 .net/s "x", 7 0, L_0x898e629e0;  1 drivers
L_0x8991c9540 .extend/s 16, L_0x898e629e0;
L_0x8991c95e0 .extend/s 16, L_0x898e62a80;
L_0x8991c9680 .arith/mult 16, L_0x8991c9540, L_0x8991c95e0;
L_0x898e628a0 .part L_0x8991c9680, 15, 1;
L_0x898e62940 .repeat 16, 16, L_0x898e628a0;
L_0x8991c9720 .concat [ 16 16 0 0], L_0x8991c9680, L_0x898e62940;
L_0x898e58dc0 .arith/sum 32, L_0x898856260, L_0x8991c9720;
S_0x898e2f780 .scope generate, "GEN_MAC[3]" "GEN_MAC[3]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d380 .param/l "i" 1 6 17, +C4<011>;
S_0x898e2f900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2f780;
 .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_0x89919c900 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919c940 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919c980 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991a72a0_0 .net/s *"_ivl_0", 15 0, L_0x8991c97c0;  1 drivers
v0x8991a7340_0 .net/s *"_ivl_2", 15 0, L_0x8991c9860;  1 drivers
v0x8991a73e0_0 .net *"_ivl_7", 0 0, L_0x898e62b20;  1 drivers
v0x8991a7480_0 .net *"_ivl_9", 15 0, L_0x898e62bc0;  1 drivers
L_0x8988562a8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a7520_0 .net/s "acc_in", 31 0, L_0x8988562a8;  1 drivers
v0x8991a75c0_0 .net/s "acc_out", 31 0, L_0x898e58e60;  alias, 1 drivers
v0x8991a7660_0 .net/s "product", 15 0, L_0x8991c9900;  1 drivers
v0x8991a7700_0 .net/s "product_ext", 31 0, L_0x8991c99a0;  1 drivers
v0x8991a77a0_0 .net/s "w", 7 0, L_0x898e62d00;  1 drivers
v0x8991a7840_0 .net/s "x", 7 0, L_0x898e62c60;  1 drivers
L_0x8991c97c0 .extend/s 16, L_0x898e62c60;
L_0x8991c9860 .extend/s 16, L_0x898e62d00;
L_0x8991c9900 .arith/mult 16, L_0x8991c97c0, L_0x8991c9860;
L_0x898e62b20 .part L_0x8991c9900, 15, 1;
L_0x898e62bc0 .repeat 16, 16, L_0x898e62b20;
L_0x8991c99a0 .concat [ 16 16 0 0], L_0x8991c9900, L_0x898e62bc0;
L_0x898e58e60 .arith/sum 32, L_0x8988562a8, L_0x8991c99a0;
S_0x898e2fa80 .scope generate, "GEN_MAC[4]" "GEN_MAC[4]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d3c0 .param/l "i" 1 6 17, +C4<0100>;
S_0x898e2fc00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2fa80;
 .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_0x89919c9c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919ca00 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919ca40 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991a78e0_0 .net/s *"_ivl_0", 15 0, L_0x8991c9a40;  1 drivers
v0x8991a7980_0 .net/s *"_ivl_2", 15 0, L_0x8991c9ae0;  1 drivers
v0x8991a7a20_0 .net *"_ivl_7", 0 0, L_0x898e62da0;  1 drivers
v0x8991a7ac0_0 .net *"_ivl_9", 15 0, L_0x898e62e40;  1 drivers
L_0x8988562f0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a7b60_0 .net/s "acc_in", 31 0, L_0x8988562f0;  1 drivers
v0x8991a7c00_0 .net/s "acc_out", 31 0, L_0x898e58f00;  alias, 1 drivers
v0x8991a7ca0_0 .net/s "product", 15 0, L_0x8991c9b80;  1 drivers
v0x8991a7d40_0 .net/s "product_ext", 31 0, L_0x8991c9c20;  1 drivers
v0x8991a7de0_0 .net/s "w", 7 0, L_0x898e62f80;  1 drivers
v0x8991a7e80_0 .net/s "x", 7 0, L_0x898e62ee0;  1 drivers
L_0x8991c9a40 .extend/s 16, L_0x898e62ee0;
L_0x8991c9ae0 .extend/s 16, L_0x898e62f80;
L_0x8991c9b80 .arith/mult 16, L_0x8991c9a40, L_0x8991c9ae0;
L_0x898e62da0 .part L_0x8991c9b80, 15, 1;
L_0x898e62e40 .repeat 16, 16, L_0x898e62da0;
L_0x8991c9c20 .concat [ 16 16 0 0], L_0x8991c9b80, L_0x898e62e40;
L_0x898e58f00 .arith/sum 32, L_0x8988562f0, L_0x8991c9c20;
S_0x898e2fd80 .scope generate, "GEN_MAC[5]" "GEN_MAC[5]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d400 .param/l "i" 1 6 17, +C4<0101>;
S_0x898e30000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e2fd80;
 .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_0x89919ca80 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919cac0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919cb00 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991a7f20_0 .net/s *"_ivl_0", 15 0, L_0x8991c9cc0;  1 drivers
v0x8991a8000_0 .net/s *"_ivl_2", 15 0, L_0x8991c9d60;  1 drivers
v0x8991a80a0_0 .net *"_ivl_7", 0 0, L_0x898e63020;  1 drivers
v0x8991a8140_0 .net *"_ivl_9", 15 0, L_0x898e630c0;  1 drivers
L_0x898856338 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a81e0_0 .net/s "acc_in", 31 0, L_0x898856338;  1 drivers
v0x8991a8280_0 .net/s "acc_out", 31 0, L_0x898e58fa0;  alias, 1 drivers
v0x8991a8320_0 .net/s "product", 15 0, L_0x8991c9e00;  1 drivers
v0x8991a83c0_0 .net/s "product_ext", 31 0, L_0x8991c9ea0;  1 drivers
v0x8991a8460_0 .net/s "w", 7 0, L_0x898e63200;  1 drivers
v0x8991a8500_0 .net/s "x", 7 0, L_0x898e63160;  1 drivers
L_0x8991c9cc0 .extend/s 16, L_0x898e63160;
L_0x8991c9d60 .extend/s 16, L_0x898e63200;
L_0x8991c9e00 .arith/mult 16, L_0x8991c9cc0, L_0x8991c9d60;
L_0x898e63020 .part L_0x8991c9e00, 15, 1;
L_0x898e630c0 .repeat 16, 16, L_0x898e63020;
L_0x8991c9ea0 .concat [ 16 16 0 0], L_0x8991c9e00, L_0x898e630c0;
L_0x898e58fa0 .arith/sum 32, L_0x898856338, L_0x8991c9ea0;
S_0x898e30180 .scope generate, "GEN_MAC[6]" "GEN_MAC[6]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d440 .param/l "i" 1 6 17, +C4<0110>;
S_0x898e30300 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e30180;
 .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_0x89919cb40 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919cb80 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919cbc0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991a85a0_0 .net/s *"_ivl_0", 15 0, L_0x8991c9f40;  1 drivers
v0x8991a8640_0 .net/s *"_ivl_2", 15 0, L_0x8991c9fe0;  1 drivers
v0x8991a86e0_0 .net *"_ivl_7", 0 0, L_0x898e632a0;  1 drivers
v0x8991a8780_0 .net *"_ivl_9", 15 0, L_0x898e63340;  1 drivers
L_0x898856380 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a8820_0 .net/s "acc_in", 31 0, L_0x898856380;  1 drivers
v0x8991a88c0_0 .net/s "acc_out", 31 0, L_0x898e59040;  alias, 1 drivers
v0x8991a8960_0 .net/s "product", 15 0, L_0x8991ca080;  1 drivers
v0x8991a8a00_0 .net/s "product_ext", 31 0, L_0x8991ca120;  1 drivers
v0x8991a8aa0_0 .net/s "w", 7 0, L_0x898e63480;  1 drivers
v0x8991a8b40_0 .net/s "x", 7 0, L_0x898e633e0;  1 drivers
L_0x8991c9f40 .extend/s 16, L_0x898e633e0;
L_0x8991c9fe0 .extend/s 16, L_0x898e63480;
L_0x8991ca080 .arith/mult 16, L_0x8991c9f40, L_0x8991c9fe0;
L_0x898e632a0 .part L_0x8991ca080, 15, 1;
L_0x898e63340 .repeat 16, 16, L_0x898e632a0;
L_0x8991ca120 .concat [ 16 16 0 0], L_0x8991ca080, L_0x898e63340;
L_0x898e59040 .arith/sum 32, L_0x898856380, L_0x8991ca120;
S_0x898e30480 .scope generate, "GEN_MAC[7]" "GEN_MAC[7]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d480 .param/l "i" 1 6 17, +C4<0111>;
S_0x898e30600 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e30480;
 .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_0x89919cc00 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919cc40 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919cc80 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991a8be0_0 .net/s *"_ivl_0", 15 0, L_0x8991ca1c0;  1 drivers
v0x8991a8c80_0 .net/s *"_ivl_2", 15 0, L_0x8991ca260;  1 drivers
v0x8991a8d20_0 .net *"_ivl_7", 0 0, L_0x898e63520;  1 drivers
v0x8991a8dc0_0 .net *"_ivl_9", 15 0, L_0x898e635c0;  1 drivers
L_0x8988563c8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a8e60_0 .net/s "acc_in", 31 0, L_0x8988563c8;  1 drivers
v0x8991a8f00_0 .net/s "acc_out", 31 0, L_0x898e590e0;  alias, 1 drivers
v0x8991a8fa0_0 .net/s "product", 15 0, L_0x8991ca300;  1 drivers
v0x8991a9040_0 .net/s "product_ext", 31 0, L_0x8991ca3a0;  1 drivers
v0x8991a90e0_0 .net/s "w", 7 0, L_0x898e63700;  1 drivers
v0x8991a9180_0 .net/s "x", 7 0, L_0x898e63660;  1 drivers
L_0x8991ca1c0 .extend/s 16, L_0x898e63660;
L_0x8991ca260 .extend/s 16, L_0x898e63700;
L_0x8991ca300 .arith/mult 16, L_0x8991ca1c0, L_0x8991ca260;
L_0x898e63520 .part L_0x8991ca300, 15, 1;
L_0x898e635c0 .repeat 16, 16, L_0x898e63520;
L_0x8991ca3a0 .concat [ 16 16 0 0], L_0x8991ca300, L_0x898e635c0;
L_0x898e590e0 .arith/sum 32, L_0x8988563c8, L_0x8991ca3a0;
S_0x898e30780 .scope generate, "GEN_MAC[8]" "GEN_MAC[8]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d4c0 .param/l "i" 1 6 17, +C4<01000>;
S_0x898e30900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e30780;
 .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_0x89919ccc0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919cd00 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919cd40 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991a9220_0 .net/s *"_ivl_0", 15 0, L_0x8991ca440;  1 drivers
v0x8991a92c0_0 .net/s *"_ivl_2", 15 0, L_0x8991ca4e0;  1 drivers
v0x8991a9360_0 .net *"_ivl_7", 0 0, L_0x898e637a0;  1 drivers
v0x8991a9400_0 .net *"_ivl_9", 15 0, L_0x898e63840;  1 drivers
L_0x898856410 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a94a0_0 .net/s "acc_in", 31 0, L_0x898856410;  1 drivers
v0x8991a9540_0 .net/s "acc_out", 31 0, L_0x898e59180;  alias, 1 drivers
v0x8991a95e0_0 .net/s "product", 15 0, L_0x8991ca580;  1 drivers
v0x8991a9680_0 .net/s "product_ext", 31 0, L_0x8991ca620;  1 drivers
v0x8991a9720_0 .net/s "w", 7 0, L_0x898e63a20;  1 drivers
v0x8991a97c0_0 .net/s "x", 7 0, L_0x898e638e0;  1 drivers
L_0x8991ca440 .extend/s 16, L_0x898e638e0;
L_0x8991ca4e0 .extend/s 16, L_0x898e63a20;
L_0x8991ca580 .arith/mult 16, L_0x8991ca440, L_0x8991ca4e0;
L_0x898e637a0 .part L_0x8991ca580, 15, 1;
L_0x898e63840 .repeat 16, 16, L_0x898e637a0;
L_0x8991ca620 .concat [ 16 16 0 0], L_0x8991ca580, L_0x898e63840;
L_0x898e59180 .arith/sum 32, L_0x898856410, L_0x8991ca620;
S_0x898e30a80 .scope generate, "GEN_MAC[9]" "GEN_MAC[9]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d500 .param/l "i" 1 6 17, +C4<01001>;
S_0x898e30c00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e30a80;
 .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_0x89919cd80 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919cdc0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919ce00 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991a9860_0 .net/s *"_ivl_0", 15 0, L_0x8991ca6c0;  1 drivers
v0x8991a9900_0 .net/s *"_ivl_2", 15 0, L_0x8991ca760;  1 drivers
v0x8991a99a0_0 .net *"_ivl_7", 0 0, L_0x898e63ac0;  1 drivers
v0x8991a9a40_0 .net *"_ivl_9", 15 0, L_0x898e63b60;  1 drivers
L_0x898856458 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991a9ae0_0 .net/s "acc_in", 31 0, L_0x898856458;  1 drivers
v0x8991a9b80_0 .net/s "acc_out", 31 0, L_0x898e59220;  alias, 1 drivers
v0x8991a9c20_0 .net/s "product", 15 0, L_0x8991ca800;  1 drivers
v0x8991a9cc0_0 .net/s "product_ext", 31 0, L_0x8991ca8a0;  1 drivers
v0x8991a9d60_0 .net/s "w", 7 0, L_0x898e63ca0;  1 drivers
v0x8991a9e00_0 .net/s "x", 7 0, L_0x898e63c00;  1 drivers
L_0x8991ca6c0 .extend/s 16, L_0x898e63c00;
L_0x8991ca760 .extend/s 16, L_0x898e63ca0;
L_0x8991ca800 .arith/mult 16, L_0x8991ca6c0, L_0x8991ca760;
L_0x898e63ac0 .part L_0x8991ca800, 15, 1;
L_0x898e63b60 .repeat 16, 16, L_0x898e63ac0;
L_0x8991ca8a0 .concat [ 16 16 0 0], L_0x8991ca800, L_0x898e63b60;
L_0x898e59220 .arith/sum 32, L_0x898856458, L_0x8991ca8a0;
S_0x898e30d80 .scope generate, "GEN_MAC[10]" "GEN_MAC[10]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d540 .param/l "i" 1 6 17, +C4<01010>;
S_0x898e30f00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e30d80;
 .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_0x89919ce40 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919ce80 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919cec0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991a9ea0_0 .net/s *"_ivl_0", 15 0, L_0x8991ca940;  1 drivers
v0x8991a9f40_0 .net/s *"_ivl_2", 15 0, L_0x8991ca9e0;  1 drivers
v0x8991a9fe0_0 .net *"_ivl_7", 0 0, L_0x898e63d40;  1 drivers
v0x8991aa080_0 .net *"_ivl_9", 15 0, L_0x898e63de0;  1 drivers
L_0x8988564a0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991aa120_0 .net/s "acc_in", 31 0, L_0x8988564a0;  1 drivers
v0x8991aa1c0_0 .net/s "acc_out", 31 0, L_0x898e592c0;  alias, 1 drivers
v0x8991aa260_0 .net/s "product", 15 0, L_0x8991caa80;  1 drivers
v0x8991aa300_0 .net/s "product_ext", 31 0, L_0x8991cab20;  1 drivers
v0x8991aa3a0_0 .net/s "w", 7 0, L_0x898e63980;  1 drivers
v0x8991aa440_0 .net/s "x", 7 0, L_0x898e63e80;  1 drivers
L_0x8991ca940 .extend/s 16, L_0x898e63e80;
L_0x8991ca9e0 .extend/s 16, L_0x898e63980;
L_0x8991caa80 .arith/mult 16, L_0x8991ca940, L_0x8991ca9e0;
L_0x898e63d40 .part L_0x8991caa80, 15, 1;
L_0x898e63de0 .repeat 16, 16, L_0x898e63d40;
L_0x8991cab20 .concat [ 16 16 0 0], L_0x8991caa80, L_0x898e63de0;
L_0x898e592c0 .arith/sum 32, L_0x8988564a0, L_0x8991cab20;
S_0x898e31080 .scope generate, "GEN_MAC[11]" "GEN_MAC[11]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d580 .param/l "i" 1 6 17, +C4<01011>;
S_0x898e31200 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e31080;
 .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_0x89919cf00 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919cf40 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919cf80 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991aa4e0_0 .net/s *"_ivl_0", 15 0, L_0x8991cabc0;  1 drivers
v0x8991aa580_0 .net/s *"_ivl_2", 15 0, L_0x8991cac60;  1 drivers
v0x8991aa620_0 .net *"_ivl_7", 0 0, L_0x898e63f20;  1 drivers
v0x8991aa6c0_0 .net *"_ivl_9", 15 0, L_0x898e6c000;  1 drivers
L_0x8988564e8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991aa760_0 .net/s "acc_in", 31 0, L_0x8988564e8;  1 drivers
v0x8991aa800_0 .net/s "acc_out", 31 0, L_0x898e59360;  alias, 1 drivers
v0x8991aa8a0_0 .net/s "product", 15 0, L_0x8991cad00;  1 drivers
v0x8991aa940_0 .net/s "product_ext", 31 0, L_0x8991cada0;  1 drivers
v0x8991aa9e0_0 .net/s "w", 7 0, L_0x898e6c140;  1 drivers
v0x8991aaa80_0 .net/s "x", 7 0, L_0x898e6c0a0;  1 drivers
L_0x8991cabc0 .extend/s 16, L_0x898e6c0a0;
L_0x8991cac60 .extend/s 16, L_0x898e6c140;
L_0x8991cad00 .arith/mult 16, L_0x8991cabc0, L_0x8991cac60;
L_0x898e63f20 .part L_0x8991cad00, 15, 1;
L_0x898e6c000 .repeat 16, 16, L_0x898e63f20;
L_0x8991cada0 .concat [ 16 16 0 0], L_0x8991cad00, L_0x898e6c000;
L_0x898e59360 .arith/sum 32, L_0x8988564e8, L_0x8991cada0;
S_0x898e31380 .scope generate, "GEN_MAC[12]" "GEN_MAC[12]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d5c0 .param/l "i" 1 6 17, +C4<01100>;
S_0x898e31500 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e31380;
 .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_0x89919cfc0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d000 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d040 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991aab20_0 .net/s *"_ivl_0", 15 0, L_0x8991cae40;  1 drivers
v0x8991aabc0_0 .net/s *"_ivl_2", 15 0, L_0x8991caee0;  1 drivers
v0x8991aac60_0 .net *"_ivl_7", 0 0, L_0x898e6c1e0;  1 drivers
v0x8991aad00_0 .net *"_ivl_9", 15 0, L_0x898e6c280;  1 drivers
L_0x898856530 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991aada0_0 .net/s "acc_in", 31 0, L_0x898856530;  1 drivers
v0x8991aae40_0 .net/s "acc_out", 31 0, L_0x898e59400;  alias, 1 drivers
v0x8991aaee0_0 .net/s "product", 15 0, L_0x8991caf80;  1 drivers
v0x8991aaf80_0 .net/s "product_ext", 31 0, L_0x8991cb020;  1 drivers
v0x8991ab020_0 .net/s "w", 7 0, L_0x898e6c3c0;  1 drivers
v0x8991ab0c0_0 .net/s "x", 7 0, L_0x898e6c320;  1 drivers
L_0x8991cae40 .extend/s 16, L_0x898e6c320;
L_0x8991caee0 .extend/s 16, L_0x898e6c3c0;
L_0x8991caf80 .arith/mult 16, L_0x8991cae40, L_0x8991caee0;
L_0x898e6c1e0 .part L_0x8991caf80, 15, 1;
L_0x898e6c280 .repeat 16, 16, L_0x898e6c1e0;
L_0x8991cb020 .concat [ 16 16 0 0], L_0x8991caf80, L_0x898e6c280;
L_0x898e59400 .arith/sum 32, L_0x898856530, L_0x8991cb020;
S_0x898e31680 .scope generate, "GEN_MAC[13]" "GEN_MAC[13]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d600 .param/l "i" 1 6 17, +C4<01101>;
S_0x898e31800 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e31680;
 .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_0x89919d080 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d0c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d100 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991ab160_0 .net/s *"_ivl_0", 15 0, L_0x8991cb0c0;  1 drivers
v0x8991ab200_0 .net/s *"_ivl_2", 15 0, L_0x8991cb160;  1 drivers
v0x8991ab2a0_0 .net *"_ivl_7", 0 0, L_0x898e6c460;  1 drivers
v0x8991ab340_0 .net *"_ivl_9", 15 0, L_0x898e6c500;  1 drivers
L_0x898856578 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991ab3e0_0 .net/s "acc_in", 31 0, L_0x898856578;  1 drivers
v0x8991ab480_0 .net/s "acc_out", 31 0, L_0x898e594a0;  alias, 1 drivers
v0x8991ab520_0 .net/s "product", 15 0, L_0x8991cb200;  1 drivers
v0x8991ab5c0_0 .net/s "product_ext", 31 0, L_0x8991cb2a0;  1 drivers
v0x8991ab660_0 .net/s "w", 7 0, L_0x898e6c640;  1 drivers
v0x8991ab700_0 .net/s "x", 7 0, L_0x898e6c5a0;  1 drivers
L_0x8991cb0c0 .extend/s 16, L_0x898e6c5a0;
L_0x8991cb160 .extend/s 16, L_0x898e6c640;
L_0x8991cb200 .arith/mult 16, L_0x8991cb0c0, L_0x8991cb160;
L_0x898e6c460 .part L_0x8991cb200, 15, 1;
L_0x898e6c500 .repeat 16, 16, L_0x898e6c460;
L_0x8991cb2a0 .concat [ 16 16 0 0], L_0x8991cb200, L_0x898e6c500;
L_0x898e594a0 .arith/sum 32, L_0x898856578, L_0x8991cb2a0;
S_0x898e31980 .scope generate, "GEN_MAC[14]" "GEN_MAC[14]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d640 .param/l "i" 1 6 17, +C4<01110>;
S_0x898e31b00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e31980;
 .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_0x89919d140 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d180 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d1c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991ab7a0_0 .net/s *"_ivl_0", 15 0, L_0x8991cb340;  1 drivers
v0x8991ab840_0 .net/s *"_ivl_2", 15 0, L_0x8991cb3e0;  1 drivers
v0x8991ab8e0_0 .net *"_ivl_7", 0 0, L_0x898e6c6e0;  1 drivers
v0x8991ab980_0 .net *"_ivl_9", 15 0, L_0x898e6c780;  1 drivers
L_0x8988565c0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991aba20_0 .net/s "acc_in", 31 0, L_0x8988565c0;  1 drivers
v0x8991abac0_0 .net/s "acc_out", 31 0, L_0x898e59540;  alias, 1 drivers
v0x8991abb60_0 .net/s "product", 15 0, L_0x8991cb480;  1 drivers
v0x8991abc00_0 .net/s "product_ext", 31 0, L_0x8991cb520;  1 drivers
v0x8991abca0_0 .net/s "w", 7 0, L_0x898e6c8c0;  1 drivers
v0x8991abd40_0 .net/s "x", 7 0, L_0x898e6c820;  1 drivers
L_0x8991cb340 .extend/s 16, L_0x898e6c820;
L_0x8991cb3e0 .extend/s 16, L_0x898e6c8c0;
L_0x8991cb480 .arith/mult 16, L_0x8991cb340, L_0x8991cb3e0;
L_0x898e6c6e0 .part L_0x8991cb480, 15, 1;
L_0x898e6c780 .repeat 16, 16, L_0x898e6c6e0;
L_0x8991cb520 .concat [ 16 16 0 0], L_0x8991cb480, L_0x898e6c780;
L_0x898e59540 .arith/sum 32, L_0x8988565c0, L_0x8991cb520;
S_0x898e31c80 .scope generate, "GEN_MAC[15]" "GEN_MAC[15]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d680 .param/l "i" 1 6 17, +C4<01111>;
S_0x898e31e00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e31c80;
 .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_0x89919d200 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d240 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d280 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991abde0_0 .net/s *"_ivl_0", 15 0, L_0x8991cb5c0;  1 drivers
v0x8991abe80_0 .net/s *"_ivl_2", 15 0, L_0x8991cb660;  1 drivers
v0x8991abf20_0 .net *"_ivl_7", 0 0, L_0x898e6c960;  1 drivers
v0x8991ac000_0 .net *"_ivl_9", 15 0, L_0x898e6ca00;  1 drivers
L_0x898856608 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991ac0a0_0 .net/s "acc_in", 31 0, L_0x898856608;  1 drivers
v0x8991ac140_0 .net/s "acc_out", 31 0, L_0x898e595e0;  alias, 1 drivers
v0x8991ac1e0_0 .net/s "product", 15 0, L_0x8991cb700;  1 drivers
v0x8991ac280_0 .net/s "product_ext", 31 0, L_0x8991cb7a0;  1 drivers
v0x8991ac320_0 .net/s "w", 7 0, L_0x898e6cb40;  1 drivers
v0x8991ac3c0_0 .net/s "x", 7 0, L_0x898e6caa0;  1 drivers
L_0x8991cb5c0 .extend/s 16, L_0x898e6caa0;
L_0x8991cb660 .extend/s 16, L_0x898e6cb40;
L_0x8991cb700 .arith/mult 16, L_0x8991cb5c0, L_0x8991cb660;
L_0x898e6c960 .part L_0x8991cb700, 15, 1;
L_0x898e6ca00 .repeat 16, 16, L_0x898e6c960;
L_0x8991cb7a0 .concat [ 16 16 0 0], L_0x8991cb700, L_0x898e6ca00;
L_0x898e595e0 .arith/sum 32, L_0x898856608, L_0x8991cb7a0;
S_0x898e31f80 .scope generate, "GEN_MAC[16]" "GEN_MAC[16]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d6c0 .param/l "i" 1 6 17, +C4<010000>;
S_0x898e32100 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e31f80;
 .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_0x89919d2c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d300 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d340 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991ac460_0 .net/s *"_ivl_0", 15 0, L_0x8991cb840;  1 drivers
v0x8991ac500_0 .net/s *"_ivl_2", 15 0, L_0x8991cb8e0;  1 drivers
v0x8991ac5a0_0 .net *"_ivl_7", 0 0, L_0x898e6cbe0;  1 drivers
v0x8991ac640_0 .net *"_ivl_9", 15 0, L_0x898e6cc80;  1 drivers
L_0x898856650 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991ac6e0_0 .net/s "acc_in", 31 0, L_0x898856650;  1 drivers
v0x8991ac780_0 .net/s "acc_out", 31 0, L_0x898e59680;  alias, 1 drivers
v0x8991ac820_0 .net/s "product", 15 0, L_0x8991cb980;  1 drivers
v0x8991ac8c0_0 .net/s "product_ext", 31 0, L_0x8991cba20;  1 drivers
v0x8991ac960_0 .net/s "w", 7 0, L_0x898e6cdc0;  1 drivers
v0x8991aca00_0 .net/s "x", 7 0, L_0x898e6cd20;  1 drivers
L_0x8991cb840 .extend/s 16, L_0x898e6cd20;
L_0x8991cb8e0 .extend/s 16, L_0x898e6cdc0;
L_0x8991cb980 .arith/mult 16, L_0x8991cb840, L_0x8991cb8e0;
L_0x898e6cbe0 .part L_0x8991cb980, 15, 1;
L_0x898e6cc80 .repeat 16, 16, L_0x898e6cbe0;
L_0x8991cba20 .concat [ 16 16 0 0], L_0x8991cb980, L_0x898e6cc80;
L_0x898e59680 .arith/sum 32, L_0x898856650, L_0x8991cba20;
S_0x898e32280 .scope generate, "GEN_MAC[17]" "GEN_MAC[17]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d700 .param/l "i" 1 6 17, +C4<010001>;
S_0x898e32400 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e32280;
 .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_0x89919d380 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d3c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d400 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991acaa0_0 .net/s *"_ivl_0", 15 0, L_0x8991cbac0;  1 drivers
v0x8991acb40_0 .net/s *"_ivl_2", 15 0, L_0x8991cbb60;  1 drivers
v0x8991acbe0_0 .net *"_ivl_7", 0 0, L_0x898e6ce60;  1 drivers
v0x8991acc80_0 .net *"_ivl_9", 15 0, L_0x898e6cf00;  1 drivers
L_0x898856698 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991acd20_0 .net/s "acc_in", 31 0, L_0x898856698;  1 drivers
v0x8991acdc0_0 .net/s "acc_out", 31 0, L_0x898e59720;  alias, 1 drivers
v0x8991ace60_0 .net/s "product", 15 0, L_0x8991cbc00;  1 drivers
v0x8991acf00_0 .net/s "product_ext", 31 0, L_0x8991cbca0;  1 drivers
v0x8991acfa0_0 .net/s "w", 7 0, L_0x898e6d040;  1 drivers
v0x8991ad040_0 .net/s "x", 7 0, L_0x898e6cfa0;  1 drivers
L_0x8991cbac0 .extend/s 16, L_0x898e6cfa0;
L_0x8991cbb60 .extend/s 16, L_0x898e6d040;
L_0x8991cbc00 .arith/mult 16, L_0x8991cbac0, L_0x8991cbb60;
L_0x898e6ce60 .part L_0x8991cbc00, 15, 1;
L_0x898e6cf00 .repeat 16, 16, L_0x898e6ce60;
L_0x8991cbca0 .concat [ 16 16 0 0], L_0x8991cbc00, L_0x898e6cf00;
L_0x898e59720 .arith/sum 32, L_0x898856698, L_0x8991cbca0;
S_0x898e32580 .scope generate, "GEN_MAC[18]" "GEN_MAC[18]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d740 .param/l "i" 1 6 17, +C4<010010>;
S_0x898e32700 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e32580;
 .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_0x89919d440 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d480 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d4c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991ad0e0_0 .net/s *"_ivl_0", 15 0, L_0x8991cbd40;  1 drivers
v0x8991ad180_0 .net/s *"_ivl_2", 15 0, L_0x8991cbde0;  1 drivers
v0x8991ad220_0 .net *"_ivl_7", 0 0, L_0x898e6d0e0;  1 drivers
v0x8991ad2c0_0 .net *"_ivl_9", 15 0, L_0x898e6d180;  1 drivers
L_0x8988566e0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991ad360_0 .net/s "acc_in", 31 0, L_0x8988566e0;  1 drivers
v0x8991ad400_0 .net/s "acc_out", 31 0, L_0x898e597c0;  alias, 1 drivers
v0x8991ad4a0_0 .net/s "product", 15 0, L_0x8991cbe80;  1 drivers
v0x8991ad540_0 .net/s "product_ext", 31 0, L_0x8991cbf20;  1 drivers
v0x8991ad5e0_0 .net/s "w", 7 0, L_0x898e6d2c0;  1 drivers
v0x8991ad680_0 .net/s "x", 7 0, L_0x898e6d220;  1 drivers
L_0x8991cbd40 .extend/s 16, L_0x898e6d220;
L_0x8991cbde0 .extend/s 16, L_0x898e6d2c0;
L_0x8991cbe80 .arith/mult 16, L_0x8991cbd40, L_0x8991cbde0;
L_0x898e6d0e0 .part L_0x8991cbe80, 15, 1;
L_0x898e6d180 .repeat 16, 16, L_0x898e6d0e0;
L_0x8991cbf20 .concat [ 16 16 0 0], L_0x8991cbe80, L_0x898e6d180;
L_0x898e597c0 .arith/sum 32, L_0x8988566e0, L_0x8991cbf20;
S_0x898e32880 .scope generate, "GEN_MAC[19]" "GEN_MAC[19]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d780 .param/l "i" 1 6 17, +C4<010011>;
S_0x898e32a00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e32880;
 .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_0x89919d500 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d540 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d580 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991ad720_0 .net/s *"_ivl_0", 15 0, L_0x8991cc000;  1 drivers
v0x8991ad7c0_0 .net/s *"_ivl_2", 15 0, L_0x8991cc0a0;  1 drivers
v0x8991ad860_0 .net *"_ivl_7", 0 0, L_0x898e6d360;  1 drivers
v0x8991ad900_0 .net *"_ivl_9", 15 0, L_0x898e6d400;  1 drivers
L_0x898856728 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991ad9a0_0 .net/s "acc_in", 31 0, L_0x898856728;  1 drivers
v0x8991ada40_0 .net/s "acc_out", 31 0, L_0x898e59860;  alias, 1 drivers
v0x8991adae0_0 .net/s "product", 15 0, L_0x8991cc140;  1 drivers
v0x8991adb80_0 .net/s "product_ext", 31 0, L_0x8991cc1e0;  1 drivers
v0x8991adc20_0 .net/s "w", 7 0, L_0x898e6d540;  1 drivers
v0x8991adcc0_0 .net/s "x", 7 0, L_0x898e6d4a0;  1 drivers
L_0x8991cc000 .extend/s 16, L_0x898e6d4a0;
L_0x8991cc0a0 .extend/s 16, L_0x898e6d540;
L_0x8991cc140 .arith/mult 16, L_0x8991cc000, L_0x8991cc0a0;
L_0x898e6d360 .part L_0x8991cc140, 15, 1;
L_0x898e6d400 .repeat 16, 16, L_0x898e6d360;
L_0x8991cc1e0 .concat [ 16 16 0 0], L_0x8991cc140, L_0x898e6d400;
L_0x898e59860 .arith/sum 32, L_0x898856728, L_0x8991cc1e0;
S_0x898e32b80 .scope generate, "GEN_MAC[20]" "GEN_MAC[20]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d7c0 .param/l "i" 1 6 17, +C4<010100>;
S_0x898e32d00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e32b80;
 .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_0x89919d5c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d600 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d640 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991add60_0 .net/s *"_ivl_0", 15 0, L_0x8991cc280;  1 drivers
v0x8991ade00_0 .net/s *"_ivl_2", 15 0, L_0x8991cc320;  1 drivers
v0x8991adea0_0 .net *"_ivl_7", 0 0, L_0x898e6d5e0;  1 drivers
v0x8991adf40_0 .net *"_ivl_9", 15 0, L_0x898e6d680;  1 drivers
L_0x898856770 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991adfe0_0 .net/s "acc_in", 31 0, L_0x898856770;  1 drivers
v0x8991ae080_0 .net/s "acc_out", 31 0, L_0x898e59900;  alias, 1 drivers
v0x8991ae120_0 .net/s "product", 15 0, L_0x8991cc3c0;  1 drivers
v0x8991ae1c0_0 .net/s "product_ext", 31 0, L_0x8991cc460;  1 drivers
v0x8991ae260_0 .net/s "w", 7 0, L_0x898e6d7c0;  1 drivers
v0x8991ae300_0 .net/s "x", 7 0, L_0x898e6d720;  1 drivers
L_0x8991cc280 .extend/s 16, L_0x898e6d720;
L_0x8991cc320 .extend/s 16, L_0x898e6d7c0;
L_0x8991cc3c0 .arith/mult 16, L_0x8991cc280, L_0x8991cc320;
L_0x898e6d5e0 .part L_0x8991cc3c0, 15, 1;
L_0x898e6d680 .repeat 16, 16, L_0x898e6d5e0;
L_0x8991cc460 .concat [ 16 16 0 0], L_0x8991cc3c0, L_0x898e6d680;
L_0x898e59900 .arith/sum 32, L_0x898856770, L_0x8991cc460;
S_0x898e32e80 .scope generate, "GEN_MAC[21]" "GEN_MAC[21]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d800 .param/l "i" 1 6 17, +C4<010101>;
S_0x898e33000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e32e80;
 .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_0x89919d680 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d6c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d700 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991ae3a0_0 .net/s *"_ivl_0", 15 0, L_0x8991cc500;  1 drivers
v0x8991ae440_0 .net/s *"_ivl_2", 15 0, L_0x8991cc5a0;  1 drivers
v0x8991ae4e0_0 .net *"_ivl_7", 0 0, L_0x898e6d860;  1 drivers
v0x8991ae580_0 .net *"_ivl_9", 15 0, L_0x898e6d900;  1 drivers
L_0x8988567b8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991ae620_0 .net/s "acc_in", 31 0, L_0x8988567b8;  1 drivers
v0x8991ae6c0_0 .net/s "acc_out", 31 0, L_0x898e599a0;  alias, 1 drivers
v0x8991ae760_0 .net/s "product", 15 0, L_0x8991cc640;  1 drivers
v0x8991ae800_0 .net/s "product_ext", 31 0, L_0x8991cc6e0;  1 drivers
v0x8991ae8a0_0 .net/s "w", 7 0, L_0x898e6da40;  1 drivers
v0x8991ae940_0 .net/s "x", 7 0, L_0x898e6d9a0;  1 drivers
L_0x8991cc500 .extend/s 16, L_0x898e6d9a0;
L_0x8991cc5a0 .extend/s 16, L_0x898e6da40;
L_0x8991cc640 .arith/mult 16, L_0x8991cc500, L_0x8991cc5a0;
L_0x898e6d860 .part L_0x8991cc640, 15, 1;
L_0x898e6d900 .repeat 16, 16, L_0x898e6d860;
L_0x8991cc6e0 .concat [ 16 16 0 0], L_0x8991cc640, L_0x898e6d900;
L_0x898e599a0 .arith/sum 32, L_0x8988567b8, L_0x8991cc6e0;
S_0x898e33180 .scope generate, "GEN_MAC[22]" "GEN_MAC[22]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d840 .param/l "i" 1 6 17, +C4<010110>;
S_0x898e33300 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e33180;
 .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_0x89919d740 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d780 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d7c0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991ae9e0_0 .net/s *"_ivl_0", 15 0, L_0x8991cc780;  1 drivers
v0x8991aea80_0 .net/s *"_ivl_2", 15 0, L_0x8991cc820;  1 drivers
v0x8991aeb20_0 .net *"_ivl_7", 0 0, L_0x898e6dae0;  1 drivers
v0x8991aebc0_0 .net *"_ivl_9", 15 0, L_0x898e6db80;  1 drivers
L_0x898856800 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991aec60_0 .net/s "acc_in", 31 0, L_0x898856800;  1 drivers
v0x8991aed00_0 .net/s "acc_out", 31 0, L_0x898e59a40;  alias, 1 drivers
v0x8991aeda0_0 .net/s "product", 15 0, L_0x8991cc8c0;  1 drivers
v0x8991aee40_0 .net/s "product_ext", 31 0, L_0x8991cc960;  1 drivers
v0x8991aeee0_0 .net/s "w", 7 0, L_0x898e6dcc0;  1 drivers
v0x8991aef80_0 .net/s "x", 7 0, L_0x898e6dc20;  1 drivers
L_0x8991cc780 .extend/s 16, L_0x898e6dc20;
L_0x8991cc820 .extend/s 16, L_0x898e6dcc0;
L_0x8991cc8c0 .arith/mult 16, L_0x8991cc780, L_0x8991cc820;
L_0x898e6dae0 .part L_0x8991cc8c0, 15, 1;
L_0x898e6db80 .repeat 16, 16, L_0x898e6dae0;
L_0x8991cc960 .concat [ 16 16 0 0], L_0x8991cc8c0, L_0x898e6db80;
L_0x898e59a40 .arith/sum 32, L_0x898856800, L_0x8991cc960;
S_0x898e33480 .scope generate, "GEN_MAC[23]" "GEN_MAC[23]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d880 .param/l "i" 1 6 17, +C4<010111>;
S_0x898e33600 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e33480;
 .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_0x89919d800 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d840 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d880 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991af020_0 .net/s *"_ivl_0", 15 0, L_0x8991cca00;  1 drivers
v0x8991af0c0_0 .net/s *"_ivl_2", 15 0, L_0x8991ccaa0;  1 drivers
v0x8991af160_0 .net *"_ivl_7", 0 0, L_0x898e6dd60;  1 drivers
v0x8991af200_0 .net *"_ivl_9", 15 0, L_0x898e6de00;  1 drivers
L_0x898856848 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991af2a0_0 .net/s "acc_in", 31 0, L_0x898856848;  1 drivers
v0x8991af340_0 .net/s "acc_out", 31 0, L_0x898e59ae0;  alias, 1 drivers
v0x8991af3e0_0 .net/s "product", 15 0, L_0x8991ccb40;  1 drivers
v0x8991af480_0 .net/s "product_ext", 31 0, L_0x8991ccbe0;  1 drivers
v0x8991af520_0 .net/s "w", 7 0, L_0x898e6df40;  1 drivers
v0x8991af5c0_0 .net/s "x", 7 0, L_0x898e6dea0;  1 drivers
L_0x8991cca00 .extend/s 16, L_0x898e6dea0;
L_0x8991ccaa0 .extend/s 16, L_0x898e6df40;
L_0x8991ccb40 .arith/mult 16, L_0x8991cca00, L_0x8991ccaa0;
L_0x898e6dd60 .part L_0x8991ccb40, 15, 1;
L_0x898e6de00 .repeat 16, 16, L_0x898e6dd60;
L_0x8991ccbe0 .concat [ 16 16 0 0], L_0x8991ccb40, L_0x898e6de00;
L_0x898e59ae0 .arith/sum 32, L_0x898856848, L_0x8991ccbe0;
S_0x898e33780 .scope generate, "GEN_MAC[24]" "GEN_MAC[24]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d8c0 .param/l "i" 1 6 17, +C4<011000>;
S_0x898e33900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e33780;
 .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_0x89919d8c0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d900 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919d940 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991af660_0 .net/s *"_ivl_0", 15 0, L_0x8991ccc80;  1 drivers
v0x8991af700_0 .net/s *"_ivl_2", 15 0, L_0x8991ccd20;  1 drivers
v0x8991af7a0_0 .net *"_ivl_7", 0 0, L_0x898e6dfe0;  1 drivers
v0x8991af840_0 .net *"_ivl_9", 15 0, L_0x898e6e080;  1 drivers
L_0x898856890 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991af8e0_0 .net/s "acc_in", 31 0, L_0x898856890;  1 drivers
v0x8991af980_0 .net/s "acc_out", 31 0, L_0x898e59b80;  alias, 1 drivers
v0x8991afa20_0 .net/s "product", 15 0, L_0x8991ccdc0;  1 drivers
v0x8991afac0_0 .net/s "product_ext", 31 0, L_0x8991cce60;  1 drivers
v0x8991afb60_0 .net/s "w", 7 0, L_0x898e6e1c0;  1 drivers
v0x8991afc00_0 .net/s "x", 7 0, L_0x898e6e120;  1 drivers
L_0x8991ccc80 .extend/s 16, L_0x898e6e120;
L_0x8991ccd20 .extend/s 16, L_0x898e6e1c0;
L_0x8991ccdc0 .arith/mult 16, L_0x8991ccc80, L_0x8991ccd20;
L_0x898e6dfe0 .part L_0x8991ccdc0, 15, 1;
L_0x898e6e080 .repeat 16, 16, L_0x898e6dfe0;
L_0x8991cce60 .concat [ 16 16 0 0], L_0x8991ccdc0, L_0x898e6e080;
L_0x898e59b80 .arith/sum 32, L_0x898856890, L_0x8991cce60;
S_0x898e33a80 .scope generate, "GEN_MAC[25]" "GEN_MAC[25]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d900 .param/l "i" 1 6 17, +C4<011001>;
S_0x898e33c00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e33a80;
 .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_0x89919d980 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919d9c0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919da00 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991afca0_0 .net/s *"_ivl_0", 15 0, L_0x8991ccf00;  1 drivers
v0x8991afd40_0 .net/s *"_ivl_2", 15 0, L_0x8991ccfa0;  1 drivers
v0x8991afde0_0 .net *"_ivl_7", 0 0, L_0x898e6e260;  1 drivers
v0x8991afe80_0 .net *"_ivl_9", 15 0, L_0x898e6e300;  1 drivers
L_0x8988568d8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991aff20_0 .net/s "acc_in", 31 0, L_0x8988568d8;  1 drivers
v0x8991b4000_0 .net/s "acc_out", 31 0, L_0x898e59c20;  alias, 1 drivers
v0x8991b40a0_0 .net/s "product", 15 0, L_0x8991cd040;  1 drivers
v0x8991b4140_0 .net/s "product_ext", 31 0, L_0x8991cd0e0;  1 drivers
v0x8991b41e0_0 .net/s "w", 7 0, L_0x898e6e440;  1 drivers
v0x8991b4280_0 .net/s "x", 7 0, L_0x898e6e3a0;  1 drivers
L_0x8991ccf00 .extend/s 16, L_0x898e6e3a0;
L_0x8991ccfa0 .extend/s 16, L_0x898e6e440;
L_0x8991cd040 .arith/mult 16, L_0x8991ccf00, L_0x8991ccfa0;
L_0x898e6e260 .part L_0x8991cd040, 15, 1;
L_0x898e6e300 .repeat 16, 16, L_0x898e6e260;
L_0x8991cd0e0 .concat [ 16 16 0 0], L_0x8991cd040, L_0x898e6e300;
L_0x898e59c20 .arith/sum 32, L_0x8988568d8, L_0x8991cd0e0;
S_0x898e33d80 .scope generate, "GEN_MAC[26]" "GEN_MAC[26]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d940 .param/l "i" 1 6 17, +C4<011010>;
S_0x898e3c000 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e33d80;
 .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_0x89919da40 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919da80 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919dac0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991b4320_0 .net/s *"_ivl_0", 15 0, L_0x8991cd180;  1 drivers
v0x8991b43c0_0 .net/s *"_ivl_2", 15 0, L_0x8991cd220;  1 drivers
v0x8991b4460_0 .net *"_ivl_7", 0 0, L_0x898e6e4e0;  1 drivers
v0x8991b4500_0 .net *"_ivl_9", 15 0, L_0x898e6e580;  1 drivers
L_0x898856920 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991b45a0_0 .net/s "acc_in", 31 0, L_0x898856920;  1 drivers
v0x8991b4640_0 .net/s "acc_out", 31 0, L_0x898e59cc0;  alias, 1 drivers
v0x8991b46e0_0 .net/s "product", 15 0, L_0x8991cd2c0;  1 drivers
v0x8991b4780_0 .net/s "product_ext", 31 0, L_0x8991cd360;  1 drivers
v0x8991b4820_0 .net/s "w", 7 0, L_0x898e6e6c0;  1 drivers
v0x8991b48c0_0 .net/s "x", 7 0, L_0x898e6e620;  1 drivers
L_0x8991cd180 .extend/s 16, L_0x898e6e620;
L_0x8991cd220 .extend/s 16, L_0x898e6e6c0;
L_0x8991cd2c0 .arith/mult 16, L_0x8991cd180, L_0x8991cd220;
L_0x898e6e4e0 .part L_0x8991cd2c0, 15, 1;
L_0x898e6e580 .repeat 16, 16, L_0x898e6e4e0;
L_0x8991cd360 .concat [ 16 16 0 0], L_0x8991cd2c0, L_0x898e6e580;
L_0x898e59cc0 .arith/sum 32, L_0x898856920, L_0x8991cd360;
S_0x898e3c180 .scope generate, "GEN_MAC[27]" "GEN_MAC[27]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d980 .param/l "i" 1 6 17, +C4<011011>;
S_0x898e3c300 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e3c180;
 .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_0x89919db00 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919db40 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919db80 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991b4960_0 .net/s *"_ivl_0", 15 0, L_0x8991cd400;  1 drivers
v0x8991b4a00_0 .net/s *"_ivl_2", 15 0, L_0x8991cd4a0;  1 drivers
v0x8991b4aa0_0 .net *"_ivl_7", 0 0, L_0x898e6e760;  1 drivers
v0x8991b4b40_0 .net *"_ivl_9", 15 0, L_0x898e6e800;  1 drivers
L_0x898856968 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991b4be0_0 .net/s "acc_in", 31 0, L_0x898856968;  1 drivers
v0x8991b4c80_0 .net/s "acc_out", 31 0, L_0x898e59d60;  alias, 1 drivers
v0x8991b4d20_0 .net/s "product", 15 0, L_0x8991cd540;  1 drivers
v0x8991b4dc0_0 .net/s "product_ext", 31 0, L_0x8991cd5e0;  1 drivers
v0x8991b4e60_0 .net/s "w", 7 0, L_0x898e6e940;  1 drivers
v0x8991b4f00_0 .net/s "x", 7 0, L_0x898e6e8a0;  1 drivers
L_0x8991cd400 .extend/s 16, L_0x898e6e8a0;
L_0x8991cd4a0 .extend/s 16, L_0x898e6e940;
L_0x8991cd540 .arith/mult 16, L_0x8991cd400, L_0x8991cd4a0;
L_0x898e6e760 .part L_0x8991cd540, 15, 1;
L_0x898e6e800 .repeat 16, 16, L_0x898e6e760;
L_0x8991cd5e0 .concat [ 16 16 0 0], L_0x8991cd540, L_0x898e6e800;
L_0x898e59d60 .arith/sum 32, L_0x898856968, L_0x8991cd5e0;
S_0x898e3c480 .scope generate, "GEN_MAC[28]" "GEN_MAC[28]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917d9c0 .param/l "i" 1 6 17, +C4<011100>;
S_0x898e3c600 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e3c480;
 .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_0x89919dbc0 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919dc00 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919dc40 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991b4fa0_0 .net/s *"_ivl_0", 15 0, L_0x8991cd680;  1 drivers
v0x8991b5040_0 .net/s *"_ivl_2", 15 0, L_0x8991cd720;  1 drivers
v0x8991b50e0_0 .net *"_ivl_7", 0 0, L_0x898e6e9e0;  1 drivers
v0x8991b5180_0 .net *"_ivl_9", 15 0, L_0x898e6ea80;  1 drivers
L_0x8988569b0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991b5220_0 .net/s "acc_in", 31 0, L_0x8988569b0;  1 drivers
v0x8991b52c0_0 .net/s "acc_out", 31 0, L_0x898e59e00;  alias, 1 drivers
v0x8991b5360_0 .net/s "product", 15 0, L_0x8991cd7c0;  1 drivers
v0x8991b5400_0 .net/s "product_ext", 31 0, L_0x8991cd860;  1 drivers
v0x8991b54a0_0 .net/s "w", 7 0, L_0x898e6ebc0;  1 drivers
v0x8991b5540_0 .net/s "x", 7 0, L_0x898e6eb20;  1 drivers
L_0x8991cd680 .extend/s 16, L_0x898e6eb20;
L_0x8991cd720 .extend/s 16, L_0x898e6ebc0;
L_0x8991cd7c0 .arith/mult 16, L_0x8991cd680, L_0x8991cd720;
L_0x898e6e9e0 .part L_0x8991cd7c0, 15, 1;
L_0x898e6ea80 .repeat 16, 16, L_0x898e6e9e0;
L_0x8991cd860 .concat [ 16 16 0 0], L_0x8991cd7c0, L_0x898e6ea80;
L_0x898e59e00 .arith/sum 32, L_0x8988569b0, L_0x8991cd860;
S_0x898e3c780 .scope generate, "GEN_MAC[29]" "GEN_MAC[29]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917da00 .param/l "i" 1 6 17, +C4<011101>;
S_0x898e3c900 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e3c780;
 .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_0x89919dc80 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919dcc0 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919dd00 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991b55e0_0 .net/s *"_ivl_0", 15 0, L_0x8991cd900;  1 drivers
v0x8991b5680_0 .net/s *"_ivl_2", 15 0, L_0x8991cd9a0;  1 drivers
v0x8991b5720_0 .net *"_ivl_7", 0 0, L_0x898e6ec60;  1 drivers
v0x8991b57c0_0 .net *"_ivl_9", 15 0, L_0x898e6ed00;  1 drivers
L_0x8988569f8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991b5860_0 .net/s "acc_in", 31 0, L_0x8988569f8;  1 drivers
v0x8991b5900_0 .net/s "acc_out", 31 0, L_0x898e59ea0;  alias, 1 drivers
v0x8991b59a0_0 .net/s "product", 15 0, L_0x8991cda40;  1 drivers
v0x8991b5a40_0 .net/s "product_ext", 31 0, L_0x8991cdae0;  1 drivers
v0x8991b5ae0_0 .net/s "w", 7 0, L_0x898e6ee40;  1 drivers
v0x8991b5b80_0 .net/s "x", 7 0, L_0x898e6eda0;  1 drivers
L_0x8991cd900 .extend/s 16, L_0x898e6eda0;
L_0x8991cd9a0 .extend/s 16, L_0x898e6ee40;
L_0x8991cda40 .arith/mult 16, L_0x8991cd900, L_0x8991cd9a0;
L_0x898e6ec60 .part L_0x8991cda40, 15, 1;
L_0x898e6ed00 .repeat 16, 16, L_0x898e6ec60;
L_0x8991cdae0 .concat [ 16 16 0 0], L_0x8991cda40, L_0x898e6ed00;
L_0x898e59ea0 .arith/sum 32, L_0x8988569f8, L_0x8991cdae0;
S_0x898e3ca80 .scope generate, "GEN_MAC[30]" "GEN_MAC[30]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917da40 .param/l "i" 1 6 17, +C4<011110>;
S_0x898e3cc00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e3ca80;
 .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_0x89919dd40 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919dd80 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919ddc0 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991b5c20_0 .net/s *"_ivl_0", 15 0, L_0x8991cdb80;  1 drivers
v0x8991b5cc0_0 .net/s *"_ivl_2", 15 0, L_0x8991cdc20;  1 drivers
v0x8991b5d60_0 .net *"_ivl_7", 0 0, L_0x898e6eee0;  1 drivers
v0x8991b5e00_0 .net *"_ivl_9", 15 0, L_0x898e6ef80;  1 drivers
L_0x898856a40 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991b5ea0_0 .net/s "acc_in", 31 0, L_0x898856a40;  1 drivers
v0x8991b5f40_0 .net/s "acc_out", 31 0, L_0x898e59f40;  alias, 1 drivers
v0x8991b5fe0_0 .net/s "product", 15 0, L_0x8991cdcc0;  1 drivers
v0x8991b6080_0 .net/s "product_ext", 31 0, L_0x8991cdd60;  1 drivers
v0x8991b6120_0 .net/s "w", 7 0, L_0x898e6f0c0;  1 drivers
v0x8991b61c0_0 .net/s "x", 7 0, L_0x898e6f020;  1 drivers
L_0x8991cdb80 .extend/s 16, L_0x898e6f020;
L_0x8991cdc20 .extend/s 16, L_0x898e6f0c0;
L_0x8991cdcc0 .arith/mult 16, L_0x8991cdb80, L_0x8991cdc20;
L_0x898e6eee0 .part L_0x8991cdcc0, 15, 1;
L_0x898e6ef80 .repeat 16, 16, L_0x898e6eee0;
L_0x8991cdd60 .concat [ 16 16 0 0], L_0x8991cdcc0, L_0x898e6ef80;
L_0x898e59f40 .arith/sum 32, L_0x898856a40, L_0x8991cdd60;
S_0x898e3cd80 .scope generate, "GEN_MAC[31]" "GEN_MAC[31]" 6 17, 6 17 0, S_0x898e2ed00;
 .timescale 0 0;
P_0x89917da80 .param/l "i" 1 6 17, +C4<011111>;
S_0x898e3cf00 .scope module, "u_mac" "mac_unit" 6 22, 7 1 0, S_0x898e3cd80;
 .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_0x89919de00 .param/l "ACC_WIDTH" 0 7 3, +C4<00000000000000000000000000100000>;
P_0x89919de40 .param/l "DATA_WIDTH" 0 7 2, +C4<00000000000000000000000000001000>;
P_0x89919de80 .param/l "PROD_WIDTH" 1 7 11, +C4<0000000000000000000000000000000000000000000000000000000000010000>;
v0x8991b6260_0 .net/s *"_ivl_0", 15 0, L_0x8991cde00;  1 drivers
v0x8991b6300_0 .net/s *"_ivl_2", 15 0, L_0x8991cdea0;  1 drivers
v0x8991b63a0_0 .net *"_ivl_7", 0 0, L_0x898e6f160;  1 drivers
v0x8991b6440_0 .net *"_ivl_9", 15 0, L_0x898e6f200;  1 drivers
L_0x898856a88 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>;
v0x8991b64e0_0 .net/s "acc_in", 31 0, L_0x898856a88;  1 drivers
v0x8991b6580_0 .net/s "acc_out", 31 0, L_0x898e59fe0;  alias, 1 drivers
v0x8991b6620_0 .net/s "product", 15 0, L_0x8991cdf40;  1 drivers
v0x8991b66c0_0 .net/s "product_ext", 31 0, L_0x8991cdfe0;  1 drivers
v0x8991b6760_0 .net/s "w", 7 0, L_0x898e6f340;  1 drivers
v0x8991b6800_0 .net/s "x", 7 0, L_0x898e6f2a0;  1 drivers
L_0x8991cde00 .extend/s 16, L_0x898e6f2a0;
L_0x8991cdea0 .extend/s 16, L_0x898e6f340;
L_0x8991cdf40 .arith/mult 16, L_0x8991cde00, L_0x8991cdea0;
L_0x898e6f160 .part L_0x8991cdf40, 15, 1;
L_0x898e6f200 .repeat 16, 16, L_0x898e6f160;
L_0x8991cdfe0 .concat [ 16 16 0 0], L_0x8991cdf40, L_0x898e6f200;
L_0x898e59fe0 .arith/sum 32, L_0x898856a88, L_0x8991cdfe0;
S_0x898e3d080 .scope task, "run_layer" "run_layer" 3 55, 3 55 0, S_0x100d3a3f0;
 .timescale -9 -12;
E_0x898e0a140 .event anyedge, v0x8991b81e0_0;
TD_tb.run_layer ;
    %wait E_0x898dc7f00;
    %pushi/vec4 1, 0, 1;
    %store/vec4 v0x8991b8be0_0, 0, 1;
    %wait E_0x898dc7f00;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x8991b8be0_0, 0, 1;
T_0.0 ;
    %load/vec4 v0x8991b88c0_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_0x898e0a140;
    %jmp T_0.0;
T_0.1 ;
    %wait E_0x898dc7f00;
    %end;
    .scope S_0x100d2ec90;
T_1 ;
    %wait E_0x898dc7f40;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x899180b40_0, 0, 32;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x899180a00_0, 0, 32;
T_1.0 ; Top of for-loop
    %load/vec4 v0x899180a00_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_1.1, 5;
    %load/vec4 v0x899180b40_0;
    %ix/getv/s 4, v0x899180a00_0;
    %load/vec4a v0x899180aa0, 4;
    %add;
    %store/vec4 v0x899180b40_0, 0, 32;
T_1.2 ; for-loop step statement
    %load/vec4 v0x899180a00_0;
    %addi 1, 0, 32;
    %store/vec4 v0x899180a00_0, 0, 32;
    %jmp T_1.0;
T_1.1 ; for-loop exit label
    %jmp T_1;
    .thread T_1, $push;
    .scope S_0x100d33ee0;
T_2 ;
    %wait E_0x898dc7f00;
    %load/vec4 v0x899181b80_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_2.0, 8;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x899181ae0_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x8991815e0_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x899181f40_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x899181860_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991819a0_0, 0;
    %jmp T_2.1;
T_2.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991819a0_0, 0;
    %load/vec4 v0x899181c20_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_2.4, 9;
    %load/vec4 v0x899181860_0;
    %nor/r;
    %and;
T_2.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_2.2, 8;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x899181ae0_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x8991815e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x899181860_0, 0;
    %jmp T_2.3;
T_2.2 ;
    %load/vec4 v0x899181860_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_2.5, 8;
    %load/vec4 v0x899181ae0_0;
    %pad/u 32;
    %cmpi/e 0, 0, 32;
    %jmp/0xz  T_2.7, 4;
    %load/vec4 v0x899181a40_0;
    %assign/vec4 v0x8991815e0_0, 0;
    %load/vec4 v0x899181a40_0;
    %cmpi/s 0, 0, 32;
    %flag_or 5, 4;
    %jmp/0xz  T_2.9, 5;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x899181f40_0, 0;
    %jmp T_2.10;
T_2.9 ;
    %load/vec4 v0x899181a40_0;
    %cmpi/s 127, 0, 32;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_2.11, 5;
    %pushi/vec4 127, 0, 8;
    %assign/vec4 v0x899181f40_0, 0;
    %jmp T_2.12;
T_2.11 ;
    %load/vec4 v0x899181a40_0;
    %parti/s 8, 0, 2;
    %assign/vec4 v0x899181f40_0, 0;
T_2.12 ;
T_2.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x899181860_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x8991819a0_0, 0;
    %jmp T_2.8;
T_2.7 ;
    %load/vec4 v0x899181680_0;
    %assign/vec4 v0x8991815e0_0, 0;
    %load/vec4 v0x899181ae0_0;
    %addi 1, 0, 1;
    %assign/vec4 v0x899181ae0_0, 0;
T_2.8 ;
T_2.5 ;
T_2.3 ;
T_2.1 ;
    %jmp T_2;
    .thread T_2;
    .scope S_0x898e11e00;
T_3 ;
    %wait E_0x898e087c0;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x89918eb20_0, 0, 32;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x89918e9e0_0, 0, 32;
T_3.0 ; Top of for-loop
    %load/vec4 v0x89918e9e0_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_3.1, 5;
    %load/vec4 v0x89918eb20_0;
    %ix/getv/s 4, v0x89918e9e0_0;
    %load/vec4a v0x89918ea80, 4;
    %add;
    %store/vec4 v0x89918eb20_0, 0, 32;
T_3.2 ; for-loop step statement
    %load/vec4 v0x89918e9e0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x89918e9e0_0, 0, 32;
    %jmp T_3.0;
T_3.1 ; for-loop exit label
    %jmp T_3;
    .thread T_3, $push;
    .scope S_0x898e11b00;
T_4 ;
    %wait E_0x898dc7f00;
    %load/vec4 v0x89918fb60_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_4.0, 8;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x89918fac0_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x89918f5c0_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x89918ff20_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x89918f840_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x89918f980_0, 0;
    %jmp T_4.1;
T_4.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x89918f980_0, 0;
    %load/vec4 v0x89918fc00_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_4.4, 9;
    %load/vec4 v0x89918f840_0;
    %nor/r;
    %and;
T_4.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_4.2, 8;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x89918fac0_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x89918f5c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x89918f840_0, 0;
    %jmp T_4.3;
T_4.2 ;
    %load/vec4 v0x89918f840_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_4.5, 8;
    %load/vec4 v0x89918fac0_0;
    %pad/u 32;
    %cmpi/e 0, 0, 32;
    %jmp/0xz  T_4.7, 4;
    %load/vec4 v0x89918fa20_0;
    %assign/vec4 v0x89918f5c0_0, 0;
    %load/vec4 v0x89918fa20_0;
    %cmpi/s 0, 0, 32;
    %flag_or 5, 4;
    %jmp/0xz  T_4.9, 5;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x89918ff20_0, 0;
    %jmp T_4.10;
T_4.9 ;
    %load/vec4 v0x89918fa20_0;
    %cmpi/s 127, 0, 32;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_4.11, 5;
    %pushi/vec4 127, 0, 8;
    %assign/vec4 v0x89918ff20_0, 0;
    %jmp T_4.12;
T_4.11 ;
    %load/vec4 v0x89918fa20_0;
    %parti/s 8, 0, 2;
    %assign/vec4 v0x89918ff20_0, 0;
T_4.12 ;
T_4.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x89918f840_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x89918f980_0, 0;
    %jmp T_4.8;
T_4.7 ;
    %load/vec4 v0x89918f660_0;
    %assign/vec4 v0x89918f5c0_0, 0;
    %load/vec4 v0x89918fac0_0;
    %addi 1, 0, 1;
    %assign/vec4 v0x89918fac0_0, 0;
T_4.8 ;
T_4.5 ;
T_4.3 ;
T_4.1 ;
    %jmp T_4;
    .thread T_4;
    .scope S_0x898e24600;
T_5 ;
    %wait E_0x898e09040;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x8991a4b40_0, 0, 32;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x8991a4a00_0, 0, 32;
T_5.0 ; Top of for-loop
    %load/vec4 v0x8991a4a00_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_5.1, 5;
    %load/vec4 v0x8991a4b40_0;
    %ix/getv/s 4, v0x8991a4a00_0;
    %load/vec4a v0x8991a4aa0, 4;
    %add;
    %store/vec4 v0x8991a4b40_0, 0, 32;
T_5.2 ; for-loop step statement
    %load/vec4 v0x8991a4a00_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991a4a00_0, 0, 32;
    %jmp T_5.0;
T_5.1 ; for-loop exit label
    %jmp T_5;
    .thread T_5, $push;
    .scope S_0x898e24300;
T_6 ;
    %wait E_0x898dc7f00;
    %load/vec4 v0x8991a5b80_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_6.0, 8;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991a5ae0_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x8991a55e0_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x8991a5f40_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991a5860_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991a59a0_0, 0;
    %jmp T_6.1;
T_6.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991a59a0_0, 0;
    %load/vec4 v0x8991a5c20_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_6.4, 9;
    %load/vec4 v0x8991a5860_0;
    %nor/r;
    %and;
T_6.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_6.2, 8;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991a5ae0_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x8991a55e0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x8991a5860_0, 0;
    %jmp T_6.3;
T_6.2 ;
    %load/vec4 v0x8991a5860_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_6.5, 8;
    %load/vec4 v0x8991a5ae0_0;
    %pad/u 32;
    %cmpi/e 0, 0, 32;
    %jmp/0xz  T_6.7, 4;
    %load/vec4 v0x8991a5a40_0;
    %assign/vec4 v0x8991a55e0_0, 0;
    %load/vec4 v0x8991a5a40_0;
    %cmpi/s 0, 0, 32;
    %flag_or 5, 4;
    %jmp/0xz  T_6.9, 5;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x8991a5f40_0, 0;
    %jmp T_6.10;
T_6.9 ;
    %load/vec4 v0x8991a5a40_0;
    %cmpi/s 127, 0, 32;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_6.11, 5;
    %pushi/vec4 127, 0, 8;
    %assign/vec4 v0x8991a5f40_0, 0;
    %jmp T_6.12;
T_6.11 ;
    %load/vec4 v0x8991a5a40_0;
    %parti/s 8, 0, 2;
    %assign/vec4 v0x8991a5f40_0, 0;
T_6.12 ;
T_6.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991a5860_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x8991a59a0_0, 0;
    %jmp T_6.8;
T_6.7 ;
    %load/vec4 v0x8991a5680_0;
    %assign/vec4 v0x8991a55e0_0, 0;
    %load/vec4 v0x8991a5ae0_0;
    %addi 1, 0, 1;
    %assign/vec4 v0x8991a5ae0_0, 0;
T_6.8 ;
T_6.5 ;
T_6.3 ;
T_6.1 ;
    %jmp T_6;
    .thread T_6;
    .scope S_0x898e2ed00;
T_7 ;
    %wait E_0x898e098c0;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x8991b6b20_0, 0, 32;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x8991b69e0_0, 0, 32;
T_7.0 ; Top of for-loop
    %load/vec4 v0x8991b69e0_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_7.1, 5;
    %load/vec4 v0x8991b6b20_0;
    %ix/getv/s 4, v0x8991b69e0_0;
    %load/vec4a v0x8991b6a80, 4;
    %add;
    %store/vec4 v0x8991b6b20_0, 0, 32;
T_7.2 ; for-loop step statement
    %load/vec4 v0x8991b69e0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991b69e0_0, 0, 32;
    %jmp T_7.0;
T_7.1 ; for-loop exit label
    %jmp T_7;
    .thread T_7, $push;
    .scope S_0x898e2ea00;
T_8 ;
    %wait E_0x898dc7f00;
    %load/vec4 v0x8991b7b60_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_8.0, 8;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991b7ac0_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x8991b75c0_0, 0;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x8991b7f20_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991b7840_0, 0;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991b7980_0, 0;
    %jmp T_8.1;
T_8.0 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991b7980_0, 0;
    %load/vec4 v0x8991b7c00_0;
    %flag_set/vec4 9;
    %flag_get/vec4 9;
    %jmp/0 T_8.4, 9;
    %load/vec4 v0x8991b7840_0;
    %nor/r;
    %and;
T_8.4;
    %flag_set/vec4 8;
    %jmp/0xz  T_8.2, 8;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991b7ac0_0, 0;
    %pushi/vec4 0, 0, 32;
    %assign/vec4 v0x8991b75c0_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x8991b7840_0, 0;
    %jmp T_8.3;
T_8.2 ;
    %load/vec4 v0x8991b7840_0;
    %flag_set/vec4 8;
    %jmp/0xz  T_8.5, 8;
    %load/vec4 v0x8991b7ac0_0;
    %pad/u 32;
    %cmpi/e 0, 0, 32;
    %jmp/0xz  T_8.7, 4;
    %load/vec4 v0x8991b7a20_0;
    %assign/vec4 v0x8991b75c0_0, 0;
    %load/vec4 v0x8991b7a20_0;
    %cmpi/s 0, 0, 32;
    %flag_or 5, 4;
    %jmp/0xz  T_8.9, 5;
    %pushi/vec4 0, 0, 8;
    %assign/vec4 v0x8991b7f20_0, 0;
    %jmp T_8.10;
T_8.9 ;
    %load/vec4 v0x8991b7a20_0;
    %cmpi/s 127, 0, 32;
    %flag_or 5, 4; GT is !LE
    %flag_inv 5;
    %jmp/0xz  T_8.11, 5;
    %pushi/vec4 127, 0, 8;
    %assign/vec4 v0x8991b7f20_0, 0;
    %jmp T_8.12;
T_8.11 ;
    %load/vec4 v0x8991b7a20_0;
    %parti/s 8, 0, 2;
    %assign/vec4 v0x8991b7f20_0, 0;
T_8.12 ;
T_8.10 ;
    %pushi/vec4 0, 0, 1;
    %assign/vec4 v0x8991b7840_0, 0;
    %pushi/vec4 1, 0, 1;
    %assign/vec4 v0x8991b7980_0, 0;
    %jmp T_8.8;
T_8.7 ;
    %load/vec4 v0x8991b7660_0;
    %assign/vec4 v0x8991b75c0_0, 0;
    %load/vec4 v0x8991b7ac0_0;
    %addi 1, 0, 1;
    %assign/vec4 v0x8991b7ac0_0, 0;
T_8.8 ;
T_8.5 ;
T_8.3 ;
T_8.1 ;
    %jmp T_8;
    .thread T_8;
    .scope S_0x100d3a3f0;
T_9 ;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x8991b8820_0, 0, 1;
T_9.0 ;
    %delay 5000, 0;
    %load/vec4 v0x8991b8820_0;
    %inv;
    %store/vec4 v0x8991b8820_0, 0, 1;
    %jmp T_9.0;
T_9.1 ;
    %end;
    .thread T_9;
    .scope S_0x100d3a3f0;
T_10 ;
    %vpi_call/w 3 71 "$dumpfile", "sim/parametric.vcd" {0 0 0};
    %vpi_call/w 3 72 "$dumpvars", 32'sb00000000000000000000000000000000, S_0x100d3a3f0 {0 0 0};
    %pushi/vec4 1, 0, 1;
    %store/vec4 v0x8991b8b40_0, 0, 1;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x8991b8be0_0, 0, 1;
    %pushi/vec4 0, 0, 256;
    %store/vec4 v0x8991b8d20_0, 0, 256;
    %pushi/vec4 0, 0, 1024;
    %store/vec4 v0x8991b8c80_0, 0, 1024;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x8991b86e0_0, 0, 32;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x8991b8960_0, 0, 32;
    %pushi/vec4 2, 0, 32;
T_10.0 %dup/vec4;
    %cmpi/s 0, 0, 32;
    %jmp/1xz T_10.1, 5;
    %jmp/1 T_10.1, 4;
    %subi 1, 0, 32;
    %wait E_0x898dc7f00;
    %jmp T_10.0;
T_10.1 ;
    %pop/vec4 1;
    %pushi/vec4 0, 0, 1;
    %store/vec4 v0x8991b8b40_0, 0, 1;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x8991b8aa0_0, 0, 32;
T_10.2 ; Top of for-loop
    %load/vec4 v0x8991b8aa0_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_10.3, 5;
    %pushi/vec4 1, 0, 8;
    %load/vec4 v0x8991b8aa0_0;
    %muli 8, 0, 32;
    %ix/vec4/s 4;
    %store/vec4 v0x8991b8d20_0, 4, 8;
T_10.4 ; for-loop step statement
    %load/vec4 v0x8991b8aa0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991b8aa0_0, 0, 32;
    %jmp T_10.2;
T_10.3 ; for-loop exit label
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x8991b8aa0_0, 0, 32;
T_10.5 ; Top of for-loop
    %load/vec4 v0x8991b8aa0_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_10.6, 5;
    %pushi/vec4 1, 0, 8;
    %pushi/vec4 0, 0, 32;
    %load/vec4 v0x8991b8aa0_0;
    %muli 8, 0, 32;
    %add;
    %ix/vec4/s 4;
    %store/vec4 v0x8991b8c80_0, 4, 8;
T_10.7 ; for-loop step statement
    %load/vec4 v0x8991b8aa0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991b8aa0_0, 0, 32;
    %jmp T_10.5;
T_10.6 ; for-loop exit label
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x8991b8aa0_0, 0, 32;
T_10.8 ; Top of for-loop
    %load/vec4 v0x8991b8aa0_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_10.9, 5;
    %pushi/vec4 2, 0, 8;
    %pushi/vec4 256, 0, 32;
    %load/vec4 v0x8991b8aa0_0;
    %muli 8, 0, 32;
    %add;
    %ix/vec4/s 4;
    %store/vec4 v0x8991b8c80_0, 4, 8;
T_10.10 ; for-loop step statement
    %load/vec4 v0x8991b8aa0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991b8aa0_0, 0, 32;
    %jmp T_10.8;
T_10.9 ; for-loop exit label
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x8991b8aa0_0, 0, 32;
T_10.11 ; Top of for-loop
    %load/vec4 v0x8991b8aa0_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_10.12, 5;
    %pushi/vec4 254, 0, 8;
    %pushi/vec4 512, 0, 32;
    %load/vec4 v0x8991b8aa0_0;
    %muli 8, 0, 32;
    %add;
    %ix/vec4/s 4;
    %store/vec4 v0x8991b8c80_0, 4, 8;
T_10.13 ; for-loop step statement
    %load/vec4 v0x8991b8aa0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991b8aa0_0, 0, 32;
    %jmp T_10.11;
T_10.12 ; for-loop exit label
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x8991b8aa0_0, 0, 32;
T_10.14 ; Top of for-loop
    %load/vec4 v0x8991b8aa0_0;
    %cmpi/s 32, 0, 32;
	  %jmp/0xz T_10.15, 5;
    %pushi/vec4 4, 0, 8;
    %pushi/vec4 768, 0, 32;
    %load/vec4 v0x8991b8aa0_0;
    %muli 8, 0, 32;
    %add;
    %ix/vec4/s 4;
    %store/vec4 v0x8991b8c80_0, 4, 8;
T_10.16 ; for-loop step statement
    %load/vec4 v0x8991b8aa0_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991b8aa0_0, 0, 32;
    %jmp T_10.14;
T_10.15 ; for-loop exit label
    %vpi_call/w 3 144 "$display", "\000" {0 0 0};
    %vpi_call/w 3 145 "$display", "========================================" {0 0 0};
    %vpi_call/w 3 146 "$display", "INT8 / INT32 PARAMETRIC LAYER TEST" {0 0 0};
    %vpi_call/w 3 147 "$display", "N_INPUTS  = %0d", P_0x8990fbf00 {0 0 0};
    %vpi_call/w 3 148 "$display", "N_NEURONS = %0d", P_0x8990fbf40 {0 0 0};
    %vpi_call/w 3 149 "$display", "PARALLEL  = %0d", P_0x8990fbf80 {0 0 0};
    %vpi_call/w 3 150 "$display", "DATA_WIDTH = %0d", P_0x8990fbec0 {0 0 0};
    %vpi_call/w 3 151 "$display", "ACC_WIDTH  = %0d", P_0x8990fbe80 {0 0 0};
    %vpi_call/w 3 152 "$display", "========================================" {0 0 0};
    %fork TD_tb.run_layer, S_0x898e3d080;
    %join;
    %pushi/vec4 32, 0, 32;
    %store/vec4 v0x8991b8a00_0, 0, 32;
    %load/vec4 v0x8991b8dc0_0;
    %parti/s 8, 0, 2;
    %pad/s 32;
    %load/vec4 v0x8991b8a00_0;
    %cmp/ne;
    %jmp/0xz  T_10.17, 6;
    %load/vec4 v0x8991b8dc0_0;
    %parti/s 8, 0, 2;
    %vpi_call/w 3 162 "$display", "FAIL N0: got %0d expected %0d", S<0,vec4,s8>, v0x8991b8a00_0 {1 0 0};
    %load/vec4 v0x8991b8960_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991b8960_0, 0, 32;
    %jmp T_10.18;
T_10.17 ;
    %load/vec4 v0x8991b8dc0_0;
    %parti/s 8, 0, 2;
    %vpi_call/w 3 168 "$display", "PASS N0: %0d", S<0,vec4,s8> {1 0 0};
T_10.18 ;
    %pushi/vec4 64, 0, 32;
    %store/vec4 v0x8991b8a00_0, 0, 32;
    %load/vec4 v0x8991b8dc0_0;
    %parti/s 8, 8, 5;
    %pad/s 32;
    %load/vec4 v0x8991b8a00_0;
    %cmp/ne;
    %jmp/0xz  T_10.19, 6;
    %load/vec4 v0x8991b8dc0_0;
    %parti/s 8, 8, 5;
    %vpi_call/w 3 178 "$display", "FAIL N1: got %0d expected %0d", S<0,vec4,s8>, v0x8991b8a00_0 {1 0 0};
    %load/vec4 v0x8991b8960_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991b8960_0, 0, 32;
    %jmp T_10.20;
T_10.19 ;
    %load/vec4 v0x8991b8dc0_0;
    %parti/s 8, 8, 5;
    %vpi_call/w 3 184 "$display", "PASS N1: %0d", S<0,vec4,s8> {1 0 0};
T_10.20 ;
    %pushi/vec4 0, 0, 32;
    %store/vec4 v0x8991b8a00_0, 0, 32;
    %load/vec4 v0x8991b8dc0_0;
    %parti/s 8, 16, 6;
    %pad/s 32;
    %cmpi/ne 0, 0, 32;
    %jmp/0xz  T_10.21, 6;
    %load/vec4 v0x8991b8dc0_0;
    %parti/s 8, 16, 6;
    %vpi_call/w 3 196 "$display", "FAIL N2: got %0d expected 0", S<0,vec4,s8> {1 0 0};
    %load/vec4 v0x8991b8960_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991b8960_0, 0, 32;
    %jmp T_10.22;
T_10.21 ;
    %vpi_call/w 3 201 "$display", "PASS N2: 0 (ReLU)" {0 0 0};
T_10.22 ;
    %pushi/vec4 127, 0, 32;
    %store/vec4 v0x8991b8a00_0, 0, 32;
    %load/vec4 v0x8991b8dc0_0;
    %parti/s 8, 24, 6;
    %pad/s 32;
    %load/vec4 v0x8991b8a00_0;
    %cmp/ne;
    %jmp/0xz  T_10.23, 6;
    %load/vec4 v0x8991b8dc0_0;
    %parti/s 8, 24, 6;
    %vpi_call/w 3 215 "$display", "FAIL N3: got %0d expected %0d", S<0,vec4,s8>, v0x8991b8a00_0 {1 0 0};
    %load/vec4 v0x8991b8960_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991b8960_0, 0, 32;
    %jmp T_10.24;
T_10.23 ;
    %load/vec4 v0x8991b8dc0_0;
    %parti/s 8, 24, 6;
    %vpi_call/w 3 221 "$display", "PASS N3: %0d (saturation)", S<0,vec4,s8> {1 0 0};
T_10.24 ;
    %load/vec4 v0x8991b8780_0;
    %pad/u 32;
    %cmpi/ne 0, 0, 32;
    %jmp/0xz  T_10.25, 6;
    %vpi_call/w 3 226 "$display", "FAIL: busy still active" {0 0 0};
    %load/vec4 v0x8991b8960_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991b8960_0, 0, 32;
T_10.25 ;
    %load/vec4 v0x8991b88c0_0;
    %pad/u 32;
    %cmpi/ne 1, 0, 32;
    %jmp/0xz  T_10.27, 6;
    %vpi_call/w 3 231 "$display", "FAIL: done not asserted" {0 0 0};
    %load/vec4 v0x8991b8960_0;
    %addi 1, 0, 32;
    %store/vec4 v0x8991b8960_0, 0, 32;
T_10.27 ;
    %vpi_call/w 3 235 "$display", "\000" {0 0 0};
    %vpi_call/w 3 236 "$display", "========================================" {0 0 0};
    %load/vec4 v0x8991b8960_0;
    %cmpi/e 0, 0, 32;
    %jmp/0xz  T_10.29, 4;
    %vpi_call/w 3 239 "$display", "INT8 PARAMETRIC TEST PASSED" {0 0 0};
    %jmp T_10.30;
T_10.29 ;
    %vpi_call/w 3 241 "$display", "INT8 PARAMETRIC TEST FAILED: %0d errors", v0x8991b8960_0 {0 0 0};
T_10.30 ;
    %vpi_call/w 3 243 "$display", "========================================" {0 0 0};
    %vpi_call/w 3 244 "$display", "\000" {0 0 0};
    %vpi_call/w 3 246 "$finish" {0 0 0};
    %end;
    .thread T_10;
# The file index is used to find the file name in the following table.
:file_names 8;
    "N/A";
    "<interactive>";
    "-";
    "sim/parametric_tb.v";
    "rtl/layer.v";
    "rtl/neuron_parallel.v";
    "rtl/mac8.v";
    "rtl/mac_unit.v";
