//
// Written by Synplify Pro 
// Product Version "P-2019.03G"
// Program "Synplify Pro", Mapper "mapgw, Build 1450R"
// Tue Oct 22 17:05:30 2019
//
// Source file index table:
// Object locations will have the form <file>:<line>
// file 0 "\d:\swgowin\gowin_v1.9.2.01beta_35214_20191015\synplifypro\lib\generic\gw1n.v "
// file 1 "\d:\swgowin\gowin_v1.9.2.01beta_35214_20191015\synplifypro\lib\vlog\hypermods.v "
// file 2 "\d:\swgowin\gowin_v1.9.2.01beta_35214_20191015\synplifypro\lib\vlog\umr_capim.v "
// file 3 "\d:\swgowin\gowin_v1.9.2.01beta_35214_20191015\synplifypro\lib\vlog\scemi_objects.v "
// file 4 "\d:\swgowin\gowin_v1.9.2.01beta_35214_20191015\synplifypro\lib\vlog\scemi_pipes.svh "
// file 5 "\c:\users\qinfei\desktop\gowin_flash_controller\flash96k_reg_if\project\src\gowin_pll.v "
// file 6 "\c:\users\qinfei\desktop\gowin_flash_controller\flash96k_reg_if\project\src\tb.v "
// file 7 "\c:\users\qinfei\desktop\gowin_flash_controller\flash96k_reg_if\project\src\gowin_flash_controller\gowin_flash_controller.v "
// file 8 "\d:\swgowin\gowin_v1.9.2.01beta_35214_20191015\synplifypro\lib\nlconst.dat "

`timescale 100 ps/100 ps
module Gowin_PLL (
  clk_sys_c,
  clk_10M_lock
)
;
input clk_sys_c ;
output clk_10M_lock ;
wire clk_sys_c ;
wire clk_10M_lock ;
wire clkout ;
wire clkoutp ;
wire clkoutd_o ;
wire clkoutd3_o ;
wire GND ;
wire VCC ;
// @5:24
  PLL pll_inst (
	.CLKOUT(clkout),
	.CLKOUTP(clkoutp),
	.CLKOUTD(clkoutd_o),
	.CLKOUTD3(clkoutd3_o),
	.LOCK(clk_10M_lock),
	.CLKIN(clk_sys_c),
	.CLKFB(GND),
	.FBDSEL({GND, GND, GND, GND, GND, GND}),
	.IDSEL({GND, GND, GND, GND, GND, GND}),
	.ODSEL({GND, GND, GND, GND, GND, GND}),
	.DUTYDA({GND, GND, GND, GND}),
	.PSDA({GND, GND, GND, GND}),
	.FDLY({VCC, VCC, VCC, VCC}),
	.RESET(GND),
	.RESET_P(GND),
	.RESET_I(GND),
	.RESET_S(GND)
);
defparam pll_inst.FCLKIN="50";
defparam pll_inst.DYN_IDIV_SEL="false";
defparam pll_inst.IDIV_SEL=4;
defparam pll_inst.DYN_FBDIV_SEL="false";
defparam pll_inst.FBDIV_SEL=0;
defparam pll_inst.DYN_ODIV_SEL="false";
defparam pll_inst.ODIV_SEL=80;
defparam pll_inst.PSDA_SEL="0100";
defparam pll_inst.DYN_DA_EN="false";
defparam pll_inst.DUTYDA_SEL="1000";
defparam pll_inst.CLKOUT_FT_DIR=1'b1;
defparam pll_inst.CLKOUTP_FT_DIR=1'b1;
defparam pll_inst.CLKOUT_DLY_STEP=0;
defparam pll_inst.CLKOUTP_DLY_STEP=0;
defparam pll_inst.CLKFB_SEL="internal";
defparam pll_inst.CLKOUT_BYPASS="false";
defparam pll_inst.CLKOUTP_BYPASS="false";
defparam pll_inst.CLKOUTD_BYPASS="false";
defparam pll_inst.DYN_SDIV_SEL=2;
defparam pll_inst.CLKOUTD_SRC="CLKOUT";
defparam pll_inst.CLKOUTD3_SRC="CLKOUT";
defparam pll_inst.DEVICE="GW1N-1";
  GND GND_cZ (
	.G(GND)
);
  VCC VCC_cZ (
	.V(VCC)
);
endmodule /* Gowin_PLL */

`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
OgoPleCFjju75sGdWYBohdWy2c0InEZZUXMx69cM5Chqj9LN1ovxPCurUOp+TOZ+9fgeCEkk4I5m
XiVR6VIeiYFCRGYx8i+XvEWl12JC4OAQQ6s11exReRB0Rn9mEVMf4t5s1Eveb4uO5FEs+xKIOkxZ
eOvkqqTs8Me/1W0CCDJ4uJSl/oZSayFHEyBgsivAeuya3nCM8k81mdQt/XHDjZ6ynj2khIjOcLlV
VLU6KPJQcUbkOX3oHaRbNh04VouNAq6CaQ+jvePpN+ggA5Y02F/VBIgVnZK++Zw3rS/phrVFKVCC
O/Fpjtbk1N+B92eW8gY/e5820djqosdAfaQrfA==

