// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
// Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
// --------------------------------------------------------------------------------
// Tool Version: Vivado v.2025.1 (win64) Build 6140274 Thu May 22 00:12:29 MDT 2025
// Date        : Sun Jan  4 04:35:51 2026
// Host        : LAPTOP-L3CRKKNJ running 64-bit major release  (build 9200)
// Command     : write_verilog -force -mode funcsim
//               c:/Vivado_Debug/PLLXplore_FNPLL/FNPLL2.gen/sources_1/bd/FNPLL/ip/FNPLL_DS_dac3_0_0/FNPLL_DS_dac3_0_0_sim_netlist.v
// Design      : FNPLL_DS_dac3_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      : xc7a35tcpg236-1
// --------------------------------------------------------------------------------
`timescale 1 ps / 1 ps

(* CHECK_LICENSE_TYPE = "FNPLL_DS_dac3_0_0,DS_dac3,{}" *) (* downgradeipidentifiedwarnings = "yes" *) (* ip_definition_source = "module_ref" *) 
(* x_core_info = "DS_dac3,Vivado 2025.1" *) 
(* NotValidForBitStream *)
module FNPLL_DS_dac3_0_0
   (clk,
    reset,
    data_in,
    pdm_out);
  (* x_interface_info = "xilinx.com:signal:clock:1.0 clk CLK" *) (* x_interface_mode = "slave clk" *) (* x_interface_parameter = "XIL_INTERFACENAME clk, ASSOCIATED_RESET reset, FREQ_HZ 55000000, FREQ_TOLERANCE_HZ 0, PHASE 0.0, CLK_DOMAIN /clk_wiz_0_clk_out1, INSERT_VIP 0" *) input clk;
  (* x_interface_info = "xilinx.com:signal:reset:1.0 reset RST" *) (* x_interface_mode = "slave reset" *) (* x_interface_parameter = "XIL_INTERFACENAME reset, POLARITY ACTIVE_LOW, INSERT_VIP 0" *) input reset;
  input [15:0]data_in;
  output pdm_out;

  wire clk;
  wire [15:0]data_in;
  wire pdm_out;
  wire reset;

  FNPLL_DS_dac3_0_0_DS_dac3 U0
       (.clk(clk),
        .data_in(data_in),
        .pdm_out(pdm_out),
        .reset(reset));
endmodule

(* ORIG_REF_NAME = "DS_dac3" *) 
module FNPLL_DS_dac3_0_0_DS_dac3
   (pdm_out,
    reset,
    clk,
    data_in);
  output pdm_out;
  input reset;
  input clk;
  input [15:0]data_in;

  wire clk;
  wire [15:0]data_in;
  wire [15:0]data_in_sync1;
  wire [15:0]data_in_sync2;
  wire int1_next_carry__0_i_1_n_0;
  wire int1_next_carry__0_i_2_n_0;
  wire int1_next_carry__0_i_3_n_0;
  wire int1_next_carry__0_i_4_n_0;
  wire int1_next_carry__0_n_0;
  wire int1_next_carry__0_n_1;
  wire int1_next_carry__0_n_2;
  wire int1_next_carry__0_n_3;
  wire int1_next_carry__0_n_4;
  wire int1_next_carry__0_n_5;
  wire int1_next_carry__0_n_6;
  wire int1_next_carry__0_n_7;
  wire int1_next_carry__1_i_1_n_0;
  wire int1_next_carry__1_i_2_n_0;
  wire int1_next_carry__1_i_3_n_0;
  wire int1_next_carry__1_i_4_n_0;
  wire int1_next_carry__1_n_0;
  wire int1_next_carry__1_n_1;
  wire int1_next_carry__1_n_2;
  wire int1_next_carry__1_n_3;
  wire int1_next_carry__1_n_4;
  wire int1_next_carry__1_n_5;
  wire int1_next_carry__1_n_6;
  wire int1_next_carry__1_n_7;
  wire int1_next_carry__2_i_1_n_0;
  wire int1_next_carry__2_i_2_n_0;
  wire int1_next_carry__2_i_3_n_0;
  wire int1_next_carry__2_i_4_n_0;
  wire int1_next_carry__2_n_0;
  wire int1_next_carry__2_n_1;
  wire int1_next_carry__2_n_2;
  wire int1_next_carry__2_n_3;
  wire int1_next_carry__2_n_4;
  wire int1_next_carry__2_n_5;
  wire int1_next_carry__2_n_6;
  wire int1_next_carry__2_n_7;
  wire int1_next_carry__3_i_1_n_0;
  wire int1_next_carry__3_i_2_n_0;
  wire int1_next_carry__3_i_3_n_0;
  wire int1_next_carry__3_i_4_n_0;
  wire int1_next_carry__3_n_2;
  wire int1_next_carry__3_n_3;
  wire int1_next_carry__3_n_5;
  wire int1_next_carry__3_n_6;
  wire int1_next_carry__3_n_7;
  wire int1_next_carry_i_1_n_0;
  wire int1_next_carry_i_2_n_0;
  wire int1_next_carry_i_3_n_0;
  wire int1_next_carry_i_4_n_0;
  wire int1_next_carry_n_0;
  wire int1_next_carry_n_1;
  wire int1_next_carry_n_2;
  wire int1_next_carry_n_3;
  wire int1_next_carry_n_4;
  wire int1_next_carry_n_5;
  wire int1_next_carry_n_6;
  wire int1_next_carry_n_7;
  wire [18:0]int1_reg;
  wire [15:0]lfsr;
  wire p_0_in;
  wire [0:0]p_4_out__0;
  wire pdm_out;
  wire quant_input0_carry__0_i_1_n_0;
  wire quant_input0_carry__0_i_2_n_0;
  wire quant_input0_carry__0_i_3_n_0;
  wire quant_input0_carry__0_i_4_n_0;
  wire quant_input0_carry__0_n_0;
  wire quant_input0_carry__0_n_1;
  wire quant_input0_carry__0_n_2;
  wire quant_input0_carry__0_n_3;
  wire quant_input0_carry__1_i_1_n_0;
  wire quant_input0_carry__1_i_2_n_0;
  wire quant_input0_carry__1_i_3_n_0;
  wire quant_input0_carry__1_i_4_n_0;
  wire quant_input0_carry__1_n_0;
  wire quant_input0_carry__1_n_1;
  wire quant_input0_carry__1_n_2;
  wire quant_input0_carry__1_n_3;
  wire quant_input0_carry__2_i_1_n_0;
  wire quant_input0_carry__2_i_2_n_0;
  wire quant_input0_carry__2_i_3_n_0;
  wire quant_input0_carry__2_i_4_n_0;
  wire quant_input0_carry__2_i_5_n_0;
  wire quant_input0_carry__2_n_0;
  wire quant_input0_carry__2_n_1;
  wire quant_input0_carry__2_n_2;
  wire quant_input0_carry__2_n_3;
  wire quant_input0_carry__3_i_1_n_0;
  wire quant_input0_carry__3_i_2_n_0;
  wire quant_input0_carry__3_i_3_n_0;
  wire quant_input0_carry__3_n_3;
  wire quant_input0_carry__3_n_6;
  wire quant_input0_carry_i_1_n_0;
  wire quant_input0_carry_i_2_n_0;
  wire quant_input0_carry_i_3_n_0;
  wire quant_input0_carry_n_0;
  wire quant_input0_carry_n_1;
  wire quant_input0_carry_n_2;
  wire quant_input0_carry_n_3;
  wire quant_reg;
  wire reset;
  wire [3:2]NLW_int1_next_carry__3_CO_UNCONNECTED;
  wire [3:3]NLW_int1_next_carry__3_O_UNCONNECTED;
  wire [3:0]NLW_quant_input0_carry_O_UNCONNECTED;
  wire [3:0]NLW_quant_input0_carry__0_O_UNCONNECTED;
  wire [3:0]NLW_quant_input0_carry__1_O_UNCONNECTED;
  wire [3:0]NLW_quant_input0_carry__2_O_UNCONNECTED;
  wire [3:1]NLW_quant_input0_carry__3_CO_UNCONNECTED;
  wire [3:0]NLW_quant_input0_carry__3_O_UNCONNECTED;

  FDRE \data_in_sync1_reg[0] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[0]),
        .Q(data_in_sync1[0]),
        .R(reset));
  FDRE \data_in_sync1_reg[10] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[10]),
        .Q(data_in_sync1[10]),
        .R(reset));
  FDRE \data_in_sync1_reg[11] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[11]),
        .Q(data_in_sync1[11]),
        .R(reset));
  FDRE \data_in_sync1_reg[12] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[12]),
        .Q(data_in_sync1[12]),
        .R(reset));
  FDRE \data_in_sync1_reg[13] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[13]),
        .Q(data_in_sync1[13]),
        .R(reset));
  FDRE \data_in_sync1_reg[14] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[14]),
        .Q(data_in_sync1[14]),
        .R(reset));
  FDRE \data_in_sync1_reg[15] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[15]),
        .Q(data_in_sync1[15]),
        .R(reset));
  FDRE \data_in_sync1_reg[1] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[1]),
        .Q(data_in_sync1[1]),
        .R(reset));
  FDRE \data_in_sync1_reg[2] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[2]),
        .Q(data_in_sync1[2]),
        .R(reset));
  FDRE \data_in_sync1_reg[3] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[3]),
        .Q(data_in_sync1[3]),
        .R(reset));
  FDRE \data_in_sync1_reg[4] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[4]),
        .Q(data_in_sync1[4]),
        .R(reset));
  FDRE \data_in_sync1_reg[5] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[5]),
        .Q(data_in_sync1[5]),
        .R(reset));
  FDRE \data_in_sync1_reg[6] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[6]),
        .Q(data_in_sync1[6]),
        .R(reset));
  FDRE \data_in_sync1_reg[7] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[7]),
        .Q(data_in_sync1[7]),
        .R(reset));
  FDRE \data_in_sync1_reg[8] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[8]),
        .Q(data_in_sync1[8]),
        .R(reset));
  FDRE \data_in_sync1_reg[9] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in[9]),
        .Q(data_in_sync1[9]),
        .R(reset));
  FDRE \data_in_sync2_reg[0] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[0]),
        .Q(data_in_sync2[0]),
        .R(reset));
  FDRE \data_in_sync2_reg[10] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[10]),
        .Q(data_in_sync2[10]),
        .R(reset));
  FDRE \data_in_sync2_reg[11] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[11]),
        .Q(data_in_sync2[11]),
        .R(reset));
  FDRE \data_in_sync2_reg[12] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[12]),
        .Q(data_in_sync2[12]),
        .R(reset));
  FDRE \data_in_sync2_reg[13] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[13]),
        .Q(data_in_sync2[13]),
        .R(reset));
  FDRE \data_in_sync2_reg[14] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[14]),
        .Q(data_in_sync2[14]),
        .R(reset));
  FDRE \data_in_sync2_reg[15] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[15]),
        .Q(data_in_sync2[15]),
        .R(reset));
  FDRE \data_in_sync2_reg[1] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[1]),
        .Q(data_in_sync2[1]),
        .R(reset));
  FDRE \data_in_sync2_reg[2] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[2]),
        .Q(data_in_sync2[2]),
        .R(reset));
  FDRE \data_in_sync2_reg[3] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[3]),
        .Q(data_in_sync2[3]),
        .R(reset));
  FDRE \data_in_sync2_reg[4] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[4]),
        .Q(data_in_sync2[4]),
        .R(reset));
  FDRE \data_in_sync2_reg[5] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[5]),
        .Q(data_in_sync2[5]),
        .R(reset));
  FDRE \data_in_sync2_reg[6] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[6]),
        .Q(data_in_sync2[6]),
        .R(reset));
  FDRE \data_in_sync2_reg[7] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[7]),
        .Q(data_in_sync2[7]),
        .R(reset));
  FDRE \data_in_sync2_reg[8] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[8]),
        .Q(data_in_sync2[8]),
        .R(reset));
  FDRE \data_in_sync2_reg[9] 
       (.C(clk),
        .CE(1'b1),
        .D(data_in_sync1[9]),
        .Q(data_in_sync2[9]),
        .R(reset));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY4 int1_next_carry
       (.CI(1'b0),
        .CO({int1_next_carry_n_0,int1_next_carry_n_1,int1_next_carry_n_2,int1_next_carry_n_3}),
        .CYINIT(1'b0),
        .DI(data_in_sync2[3:0]),
        .O({int1_next_carry_n_4,int1_next_carry_n_5,int1_next_carry_n_6,int1_next_carry_n_7}),
        .S({int1_next_carry_i_1_n_0,int1_next_carry_i_2_n_0,int1_next_carry_i_3_n_0,int1_next_carry_i_4_n_0}));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY4 int1_next_carry__0
       (.CI(int1_next_carry_n_0),
        .CO({int1_next_carry__0_n_0,int1_next_carry__0_n_1,int1_next_carry__0_n_2,int1_next_carry__0_n_3}),
        .CYINIT(1'b0),
        .DI(data_in_sync2[7:4]),
        .O({int1_next_carry__0_n_4,int1_next_carry__0_n_5,int1_next_carry__0_n_6,int1_next_carry__0_n_7}),
        .S({int1_next_carry__0_i_1_n_0,int1_next_carry__0_i_2_n_0,int1_next_carry__0_i_3_n_0,int1_next_carry__0_i_4_n_0}));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry__0_i_1
       (.I0(data_in_sync2[7]),
        .I1(int1_reg[7]),
        .O(int1_next_carry__0_i_1_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry__0_i_2
       (.I0(data_in_sync2[6]),
        .I1(int1_reg[6]),
        .O(int1_next_carry__0_i_2_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry__0_i_3
       (.I0(data_in_sync2[5]),
        .I1(int1_reg[5]),
        .O(int1_next_carry__0_i_3_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry__0_i_4
       (.I0(data_in_sync2[4]),
        .I1(int1_reg[4]),
        .O(int1_next_carry__0_i_4_n_0));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY4 int1_next_carry__1
       (.CI(int1_next_carry__0_n_0),
        .CO({int1_next_carry__1_n_0,int1_next_carry__1_n_1,int1_next_carry__1_n_2,int1_next_carry__1_n_3}),
        .CYINIT(1'b0),
        .DI(data_in_sync2[11:8]),
        .O({int1_next_carry__1_n_4,int1_next_carry__1_n_5,int1_next_carry__1_n_6,int1_next_carry__1_n_7}),
        .S({int1_next_carry__1_i_1_n_0,int1_next_carry__1_i_2_n_0,int1_next_carry__1_i_3_n_0,int1_next_carry__1_i_4_n_0}));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry__1_i_1
       (.I0(data_in_sync2[11]),
        .I1(int1_reg[11]),
        .O(int1_next_carry__1_i_1_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry__1_i_2
       (.I0(data_in_sync2[10]),
        .I1(int1_reg[10]),
        .O(int1_next_carry__1_i_2_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry__1_i_3
       (.I0(data_in_sync2[9]),
        .I1(int1_reg[9]),
        .O(int1_next_carry__1_i_3_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry__1_i_4
       (.I0(data_in_sync2[8]),
        .I1(int1_reg[8]),
        .O(int1_next_carry__1_i_4_n_0));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY4 int1_next_carry__2
       (.CI(int1_next_carry__1_n_0),
        .CO({int1_next_carry__2_n_0,int1_next_carry__2_n_1,int1_next_carry__2_n_2,int1_next_carry__2_n_3}),
        .CYINIT(1'b0),
        .DI({int1_reg[15],data_in_sync2[14:12]}),
        .O({int1_next_carry__2_n_4,int1_next_carry__2_n_5,int1_next_carry__2_n_6,int1_next_carry__2_n_7}),
        .S({int1_next_carry__2_i_1_n_0,int1_next_carry__2_i_2_n_0,int1_next_carry__2_i_3_n_0,int1_next_carry__2_i_4_n_0}));
  LUT2 #(
    .INIT(4'h9)) 
    int1_next_carry__2_i_1
       (.I0(int1_reg[15]),
        .I1(data_in_sync2[15]),
        .O(int1_next_carry__2_i_1_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry__2_i_2
       (.I0(data_in_sync2[14]),
        .I1(int1_reg[14]),
        .O(int1_next_carry__2_i_2_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry__2_i_3
       (.I0(data_in_sync2[13]),
        .I1(int1_reg[13]),
        .O(int1_next_carry__2_i_3_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry__2_i_4
       (.I0(data_in_sync2[12]),
        .I1(int1_reg[12]),
        .O(int1_next_carry__2_i_4_n_0));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY4 int1_next_carry__3
       (.CI(int1_next_carry__2_n_0),
        .CO({NLW_int1_next_carry__3_CO_UNCONNECTED[3:2],int1_next_carry__3_n_2,int1_next_carry__3_n_3}),
        .CYINIT(1'b0),
        .DI({1'b0,1'b0,int1_reg[16],int1_next_carry__3_i_1_n_0}),
        .O({NLW_int1_next_carry__3_O_UNCONNECTED[3],int1_next_carry__3_n_5,int1_next_carry__3_n_6,int1_next_carry__3_n_7}),
        .S({1'b0,int1_next_carry__3_i_2_n_0,int1_next_carry__3_i_3_n_0,int1_next_carry__3_i_4_n_0}));
  LUT1 #(
    .INIT(2'h1)) 
    int1_next_carry__3_i_1
       (.I0(int1_reg[16]),
        .O(int1_next_carry__3_i_1_n_0));
  LUT2 #(
    .INIT(4'h9)) 
    int1_next_carry__3_i_2
       (.I0(int1_reg[17]),
        .I1(int1_reg[18]),
        .O(int1_next_carry__3_i_2_n_0));
  LUT2 #(
    .INIT(4'h9)) 
    int1_next_carry__3_i_3
       (.I0(int1_reg[16]),
        .I1(int1_reg[17]),
        .O(int1_next_carry__3_i_3_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry__3_i_4
       (.I0(int1_reg[16]),
        .I1(quant_reg),
        .O(int1_next_carry__3_i_4_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry_i_1
       (.I0(data_in_sync2[3]),
        .I1(int1_reg[3]),
        .O(int1_next_carry_i_1_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry_i_2
       (.I0(data_in_sync2[2]),
        .I1(int1_reg[2]),
        .O(int1_next_carry_i_2_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry_i_3
       (.I0(data_in_sync2[1]),
        .I1(int1_reg[1]),
        .O(int1_next_carry_i_3_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    int1_next_carry_i_4
       (.I0(data_in_sync2[0]),
        .I1(int1_reg[0]),
        .O(int1_next_carry_i_4_n_0));
  FDRE \int1_reg_reg[0] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry_n_7),
        .Q(int1_reg[0]),
        .R(reset));
  FDRE \int1_reg_reg[10] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__1_n_5),
        .Q(int1_reg[10]),
        .R(reset));
  FDRE \int1_reg_reg[11] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__1_n_4),
        .Q(int1_reg[11]),
        .R(reset));
  FDRE \int1_reg_reg[12] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__2_n_7),
        .Q(int1_reg[12]),
        .R(reset));
  FDRE \int1_reg_reg[13] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__2_n_6),
        .Q(int1_reg[13]),
        .R(reset));
  FDRE \int1_reg_reg[14] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__2_n_5),
        .Q(int1_reg[14]),
        .R(reset));
  FDRE \int1_reg_reg[15] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__2_n_4),
        .Q(int1_reg[15]),
        .R(reset));
  FDRE \int1_reg_reg[16] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__3_n_7),
        .Q(int1_reg[16]),
        .R(reset));
  FDRE \int1_reg_reg[17] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__3_n_6),
        .Q(int1_reg[17]),
        .R(reset));
  FDRE \int1_reg_reg[18] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__3_n_5),
        .Q(int1_reg[18]),
        .R(reset));
  FDRE \int1_reg_reg[1] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry_n_6),
        .Q(int1_reg[1]),
        .R(reset));
  FDRE \int1_reg_reg[2] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry_n_5),
        .Q(int1_reg[2]),
        .R(reset));
  FDRE \int1_reg_reg[3] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry_n_4),
        .Q(int1_reg[3]),
        .R(reset));
  FDRE \int1_reg_reg[4] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__0_n_7),
        .Q(int1_reg[4]),
        .R(reset));
  FDRE \int1_reg_reg[5] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__0_n_6),
        .Q(int1_reg[5]),
        .R(reset));
  FDRE \int1_reg_reg[6] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__0_n_5),
        .Q(int1_reg[6]),
        .R(reset));
  FDRE \int1_reg_reg[7] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__0_n_4),
        .Q(int1_reg[7]),
        .R(reset));
  FDRE \int1_reg_reg[8] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__1_n_7),
        .Q(int1_reg[8]),
        .R(reset));
  FDRE \int1_reg_reg[9] 
       (.C(clk),
        .CE(1'b1),
        .D(int1_next_carry__1_n_6),
        .Q(int1_reg[9]),
        .R(reset));
  FDSE #(
    .INIT(1'b1)) 
    \lfsr_reg[0] 
       (.C(clk),
        .CE(1'b1),
        .D(p_4_out__0),
        .Q(lfsr[0]),
        .S(reset));
  FDSE #(
    .INIT(1'b1)) 
    \lfsr_reg[10] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[9]),
        .Q(lfsr[10]),
        .S(reset));
  FDSE #(
    .INIT(1'b1)) 
    \lfsr_reg[11] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[10]),
        .Q(lfsr[11]),
        .S(reset));
  FDRE #(
    .INIT(1'b0)) 
    \lfsr_reg[12] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[11]),
        .Q(lfsr[12]),
        .R(reset));
  FDSE #(
    .INIT(1'b1)) 
    \lfsr_reg[13] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[12]),
        .Q(lfsr[13]),
        .S(reset));
  FDRE #(
    .INIT(1'b0)) 
    \lfsr_reg[14] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[13]),
        .Q(lfsr[14]),
        .R(reset));
  FDSE #(
    .INIT(1'b1)) 
    \lfsr_reg[15] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[14]),
        .Q(lfsr[15]),
        .S(reset));
  FDRE #(
    .INIT(1'b0)) 
    \lfsr_reg[1] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[0]),
        .Q(lfsr[1]),
        .R(reset));
  FDRE #(
    .INIT(1'b0)) 
    \lfsr_reg[2] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[1]),
        .Q(lfsr[2]),
        .R(reset));
  FDRE #(
    .INIT(1'b0)) 
    \lfsr_reg[3] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[2]),
        .Q(lfsr[3]),
        .R(reset));
  FDRE #(
    .INIT(1'b0)) 
    \lfsr_reg[4] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[3]),
        .Q(lfsr[4]),
        .R(reset));
  FDSE #(
    .INIT(1'b1)) 
    \lfsr_reg[5] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[4]),
        .Q(lfsr[5]),
        .S(reset));
  FDSE #(
    .INIT(1'b1)) 
    \lfsr_reg[6] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[5]),
        .Q(lfsr[6]),
        .S(reset));
  FDSE #(
    .INIT(1'b1)) 
    \lfsr_reg[7] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[6]),
        .Q(lfsr[7]),
        .S(reset));
  FDRE #(
    .INIT(1'b0)) 
    \lfsr_reg[8] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[7]),
        .Q(lfsr[8]),
        .R(reset));
  FDRE #(
    .INIT(1'b0)) 
    \lfsr_reg[9] 
       (.C(clk),
        .CE(1'b1),
        .D(lfsr[8]),
        .Q(lfsr[9]),
        .R(reset));
  LUT4 #(
    .INIT(16'h6996)) 
    p_4_out
       (.I0(lfsr[12]),
        .I1(lfsr[13]),
        .I2(lfsr[15]),
        .I3(lfsr[10]),
        .O(p_4_out__0));
  LUT1 #(
    .INIT(2'h1)) 
    pdm_out_INST_0
       (.I0(quant_reg),
        .O(pdm_out));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY4 quant_input0_carry
       (.CI(1'b0),
        .CO({quant_input0_carry_n_0,quant_input0_carry_n_1,quant_input0_carry_n_2,quant_input0_carry_n_3}),
        .CYINIT(1'b0),
        .DI({int1_reg[4:2],1'b0}),
        .O(NLW_quant_input0_carry_O_UNCONNECTED[3:0]),
        .S({quant_input0_carry_i_1_n_0,quant_input0_carry_i_2_n_0,quant_input0_carry_i_3_n_0,int1_reg[1]}));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY4 quant_input0_carry__0
       (.CI(quant_input0_carry_n_0),
        .CO({quant_input0_carry__0_n_0,quant_input0_carry__0_n_1,quant_input0_carry__0_n_2,quant_input0_carry__0_n_3}),
        .CYINIT(1'b0),
        .DI(int1_reg[8:5]),
        .O(NLW_quant_input0_carry__0_O_UNCONNECTED[3:0]),
        .S({quant_input0_carry__0_i_1_n_0,quant_input0_carry__0_i_2_n_0,quant_input0_carry__0_i_3_n_0,quant_input0_carry__0_i_4_n_0}));
  LUT2 #(
    .INIT(4'h6)) 
    quant_input0_carry__0_i_1
       (.I0(int1_reg[8]),
        .I1(lfsr[6]),
        .O(quant_input0_carry__0_i_1_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    quant_input0_carry__0_i_2
       (.I0(int1_reg[7]),
        .I1(lfsr[5]),
        .O(quant_input0_carry__0_i_2_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    quant_input0_carry__0_i_3
       (.I0(int1_reg[6]),
        .I1(lfsr[4]),
        .O(quant_input0_carry__0_i_3_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    quant_input0_carry__0_i_4
       (.I0(int1_reg[5]),
        .I1(lfsr[3]),
        .O(quant_input0_carry__0_i_4_n_0));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY4 quant_input0_carry__1
       (.CI(quant_input0_carry__0_n_0),
        .CO({quant_input0_carry__1_n_0,quant_input0_carry__1_n_1,quant_input0_carry__1_n_2,quant_input0_carry__1_n_3}),
        .CYINIT(1'b0),
        .DI(int1_reg[12:9]),
        .O(NLW_quant_input0_carry__1_O_UNCONNECTED[3:0]),
        .S({quant_input0_carry__1_i_1_n_0,quant_input0_carry__1_i_2_n_0,quant_input0_carry__1_i_3_n_0,quant_input0_carry__1_i_4_n_0}));
  LUT2 #(
    .INIT(4'h6)) 
    quant_input0_carry__1_i_1
       (.I0(int1_reg[12]),
        .I1(lfsr[10]),
        .O(quant_input0_carry__1_i_1_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    quant_input0_carry__1_i_2
       (.I0(int1_reg[11]),
        .I1(lfsr[9]),
        .O(quant_input0_carry__1_i_2_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    quant_input0_carry__1_i_3
       (.I0(int1_reg[10]),
        .I1(lfsr[8]),
        .O(quant_input0_carry__1_i_3_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    quant_input0_carry__1_i_4
       (.I0(int1_reg[9]),
        .I1(lfsr[7]),
        .O(quant_input0_carry__1_i_4_n_0));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY4 quant_input0_carry__2
       (.CI(quant_input0_carry__1_n_0),
        .CO({quant_input0_carry__2_n_0,quant_input0_carry__2_n_1,quant_input0_carry__2_n_2,quant_input0_carry__2_n_3}),
        .CYINIT(1'b0),
        .DI({quant_input0_carry__2_i_1_n_0,lfsr[12],int1_reg[14:13]}),
        .O(NLW_quant_input0_carry__2_O_UNCONNECTED[3:0]),
        .S({quant_input0_carry__2_i_2_n_0,quant_input0_carry__2_i_3_n_0,quant_input0_carry__2_i_4_n_0,quant_input0_carry__2_i_5_n_0}));
  LUT2 #(
    .INIT(4'hE)) 
    quant_input0_carry__2_i_1
       (.I0(int1_reg[15]),
        .I1(lfsr[13]),
        .O(quant_input0_carry__2_i_1_n_0));
  LUT4 #(
    .INIT(16'h1EE1)) 
    quant_input0_carry__2_i_2
       (.I0(lfsr[13]),
        .I1(int1_reg[15]),
        .I2(lfsr[14]),
        .I3(int1_reg[16]),
        .O(quant_input0_carry__2_i_2_n_0));
  LUT3 #(
    .INIT(8'h69)) 
    quant_input0_carry__2_i_3
       (.I0(lfsr[13]),
        .I1(int1_reg[15]),
        .I2(lfsr[12]),
        .O(quant_input0_carry__2_i_3_n_0));
  LUT2 #(
    .INIT(4'h9)) 
    quant_input0_carry__2_i_4
       (.I0(lfsr[12]),
        .I1(int1_reg[14]),
        .O(quant_input0_carry__2_i_4_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    quant_input0_carry__2_i_5
       (.I0(int1_reg[13]),
        .I1(lfsr[11]),
        .O(quant_input0_carry__2_i_5_n_0));
  (* ADDER_THRESHOLD = "35" *) 
  CARRY4 quant_input0_carry__3
       (.CI(quant_input0_carry__2_n_0),
        .CO({NLW_quant_input0_carry__3_CO_UNCONNECTED[3:1],quant_input0_carry__3_n_3}),
        .CYINIT(1'b0),
        .DI({1'b0,1'b0,1'b0,quant_input0_carry__3_i_1_n_0}),
        .O({NLW_quant_input0_carry__3_O_UNCONNECTED[3:2],quant_input0_carry__3_n_6,NLW_quant_input0_carry__3_O_UNCONNECTED[0]}),
        .S({1'b0,1'b0,quant_input0_carry__3_i_2_n_0,quant_input0_carry__3_i_3_n_0}));
  LUT2 #(
    .INIT(4'h2)) 
    quant_input0_carry__3_i_1
       (.I0(int1_reg[16]),
        .I1(lfsr[14]),
        .O(quant_input0_carry__3_i_1_n_0));
  LUT2 #(
    .INIT(4'h9)) 
    quant_input0_carry__3_i_2
       (.I0(int1_reg[17]),
        .I1(int1_reg[18]),
        .O(quant_input0_carry__3_i_2_n_0));
  LUT3 #(
    .INIT(8'h4B)) 
    quant_input0_carry__3_i_3
       (.I0(lfsr[14]),
        .I1(int1_reg[16]),
        .I2(int1_reg[17]),
        .O(quant_input0_carry__3_i_3_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    quant_input0_carry_i_1
       (.I0(int1_reg[4]),
        .I1(lfsr[2]),
        .O(quant_input0_carry_i_1_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    quant_input0_carry_i_2
       (.I0(int1_reg[3]),
        .I1(lfsr[1]),
        .O(quant_input0_carry_i_2_n_0));
  LUT2 #(
    .INIT(4'h6)) 
    quant_input0_carry_i_3
       (.I0(int1_reg[2]),
        .I1(lfsr[0]),
        .O(quant_input0_carry_i_3_n_0));
  FDRE \quant_input_reg[18] 
       (.C(clk),
        .CE(1'b1),
        .D(quant_input0_carry__3_n_6),
        .Q(p_0_in),
        .R(reset));
  FDRE quant_reg_reg
       (.C(clk),
        .CE(1'b1),
        .D(p_0_in),
        .Q(quant_reg),
        .R(reset));
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
