//
// Written by Synplify Pro 
// Product Version "Q-2020.03G-Beta1"
// Program "Synplify Pro", Mapper "mapgw, Build 1618R"
// Thu May 21 13:56:12 2020
//
// Source file index table:
// Object locations will have the form <file>:<line>
// file 0 "\e:\gowin\gowin_v1.9.5.02beta\synplifypro\lib\generic\gw2a.v "
// file 1 "\e:\gowin\gowin_v1.9.5.02beta\synplifypro\lib\vlog\hypermods.v "
// file 2 "\e:\gowin\gowin_v1.9.5.02beta\synplifypro\lib\vlog\umr_capim.v "
// file 3 "\e:\gowin\gowin_v1.9.5.02beta\synplifypro\lib\vlog\scemi_objects.v "
// file 4 "\e:\gowin\gowin_v1.9.5.02beta\synplifypro\lib\vlog\scemi_pipes.svh "
// file 5 "\e:\gowin\gowin_v1.9.5.02beta\ide\ipcore\ddr3\data\ddr3_1_4code.v "
// file 6 "\f:\gwip_test\refdesign_sdc\ddr_psram_refdesign\new_ref_design_v1_9_5_02\gowin_ddr3_memory_interface_refdesign\ddr3_mc_phy_1vs4_2a18k\project\src\ddr3_memory_interface\temp\ddr3\ddr3_name.v "
// file 7 "\f:\gwip_test\refdesign_sdc\ddr_psram_refdesign\new_ref_design_v1_9_5_02\gowin_ddr3_memory_interface_refdesign\ddr3_mc_phy_1vs4_2a18k\project\src\ddr3_memory_interface\temp\ddr3\gwmc_param.v "
// file 8 "\e:\gowin\gowin_v1.9.5.02beta\ide\ipcore\ddr3\data\gwmc_local_param.v "
// file 9 "\f:\gwip_test\refdesign_sdc\ddr_psram_refdesign\new_ref_design_v1_9_5_02\gowin_ddr3_memory_interface_refdesign\ddr3_mc_phy_1vs4_2a18k\project\src\ddr3_memory_interface\temp\ddr3\ddr3_define.v "
// file 10 "\f:\gwip_test\refdesign_sdc\ddr_psram_refdesign\new_ref_design_v1_9_5_02\gowin_ddr3_memory_interface_refdesign\ddr3_mc_phy_1vs4_2a18k\project\src\ddr3_memory_interface\temp\ddr3\ddr3_pll_config.v "
// file 11 "\e:\gowin\gowin_v1.9.5.02beta\ide\ipcore\ddr3\data\ddr3_top.v "
// file 12 "\e:\gowin\gowin_v1.9.5.02beta\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
RJGzCqwW4Q+7dpYHksc+1gKoQ+MVTg5EE7Ec2IrmJNZWK33QdpnINBY+6yY1KByT6sY7qg3INhrI
7oXif0CpcKRuBPpa1wlYrXDsq81Q/12gJ5cH1IbQQcJnaBt+cl8koO2lLOSoSVBZwEAc25aH5Bt4
cXvPBEWc4jMelQwlPUCCYvSdO5QKFc5VM+3fe3ai7GBjz4KKoa4MbhFh2KMGxJ2iUc+uLDaACQw+
SpijkaRd7HXOxd3oYVFg/9L/H9bjmVzKNLxGSaqF3ypiJwdWoRUbnJCnILj4PQ2gEYMf/t/5tcuu
lXA7K9hjtc3R9mwSmdH8e13HVHbTSun4FgFCAw==

