// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
// --------------------------------------------------------------------------------
// Tool Version: Vivado v.2024.2 (win64) Build 5239630 Fri Nov 08 22:35:27 MST 2024
// Date        : Tue Jul 28 14:24:52 2026
// Host        : DrewPC2025 running 64-bit major release  (build 9200)
// Command     : write_verilog -force -mode funcsim
//               c:/Users/drew/Dropbox/ADMX/Tutorials/Loopback_v0x1/Loopback_v0x1.gen/sources_1/bd/Loopback/ip/Loopback_axis_tlast_gen_0_0/Loopback_axis_tlast_gen_0_0_sim_netlist.v
// Design      : Loopback_axis_tlast_gen_0_0
// Purpose     : This verilog netlist is a functional simulation representation of the design and should not be modified
//               or synthesized. This netlist cannot be used for SDF annotated simulation.
// Device      : xczu48dr-ffvg1517-2-e
// --------------------------------------------------------------------------------
`timescale 1 ps / 1 ps

(* CHECK_LICENSE_TYPE = "Loopback_axis_tlast_gen_0_0,axis_tlast_gen,{}" *) (* DowngradeIPIdentifiedWarnings = "yes" *) (* IP_DEFINITION_SOURCE = "module_ref" *) 
(* X_CORE_INFO = "axis_tlast_gen,Vivado 2024.2" *) 
(* NotValidForBitStream *)
module Loopback_axis_tlast_gen_0_0
   (aclk,
    aresetn,
    word_count,
    s_axis_tdata,
    s_axis_tvalid,
    s_axis_tready,
    m_axis_tdata,
    m_axis_tvalid,
    m_axis_tready,
    m_axis_tlast);
  (* X_INTERFACE_INFO = "xilinx.com:signal:clock:1.0 aclk CLK" *) (* X_INTERFACE_MODE = "slave" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME aclk, ASSOCIATED_BUSIF m_axis:s_axis, ASSOCIATED_RESET aresetn, FREQ_HZ 249999954, FREQ_TOLERANCE_HZ 0, PHASE 0.0, CLK_DOMAIN Loopback_zynq_ultra_ps_e_0_0_pl_clk0, INSERT_VIP 0" *) input aclk;
  (* X_INTERFACE_INFO = "xilinx.com:signal:reset:1.0 aresetn RST" *) (* X_INTERFACE_MODE = "slave" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME aresetn, POLARITY ACTIVE_LOW, INSERT_VIP 0" *) input aresetn;
  input [23:0]word_count;
  (* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 s_axis TDATA" *) (* X_INTERFACE_MODE = "slave" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME s_axis, TDATA_NUM_BYTES 4, TDEST_WIDTH 0, TID_WIDTH 0, TUSER_WIDTH 0, HAS_TREADY 1, HAS_TSTRB 0, HAS_TKEEP 0, HAS_TLAST 0, FREQ_HZ 249999954, PHASE 0.0, CLK_DOMAIN Loopback_zynq_ultra_ps_e_0_0_pl_clk0, LAYERED_METADATA undef, INSERT_VIP 0" *) input [31:0]s_axis_tdata;
  (* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 s_axis TVALID" *) input s_axis_tvalid;
  (* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 s_axis TREADY" *) output s_axis_tready;
  (* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 m_axis TDATA" *) (* X_INTERFACE_MODE = "master" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME m_axis, TDATA_NUM_BYTES 4, TDEST_WIDTH 0, TID_WIDTH 0, TUSER_WIDTH 0, HAS_TREADY 1, HAS_TSTRB 0, HAS_TKEEP 0, HAS_TLAST 1, FREQ_HZ 249999954, PHASE 0.0, CLK_DOMAIN Loopback_zynq_ultra_ps_e_0_0_pl_clk0, LAYERED_METADATA undef, INSERT_VIP 0" *) output [31:0]m_axis_tdata;
  (* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 m_axis TVALID" *) output m_axis_tvalid;
  (* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 m_axis TREADY" *) input m_axis_tready;
  (* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 m_axis TLAST" *) output m_axis_tlast;

  wire aclk;
  wire aresetn;
  wire m_axis_tlast;
  wire m_axis_tready;
  wire [31:0]s_axis_tdata;
  wire s_axis_tvalid;
  wire [23:0]word_count;

  assign m_axis_tdata[31:0] = s_axis_tdata;
  assign m_axis_tvalid = s_axis_tvalid;
  assign s_axis_tready = m_axis_tready;
  Loopback_axis_tlast_gen_0_0_axis_tlast_gen inst
       (.aclk(aclk),
        .aresetn(aresetn),
        .m_axis_tlast(m_axis_tlast),
        .m_axis_tready(m_axis_tready),
        .s_axis_tvalid(s_axis_tvalid),
        .word_count(word_count));
endmodule

(* ORIG_REF_NAME = "axis_tlast_gen" *) 
module Loopback_axis_tlast_gen_0_0_axis_tlast_gen
   (m_axis_tlast,
    aclk,
    aresetn,
    s_axis_tvalid,
    m_axis_tready,
    word_count);
  output m_axis_tlast;
  input aclk;
  input aresetn;
  input s_axis_tvalid;
  input m_axis_tready;
  input [23:0]word_count;

  wire aclk;
  wire aresetn;
  wire beat;
  wire \beat_cnt[0]_i_1_n_0 ;
  wire \beat_cnt[0]_i_3_n_0 ;
  wire [23:0]beat_cnt_reg;
  wire \beat_cnt_reg[0]_i_2_n_0 ;
  wire \beat_cnt_reg[0]_i_2_n_1 ;
  wire \beat_cnt_reg[0]_i_2_n_10 ;
  wire \beat_cnt_reg[0]_i_2_n_11 ;
  wire \beat_cnt_reg[0]_i_2_n_12 ;
  wire \beat_cnt_reg[0]_i_2_n_13 ;
  wire \beat_cnt_reg[0]_i_2_n_14 ;
  wire \beat_cnt_reg[0]_i_2_n_15 ;
  wire \beat_cnt_reg[0]_i_2_n_2 ;
  wire \beat_cnt_reg[0]_i_2_n_3 ;
  wire \beat_cnt_reg[0]_i_2_n_4 ;
  wire \beat_cnt_reg[0]_i_2_n_5 ;
  wire \beat_cnt_reg[0]_i_2_n_6 ;
  wire \beat_cnt_reg[0]_i_2_n_7 ;
  wire \beat_cnt_reg[0]_i_2_n_8 ;
  wire \beat_cnt_reg[0]_i_2_n_9 ;
  wire \beat_cnt_reg[16]_i_1_n_1 ;
  wire \beat_cnt_reg[16]_i_1_n_10 ;
  wire \beat_cnt_reg[16]_i_1_n_11 ;
  wire \beat_cnt_reg[16]_i_1_n_12 ;
  wire \beat_cnt_reg[16]_i_1_n_13 ;
  wire \beat_cnt_reg[16]_i_1_n_14 ;
  wire \beat_cnt_reg[16]_i_1_n_15 ;
  wire \beat_cnt_reg[16]_i_1_n_2 ;
  wire \beat_cnt_reg[16]_i_1_n_3 ;
  wire \beat_cnt_reg[16]_i_1_n_4 ;
  wire \beat_cnt_reg[16]_i_1_n_5 ;
  wire \beat_cnt_reg[16]_i_1_n_6 ;
  wire \beat_cnt_reg[16]_i_1_n_7 ;
  wire \beat_cnt_reg[16]_i_1_n_8 ;
  wire \beat_cnt_reg[16]_i_1_n_9 ;
  wire \beat_cnt_reg[8]_i_1_n_0 ;
  wire \beat_cnt_reg[8]_i_1_n_1 ;
  wire \beat_cnt_reg[8]_i_1_n_10 ;
  wire \beat_cnt_reg[8]_i_1_n_11 ;
  wire \beat_cnt_reg[8]_i_1_n_12 ;
  wire \beat_cnt_reg[8]_i_1_n_13 ;
  wire \beat_cnt_reg[8]_i_1_n_14 ;
  wire \beat_cnt_reg[8]_i_1_n_15 ;
  wire \beat_cnt_reg[8]_i_1_n_2 ;
  wire \beat_cnt_reg[8]_i_1_n_3 ;
  wire \beat_cnt_reg[8]_i_1_n_4 ;
  wire \beat_cnt_reg[8]_i_1_n_5 ;
  wire \beat_cnt_reg[8]_i_1_n_6 ;
  wire \beat_cnt_reg[8]_i_1_n_7 ;
  wire \beat_cnt_reg[8]_i_1_n_8 ;
  wire \beat_cnt_reg[8]_i_1_n_9 ;
  wire i__carry__0_i_10_n_0;
  wire i__carry__0_i_11_n_0;
  wire i__carry__0_i_12_n_0;
  wire i__carry__0_i_13_n_0;
  wire i__carry__0_i_14_n_0;
  wire i__carry__0_i_15_n_0;
  wire i__carry__0_i_16_n_0;
  wire i__carry__0_i_1_n_0;
  wire i__carry__0_i_2_n_0;
  wire i__carry__0_i_3_n_0;
  wire i__carry__0_i_4_n_0;
  wire i__carry__0_i_5_n_0;
  wire i__carry__0_i_6_n_0;
  wire i__carry__0_i_7_n_0;
  wire i__carry__0_i_8_n_0;
  wire i__carry__0_i_9_n_0;
  wire i__carry__1_i_10_n_0;
  wire i__carry__1_i_11_n_0;
  wire i__carry__1_i_12_n_0;
  wire i__carry__1_i_13_n_0;
  wire i__carry__1_i_1_n_0;
  wire i__carry__1_i_2_n_0;
  wire i__carry__1_i_3_n_0;
  wire i__carry__1_i_4_n_0;
  wire i__carry__1_i_5_n_0;
  wire i__carry__1_i_6_n_0;
  wire i__carry__1_i_7_n_0;
  wire i__carry__1_i_8_n_0;
  wire i__carry__1_i_9_n_0;
  wire i__carry_i_10_n_0;
  wire i__carry_i_11_n_0;
  wire i__carry_i_12_n_0;
  wire i__carry_i_13_n_0;
  wire i__carry_i_14_n_0;
  wire i__carry_i_15_n_0;
  wire i__carry_i_16_n_0;
  wire i__carry_i_1_n_0;
  wire i__carry_i_2_n_0;
  wire i__carry_i_3_n_0;
  wire i__carry_i_4_n_0;
  wire i__carry_i_5_n_0;
  wire i__carry_i_6_n_0;
  wire i__carry_i_7_n_0;
  wire i__carry_i_8_n_0;
  wire i__carry_i_9_n_0;
  wire is_last0;
  wire is_last0_carry_i_10_n_0;
  wire is_last0_carry_i_11_n_0;
  wire is_last0_carry_i_1_n_0;
  wire is_last0_carry_i_2_n_0;
  wire is_last0_carry_i_3_n_0;
  wire is_last0_carry_i_4_n_0;
  wire is_last0_carry_i_5_n_0;
  wire is_last0_carry_i_6_n_0;
  wire is_last0_carry_i_7_n_0;
  wire is_last0_carry_i_8_n_0;
  wire is_last0_carry_i_9_n_0;
  wire is_last0_carry_n_1;
  wire is_last0_carry_n_2;
  wire is_last0_carry_n_3;
  wire is_last0_carry_n_4;
  wire is_last0_carry_n_5;
  wire is_last0_carry_n_6;
  wire is_last0_carry_n_7;
  wire [23:1]is_last1;
  wire \is_last1_inferred__0/i__carry__0_n_0 ;
  wire \is_last1_inferred__0/i__carry__0_n_1 ;
  wire \is_last1_inferred__0/i__carry__0_n_2 ;
  wire \is_last1_inferred__0/i__carry__0_n_3 ;
  wire \is_last1_inferred__0/i__carry__0_n_4 ;
  wire \is_last1_inferred__0/i__carry__0_n_5 ;
  wire \is_last1_inferred__0/i__carry__0_n_6 ;
  wire \is_last1_inferred__0/i__carry__0_n_7 ;
  wire \is_last1_inferred__0/i__carry__1_n_2 ;
  wire \is_last1_inferred__0/i__carry__1_n_3 ;
  wire \is_last1_inferred__0/i__carry__1_n_4 ;
  wire \is_last1_inferred__0/i__carry__1_n_5 ;
  wire \is_last1_inferred__0/i__carry__1_n_6 ;
  wire \is_last1_inferred__0/i__carry__1_n_7 ;
  wire \is_last1_inferred__0/i__carry_n_0 ;
  wire \is_last1_inferred__0/i__carry_n_1 ;
  wire \is_last1_inferred__0/i__carry_n_2 ;
  wire \is_last1_inferred__0/i__carry_n_3 ;
  wire \is_last1_inferred__0/i__carry_n_4 ;
  wire \is_last1_inferred__0/i__carry_n_5 ;
  wire \is_last1_inferred__0/i__carry_n_6 ;
  wire \is_last1_inferred__0/i__carry_n_7 ;
  wire [23:0]len_latch;
  wire \len_latch[0]_i_1_n_0 ;
  wire \len_latch[10]_i_1_n_0 ;
  wire \len_latch[11]_i_1_n_0 ;
  wire \len_latch[12]_i_1_n_0 ;
  wire \len_latch[13]_i_1_n_0 ;
  wire \len_latch[14]_i_1_n_0 ;
  wire \len_latch[15]_i_1_n_0 ;
  wire \len_latch[16]_i_1_n_0 ;
  wire \len_latch[17]_i_1_n_0 ;
  wire \len_latch[18]_i_1_n_0 ;
  wire \len_latch[19]_i_1_n_0 ;
  wire \len_latch[1]_i_1_n_0 ;
  wire \len_latch[20]_i_1_n_0 ;
  wire \len_latch[21]_i_1_n_0 ;
  wire \len_latch[22]_i_1_n_0 ;
  wire \len_latch[23]_i_3_n_0 ;
  wire \len_latch[2]_i_1_n_0 ;
  wire \len_latch[3]_i_1_n_0 ;
  wire \len_latch[4]_i_1_n_0 ;
  wire \len_latch[5]_i_1_n_0 ;
  wire \len_latch[6]_i_1_n_0 ;
  wire \len_latch[7]_i_1_n_0 ;
  wire \len_latch[8]_i_1_n_0 ;
  wire \len_latch[9]_i_1_n_0 ;
  wire m_axis_tlast;
  wire m_axis_tlast_INST_0_i_10_n_0;
  wire m_axis_tlast_INST_0_i_11_n_0;
  wire m_axis_tlast_INST_0_i_12_n_0;
  wire m_axis_tlast_INST_0_i_13_n_0;
  wire m_axis_tlast_INST_0_i_14_n_0;
  wire m_axis_tlast_INST_0_i_15_n_0;
  wire m_axis_tlast_INST_0_i_16_n_0;
  wire m_axis_tlast_INST_0_i_17_n_0;
  wire m_axis_tlast_INST_0_i_18_n_0;
  wire m_axis_tlast_INST_0_i_19_n_0;
  wire m_axis_tlast_INST_0_i_1_n_0;
  wire m_axis_tlast_INST_0_i_2_n_0;
  wire m_axis_tlast_INST_0_i_3_n_0;
  wire m_axis_tlast_INST_0_i_4_n_0;
  wire m_axis_tlast_INST_0_i_5_n_0;
  wire m_axis_tlast_INST_0_i_6_n_0;
  wire m_axis_tlast_INST_0_i_7_n_0;
  wire m_axis_tlast_INST_0_i_8_n_0;
  wire m_axis_tlast_INST_0_i_9_n_0;
  wire m_axis_tready;
  wire p_0_in;
  wire s_axis_tvalid;
  wire [23:0]word_count;
  wire [7:7]\NLW_beat_cnt_reg[16]_i_1_CO_UNCONNECTED ;
  wire [7:0]NLW_is_last0_carry_O_UNCONNECTED;
  wire [7:6]\NLW_is_last1_inferred__0/i__carry__1_CO_UNCONNECTED ;
  wire [7:7]\NLW_is_last1_inferred__0/i__carry__1_O_UNCONNECTED ;

  LUT6 #(
    .INIT(64'hFD5555555D555555)) 
    \beat_cnt[0]_i_1 
       (.I0(aresetn),
        .I1(m_axis_tlast_INST_0_i_3_n_0),
        .I2(m_axis_tlast_INST_0_i_2_n_0),
        .I3(is_last0),
        .I4(beat),
        .I5(m_axis_tlast_INST_0_i_1_n_0),
        .O(\beat_cnt[0]_i_1_n_0 ));
  LUT1 #(
    .INIT(2'h1)) 
    \beat_cnt[0]_i_3 
       (.I0(beat_cnt_reg[0]),
        .O(\beat_cnt[0]_i_3_n_0 ));
  FDRE \beat_cnt_reg[0] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[0]_i_2_n_15 ),
        .Q(beat_cnt_reg[0]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  (* ADDER_THRESHOLD = "16" *) 
  CARRY8 \beat_cnt_reg[0]_i_2 
       (.CI(1'b0),
        .CI_TOP(1'b0),
        .CO({\beat_cnt_reg[0]_i_2_n_0 ,\beat_cnt_reg[0]_i_2_n_1 ,\beat_cnt_reg[0]_i_2_n_2 ,\beat_cnt_reg[0]_i_2_n_3 ,\beat_cnt_reg[0]_i_2_n_4 ,\beat_cnt_reg[0]_i_2_n_5 ,\beat_cnt_reg[0]_i_2_n_6 ,\beat_cnt_reg[0]_i_2_n_7 }),
        .DI({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b1}),
        .O({\beat_cnt_reg[0]_i_2_n_8 ,\beat_cnt_reg[0]_i_2_n_9 ,\beat_cnt_reg[0]_i_2_n_10 ,\beat_cnt_reg[0]_i_2_n_11 ,\beat_cnt_reg[0]_i_2_n_12 ,\beat_cnt_reg[0]_i_2_n_13 ,\beat_cnt_reg[0]_i_2_n_14 ,\beat_cnt_reg[0]_i_2_n_15 }),
        .S({beat_cnt_reg[7:1],\beat_cnt[0]_i_3_n_0 }));
  FDRE \beat_cnt_reg[10] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[8]_i_1_n_13 ),
        .Q(beat_cnt_reg[10]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[11] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[8]_i_1_n_12 ),
        .Q(beat_cnt_reg[11]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[12] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[8]_i_1_n_11 ),
        .Q(beat_cnt_reg[12]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[13] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[8]_i_1_n_10 ),
        .Q(beat_cnt_reg[13]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[14] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[8]_i_1_n_9 ),
        .Q(beat_cnt_reg[14]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[15] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[8]_i_1_n_8 ),
        .Q(beat_cnt_reg[15]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[16] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[16]_i_1_n_15 ),
        .Q(beat_cnt_reg[16]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  (* ADDER_THRESHOLD = "16" *) 
  CARRY8 \beat_cnt_reg[16]_i_1 
       (.CI(\beat_cnt_reg[8]_i_1_n_0 ),
        .CI_TOP(1'b0),
        .CO({\NLW_beat_cnt_reg[16]_i_1_CO_UNCONNECTED [7],\beat_cnt_reg[16]_i_1_n_1 ,\beat_cnt_reg[16]_i_1_n_2 ,\beat_cnt_reg[16]_i_1_n_3 ,\beat_cnt_reg[16]_i_1_n_4 ,\beat_cnt_reg[16]_i_1_n_5 ,\beat_cnt_reg[16]_i_1_n_6 ,\beat_cnt_reg[16]_i_1_n_7 }),
        .DI({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
        .O({\beat_cnt_reg[16]_i_1_n_8 ,\beat_cnt_reg[16]_i_1_n_9 ,\beat_cnt_reg[16]_i_1_n_10 ,\beat_cnt_reg[16]_i_1_n_11 ,\beat_cnt_reg[16]_i_1_n_12 ,\beat_cnt_reg[16]_i_1_n_13 ,\beat_cnt_reg[16]_i_1_n_14 ,\beat_cnt_reg[16]_i_1_n_15 }),
        .S(beat_cnt_reg[23:16]));
  FDRE \beat_cnt_reg[17] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[16]_i_1_n_14 ),
        .Q(beat_cnt_reg[17]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[18] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[16]_i_1_n_13 ),
        .Q(beat_cnt_reg[18]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[19] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[16]_i_1_n_12 ),
        .Q(beat_cnt_reg[19]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[1] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[0]_i_2_n_14 ),
        .Q(beat_cnt_reg[1]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[20] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[16]_i_1_n_11 ),
        .Q(beat_cnt_reg[20]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[21] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[16]_i_1_n_10 ),
        .Q(beat_cnt_reg[21]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[22] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[16]_i_1_n_9 ),
        .Q(beat_cnt_reg[22]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[23] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[16]_i_1_n_8 ),
        .Q(beat_cnt_reg[23]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[2] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[0]_i_2_n_13 ),
        .Q(beat_cnt_reg[2]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[3] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[0]_i_2_n_12 ),
        .Q(beat_cnt_reg[3]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[4] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[0]_i_2_n_11 ),
        .Q(beat_cnt_reg[4]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[5] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[0]_i_2_n_10 ),
        .Q(beat_cnt_reg[5]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[6] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[0]_i_2_n_9 ),
        .Q(beat_cnt_reg[6]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[7] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[0]_i_2_n_8 ),
        .Q(beat_cnt_reg[7]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  FDRE \beat_cnt_reg[8] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[8]_i_1_n_15 ),
        .Q(beat_cnt_reg[8]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  (* ADDER_THRESHOLD = "16" *) 
  CARRY8 \beat_cnt_reg[8]_i_1 
       (.CI(\beat_cnt_reg[0]_i_2_n_0 ),
        .CI_TOP(1'b0),
        .CO({\beat_cnt_reg[8]_i_1_n_0 ,\beat_cnt_reg[8]_i_1_n_1 ,\beat_cnt_reg[8]_i_1_n_2 ,\beat_cnt_reg[8]_i_1_n_3 ,\beat_cnt_reg[8]_i_1_n_4 ,\beat_cnt_reg[8]_i_1_n_5 ,\beat_cnt_reg[8]_i_1_n_6 ,\beat_cnt_reg[8]_i_1_n_7 }),
        .DI({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
        .O({\beat_cnt_reg[8]_i_1_n_8 ,\beat_cnt_reg[8]_i_1_n_9 ,\beat_cnt_reg[8]_i_1_n_10 ,\beat_cnt_reg[8]_i_1_n_11 ,\beat_cnt_reg[8]_i_1_n_12 ,\beat_cnt_reg[8]_i_1_n_13 ,\beat_cnt_reg[8]_i_1_n_14 ,\beat_cnt_reg[8]_i_1_n_15 }),
        .S(beat_cnt_reg[15:8]));
  FDRE \beat_cnt_reg[9] 
       (.C(aclk),
        .CE(beat),
        .D(\beat_cnt_reg[8]_i_1_n_14 ),
        .Q(beat_cnt_reg[9]),
        .R(\beat_cnt[0]_i_1_n_0 ));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__0_i_1
       (.I0(len_latch[16]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[16]),
        .O(i__carry__0_i_1_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__0_i_10
       (.I0(word_count[15]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[15]),
        .O(i__carry__0_i_10_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__0_i_11
       (.I0(word_count[14]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[14]),
        .O(i__carry__0_i_11_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__0_i_12
       (.I0(word_count[13]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[13]),
        .O(i__carry__0_i_12_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__0_i_13
       (.I0(word_count[12]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[12]),
        .O(i__carry__0_i_13_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__0_i_14
       (.I0(word_count[11]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[11]),
        .O(i__carry__0_i_14_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__0_i_15
       (.I0(word_count[10]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[10]),
        .O(i__carry__0_i_15_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__0_i_16
       (.I0(word_count[9]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[9]),
        .O(i__carry__0_i_16_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__0_i_2
       (.I0(len_latch[15]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[15]),
        .O(i__carry__0_i_2_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__0_i_3
       (.I0(len_latch[14]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[14]),
        .O(i__carry__0_i_3_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__0_i_4
       (.I0(len_latch[13]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[13]),
        .O(i__carry__0_i_4_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__0_i_5
       (.I0(len_latch[12]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[12]),
        .O(i__carry__0_i_5_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__0_i_6
       (.I0(len_latch[11]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[11]),
        .O(i__carry__0_i_6_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__0_i_7
       (.I0(len_latch[10]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[10]),
        .O(i__carry__0_i_7_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__0_i_8
       (.I0(len_latch[9]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[9]),
        .O(i__carry__0_i_8_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__0_i_9
       (.I0(word_count[16]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[16]),
        .O(i__carry__0_i_9_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__1_i_1
       (.I0(len_latch[22]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[22]),
        .O(i__carry__1_i_1_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__1_i_10
       (.I0(word_count[20]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[20]),
        .O(i__carry__1_i_10_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__1_i_11
       (.I0(word_count[19]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[19]),
        .O(i__carry__1_i_11_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__1_i_12
       (.I0(word_count[18]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[18]),
        .O(i__carry__1_i_12_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__1_i_13
       (.I0(word_count[17]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[17]),
        .O(i__carry__1_i_13_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__1_i_2
       (.I0(len_latch[21]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[21]),
        .O(i__carry__1_i_2_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__1_i_3
       (.I0(len_latch[20]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[20]),
        .O(i__carry__1_i_3_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__1_i_4
       (.I0(len_latch[19]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[19]),
        .O(i__carry__1_i_4_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__1_i_5
       (.I0(len_latch[18]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[18]),
        .O(i__carry__1_i_5_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry__1_i_6
       (.I0(len_latch[17]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[17]),
        .O(i__carry__1_i_6_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__1_i_7
       (.I0(word_count[23]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[23]),
        .O(i__carry__1_i_7_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__1_i_8
       (.I0(word_count[22]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[22]),
        .O(i__carry__1_i_8_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry__1_i_9
       (.I0(word_count[21]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[21]),
        .O(i__carry__1_i_9_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry_i_1
       (.I0(len_latch[8]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[8]),
        .O(i__carry_i_1_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry_i_10
       (.I0(word_count[7]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[7]),
        .O(i__carry_i_10_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry_i_11
       (.I0(word_count[6]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[6]),
        .O(i__carry_i_11_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry_i_12
       (.I0(word_count[5]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[5]),
        .O(i__carry_i_12_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry_i_13
       (.I0(word_count[4]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[4]),
        .O(i__carry_i_13_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry_i_14
       (.I0(word_count[3]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[3]),
        .O(i__carry_i_14_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry_i_15
       (.I0(word_count[2]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[2]),
        .O(i__carry_i_15_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry_i_16
       (.I0(word_count[1]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[1]),
        .O(i__carry_i_16_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry_i_2
       (.I0(len_latch[7]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[7]),
        .O(i__carry_i_2_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry_i_3
       (.I0(len_latch[6]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[6]),
        .O(i__carry_i_3_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry_i_4
       (.I0(len_latch[5]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[5]),
        .O(i__carry_i_4_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry_i_5
       (.I0(len_latch[4]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[4]),
        .O(i__carry_i_5_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry_i_6
       (.I0(len_latch[3]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[3]),
        .O(i__carry_i_6_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry_i_7
       (.I0(len_latch[2]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[2]),
        .O(i__carry_i_7_n_0));
  LUT3 #(
    .INIT(8'hB8)) 
    i__carry_i_8
       (.I0(len_latch[1]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[1]),
        .O(i__carry_i_8_n_0));
  LUT3 #(
    .INIT(8'h1D)) 
    i__carry_i_9
       (.I0(word_count[8]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(len_latch[8]),
        .O(i__carry_i_9_n_0));
  CARRY8 is_last0_carry
       (.CI(1'b1),
        .CI_TOP(1'b0),
        .CO({is_last0,is_last0_carry_n_1,is_last0_carry_n_2,is_last0_carry_n_3,is_last0_carry_n_4,is_last0_carry_n_5,is_last0_carry_n_6,is_last0_carry_n_7}),
        .DI({1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0}),
        .O(NLW_is_last0_carry_O_UNCONNECTED[7:0]),
        .S({is_last0_carry_i_1_n_0,is_last0_carry_i_2_n_0,is_last0_carry_i_3_n_0,is_last0_carry_i_4_n_0,is_last0_carry_i_5_n_0,is_last0_carry_i_6_n_0,is_last0_carry_i_7_n_0,is_last0_carry_i_8_n_0}));
  LUT6 #(
    .INIT(64'h8400210000840021)) 
    is_last0_carry_i_1
       (.I0(beat_cnt_reg[21]),
        .I1(is_last1[23]),
        .I2(is_last1[21]),
        .I3(is_last1[22]),
        .I4(beat_cnt_reg[23]),
        .I5(beat_cnt_reg[22]),
        .O(is_last0_carry_i_1_n_0));
  LUT6 #(
    .INIT(64'h0000000000000002)) 
    is_last0_carry_i_10
       (.I0(len_latch[0]),
        .I1(is_last1[1]),
        .I2(is_last1[2]),
        .I3(beat_cnt_reg[0]),
        .I4(beat_cnt_reg[1]),
        .I5(beat_cnt_reg[2]),
        .O(is_last0_carry_i_10_n_0));
  LUT5 #(
    .INIT(32'h00000001)) 
    is_last0_carry_i_11
       (.I0(len_latch[0]),
        .I1(is_last1[1]),
        .I2(is_last1[2]),
        .I3(beat_cnt_reg[2]),
        .I4(beat_cnt_reg[1]),
        .O(is_last0_carry_i_11_n_0));
  LUT6 #(
    .INIT(64'h8400210000840021)) 
    is_last0_carry_i_2
       (.I0(beat_cnt_reg[18]),
        .I1(is_last1[20]),
        .I2(is_last1[18]),
        .I3(is_last1[19]),
        .I4(beat_cnt_reg[20]),
        .I5(beat_cnt_reg[19]),
        .O(is_last0_carry_i_2_n_0));
  LUT6 #(
    .INIT(64'h8400210000840021)) 
    is_last0_carry_i_3
       (.I0(beat_cnt_reg[15]),
        .I1(is_last1[17]),
        .I2(is_last1[15]),
        .I3(is_last1[16]),
        .I4(beat_cnt_reg[17]),
        .I5(beat_cnt_reg[16]),
        .O(is_last0_carry_i_3_n_0));
  LUT6 #(
    .INIT(64'h8400210000840021)) 
    is_last0_carry_i_4
       (.I0(beat_cnt_reg[12]),
        .I1(is_last1[14]),
        .I2(is_last1[12]),
        .I3(is_last1[13]),
        .I4(beat_cnt_reg[14]),
        .I5(beat_cnt_reg[13]),
        .O(is_last0_carry_i_4_n_0));
  LUT6 #(
    .INIT(64'h8400210000840021)) 
    is_last0_carry_i_5
       (.I0(beat_cnt_reg[9]),
        .I1(is_last1[11]),
        .I2(is_last1[9]),
        .I3(is_last1[10]),
        .I4(beat_cnt_reg[11]),
        .I5(beat_cnt_reg[10]),
        .O(is_last0_carry_i_5_n_0));
  LUT6 #(
    .INIT(64'h8400210000840021)) 
    is_last0_carry_i_6
       (.I0(beat_cnt_reg[6]),
        .I1(is_last1[8]),
        .I2(is_last1[6]),
        .I3(is_last1[7]),
        .I4(beat_cnt_reg[8]),
        .I5(beat_cnt_reg[7]),
        .O(is_last0_carry_i_6_n_0));
  LUT6 #(
    .INIT(64'h8400210000840021)) 
    is_last0_carry_i_7
       (.I0(beat_cnt_reg[3]),
        .I1(is_last1[5]),
        .I2(is_last1[3]),
        .I3(is_last1[4]),
        .I4(beat_cnt_reg[5]),
        .I5(beat_cnt_reg[4]),
        .O(is_last0_carry_i_7_n_0));
  LUT6 #(
    .INIT(64'hFFFFEEEAEEFAEEEA)) 
    is_last0_carry_i_8
       (.I0(is_last0_carry_i_9_n_0),
        .I1(is_last0_carry_i_10_n_0),
        .I2(word_count[0]),
        .I3(m_axis_tlast_INST_0_i_10_n_0),
        .I4(is_last0_carry_i_11_n_0),
        .I5(beat_cnt_reg[0]),
        .O(is_last0_carry_i_8_n_0));
  LUT6 #(
    .INIT(64'h6006000000006000)) 
    is_last0_carry_i_9
       (.I0(len_latch[0]),
        .I1(beat_cnt_reg[0]),
        .I2(beat_cnt_reg[1]),
        .I3(is_last1[1]),
        .I4(beat_cnt_reg[2]),
        .I5(is_last1[2]),
        .O(is_last0_carry_i_9_n_0));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY8 \is_last1_inferred__0/i__carry 
       (.CI(\len_latch[0]_i_1_n_0 ),
        .CI_TOP(1'b0),
        .CO({\is_last1_inferred__0/i__carry_n_0 ,\is_last1_inferred__0/i__carry_n_1 ,\is_last1_inferred__0/i__carry_n_2 ,\is_last1_inferred__0/i__carry_n_3 ,\is_last1_inferred__0/i__carry_n_4 ,\is_last1_inferred__0/i__carry_n_5 ,\is_last1_inferred__0/i__carry_n_6 ,\is_last1_inferred__0/i__carry_n_7 }),
        .DI({i__carry_i_1_n_0,i__carry_i_2_n_0,i__carry_i_3_n_0,i__carry_i_4_n_0,i__carry_i_5_n_0,i__carry_i_6_n_0,i__carry_i_7_n_0,i__carry_i_8_n_0}),
        .O(is_last1[8:1]),
        .S({i__carry_i_9_n_0,i__carry_i_10_n_0,i__carry_i_11_n_0,i__carry_i_12_n_0,i__carry_i_13_n_0,i__carry_i_14_n_0,i__carry_i_15_n_0,i__carry_i_16_n_0}));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY8 \is_last1_inferred__0/i__carry__0 
       (.CI(\is_last1_inferred__0/i__carry_n_0 ),
        .CI_TOP(1'b0),
        .CO({\is_last1_inferred__0/i__carry__0_n_0 ,\is_last1_inferred__0/i__carry__0_n_1 ,\is_last1_inferred__0/i__carry__0_n_2 ,\is_last1_inferred__0/i__carry__0_n_3 ,\is_last1_inferred__0/i__carry__0_n_4 ,\is_last1_inferred__0/i__carry__0_n_5 ,\is_last1_inferred__0/i__carry__0_n_6 ,\is_last1_inferred__0/i__carry__0_n_7 }),
        .DI({i__carry__0_i_1_n_0,i__carry__0_i_2_n_0,i__carry__0_i_3_n_0,i__carry__0_i_4_n_0,i__carry__0_i_5_n_0,i__carry__0_i_6_n_0,i__carry__0_i_7_n_0,i__carry__0_i_8_n_0}),
        .O(is_last1[16:9]),
        .S({i__carry__0_i_9_n_0,i__carry__0_i_10_n_0,i__carry__0_i_11_n_0,i__carry__0_i_12_n_0,i__carry__0_i_13_n_0,i__carry__0_i_14_n_0,i__carry__0_i_15_n_0,i__carry__0_i_16_n_0}));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY8 \is_last1_inferred__0/i__carry__1 
       (.CI(\is_last1_inferred__0/i__carry__0_n_0 ),
        .CI_TOP(1'b0),
        .CO({\NLW_is_last1_inferred__0/i__carry__1_CO_UNCONNECTED [7:6],\is_last1_inferred__0/i__carry__1_n_2 ,\is_last1_inferred__0/i__carry__1_n_3 ,\is_last1_inferred__0/i__carry__1_n_4 ,\is_last1_inferred__0/i__carry__1_n_5 ,\is_last1_inferred__0/i__carry__1_n_6 ,\is_last1_inferred__0/i__carry__1_n_7 }),
        .DI({1'b0,1'b0,i__carry__1_i_1_n_0,i__carry__1_i_2_n_0,i__carry__1_i_3_n_0,i__carry__1_i_4_n_0,i__carry__1_i_5_n_0,i__carry__1_i_6_n_0}),
        .O({\NLW_is_last1_inferred__0/i__carry__1_O_UNCONNECTED [7],is_last1[23:17]}),
        .S({1'b0,i__carry__1_i_7_n_0,i__carry__1_i_8_n_0,i__carry__1_i_9_n_0,i__carry__1_i_10_n_0,i__carry__1_i_11_n_0,i__carry__1_i_12_n_0,i__carry__1_i_13_n_0}));
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[0]_i_1 
       (.I0(len_latch[0]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[0]),
        .O(\len_latch[0]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair4" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[10]_i_1 
       (.I0(len_latch[10]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[10]),
        .O(\len_latch[10]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair4" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[11]_i_1 
       (.I0(len_latch[11]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[11]),
        .O(\len_latch[11]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair5" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[12]_i_1 
       (.I0(len_latch[12]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[12]),
        .O(\len_latch[12]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair5" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[13]_i_1 
       (.I0(len_latch[13]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[13]),
        .O(\len_latch[13]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair6" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[14]_i_1 
       (.I0(len_latch[14]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[14]),
        .O(\len_latch[14]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair6" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[15]_i_1 
       (.I0(len_latch[15]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[15]),
        .O(\len_latch[15]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair7" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[16]_i_1 
       (.I0(len_latch[16]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[16]),
        .O(\len_latch[16]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair7" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[17]_i_1 
       (.I0(len_latch[17]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[17]),
        .O(\len_latch[17]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair8" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[18]_i_1 
       (.I0(len_latch[18]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[18]),
        .O(\len_latch[18]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair8" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[19]_i_1 
       (.I0(len_latch[19]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[19]),
        .O(\len_latch[19]_i_1_n_0 ));
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[1]_i_1 
       (.I0(len_latch[1]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[1]),
        .O(\len_latch[1]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair9" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[20]_i_1 
       (.I0(len_latch[20]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[20]),
        .O(\len_latch[20]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair9" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[21]_i_1 
       (.I0(len_latch[21]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[21]),
        .O(\len_latch[21]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair10" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[22]_i_1 
       (.I0(len_latch[22]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[22]),
        .O(\len_latch[22]_i_1_n_0 ));
  LUT1 #(
    .INIT(2'h1)) 
    \len_latch[23]_i_1 
       (.I0(aresetn),
        .O(p_0_in));
  LUT2 #(
    .INIT(4'h8)) 
    \len_latch[23]_i_2 
       (.I0(s_axis_tvalid),
        .I1(m_axis_tready),
        .O(beat));
  (* SOFT_HLUTNM = "soft_lutpair10" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[23]_i_3 
       (.I0(len_latch[23]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[23]),
        .O(\len_latch[23]_i_3_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair0" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[2]_i_1 
       (.I0(len_latch[2]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[2]),
        .O(\len_latch[2]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair0" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[3]_i_1 
       (.I0(len_latch[3]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[3]),
        .O(\len_latch[3]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair1" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[4]_i_1 
       (.I0(len_latch[4]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[4]),
        .O(\len_latch[4]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair1" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[5]_i_1 
       (.I0(len_latch[5]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[5]),
        .O(\len_latch[5]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair2" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[6]_i_1 
       (.I0(len_latch[6]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[6]),
        .O(\len_latch[6]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair2" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[7]_i_1 
       (.I0(len_latch[7]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[7]),
        .O(\len_latch[7]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair3" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[8]_i_1 
       (.I0(len_latch[8]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[8]),
        .O(\len_latch[8]_i_1_n_0 ));
  (* SOFT_HLUTNM = "soft_lutpair3" *) 
  LUT3 #(
    .INIT(8'hB8)) 
    \len_latch[9]_i_1 
       (.I0(len_latch[9]),
        .I1(m_axis_tlast_INST_0_i_2_n_0),
        .I2(word_count[9]),
        .O(\len_latch[9]_i_1_n_0 ));
  FDRE \len_latch_reg[0] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[0]_i_1_n_0 ),
        .Q(len_latch[0]),
        .R(p_0_in));
  FDRE \len_latch_reg[10] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[10]_i_1_n_0 ),
        .Q(len_latch[10]),
        .R(p_0_in));
  FDRE \len_latch_reg[11] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[11]_i_1_n_0 ),
        .Q(len_latch[11]),
        .R(p_0_in));
  FDRE \len_latch_reg[12] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[12]_i_1_n_0 ),
        .Q(len_latch[12]),
        .R(p_0_in));
  FDRE \len_latch_reg[13] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[13]_i_1_n_0 ),
        .Q(len_latch[13]),
        .R(p_0_in));
  FDRE \len_latch_reg[14] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[14]_i_1_n_0 ),
        .Q(len_latch[14]),
        .R(p_0_in));
  FDRE \len_latch_reg[15] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[15]_i_1_n_0 ),
        .Q(len_latch[15]),
        .R(p_0_in));
  FDRE \len_latch_reg[16] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[16]_i_1_n_0 ),
        .Q(len_latch[16]),
        .R(p_0_in));
  FDRE \len_latch_reg[17] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[17]_i_1_n_0 ),
        .Q(len_latch[17]),
        .R(p_0_in));
  FDRE \len_latch_reg[18] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[18]_i_1_n_0 ),
        .Q(len_latch[18]),
        .R(p_0_in));
  FDRE \len_latch_reg[19] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[19]_i_1_n_0 ),
        .Q(len_latch[19]),
        .R(p_0_in));
  FDRE \len_latch_reg[1] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[1]_i_1_n_0 ),
        .Q(len_latch[1]),
        .R(p_0_in));
  FDRE \len_latch_reg[20] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[20]_i_1_n_0 ),
        .Q(len_latch[20]),
        .R(p_0_in));
  FDRE \len_latch_reg[21] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[21]_i_1_n_0 ),
        .Q(len_latch[21]),
        .R(p_0_in));
  FDRE \len_latch_reg[22] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[22]_i_1_n_0 ),
        .Q(len_latch[22]),
        .R(p_0_in));
  FDRE \len_latch_reg[23] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[23]_i_3_n_0 ),
        .Q(len_latch[23]),
        .R(p_0_in));
  FDRE \len_latch_reg[2] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[2]_i_1_n_0 ),
        .Q(len_latch[2]),
        .R(p_0_in));
  FDRE \len_latch_reg[3] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[3]_i_1_n_0 ),
        .Q(len_latch[3]),
        .R(p_0_in));
  FDRE \len_latch_reg[4] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[4]_i_1_n_0 ),
        .Q(len_latch[4]),
        .R(p_0_in));
  FDRE \len_latch_reg[5] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[5]_i_1_n_0 ),
        .Q(len_latch[5]),
        .R(p_0_in));
  FDRE \len_latch_reg[6] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[6]_i_1_n_0 ),
        .Q(len_latch[6]),
        .R(p_0_in));
  FDRE \len_latch_reg[7] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[7]_i_1_n_0 ),
        .Q(len_latch[7]),
        .R(p_0_in));
  FDRE \len_latch_reg[8] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[8]_i_1_n_0 ),
        .Q(len_latch[8]),
        .R(p_0_in));
  FDRE \len_latch_reg[9] 
       (.C(aclk),
        .CE(beat),
        .D(\len_latch[9]_i_1_n_0 ),
        .Q(len_latch[9]),
        .R(p_0_in));
  LUT4 #(
    .INIT(16'h8C80)) 
    m_axis_tlast_INST_0
       (.I0(m_axis_tlast_INST_0_i_1_n_0),
        .I1(is_last0),
        .I2(m_axis_tlast_INST_0_i_2_n_0),
        .I3(m_axis_tlast_INST_0_i_3_n_0),
        .O(m_axis_tlast));
  LUT6 #(
    .INIT(64'hFFFFFFFFFFFFFFFE)) 
    m_axis_tlast_INST_0_i_1
       (.I0(m_axis_tlast_INST_0_i_4_n_0),
        .I1(m_axis_tlast_INST_0_i_5_n_0),
        .I2(m_axis_tlast_INST_0_i_6_n_0),
        .I3(m_axis_tlast_INST_0_i_7_n_0),
        .I4(m_axis_tlast_INST_0_i_8_n_0),
        .I5(m_axis_tlast_INST_0_i_9_n_0),
        .O(m_axis_tlast_INST_0_i_1_n_0));
  LUT6 #(
    .INIT(64'hFFFFFFFFFFFFFFFE)) 
    m_axis_tlast_INST_0_i_10
       (.I0(m_axis_tlast_INST_0_i_17_n_0),
        .I1(m_axis_tlast_INST_0_i_18_n_0),
        .I2(beat_cnt_reg[5]),
        .I3(beat_cnt_reg[4]),
        .I4(beat_cnt_reg[3]),
        .I5(m_axis_tlast_INST_0_i_19_n_0),
        .O(m_axis_tlast_INST_0_i_10_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_11
       (.I0(word_count[17]),
        .I1(word_count[16]),
        .I2(word_count[19]),
        .I3(word_count[18]),
        .O(m_axis_tlast_INST_0_i_11_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_12
       (.I0(word_count[21]),
        .I1(word_count[20]),
        .I2(word_count[23]),
        .I3(word_count[22]),
        .O(m_axis_tlast_INST_0_i_12_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_13
       (.I0(word_count[9]),
        .I1(word_count[8]),
        .I2(word_count[11]),
        .I3(word_count[10]),
        .O(m_axis_tlast_INST_0_i_13_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_14
       (.I0(word_count[13]),
        .I1(word_count[12]),
        .I2(word_count[15]),
        .I3(word_count[14]),
        .O(m_axis_tlast_INST_0_i_14_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_15
       (.I0(word_count[5]),
        .I1(word_count[4]),
        .I2(word_count[7]),
        .I3(word_count[6]),
        .O(m_axis_tlast_INST_0_i_15_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_16
       (.I0(word_count[1]),
        .I1(word_count[0]),
        .I2(word_count[3]),
        .I3(word_count[2]),
        .O(m_axis_tlast_INST_0_i_16_n_0));
  LUT6 #(
    .INIT(64'hFFFFFFFFFFFFFFFE)) 
    m_axis_tlast_INST_0_i_17
       (.I0(beat_cnt_reg[12]),
        .I1(beat_cnt_reg[13]),
        .I2(beat_cnt_reg[14]),
        .I3(beat_cnt_reg[15]),
        .I4(beat_cnt_reg[16]),
        .I5(beat_cnt_reg[17]),
        .O(m_axis_tlast_INST_0_i_17_n_0));
  LUT6 #(
    .INIT(64'hFFFFFFFFFFFFFFFE)) 
    m_axis_tlast_INST_0_i_18
       (.I0(beat_cnt_reg[6]),
        .I1(beat_cnt_reg[7]),
        .I2(beat_cnt_reg[8]),
        .I3(beat_cnt_reg[9]),
        .I4(beat_cnt_reg[10]),
        .I5(beat_cnt_reg[11]),
        .O(m_axis_tlast_INST_0_i_18_n_0));
  LUT6 #(
    .INIT(64'hFFFFFFFFFFFFFFFE)) 
    m_axis_tlast_INST_0_i_19
       (.I0(beat_cnt_reg[18]),
        .I1(beat_cnt_reg[19]),
        .I2(beat_cnt_reg[20]),
        .I3(beat_cnt_reg[21]),
        .I4(beat_cnt_reg[22]),
        .I5(beat_cnt_reg[23]),
        .O(m_axis_tlast_INST_0_i_19_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_2
       (.I0(m_axis_tlast_INST_0_i_10_n_0),
        .I1(beat_cnt_reg[0]),
        .I2(beat_cnt_reg[1]),
        .I3(beat_cnt_reg[2]),
        .O(m_axis_tlast_INST_0_i_2_n_0));
  LUT6 #(
    .INIT(64'hFFFFFFFFFFFFFFFE)) 
    m_axis_tlast_INST_0_i_3
       (.I0(m_axis_tlast_INST_0_i_11_n_0),
        .I1(m_axis_tlast_INST_0_i_12_n_0),
        .I2(m_axis_tlast_INST_0_i_13_n_0),
        .I3(m_axis_tlast_INST_0_i_14_n_0),
        .I4(m_axis_tlast_INST_0_i_15_n_0),
        .I5(m_axis_tlast_INST_0_i_16_n_0),
        .O(m_axis_tlast_INST_0_i_3_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_4
       (.I0(len_latch[17]),
        .I1(len_latch[16]),
        .I2(len_latch[19]),
        .I3(len_latch[18]),
        .O(m_axis_tlast_INST_0_i_4_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_5
       (.I0(len_latch[21]),
        .I1(len_latch[20]),
        .I2(len_latch[23]),
        .I3(len_latch[22]),
        .O(m_axis_tlast_INST_0_i_5_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_6
       (.I0(len_latch[9]),
        .I1(len_latch[8]),
        .I2(len_latch[11]),
        .I3(len_latch[10]),
        .O(m_axis_tlast_INST_0_i_6_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_7
       (.I0(len_latch[13]),
        .I1(len_latch[12]),
        .I2(len_latch[15]),
        .I3(len_latch[14]),
        .O(m_axis_tlast_INST_0_i_7_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_8
       (.I0(len_latch[5]),
        .I1(len_latch[4]),
        .I2(len_latch[7]),
        .I3(len_latch[6]),
        .O(m_axis_tlast_INST_0_i_8_n_0));
  LUT4 #(
    .INIT(16'hFFFE)) 
    m_axis_tlast_INST_0_i_9
       (.I0(len_latch[1]),
        .I1(len_latch[0]),
        .I2(len_latch[3]),
        .I3(len_latch[2]),
        .O(m_axis_tlast_INST_0_i_9_n_0));
endmodule
`ifndef GLBL
`define GLBL
`timescale  1 ps / 1 ps

