module gw_gao_top(
    out_pdm_sclk,
    \cnt_addr[11] ,
    \cnt_addr[10] ,
    \cnt_addr[9] ,
    \cnt_addr[8] ,
    \cnt_addr[7] ,
    \cnt_addr[6] ,
    \cnt_addr[5] ,
    \cnt_addr[4] ,
    \cnt_addr[3] ,
    \cnt_addr[2] ,
    \cnt_addr[1] ,
    \cnt_addr[0] ,
    \in_pdm_data[3] ,
    \in_pdm_data[2] ,
    \in_pdm_data[1] ,
    \in_pdm_data[0] ,
    out_pcm_sync,
    \out_pcm_data[23] ,
    \out_pcm_data[22] ,
    \out_pcm_data[21] ,
    \out_pcm_data[20] ,
    \out_pcm_data[19] ,
    \out_pcm_data[18] ,
    \out_pcm_data[17] ,
    \out_pcm_data[16] ,
    \out_pcm_data[15] ,
    \out_pcm_data[14] ,
    \out_pcm_data[13] ,
    \out_pcm_data[12] ,
    \out_pcm_data[11] ,
    \out_pcm_data[10] ,
    \out_pcm_data[9] ,
    \out_pcm_data[8] ,
    \out_pcm_data[7] ,
    \out_pcm_data[6] ,
    \out_pcm_data[5] ,
    \out_pcm_data[4] ,
    \out_pcm_data[3] ,
    \out_pcm_data[2] ,
    \out_pcm_data[1] ,
    \out_pcm_data[0] ,
    SYM_CLK,
    tms_pad_i,
    tck_pad_i,
    tdi_pad_i,
    tdo_pad_o
);

input out_pdm_sclk;
input \cnt_addr[11] ;
input \cnt_addr[10] ;
input \cnt_addr[9] ;
input \cnt_addr[8] ;
input \cnt_addr[7] ;
input \cnt_addr[6] ;
input \cnt_addr[5] ;
input \cnt_addr[4] ;
input \cnt_addr[3] ;
input \cnt_addr[2] ;
input \cnt_addr[1] ;
input \cnt_addr[0] ;
input \in_pdm_data[3] ;
input \in_pdm_data[2] ;
input \in_pdm_data[1] ;
input \in_pdm_data[0] ;
input out_pcm_sync;
input \out_pcm_data[23] ;
input \out_pcm_data[22] ;
input \out_pcm_data[21] ;
input \out_pcm_data[20] ;
input \out_pcm_data[19] ;
input \out_pcm_data[18] ;
input \out_pcm_data[17] ;
input \out_pcm_data[16] ;
input \out_pcm_data[15] ;
input \out_pcm_data[14] ;
input \out_pcm_data[13] ;
input \out_pcm_data[12] ;
input \out_pcm_data[11] ;
input \out_pcm_data[10] ;
input \out_pcm_data[9] ;
input \out_pcm_data[8] ;
input \out_pcm_data[7] ;
input \out_pcm_data[6] ;
input \out_pcm_data[5] ;
input \out_pcm_data[4] ;
input \out_pcm_data[3] ;
input \out_pcm_data[2] ;
input \out_pcm_data[1] ;
input \out_pcm_data[0] ;
input SYM_CLK;
input tms_pad_i;
input tck_pad_i;
input tdi_pad_i;
output tdo_pad_o;