`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
JL4ALF/oJPlCsXlUkansBiSSh7DU2xO4R4h9FZ0dbckdd0N4fUIwUWLRY5ky0qL3JF7ack1az2y3
H/15WEZ9VTjWFim4rExH7eMxiwO1VHudcFNaCENT3plBdRBxNYSYEBwHtURo3HnzKJPLgOBCkYUR
TiWVU0fZ+1WFoT+5CsdHVRIZw618LV8GX0ydIXsEoO6c8m2Ccplyy8h4Xj3zqwTbH8B4CjA2tlUO
rIh5r5IaWYWiJ1bJ2i53sFgbvleOsKPEQ2I24tRnDgigFT5o+gjSjxNDCKYZy+EHG3ghdBGTY/KO
y+7NVEhlUD4pugUwODtl1AjD7q3Z0FieP3zNcA==

`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=751632)
`pragma protect data_block
[encoded data, 1002136 characters]
wNCRwLF3jml0HheuDJny7zaYDvDH+yctZx/1zQ+C
`pragma protect end_protected
module DDR3_Memory_Interface_Top (
  clk,
  rst_n,
  app_burst_number,
  cmd_ready,
  cmd,
  cmd_en,
  addr,
  wr_data_rdy,
  wr_data,
  wr_data_en,
  wr_data_end,
  wr_data_mask,
  rd_data,
  rd_data_valid,
  rd_data_end,
  sr_req,
  ref_req,
  sr_ack,
  ref_ack,
  init_calib_complete,
  clk_out,
  ddr_rst,
  burst,
  O_ddr_addr,
  O_ddr_ba,
  O_ddr_cs_n,
  O_ddr_ras_n,
  O_ddr_cas_n,
  O_ddr_we_n,
  O_ddr_clk,
  O_ddr_clk_n,
  O_ddr_cke,
  O_ddr_odt,
  O_ddr_reset_n,
  O_ddr_dqm,
  IO_ddr_dq,
  IO_ddr_dqs,
  IO_ddr_dqs_n
)
;

/*  Synopsys
.origName=DDR3_Memory_Interface_Top
.langParams="DRAM_TYPE nCK_PER_CLK tCK REG_CTRL DQ_WIDTH DRAM_WIDTH ECC RANK_WIDTH BANK_WIDTH ROW_WIDTH COL_WIDTH tRP tRRD tRTP tRCD tRC tRAS tFAW tWTR tCKE tREFI tRFC tDLLK BURST_MODE BURST_TYPE CL CWL AL WR_CYC SLOT_0_CONFIG SLOT_1_CONFIG RTT_NOM RTT_WR USER_REFRESH ADDR_CMD_MODE OUTPUT_DRV"
DRAM_TYPE="DDR3"
nCK_PER_CLK=4
tCK=2500
REG_CTRL="OFF"
DQ_WIDTH=16
DRAM_WIDTH=16
ECC="OFF"
RANK_WIDTH=1
BANK_WIDTH=3
ROW_WIDTH=14
COL_WIDTH=10
tRP=12500
tRRD=7500
tRTP=7500
tRCD=12500
tRC=55000
tRAS=37500
tFAW=40000
tWTR=7500
tCKE=75000
tREFI=7800000
tRFC=160000
tDLLK=512
BURST_MODE="8"
BURST_TYPE="SEQ"
CL=5
CWL=5
AL="0"
WR_CYC=6
SLOT_0_CONFIG=8'b00000001
SLOT_1_CONFIG=8'b00000000
RTT_NOM="40"
RTT_WR="OFF"
USER_REFRESH="OFF"
ADDR_CMD_MODE="2T"
OUTPUT_DRV="LOW"
 */