module glbl ();

    parameter ROC_WIDTH = 100000;
    parameter TOC_WIDTH = 0;
    parameter GRES_WIDTH = 10000;
    parameter GRES_START = 10000;

//--------   STARTUP Globals --------------
    wire GSR;
    wire GTS;
    wire GWE;
    wire PRLD;
    wire GRESTORE;
    tri1 p_up_tmp;
    tri (weak1, strong0) PLL_LOCKG = p_up_tmp;

    wire PROGB_GLBL;
    wire CCLKO_GLBL;
    wire FCSBO_GLBL;
    wire [3:0] DO_GLBL;
    wire [3:0] DI_GLBL;
   
    reg GSR_int;
    reg GTS_int;
    reg PRLD_int;
    reg GRESTORE_int;

//--------   JTAG Globals --------------
    wire JTAG_TDO_GLBL;
    wire JTAG_TCK_GLBL;
    wire JTAG_TDI_GLBL;
    wire JTAG_TMS_GLBL;
    wire JTAG_TRST_GLBL;

    reg JTAG_CAPTURE_GLBL;
    reg JTAG_RESET_GLBL;
    reg JTAG_SHIFT_GLBL;
    reg JTAG_UPDATE_GLBL;
    reg JTAG_RUNTEST_GLBL;

    reg JTAG_SEL1_GLBL = 0;
    reg JTAG_SEL2_GLBL = 0 ;
    reg JTAG_SEL3_GLBL = 0;
    reg JTAG_SEL4_GLBL = 0;

    reg JTAG_USER_TDO1_GLBL = 1'bz;
    reg JTAG_USER_TDO2_GLBL = 1'bz;
    reg JTAG_USER_TDO3_GLBL = 1'bz;
    reg JTAG_USER_TDO4_GLBL = 1'bz;

    assign (strong1, weak0) GSR = GSR_int;
    assign (strong1, weak0) GTS = GTS_int;
    assign (weak1, weak0) PRLD = PRLD_int;
    assign (strong1, weak0) GRESTORE = GRESTORE_int;

    initial begin
	GSR_int = 1'b1;
	PRLD_int = 1'b1;
	#(ROC_WIDTH)
	GSR_int = 1'b0;
	PRLD_int = 1'b0;
    end

    initial begin
	GTS_int = 1'b1;
	#(TOC_WIDTH)
	GTS_int = 1'b0;
    end

    initial begin 
	GRESTORE_int = 1'b0;
	#(GRES_START);
	GRESTORE_int = 1'b1;
	#(GRES_WIDTH);
	GRESTORE_int = 1'b0;
    end

endmodule
`endif