wire out_pdm_sclk;
wire \cnt_addr[11] ;
wire \cnt_addr[10] ;
wire \cnt_addr[9] ;
wire \cnt_addr[8] ;
wire \cnt_addr[7] ;
wire \cnt_addr[6] ;
wire \cnt_addr[5] ;
wire \cnt_addr[4] ;
wire \cnt_addr[3] ;
wire \cnt_addr[2] ;
wire \cnt_addr[1] ;
wire \cnt_addr[0] ;
wire \in_pdm_data[3] ;
wire \in_pdm_data[2] ;
wire \in_pdm_data[1] ;
wire \in_pdm_data[0] ;
wire out_pcm_sync;
wire \out_pcm_data[23] ;
wire \out_pcm_data[22] ;
wire \out_pcm_data[21] ;
wire \out_pcm_data[20] ;
wire \out_pcm_data[19] ;
wire \out_pcm_data[18] ;
wire \out_pcm_data[17] ;
wire \out_pcm_data[16] ;
wire \out_pcm_data[15] ;
wire \out_pcm_data[14] ;
wire \out_pcm_data[13] ;
wire \out_pcm_data[12] ;
wire \out_pcm_data[11] ;
wire \out_pcm_data[10] ;
wire \out_pcm_data[9] ;
wire \out_pcm_data[8] ;
wire \out_pcm_data[7] ;
wire \out_pcm_data[6] ;
wire \out_pcm_data[5] ;
wire \out_pcm_data[4] ;
wire \out_pcm_data[3] ;
wire \out_pcm_data[2] ;
wire \out_pcm_data[1] ;
wire \out_pcm_data[0] ;
wire SYM_CLK;
wire tms_pad_i;
wire tck_pad_i;
wire tdi_pad_i;
wire tdo_pad_o;
wire tms_i_c;
wire tck_i_c;
wire tdi_i_c;
wire tdo_o_c;
wire [9:0] control0;
wire gao_jtag_tck;
wire gao_jtag_reset;
wire run_test_idle_er1;
wire run_test_idle_er2;
wire shift_dr_capture_dr;
wire update_dr;
wire pause_dr;
wire enable_er1;
wire enable_er2;
wire gao_jtag_tdi;
wire tdo_er1;
wire tdo_er2;

IBUF tms_ibuf (
    .I(tms_pad_i),
    .O(tms_i_c)
);

IBUF tck_ibuf (
    .I(tck_pad_i),
    .O(tck_i_c)
);

IBUF tdi_ibuf (
    .I(tdi_pad_i),
    .O(tdi_i_c)
);

OBUF tdo_obuf (
    .I(tdo_o_c),
    .O(tdo_pad_o)
);

GW_JTAG  u_gw_jtag(
    .tms_pad_i(tms_i_c),
    .tck_pad_i(tck_i_c),
    .tdi_pad_i(tdi_i_c),
    .tdo_pad_o(tdo_o_c),
    .tck_o(gao_jtag_tck),
    .test_logic_reset_o(gao_jtag_reset),
    .run_test_idle_er1_o(run_test_idle_er1),
    .run_test_idle_er2_o(run_test_idle_er2),
    .shift_dr_capture_dr_o(shift_dr_capture_dr),
    .update_dr_o(update_dr),
    .pause_dr_o(pause_dr),
    .enable_er1_o(enable_er1),
    .enable_er2_o(enable_er2),
    .tdi_o(gao_jtag_tdi),
    .tdo_er1_i(tdo_er1),
    .tdo_er2_i(tdo_er2)
);

gw_con_top  u_icon_top(
    .tck_i(gao_jtag_tck),
    .tdi_i(gao_jtag_tdi),
    .tdo_o(tdo_er1),
    .rst_i(gao_jtag_reset),
    .control0(control0[9:0]),
    .enable_i(enable_er1),
    .shift_dr_capture_dr_i(shift_dr_capture_dr),
    .update_dr_i(update_dr)
);

ao_top u_ao_top(
    .control(control0[9:0]),
    .data_i({out_pdm_sclk,\cnt_addr[11] ,\cnt_addr[10] ,\cnt_addr[9] ,\cnt_addr[8] ,\cnt_addr[7] ,\cnt_addr[6] ,\cnt_addr[5] ,\cnt_addr[4] ,\cnt_addr[3] ,\cnt_addr[2] ,\cnt_addr[1] ,\cnt_addr[0] ,\in_pdm_data[3] ,\in_pdm_data[2] ,\in_pdm_data[1] ,\in_pdm_data[0] ,out_pcm_sync,\out_pcm_data[23] ,\out_pcm_data[22] ,\out_pcm_data[21] ,\out_pcm_data[20] ,\out_pcm_data[19] ,\out_pcm_data[18] ,\out_pcm_data[17] ,\out_pcm_data[16] ,\out_pcm_data[15] ,\out_pcm_data[14] ,\out_pcm_data[13] ,\out_pcm_data[12] ,\out_pcm_data[11] ,\out_pcm_data[10] ,\out_pcm_data[9] ,\out_pcm_data[8] ,\out_pcm_data[7] ,\out_pcm_data[6] ,\out_pcm_data[5] ,\out_pcm_data[4] ,\out_pcm_data[3] ,\out_pcm_data[2] ,\out_pcm_data[1] ,\out_pcm_data[0] }),
    .clk_i(SYM_CLK)
);