`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
sDB623tqHB0CEb6UFM2TGwbyzTDYdlgvHJ/HN9qrm+AOLE03QsudSbIskXSDjOnL12z9IMNlDbAW
jc6g4VxFRXL3OzM/NQfl2Igrjm9wZZ8DjA5D//GU1K49Bn1Bd0cYJ8xQTApi1hi1Q2DNIGQ8zcus
3ohhIPPMNM53SfRleaWdsBp4dQ6SNT4eWtpcRhFme1qj4mlWUDJzE+0y9DcVtkTWLvIWyaGwj6q6
Ehs/lceFYssYh9nA0v3XEXF1U7sVdVGxV8HTpp4nBlqDiywpTqAIRsqiIsWTZwl7++ZD/iqPLzDm
xFon2ieP/WblCJdLbX48+7+TXroXmY1b+IN4/Q==

`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=81968)
`pragma protect data_block
[encoded data, 109288 characters]
+Y0=
`pragma protect end_protected
module Gowin_Flash_Controller_Top (
  data_out_c,
  data_out_flag,
  data_in_flag_c,
  un1_rst_n_dly
)
;
output [31:0] data_out_c ;
output data_out_flag ;
output data_in_flag_c ;
input un1_rst_n_dly ;
wire data_out_flag ;
wire data_in_flag_c ;
wire un1_rst_n_dly ;
wire GND ;
wire data_out_sig ;
wire w_r_clk ;
wire VCC ;
// @7:4422
  User_Flash_Ctroller_Top_96K u_User_Flash_Ctroller_Top_96K (
	.clk_sys(GND),
	.clk10M(GND),
	.clk_10M_P90(GND),
	.rst_n_dly(un1_rst_n_dly),
	.data_in_sig(data_in_flag_c),
	.data_out_sig(data_out_sig),
	.r_dout(data_out_c[31:0]),
	.page_address({GND, GND, GND, GND, GND, GND}),
	.w_dout({GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND, GND}),
	.write_cmd(GND),
	.read_cmd(GND),
	.w_r_clk(w_r_clk)
);
// @7:4416
  TBUF data_out_flag_t (
	.I(GND),
	.OEN(VCC),
	.O(data_out_flag)
);
// @7:4413
  GSR GSR_INST (
	.GSRI(VCC)
);
  GND GND_cZ (
	.G(GND)
);
  VCC VCC_cZ (
	.V(VCC)
);
endmodule /* Gowin_Flash_Controller_Top */