input clk ;
input rst_n ;
input [5:0] app_burst_number ;
output cmd_ready ;
input [2:0] cmd ;
input cmd_en ;
input [27:0] addr ;
output wr_data_rdy ;
input [127:0] wr_data ;
input wr_data_en ;
input wr_data_end ;
input [15:0] wr_data_mask ;
output [127:0] rd_data ;
output rd_data_valid ;
output rd_data_end ;
input sr_req ;
input ref_req ;
output sr_ack ;
output ref_ack ;
output init_calib_complete ;
output clk_out ;
output ddr_rst ;
input burst ;
output [13:0] O_ddr_addr ;
output [2:0] O_ddr_ba ;
output O_ddr_cs_n ;
output O_ddr_ras_n ;
output O_ddr_cas_n ;
output O_ddr_we_n ;
output O_ddr_clk ;
output O_ddr_clk_n ;
output O_ddr_cke ;
output O_ddr_odt ;
output O_ddr_reset_n ;
output [1:0] O_ddr_dqm /* synthesis syn_tristate = 1 */ ;
inout [15:0] IO_ddr_dq /* synthesis syn_tristate = 1 */ ;
inout [1:0] IO_ddr_dqs /* synthesis syn_tristate = 1 */ ;
inout [1:0] IO_ddr_dqs_n /* synthesis syn_tristate = 1 */ ;
wire clk ;
wire rst_n ;
wire cmd_ready ;
wire cmd_en ;
wire wr_data_rdy ;
wire wr_data_en ;
wire wr_data_end ;
wire rd_data_valid ;
wire rd_data_end ;
wire sr_req ;
wire ref_req ;
wire sr_ack ;
wire ref_ack ;
wire init_calib_complete ;
wire clk_out ;
wire ddr_rst ;
wire burst ;
wire O_ddr_cs_n ;
wire O_ddr_ras_n ;
wire O_ddr_cas_n ;
wire O_ddr_we_n ;
wire O_ddr_clk ;
wire O_ddr_clk_n ;
wire O_ddr_cke ;
wire O_ddr_odt ;
wire O_ddr_reset_n ;
wire [3:0] \genblk1.un1_gw3mc_top_3 ;
wire GND ;
wire popfeedthru_unused ;
wire VCC ;
  GSR GSR (
	.GSRI(VCC)
);
// @11:101
  \~gw3_phy_mc.DDR3_Memory_Interface_Top_  \genblk1.gw3mc_top  (
	.clk(clk),
	.rst_n(rst_n),
	.app_burst_number(app_burst_number[5:0]),
	.cmd_ready(cmd_ready),
	.cmd(cmd[2:0]),
	.cmd_en(cmd_en),
	.addr({GND, addr[26:0]}),
	.wr_data_rdy(wr_data_rdy),
	.wr_data(wr_data[127:0]),
	.wr_data_en(wr_data_en),
	.wr_data_end(wr_data_end),
	.wr_data_mask(wr_data_mask[15:0]),
	.rd_data(rd_data[127:0]),
	.rd_data_valid(rd_data_end),
	.rd_data_end(popfeedthru_unused),
	.sr_req(sr_req),
	.ref_req(GND),
	.sr_act(sr_ack),
	.ref_ack(ref_ack),
	.init_calib_complete(init_calib_complete),
	.clk_out(clk_out),
	.ecc_err(\genblk1.un1_gw3mc_top_3 [3:0]),
	.burst(burst),
	.ddr_rst(ddr_rst),
	.O_ddr_addr(O_ddr_addr[13:0]),
	.O_ddr_ba(O_ddr_ba[2:0]),
	.O_ddr_cs_n(O_ddr_cs_n),
	.O_ddr_ras_n(O_ddr_ras_n),
	.O_ddr_cas_n(O_ddr_cas_n),
	.O_ddr_we_n(O_ddr_we_n),
	.O_ddr_clk(O_ddr_clk),
	.O_ddr_clk_n(O_ddr_clk_n),
	.O_ddr_cke(O_ddr_cke),
	.O_ddr_odt(O_ddr_odt),
	.O_ddr_reset_n(O_ddr_reset_n),
	.O_ddr_dqm(O_ddr_dqm[1:0]),
	.IO_ddr_dq(IO_ddr_dq[15:0]),
	.IO_ddr_dqs(IO_ddr_dqs[1:0]),
	.IO_ddr_dqs_n(IO_ddr_dqs_n[1:0])
);
  GND GND_cZ (
	.G(GND)
);
  VCC VCC_cZ (
	.V(VCC)
);
assign rd_data_valid = rd_data_end;
endmodule /* DDR3_Memory_Interface_Top */