endmodule
//
// Written by Synplify Pro 
// Product Version "P-2019.03G-Beta4"
// Program "Synplify Pro", Mapper "mapgw, Build 1429R"
// Mon Dec  9 16:07:51 2019
//
// Source file index table:
// Object locations will have the form <file>:<line>
// file 0 "\c:\gowin\gowin_v1.9.1beta\synplifypro\lib\generic\gw1n.v "
// file 1 "\c:\gowin\gowin_v1.9.1beta\synplifypro\lib\vlog\hypermods.v "
// file 2 "\c:\gowin\gowin_v1.9.1beta\synplifypro\lib\vlog\umr_capim.v "
// file 3 "\c:\gowin\gowin_v1.9.1beta\synplifypro\lib\vlog\scemi_objects.v "
// file 4 "\c:\gowin\gowin_v1.9.1beta\synplifypro\lib\vlog\scemi_pipes.svh "
// file 5 "\c:\gowin\gowin_v1.9.1beta\ide\data\ipcores\gao_lite\gw_con\gw_con_parameter.v "
// file 6 "\c:\gowin\gowin_v1.9.1beta\ide\data\ipcores\gao_lite\gw_con\gw_con_top_define.v "
// file 7 "\c:\gowin\gowin_v1.9.1beta\ide\data\ipcores\gao_lite\gw_con\gw_con_top.v "
// file 8 "\c:\gowin\gowin_v1.9.1beta\synplifypro\lib\nlconst.dat "

`timescale 100 ps/100 ps
`pragma protect begin_protected
`pragma protect version=1
`pragma protect author="default"
`pragma protect author_info="default"
`pragma protect encrypt_agent="Synplify encryptP1735.pl"
`pragma protect encrypt_agent_info="Synplify encryptP1735.pl Version 1.1"

`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
`pragma protect key_keyowner="Synplicity"
`pragma protect key_keyname="SYNP05_001"
`pragma protect key_method="rsa"
`pragma protect key_block
hpggv0Tm4wocDUFHdWKHHpAXB9LSbT6jwkjnxyWrCfCmz4QW6cwJlT3/UoeUCNUT5fJbIz9BfRVc
ncw6I5EDrnITof5tqjcfxkBgtB179czSfZnZ/ic9I+5tKSUSPz3yrZp2eFqR6maFJ4ZFO3ggJQRI
pMSxtGVtQNscosLDvlb7UBhCxLhz9HtSU3bAFqFdYJ6Ds4Gc6dUppvHj2vGY3kGoKWzRosBKS7op
WVhQl98MN1yzjocyiSTc23o5Z7CC4NoOElkZD+PHCv3QZatGCrF/Ixhyj7NkSJof9JAeqdxRN1Ol
uUZKkt8tieyz4Ng6dtNiWV1/w/P3xNM/Z9viyg==