module tb (
  clk_sys,
  rstn,
  key,
  key2,
  data_in_flag,
  data_out_flag,
  data_out,
  page_address,
  data_in,
  write_en,
  read_en,
  wr_cycle
)
;
input clk_sys ;
input rstn ;
input key ;
input key2 ;
output data_in_flag ;
output data_out_flag /* synthesis syn_tristate = 1 */ ;
output [31:0] data_out ;
output [5:0] page_address ;
output [31:0] data_in ;
output write_en ;
output read_en ;
output wr_cycle ;
wire clk_sys ;
wire rstn ;
wire key ;
wire key2 ;
wire data_in_flag ;
wire data_out_flag ;
wire write_en ;
wire read_en ;
wire wr_cycle ;
wire [7:0] rst_cnt;
wire [31:0] data_out_c;
wire [6:0] rst_cnt_cry;
wire [7:0] rst_cnt_s;
wire [7:0] rst_cnt_lm;
wire [7:7] rst_cnt_s_0_COUT;
wire GND ;
wire clk_10M_lock ;
wire VCC ;
wire N_2 ;
wire N_3 ;
wire N_4 ;
wire N_5 ;
wire N_6 ;
wire N_7 ;
wire un1_rst_n_dly ;
wire clk_sys_c ;
wire rstn_c ;
wire data_in_flag_c ;
wire rstn_c_i ;
wire un1_rst_n_dly_4 ;
wire un1_rst_n_dly_5 ;
wire un1_rst_n_dly_4_x ;
wire un1_rst_n_dly_5_x ;
// @6:147
  INV rstn_c_i_cZ (
	.I(rstn_c),
	.O(rstn_c_i)
);
// @6:147
  LUT4 \rst_cnt_lm_0[0]  (
	.I0(clk_10M_lock),
	.I1(rst_cnt_s[0]),
	.I2(un1_rst_n_dly_4),
	.I3(un1_rst_n_dly_5),
	.F(rst_cnt_lm[0])
);
defparam \rst_cnt_lm_0[0] .INIT=16'hA888;
// @6:147
  LUT4 \rst_cnt_lm_0[1]  (
	.I0(clk_10M_lock),
	.I1(rst_cnt_s[1]),
	.I2(un1_rst_n_dly_4),
	.I3(un1_rst_n_dly_5),
	.F(rst_cnt_lm[1])
);
defparam \rst_cnt_lm_0[1] .INIT=16'hA888;
// @6:147
  LUT4 \rst_cnt_lm_0[2]  (
	.I0(clk_10M_lock),
	.I1(rst_cnt_s[2]),
	.I2(un1_rst_n_dly_4),
	.I3(un1_rst_n_dly_5),
	.F(rst_cnt_lm[2])
);
defparam \rst_cnt_lm_0[2] .INIT=16'hA888;
// @6:147
  LUT4 \rst_cnt_lm_0[3]  (
	.I0(clk_10M_lock),
	.I1(rst_cnt_s[3]),
	.I2(un1_rst_n_dly_4),
	.I3(un1_rst_n_dly_5),
	.F(rst_cnt_lm[3])
);
defparam \rst_cnt_lm_0[3] .INIT=16'hA888;
// @6:147
  LUT4 \rst_cnt_lm_0[4]  (
	.I0(clk_10M_lock),
	.I1(rst_cnt_s[4]),
	.I2(un1_rst_n_dly_4),
	.I3(un1_rst_n_dly_5),
	.F(rst_cnt_lm[4])
);
defparam \rst_cnt_lm_0[4] .INIT=16'hA888;
// @6:147
  LUT4 \rst_cnt_lm_0[5]  (
	.I0(clk_10M_lock),
	.I1(rst_cnt_s[5]),
	.I2(un1_rst_n_dly_4),
	.I3(un1_rst_n_dly_5),
	.F(rst_cnt_lm[5])
);
defparam \rst_cnt_lm_0[5] .INIT=16'hA888;
// @6:147
  LUT4 \rst_cnt_lm_0[6]  (
	.I0(clk_10M_lock),
	.I1(rst_cnt_s[6]),
	.I2(un1_rst_n_dly_4),
	.I3(un1_rst_n_dly_5),
	.F(rst_cnt_lm[6])
);
defparam \rst_cnt_lm_0[6] .INIT=16'hA888;
// @6:147
  LUT4 \rst_cnt_lm_0[7]  (
	.I0(clk_10M_lock),
	.I1(rst_cnt_s[7]),
	.I2(un1_rst_n_dly_4),
	.I3(un1_rst_n_dly_5),
	.F(rst_cnt_lm[7])
);
defparam \rst_cnt_lm_0[7] .INIT=16'hA888;
// @6:154
  LUT4 un1_rst_n_dly_4_cZ (
	.I0(rst_cnt[0]),
	.I1(rst_cnt[1]),
	.I2(rst_cnt[2]),
	.I3(rst_cnt[3]),
	.F(un1_rst_n_dly_4)
);
defparam un1_rst_n_dly_4_cZ.INIT=16'h8000;
// @6:154
  LUT4 un1_rst_n_dly_5_cZ (
	.I0(rst_cnt[4]),
	.I1(rst_cnt[5]),
	.I2(rst_cnt[6]),
	.I3(rst_cnt[7]),
	.F(un1_rst_n_dly_5)
);
defparam un1_rst_n_dly_5_cZ.INIT=16'h8000;
// @6:154
  LUT3 un1_rst_n_dly_4_x_cZ (
	.I0(rst_cnt[1]),
	.I1(rst_cnt[2]),
	.I2(rst_cnt[3]),
	.F(un1_rst_n_dly_4_x)
);
defparam un1_rst_n_dly_4_x_cZ.INIT=8'h80;
// @6:154
  LUT3 un1_rst_n_dly_5_x_cZ (
	.I0(rst_cnt[5]),
	.I1(rst_cnt[6]),
	.I2(rst_cnt[7]),
	.F(un1_rst_n_dly_5_x)
);
defparam un1_rst_n_dly_5_x_cZ.INIT=8'h80;
// @6:154
  LUT4 un1_rst_n_dly_cZ (
	.I0(un1_rst_n_dly_4_x),
	.I1(un1_rst_n_dly_5_x),
	.I2(rst_cnt[0]),
	.I3(rst_cnt[4]),
	.F(un1_rst_n_dly)
);
defparam un1_rst_n_dly_cZ.INIT=16'h8000;
// @6:147
  DFFC \rst_cnt_Z[7]  (
	.Q(rst_cnt[7]),
	.D(rst_cnt_lm[7]),
	.CLK(clk_sys_c),
	.CLEAR(rstn_c_i)
);
// @6:147
  DFFC \rst_cnt_Z[6]  (
	.Q(rst_cnt[6]),
	.D(rst_cnt_lm[6]),
	.CLK(clk_sys_c),
	.CLEAR(rstn_c_i)
);
// @6:147
  DFFC \rst_cnt_Z[5]  (
	.Q(rst_cnt[5]),
	.D(rst_cnt_lm[5]),
	.CLK(clk_sys_c),
	.CLEAR(rstn_c_i)
);
// @6:147
  DFFC \rst_cnt_Z[4]  (
	.Q(rst_cnt[4]),
	.D(rst_cnt_lm[4]),
	.CLK(clk_sys_c),
	.CLEAR(rstn_c_i)
);
// @6:147
  DFFC \rst_cnt_Z[3]  (
	.Q(rst_cnt[3]),
	.D(rst_cnt_lm[3]),
	.CLK(clk_sys_c),
	.CLEAR(rstn_c_i)
);
// @6:147
  DFFC \rst_cnt_Z[2]  (
	.Q(rst_cnt[2]),
	.D(rst_cnt_lm[2]),
	.CLK(clk_sys_c),
	.CLEAR(rstn_c_i)
);
// @6:147
  DFFC \rst_cnt_Z[1]  (
	.Q(rst_cnt[1]),
	.D(rst_cnt_lm[1]),
	.CLK(clk_sys_c),
	.CLEAR(rstn_c_i)
);
// @6:147
  DFFC \rst_cnt_Z[0]  (
	.Q(rst_cnt[0]),
	.D(rst_cnt_lm[0]),
	.CLK(clk_sys_c),
	.CLEAR(rstn_c_i)
);
// @6:4
  IBUF clk_sys_ibuf (
	.O(clk_sys_c),
	.I(clk_sys)
);
// @6:5
  IBUF rstn_ibuf (
	.O(rstn_c),
	.I(rstn)
);
// @6:9
  OBUF data_in_flag_obuf (
	.O(data_in_flag),
	.I(data_in_flag_c)
);
// @6:11
  OBUF \data_out_obuf[0]  (
	.O(data_out[0]),
	.I(data_out_c[0])
);
// @6:11
  OBUF \data_out_obuf[1]  (
	.O(data_out[1]),
	.I(data_out_c[1])
);
// @6:11
  OBUF \data_out_obuf[2]  (
	.O(data_out[2]),
	.I(data_out_c[2])
);
// @6:11
  OBUF \data_out_obuf[3]  (
	.O(data_out[3]),
	.I(data_out_c[3])
);
// @6:11
  OBUF \data_out_obuf[4]  (
	.O(data_out[4]),
	.I(data_out_c[4])
);
// @6:11
  OBUF \data_out_obuf[5]  (
	.O(data_out[5]),
	.I(data_out_c[5])
);
// @6:11
  OBUF \data_out_obuf[6]  (
	.O(data_out[6]),
	.I(data_out_c[6])
);
// @6:11
  OBUF \data_out_obuf[7]  (
	.O(data_out[7]),
	.I(data_out_c[7])
);
// @6:11
  OBUF \data_out_obuf[8]  (
	.O(data_out[8]),
	.I(data_out_c[8])
);
// @6:11
  OBUF \data_out_obuf[9]  (
	.O(data_out[9]),
	.I(data_out_c[9])
);
// @6:11
  OBUF \data_out_obuf[10]  (
	.O(data_out[10]),
	.I(data_out_c[10])
);
// @6:11
  OBUF \data_out_obuf[11]  (
	.O(data_out[11]),
	.I(data_out_c[11])
);
// @6:11
  OBUF \data_out_obuf[12]  (
	.O(data_out[12]),
	.I(data_out_c[12])
);
// @6:11
  OBUF \data_out_obuf[13]  (
	.O(data_out[13]),
	.I(data_out_c[13])
);
// @6:11
  OBUF \data_out_obuf[14]  (
	.O(data_out[14]),
	.I(data_out_c[14])
);
// @6:11
  OBUF \data_out_obuf[15]  (
	.O(data_out[15]),
	.I(data_out_c[15])
);
// @6:11
  OBUF \data_out_obuf[16]  (
	.O(data_out[16]),
	.I(data_out_c[16])
);
// @6:11
  OBUF \data_out_obuf[17]  (
	.O(data_out[17]),
	.I(data_out_c[17])
);
// @6:11
  OBUF \data_out_obuf[18]  (
	.O(data_out[18]),
	.I(data_out_c[18])
);
// @6:11
  OBUF \data_out_obuf[19]  (
	.O(data_out[19]),
	.I(data_out_c[19])
);
// @6:11
  OBUF \data_out_obuf[20]  (
	.O(data_out[20]),
	.I(data_out_c[20])
);
// @6:11
  OBUF \data_out_obuf[21]  (
	.O(data_out[21]),
	.I(data_out_c[21])
);
// @6:11
  OBUF \data_out_obuf[22]  (
	.O(data_out[22]),
	.I(data_out_c[22])
);
// @6:11
  OBUF \data_out_obuf[23]  (
	.O(data_out[23]),
	.I(data_out_c[23])
);
// @6:11
  OBUF \data_out_obuf[24]  (
	.O(data_out[24]),
	.I(data_out_c[24])
);
// @6:11
  OBUF \data_out_obuf[25]  (
	.O(data_out[25]),
	.I(data_out_c[25])
);
// @6:11
  OBUF \data_out_obuf[26]  (
	.O(data_out[26]),
	.I(data_out_c[26])
);
// @6:11
  OBUF \data_out_obuf[27]  (
	.O(data_out[27]),
	.I(data_out_c[27])
);
// @6:11
  OBUF \data_out_obuf[28]  (
	.O(data_out[28]),
	.I(data_out_c[28])
);
// @6:11
  OBUF \data_out_obuf[29]  (
	.O(data_out[29]),
	.I(data_out_c[29])
);
// @6:11
  OBUF \data_out_obuf[30]  (
	.O(data_out[30]),
	.I(data_out_c[30])
);
// @6:11
  OBUF \data_out_obuf[31]  (
	.O(data_out[31]),
	.I(data_out_c[31])
);
// @6:12
  OBUF \page_address_obuf[0]  (
	.O(page_address[0]),
	.I(GND)
);
// @6:12
  OBUF \page_address_obuf[1]  (
	.O(page_address[1]),
	.I(GND)
);
// @6:12
  OBUF \page_address_obuf[2]  (
	.O(page_address[2]),
	.I(GND)
);
// @6:12
  OBUF \page_address_obuf[3]  (
	.O(page_address[3]),
	.I(GND)
);
// @6:12
  OBUF \page_address_obuf[4]  (
	.O(page_address[4]),
	.I(GND)
);
// @6:12
  OBUF \page_address_obuf[5]  (
	.O(page_address[5]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[0]  (
	.O(data_in[0]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[1]  (
	.O(data_in[1]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[2]  (
	.O(data_in[2]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[3]  (
	.O(data_in[3]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[4]  (
	.O(data_in[4]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[5]  (
	.O(data_in[5]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[6]  (
	.O(data_in[6]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[7]  (
	.O(data_in[7]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[8]  (
	.O(data_in[8]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[9]  (
	.O(data_in[9]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[10]  (
	.O(data_in[10]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[11]  (
	.O(data_in[11]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[12]  (
	.O(data_in[12]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[13]  (
	.O(data_in[13]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[14]  (
	.O(data_in[14]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[15]  (
	.O(data_in[15]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[16]  (
	.O(data_in[16]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[17]  (
	.O(data_in[17]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[18]  (
	.O(data_in[18]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[19]  (
	.O(data_in[19]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[20]  (
	.O(data_in[20]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[21]  (
	.O(data_in[21]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[22]  (
	.O(data_in[22]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[23]  (
	.O(data_in[23]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[24]  (
	.O(data_in[24]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[25]  (
	.O(data_in[25]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[26]  (
	.O(data_in[26]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[27]  (
	.O(data_in[27]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[28]  (
	.O(data_in[28]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[29]  (
	.O(data_in[29]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[30]  (
	.O(data_in[30]),
	.I(GND)
);
// @6:13
  OBUF \data_in_obuf[31]  (
	.O(data_in[31]),
	.I(GND)
);
// @6:14
  OBUF write_en_obuf (
	.O(write_en),
	.I(GND)
);
// @6:15
  OBUF read_en_obuf (
	.O(read_en),
	.I(GND)
);
// @6:16
  OBUF wr_cycle_obuf (
	.O(wr_cycle),
	.I(GND)
);
// @6:147
  ALU \rst_cnt_s_0[7]  (
	.CIN(rst_cnt_cry[6]),
	.I0(rst_cnt[7]),
	.I1(GND),
	.I3(GND),
	.COUT(rst_cnt_s_0_COUT[7]),
	.SUM(rst_cnt_s[7])
);
defparam \rst_cnt_s_0[7] .ALU_MODE=0;
// @6:147
  ALU \rst_cnt_cry_0[6]  (
	.CIN(rst_cnt_cry[5]),
	.I0(rst_cnt[6]),
	.I1(GND),
	.I3(GND),
	.COUT(rst_cnt_cry[6]),
	.SUM(rst_cnt_s[6])
);
defparam \rst_cnt_cry_0[6] .ALU_MODE=0;
// @6:147
  ALU \rst_cnt_cry_0[5]  (
	.CIN(rst_cnt_cry[4]),
	.I0(rst_cnt[5]),
	.I1(GND),
	.I3(GND),
	.COUT(rst_cnt_cry[5]),
	.SUM(rst_cnt_s[5])
);
defparam \rst_cnt_cry_0[5] .ALU_MODE=0;
// @6:147
  ALU \rst_cnt_cry_0[4]  (
	.CIN(rst_cnt_cry[3]),
	.I0(rst_cnt[4]),
	.I1(GND),
	.I3(GND),
	.COUT(rst_cnt_cry[4]),
	.SUM(rst_cnt_s[4])
);
defparam \rst_cnt_cry_0[4] .ALU_MODE=0;
// @6:147
  ALU \rst_cnt_cry_0[3]  (
	.CIN(rst_cnt_cry[2]),
	.I0(rst_cnt[3]),
	.I1(GND),
	.I3(GND),
	.COUT(rst_cnt_cry[3]),
	.SUM(rst_cnt_s[3])
);
defparam \rst_cnt_cry_0[3] .ALU_MODE=0;
// @6:147
  ALU \rst_cnt_cry_0[2]  (
	.CIN(rst_cnt_cry[1]),
	.I0(rst_cnt[2]),
	.I1(GND),
	.I3(GND),
	.COUT(rst_cnt_cry[2]),
	.SUM(rst_cnt_s[2])
);
defparam \rst_cnt_cry_0[2] .ALU_MODE=0;
// @6:147
  ALU \rst_cnt_cry_0[1]  (
	.CIN(rst_cnt_cry[0]),
	.I0(rst_cnt[1]),
	.I1(GND),
	.I3(GND),
	.COUT(rst_cnt_cry[1]),
	.SUM(rst_cnt_s[1])
);
defparam \rst_cnt_cry_0[1] .ALU_MODE=0;
// @6:147
  ALU \rst_cnt_cry_0[0]  (
	.CIN(VCC),
	.I0(rst_cnt[0]),
	.I1(GND),
	.I3(GND),
	.COUT(rst_cnt_cry[0]),
	.SUM(rst_cnt_s[0])
);
defparam \rst_cnt_cry_0[0] .ALU_MODE=0;
// @6:137
  Gowin_PLL u_pll_10M (
	.clk_sys_c(clk_sys_c),
	.clk_10M_lock(clk_10M_lock)
);
// @6:159
  Gowin_Flash_Controller_Top u_gowin_flash_controller_top (
	.data_out_c(data_out_c[31:0]),
	.data_out_flag(data_out_flag),
	.data_in_flag_c(data_in_flag_c),
	.un1_rst_n_dly(un1_rst_n_dly)
);
  GND GND_cZ (
	.G(GND)
);
  VCC VCC_cZ (
	.V(VCC)
);
endmodule /* tb */