`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
`pragma protect key_keyowner="GoWin"
`pragma protect key_keyname="GoWin2016"
`pragma protect key_method="rsa"
`pragma protect key_block
Wx+Z2F6166z7OXdCxTlURHlH51lrKlEw/V2tkTPJ4ddpwew0C7Mbi3RN/SMocOQTodX7RnpijzeW
Hrw2+8gA+9Mv3HskgEl+/CKPzSBbJO08rk5DbwzcxptXojpKt65aHNmSH3+/nZLR9U5OHJ7klLQs
X5gK5tvAHmk/f/dtB4WECVOVppFSFYyj8lGk4TRhh/t68x9Bwyu7SApWXSy7Y8cTXlRMfhDdDVp0
MjHTXirWWiYlRCUe43X3ZK6jYwQm9E5oXB4R1YevzbiMAhc5OMALYNVtBjnAr205F5RAnm2B8Zg7
T3KG+GLsMSyOxhOrJ01noNq7AIkMYL9q+hECGQ==

`pragma protect data_keyowner="default-ip-vendor"
`pragma protect data_keyname="default-ip-key"
`pragma protect data_method="aes128-cbc"
`pragma protect encoding=(enctype="base64", line_length=76, bytes=7072)
`pragma protect data_block
[encoded data, 9424 characters]
rgH9FA==
`pragma protect end_protected
//
// Written by Synplify Pro 
// Product Version "P-2019.03G-Beta4"
// Program "Synplify Pro", Mapper "mapgw, Build 1429R"
// Mon Dec  9 16:08:26 2019
//
// Source file index table:
// Object locations will have the form <file>:<line>
// file 0 "\c:\gowin\gowin_v1.9.1beta\synplifypro\lib\generic\gw1n.v "
// file 1 "\c:\gowin\gowin_v1.9.1beta\synplifypro\lib\vlog\hypermods.v "
// file 2 "\c:\gowin\gowin_v1.9.1beta\synplifypro\lib\vlog\umr_capim.v "
// file 3 "\c:\gowin\gowin_v1.9.1beta\synplifypro\lib\vlog\scemi_objects.v "
// file 4 "\c:\gowin\gowin_v1.9.1beta\synplifypro\lib\vlog\scemi_pipes.svh "
// file 5 "\e:\w-file\pdm2pcm\refdesign\project\ref_design\temp\gao\ao_0\gw_ao_parameter.v "
// file 6 "\e:\w-file\pdm2pcm\refdesign\project\ref_design\temp\gao\ao_0\gw_ao_top_define.v "
// file 7 "\c:\gowin\gowin_v1.9.1beta\ide\data\ipcores\gao_lite\gw_ao_0\gw_ao_define.v "
// file 8 "\c:\gowin\gowin_v1.9.1beta\ide\data\ipcores\gao_lite\gw_ao_0\gw_ao_mem_ctrl.v "
// file 9 "\c:\gowin\gowin_v1.9.1beta\ide\data\ipcores\gao_lite\gw_ao_0\gw_ao_top.v "
// file 10 "\c:\gowin\gowin_v1.9.1beta\synplifypro\lib\nlconst.dat "

`timescale 100 ps/100 ps
`pragma protect begin_protected
`pragma protect version=1
`pragma protect author="default"
`pragma protect author_info="default"
`pragma protect encrypt_agent="Synplify encryptP1735.pl"
`pragma protect encrypt_agent_info="Synplify encryptP1735.pl Version 1.1"

`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
`pragma protect key_keyowner="Synplicity"
`pragma protect key_keyname="SYNP05_001"
`pragma protect key_method="rsa"
`pragma protect key_block
BZEV0Y+pfwZ1iLqHtdcSZjF3FQg29rYBhR1hszXZzyeum47USi6+n6n2T7XEJNBhOEs9nSCkgYqu
+A5maIFrm5WXyPh1crTQgMwbBahEf3caVqkg8iWHmTS67KyOD7t9F9SzWOHQmz0AS/hSPP8HzYAk
jblwhgb0dHHEos6ep2XjwTf96j4NueqRu5+G8OT2NS6ot33uhxehy+/Rb35XAa8PN80mAIhaqV+5
QsHfYCXedIfaA8P6RHYvPVca/KN2nw5a6OppzqQF7tlYKjsrYYr3zV31wyvrVe8zxfyltOlNtwyt
rOpdaacqNhHNZkKWAekMlcyBRRd+n/dPm2y8tQ==

`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
`pragma protect key_keyowner="GoWin"
`pragma protect key_keyname="GoWin2016"
`pragma protect key_method="rsa"
`pragma protect key_block
JxOrtW1OA4JdYRylW3xW4UPTwTcLiysN1up1jozKCvVKs/GFgnxIzWZwYaF9Zo0SPeT2nLN1iz/m
3VKW9Otn1BFU3sjeDRg+KFlMIaq5WVga0rpR/UR+L+YLBYYVThD/+Jb5rshGP8zBjwM8bVCzDtXq
84Y+Ibe4N9+ZAEkigcmx00FhcsKhG6wJap7rGnGOHugzX2hgTJGjH8FbrrdQ64xD/45siurCbVqF
8jZYHtw3CgbO2JQLl5u9m2rsV5E3DDBUgKG15HTVaQBLMe8CRJwIgSj6RlMyomxQd+r47DRGfsgh
0UjWV3DqlUf76mTKR65dO7E9nyiC313KnLgSpA==

`pragma protect data_keyowner="default-ip-vendor"
`pragma protect data_keyname="default-ip-key"
`pragma protect data_method="aes128-cbc"
`pragma protect encoding=(enctype="base64", line_length=76, bytes=11488)
`pragma protect data_block
[encoded data, 15276 characters]
oczekuAfKRsFfuj6DoOqmH3RhO8CSocXnIgkqN4MMQ==
`pragma protect end_protected
`pragma protect begin_protected
`pragma protect version=1
`pragma protect author="default"
`pragma protect author_info="default"
`pragma protect encrypt_agent="Synplify encryptP1735.pl"
`pragma protect encrypt_agent_info="Synplify encryptP1735.pl Version 1.1"

`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
`pragma protect key_keyowner="Synplicity"
`pragma protect key_keyname="SYNP05_001"
`pragma protect key_method="rsa"
`pragma protect key_block
Pyc+7kvzBVq4Dd1VwzRmVBEktK4e9BkxAwVgiiMBP4OI1yNwt7F+yQEhFvLcVH5FBU9k3Bk5g0R/
fGNscjfC54DAtJYGJoHSC2Qkju273ZDGQ5GBZeBA+Omz0LR4NGnYlrPzdj7g+x/czmcW4gPDkSLi
1d6y/BDFhoCYzVB9BJYMvhU2yyBd8pSDDskw7+4pB++GO3YMxSMQnAsSP4H11ROUUPSYWSz7Istd
JaaSkZFuL/Y+3gs/NCzDvX+aH2rt7FrsNAycbWtUKp/uPnA2vMEBHW1/ptnWFCfJFCvStvn4NF2b
o+bFlc/NfBYrCvp3l8g9z22fvrCKnVbJ66MTQw==

`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
`pragma protect key_keyowner="GoWin"
`pragma protect key_keyname="GoWin2016"
`pragma protect key_method="rsa"
`pragma protect key_block
eIBgxZG6vpy8I9T7tgjyHHEL2Oagvj/TL61YE18ebOJrz/ONyRnM5TlDVcd4ieAcUgFStMRfiQAG
9PK7xF+45XZqhdWGzqcb8jHcqb3sqCjw9DKlKwnGSZfjC2sYwUpwY1a0sIEPJHcJKqWdB9fXqYAu
p0IEwvUF+FEivmc/v5dZQFWtUkkXSXNRuhbEGrFbKFeRoN069X7Pu7Q7ZekQinv0IeG4PTyASoE2
KGB5b5bTQeuJWkqjG5PorXwKnmAQiDQPvYmu1gBHXarwUU4flYl7hQnm+THGy5clL54o5zDTb/m+
cY477QNFS3rATN3G7wlvwku7f2ZhcCBbeXoJjg==

`pragma protect data_keyowner="default-ip-vendor"
`pragma protect data_keyname="default-ip-key"
`pragma protect data_method="aes128-cbc"
`pragma protect encoding=(enctype="base64", line_length=76, bytes=86848)
`pragma protect data_block
[encoded data, 115748 characters]
WLTZ2OUBS9Ik/DRMg2W5X+XyhejmLvqMRyQ9/w4MZqfEuI7bRA==
`pragma protect end_protected
