|
|
@@ -0,0 +1,995 @@
|
|
|
+//-----------------------------------------------------------------------------
|
|
|
+//
|
|
|
+// (c) Copyright 2010-2011 Xilinx, Inc. All rights reserved.
|
|
|
+//
|
|
|
+// This file contains confidential and proprietary information
|
|
|
+// of Xilinx, Inc. and is protected under U.S. and
|
|
|
+// international copyright and other intellectual property
|
|
|
+// laws.
|
|
|
+//
|
|
|
+// DISCLAIMER
|
|
|
+// This disclaimer is not a license and does not grant any
|
|
|
+// rights to the materials distributed herewith. Except as
|
|
|
+// otherwise provided in a valid license issued to you by
|
|
|
+// Xilinx, and to the maximum extent permitted by applicable
|
|
|
+// law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
|
|
|
+// WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
|
|
|
+// AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
|
|
|
+// BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
|
|
|
+// INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
|
|
|
+// (2) Xilinx shall not be liable (whether in contract or tort,
|
|
|
+// including negligence, or under any other theory of
|
|
|
+// liability) for any loss or damage of any kind or nature
|
|
|
+// related to, arising under or in connection with these
|
|
|
+// materials, including for any direct, or any indirect,
|
|
|
+// special, incidental, or consequential loss or damage
|
|
|
+// (including loss of data, profits, goodwill, or any type of
|
|
|
+// loss or damage suffered as a result of any action brought
|
|
|
+// by a third party) even if such damage or loss was
|
|
|
+// reasonably foreseeable or Xilinx had been advised of the
|
|
|
+// possibility of the same.
|
|
|
+//
|
|
|
+// CRITICAL APPLICATIONS
|
|
|
+// Xilinx products are not designed or intended to be fail-
|
|
|
+// safe, or for use in any application requiring fail-safe
|
|
|
+// performance, such as life-support or safety devices or
|
|
|
+// systems, Class III medical devices, nuclear facilities,
|
|
|
+// applications related to the deployment of airbags, or any
|
|
|
+// other applications that could lead to death, personal
|
|
|
+// injury, or severe property or environmental damage
|
|
|
+// (individually and collectively, "Critical
|
|
|
+// Applications"). Customer assumes the sole risk and
|
|
|
+// liability of any use of Xilinx products in Critical
|
|
|
+// Applications, subject only to applicable laws and
|
|
|
+// regulations governing limitations on product liability.
|
|
|
+//
|
|
|
+// THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
|
|
|
+// PART OF THIS FILE AT ALL TIMES.
|
|
|
+//
|
|
|
+//-----------------------------------------------------------------------------
|
|
|
+// Project : Series-7 Integrated Block for PCI Express
|
|
|
+// File : EP_MEM.v
|
|
|
+// Version : 3.3
|
|
|
+//--
|
|
|
+//-- Description: Endpoint Memory: 8KB organized as 4 x (512 DW) BlockRAM banks.
|
|
|
+//-- Block RAM Port A: Read Port
|
|
|
+//-- Block RAM Port B: Write Port
|
|
|
+//--
|
|
|
+//--------------------------------------------------------------------------------
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+`timescale 1ps/1ps
|
|
|
+
|
|
|
+(* DowngradeIPIdentifiedWarnings = "yes" *)
|
|
|
+module EP_MEM (
|
|
|
+
|
|
|
+ clk_i,
|
|
|
+
|
|
|
+ a_rd_a_i_0, // [8:0] Port A Read Address Bank 0
|
|
|
+ a_rd_d_o_0, // [31:0] Port A Read Data Bank 0
|
|
|
+ a_rd_en_i_0, // Port A Read Enable Bank 0
|
|
|
+
|
|
|
+ b_wr_a_i_0, // [8:0] Port B Write Address Bank 0
|
|
|
+ b_wr_d_i_0, // [31:0] Port B Write Data Bank 0
|
|
|
+ b_wr_en_i_0, // Port B Write Enable Bank 0
|
|
|
+ b_rd_d_o_0, // [31:0] Port B Read Data Bank 0
|
|
|
+ b_rd_en_i_0, // Port B Read Enable Bank 0
|
|
|
+
|
|
|
+ a_rd_a_i_1, // [8:0] Port A Read Address Bank 1
|
|
|
+ a_rd_d_o_1, // [31:0] Port A Read Data Bank 1
|
|
|
+ a_rd_en_i_1,
|
|
|
+
|
|
|
+ b_wr_a_i_1, // [8:0] Port B Write Address Bank 1
|
|
|
+ b_wr_d_i_1, // [31:0] Port B Write Data Bank 1
|
|
|
+ b_wr_en_i_1, // Port B Write Enable Bank 1
|
|
|
+ b_rd_d_o_1, // [31:0] Port B Read Data Bank 1
|
|
|
+ b_rd_en_i_1, // Port B Read Enable Bank 1
|
|
|
+
|
|
|
+ a_rd_a_i_2, // [8:0] Port A Read Address Bank 2
|
|
|
+ a_rd_d_o_2, // [31:0] Port A Read Data Bank 2
|
|
|
+ a_rd_en_i_2,
|
|
|
+
|
|
|
+ b_wr_a_i_2, // [8:0] Port B Write Address Bank 2
|
|
|
+ b_wr_d_i_2, // [31:0] Port B Write Data Bank 2
|
|
|
+ b_wr_en_i_2, // Port B Write Enable Bank 2
|
|
|
+ b_rd_d_o_2, // [31:0] Port B Read Data Bank 2
|
|
|
+ b_rd_en_i_2, // Port B Read Enable Bank 2
|
|
|
+
|
|
|
+ a_rd_a_i_3, // [8:0] Port A Read Address Bank 3
|
|
|
+ a_rd_d_o_3, // [31:0] Port A Read Data Bank 3
|
|
|
+ a_rd_en_i_3,
|
|
|
+
|
|
|
+ b_wr_a_i_3, // [8:0] Port B Write Address Bank 3
|
|
|
+ b_wr_d_i_3, // [31:0] Port B Write Data Bank 3
|
|
|
+ b_wr_en_i_3, // Port B Write Enable Bank 3
|
|
|
+ b_rd_d_o_3, // [31:0] Port B Read Data Bank 3
|
|
|
+ b_rd_en_i_3 // Port B Read Enable Bank 3
|
|
|
+
|
|
|
+ );
|
|
|
+
|
|
|
+ input clk_i;
|
|
|
+
|
|
|
+ input [08:00] a_rd_a_i_0;
|
|
|
+ output [31:00] a_rd_d_o_0;
|
|
|
+ input a_rd_en_i_0;
|
|
|
+
|
|
|
+ input [08:00] b_wr_a_i_0;
|
|
|
+ input [31:00] b_wr_d_i_0;
|
|
|
+ input b_wr_en_i_0;
|
|
|
+ output [31:00] b_rd_d_o_0;
|
|
|
+ input b_rd_en_i_0;
|
|
|
+
|
|
|
+ input [08:00] a_rd_a_i_1;
|
|
|
+ output [31:00] a_rd_d_o_1;
|
|
|
+ input a_rd_en_i_1;
|
|
|
+
|
|
|
+ input [08:00] b_wr_a_i_1;
|
|
|
+ input [31:00] b_wr_d_i_1;
|
|
|
+ input b_wr_en_i_1;
|
|
|
+ output [31:00] b_rd_d_o_1;
|
|
|
+ input b_rd_en_i_1;
|
|
|
+
|
|
|
+ input [08:00] a_rd_a_i_2;
|
|
|
+ output [31:00] a_rd_d_o_2;
|
|
|
+ input a_rd_en_i_2;
|
|
|
+
|
|
|
+ input [08:00] b_wr_a_i_2;
|
|
|
+ input [31:00] b_wr_d_i_2;
|
|
|
+ input b_wr_en_i_2;
|
|
|
+ output [31:00] b_rd_d_o_2;
|
|
|
+ input b_rd_en_i_2;
|
|
|
+
|
|
|
+ input [08:00] a_rd_a_i_3;
|
|
|
+ output [31:00] a_rd_d_o_3;
|
|
|
+ input a_rd_en_i_3;
|
|
|
+
|
|
|
+ input [08:00] b_wr_a_i_3;
|
|
|
+ input [31:00] b_wr_d_i_3;
|
|
|
+ input b_wr_en_i_3;
|
|
|
+ output [31:00] b_rd_d_o_3;
|
|
|
+ input b_rd_en_i_3;
|
|
|
+
|
|
|
+ //----------------------------------------------------------------
|
|
|
+ //
|
|
|
+ // 4 x 512 DWs Buffer Banks (512 x 32 bits + 512 x 4 bits)
|
|
|
+ // 1 each for IO, Mem32, Mem64 and EROM
|
|
|
+ //----------------------------------------------------------------
|
|
|
+
|
|
|
+ RAMB36E1 #(
|
|
|
+ .SIM_DEVICE("7SERIES"),
|
|
|
+ .RDADDR_COLLISION_HWCONFIG( "DELAYED_WRITE" ),
|
|
|
+ .DOA_REG(1), // Optional output registers on A port (0 or 1)
|
|
|
+ .DOB_REG(1), // Optional output registers on B port (0 or 1)
|
|
|
+ .INIT_A(36'h000000000), // Initial values on A output port
|
|
|
+ .INIT_B(36'h000000000), // Initial values on B output port
|
|
|
+ .EN_ECC_READ( "FALSE" ),
|
|
|
+ .EN_ECC_WRITE( "FALSE" ),
|
|
|
+ .RAM_EXTENSION_A("NONE"), // "UPPER", "LOWER" or "NONE" when cascaded
|
|
|
+ .RAM_EXTENSION_B("NONE"), // "UPPER", "LOWER" or "NONE" when cascaded
|
|
|
+ .RAM_MODE( "TDP" ),
|
|
|
+ .READ_WIDTH_A(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+ .READ_WIDTH_B(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+ .RSTREG_PRIORITY_A( "REGCE" ),
|
|
|
+ .RSTREG_PRIORITY_B( "REGCE" ),
|
|
|
+ .SIM_COLLISION_CHECK("ALL"), // Collision check enable "ALL", "WARNING_ONLY",
|
|
|
+ // "GENERATE_X_ONLY" or "NONE
|
|
|
+ .SRVAL_A(36'h000000000), // Set/Reset value for A port output
|
|
|
+ .SRVAL_B(36'h000000000), // Set/Reset value for B port output
|
|
|
+ .WRITE_MODE_A("WRITE_FIRST"), // "WRITE_FIRST", "READ_FIRST", or "NO_CHANGE
|
|
|
+ .WRITE_MODE_B("WRITE_FIRST"), // "WRITE_FIRST", "READ_FIRST", or "NO_CHANGE
|
|
|
+ .WRITE_WIDTH_A(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+ .WRITE_WIDTH_B(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+
|
|
|
+ // The following INIT_xx declarations specify the initial contents of the RAM
|
|
|
+ .INIT_00(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_01(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_02(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_03(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_04(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_05(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_06(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_07(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_08(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_09(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_10(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_11(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_12(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_13(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_14(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_15(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_16(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_17(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_18(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_19(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_20(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_21(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_22(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_23(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_24(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_25(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_26(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_27(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_28(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_29(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_30(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_31(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_32(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_33(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_34(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_35(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_36(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_37(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_38(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_39(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_40(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_41(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_42(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_43(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_44(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_45(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_46(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_47(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_48(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_49(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_50(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_51(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_52(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_53(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_54(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_55(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_56(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_57(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_58(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_59(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_60(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_61(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_62(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_63(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_64(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_65(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_66(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_67(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_68(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_69(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_70(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_71(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_72(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_73(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_74(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_75(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_76(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_77(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_78(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_79(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+
|
|
|
+ // The next set of INITP_xx are for the parity bits
|
|
|
+ .INITP_00(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_01(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_02(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_03(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_04(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_05(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_06(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_07(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_08(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_09(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0F(256'h0000000000000000000000000000000000000000000000000000000000000000)
|
|
|
+ ) ep_io_mem (
|
|
|
+
|
|
|
+
|
|
|
+ .DOADO(a_rd_d_o_0[31:0]), // 32-bit A port data output
|
|
|
+ .DOBDO(b_rd_d_o_0[31:0]), // 32-bit B port data output
|
|
|
+ .DOPADOP(), // 4-bit A port parity data output
|
|
|
+ .DOPBDOP(), // 4-bit B port parity data output
|
|
|
+ .ADDRARDADDR({1'b0,a_rd_a_i_0[8:0],6'b0}), // 16-bit A port address input
|
|
|
+ .ADDRBWRADDR ({1'b0,b_wr_a_i_0[8:0],6'b0}), // 16-bit B port address input
|
|
|
+ .CLKARDCLK(clk_i), // 1-bit A port clock input
|
|
|
+ .CLKBWRCLK(clk_i), // 1-bit B port clock input
|
|
|
+ .DIADI(32'b0), // 32-bit A port data input
|
|
|
+ .DIBDI(b_wr_d_i_0[31:0]), // 32-bit B port data input
|
|
|
+ .DIPADIP(4'b0000), // 4-bit A port parity data input
|
|
|
+ .DIPBDIP(4'b0), // 4-bit B port parity data input
|
|
|
+ .ENARDEN(a_rd_en_i_0), // 1-bit A port enable input
|
|
|
+ .ENBWREN(b_rd_en_i_0), // 1-bit B port enable input
|
|
|
+ .REGCEAREGCE (1'b1), // 1-bit A port register enable input
|
|
|
+ .REGCEB(1'b1), // 1-bit B port register enable input
|
|
|
+ .WEA(4'b0), // 4-bit A port write enable input
|
|
|
+ .WEBWE({4'b0,b_wr_en_i_0, b_wr_en_i_0, b_wr_en_i_0, b_wr_en_i_0}), // 4-bit B port write enable input
|
|
|
+ .DBITERR(),
|
|
|
+ .INJECTDBITERR(1'b0),
|
|
|
+ .INJECTSBITERR(1'b0),
|
|
|
+ .RSTRAMARSTRAM(1'b0),
|
|
|
+ .RSTRAMB(1'b0),
|
|
|
+ .RSTREGARSTREG(1'b0),
|
|
|
+ .RSTREGB(1'b0),
|
|
|
+ .SBITERR(),
|
|
|
+ .ECCPARITY(),
|
|
|
+ .RDADDRECC(),
|
|
|
+ .CASCADEINA(),
|
|
|
+ .CASCADEINB(),
|
|
|
+ .CASCADEOUTA(),
|
|
|
+ .CASCADEOUTB()
|
|
|
+
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ RAMB36E1 #(
|
|
|
+ .SIM_DEVICE("7SERIES"),
|
|
|
+ .RDADDR_COLLISION_HWCONFIG( "DELAYED_WRITE" ),
|
|
|
+ .DOA_REG(1), // Optional output registers on A port (0 or 1)
|
|
|
+ .DOB_REG(1), // Optional output registers on B port (0 or 1)
|
|
|
+ .INIT_A(36'h000000000), // Initial values on A output port
|
|
|
+ .INIT_B(36'h000000000), // Initial values on B output port
|
|
|
+ .EN_ECC_READ( "FALSE" ),
|
|
|
+ .EN_ECC_WRITE( "FALSE" ),
|
|
|
+ .RAM_EXTENSION_A("NONE"), // "UPPER", "LOWER" or "NONE" when cascaded
|
|
|
+ .RAM_EXTENSION_B("NONE"), // "UPPER", "LOWER" or "NONE" when cascaded
|
|
|
+ .RAM_MODE( "TDP" ),
|
|
|
+ .READ_WIDTH_A(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+ .READ_WIDTH_B(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+ .RSTREG_PRIORITY_A( "REGCE" ),
|
|
|
+ .RSTREG_PRIORITY_B( "REGCE" ),
|
|
|
+ .SIM_COLLISION_CHECK("ALL"), // Collision check enable "ALL", "WARNING_ONLY",
|
|
|
+ // "GENERATE_X_ONLY" or "NONE
|
|
|
+ .SRVAL_A(36'h000000000), // Set/Reset value for A port output
|
|
|
+ .SRVAL_B(36'h000000000), // Set/Reset value for B port output
|
|
|
+ .WRITE_MODE_A("WRITE_FIRST"), // "WRITE_FIRST", "READ_FIRST", or "NO_CHANGE
|
|
|
+ .WRITE_MODE_B("WRITE_FIRST"), // "WRITE_FIRST", "READ_FIRST", or "NO_CHANGE
|
|
|
+ .WRITE_WIDTH_A(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+ .WRITE_WIDTH_B(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+
|
|
|
+ // The following INIT_xx declarations specify the initial contents of the RAM
|
|
|
+ .INIT_00(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_01(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_02(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_03(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_04(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_05(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_06(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_07(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_08(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_09(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_10(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_11(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_12(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_13(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_14(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_15(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_16(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_17(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_18(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_19(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_20(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_21(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_22(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_23(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_24(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_25(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_26(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_27(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_28(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_29(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_30(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_31(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_32(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_33(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_34(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_35(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_36(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_37(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_38(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_39(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_40(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_41(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_42(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_43(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_44(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_45(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_46(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_47(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_48(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_49(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_50(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_51(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_52(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_53(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_54(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_55(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_56(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_57(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_58(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_59(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_60(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_61(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_62(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_63(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_64(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_65(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_66(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_67(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_68(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_69(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_70(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_71(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_72(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_73(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_74(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_75(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_76(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_77(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_78(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_79(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+
|
|
|
+ // The next set of INITP_xx are for the parity bits
|
|
|
+ .INITP_00(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_01(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_02(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_03(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_04(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_05(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_06(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_07(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_08(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_09(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0F(256'h0000000000000000000000000000000000000000000000000000000000000000)
|
|
|
+ ) ep_mem32 (
|
|
|
+ .DOADO(a_rd_d_o_1[31:0]), // 32-bit A port data output
|
|
|
+ .DOBDO(b_rd_d_o_1[31:0]), // 32-bit B port data output
|
|
|
+ .DOPADOP(), // 4-bit A port parity data output
|
|
|
+ .DOPBDOP(), // 4-bit B port parity data output
|
|
|
+ .ADDRARDADDR({1'b0,a_rd_a_i_1[8:0],6'b0}), // 16-bit A port address input
|
|
|
+ .ADDRBWRADDR({1'b0,b_wr_a_i_1[8:0],6'b0}), // 16-bit B port address input
|
|
|
+ .CLKARDCLK(clk_i), // 1-bit A port clock input
|
|
|
+ .CLKBWRCLK(clk_i), // 1-bit B port clock input
|
|
|
+ .DIADI(32'b0), // 32-bit A port data input
|
|
|
+ .DIBDI(b_wr_d_i_1[31:0]), // 32-bit B port data input
|
|
|
+ .DIPADIP(4'b0000), // 4-bit A port parity data input
|
|
|
+ .DIPBDIP(4'b0), // 4-bit B port parity data input
|
|
|
+ .ENARDEN(a_rd_en_i_1), // 1-bit A port enable input
|
|
|
+ .ENBWREN(b_rd_en_i_1), // 1-bit B port enable input
|
|
|
+ .REGCEAREGCE(1'b1), // 1-bit A port register enable input
|
|
|
+ .REGCEB(1'b1), // 1-bit B port register enable inputt
|
|
|
+ .WEA(4'b0), // 4-bit A port write enable input
|
|
|
+ .WEBWE({4'b0,b_wr_en_i_1, b_wr_en_i_1, b_wr_en_i_1, b_wr_en_i_1}), // 4-bit B port write enable input
|
|
|
+ .DBITERR(),
|
|
|
+ .INJECTDBITERR(1'b0),
|
|
|
+ .INJECTSBITERR(1'b0),
|
|
|
+ .RSTRAMARSTRAM(1'b0),
|
|
|
+ .RSTRAMB(1'b0),
|
|
|
+ .RSTREGARSTREG(1'b0),
|
|
|
+ .RSTREGB(1'b0),
|
|
|
+ .SBITERR(),
|
|
|
+ .ECCPARITY(),
|
|
|
+ .RDADDRECC(),
|
|
|
+ .CASCADEINA(),
|
|
|
+ .CASCADEINB(),
|
|
|
+ .CASCADEOUTA(),
|
|
|
+ .CASCADEOUTB()
|
|
|
+ );
|
|
|
+
|
|
|
+ RAMB36E1 #(
|
|
|
+ .SIM_DEVICE("7SERIES"),
|
|
|
+ .RDADDR_COLLISION_HWCONFIG( "DELAYED_WRITE" ),
|
|
|
+ .DOA_REG(1), // Optional output registers on A port (0 or 1)
|
|
|
+ .DOB_REG(1), // Optional output registers on B port (0 or 1)
|
|
|
+ .INIT_A(36'h000000000), // Initial values on A output port
|
|
|
+ .INIT_B(36'h000000000), // Initial values on B output port
|
|
|
+ .EN_ECC_READ( "FALSE" ),
|
|
|
+ .EN_ECC_WRITE( "FALSE" ),
|
|
|
+ .RAM_EXTENSION_A("NONE"), // "UPPER", "LOWER" or "NONE" when cascaded
|
|
|
+ .RAM_EXTENSION_B("NONE"), // "UPPER", "LOWER" or "NONE" when cascaded
|
|
|
+ .RAM_MODE( "TDP" ),
|
|
|
+ .READ_WIDTH_A(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+ .READ_WIDTH_B(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+ .RSTREG_PRIORITY_A( "REGCE" ),
|
|
|
+ .RSTREG_PRIORITY_B( "REGCE" ),
|
|
|
+ .SIM_COLLISION_CHECK("ALL"), // Collision check enable "ALL", "WARNING_ONLY",
|
|
|
+ // "GENERATE_X_ONLY" or "NONE
|
|
|
+ .SRVAL_A(36'h000000000), // Set/Reset value for A port output
|
|
|
+ .SRVAL_B(36'h000000000), // Set/Reset value for B port output
|
|
|
+ .WRITE_MODE_A("WRITE_FIRST"), // "WRITE_FIRST", "READ_FIRST", or "NO_CHANGE
|
|
|
+ .WRITE_MODE_B("WRITE_FIRST"), // "WRITE_FIRST", "READ_FIRST", or "NO_CHANGE
|
|
|
+ .WRITE_WIDTH_A(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+ .WRITE_WIDTH_B(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+
|
|
|
+ // The following INIT_xx declarations specify the initial contents of the RAM
|
|
|
+ .INIT_00(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_01(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_02(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_03(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_04(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_05(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_06(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_07(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_08(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_09(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_10(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_11(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_12(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_13(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_14(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_15(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_16(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_17(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_18(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_19(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_20(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_21(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_22(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_23(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_24(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_25(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_26(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_27(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_28(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_29(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_30(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_31(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_32(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_33(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_34(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_35(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_36(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_37(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_38(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_39(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_40(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_41(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_42(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_43(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_44(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_45(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_46(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_47(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_48(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_49(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_50(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_51(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_52(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_53(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_54(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_55(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_56(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_57(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_58(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_59(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_60(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_61(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_62(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_63(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_64(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_65(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_66(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_67(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_68(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_69(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_70(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_71(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_72(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_73(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_74(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_75(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_76(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_77(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_78(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_79(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+
|
|
|
+ // The next set of INITP_xx are for the parity bits
|
|
|
+ .INITP_00(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_01(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_02(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_03(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_04(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_05(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_06(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_07(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_08(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_09(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0F(256'h0000000000000000000000000000000000000000000000000000000000000000)
|
|
|
+ ) ep_mem64 (
|
|
|
+ .DOADO(a_rd_d_o_2[31:0]), // 32-bit A port data output
|
|
|
+ .DOBDO(b_rd_d_o_2[31:0]), // 32-bit B port data output
|
|
|
+ .DOPADOP(), // 4-bit A port parity data output
|
|
|
+ .DOPBDOP(), // 4-bit B port parity data output
|
|
|
+ .ADDRARDADDR({1'b0,a_rd_a_i_2[8:0],6'b0}), // 16-bit A port address input
|
|
|
+ .ADDRBWRADDR({1'b0,b_wr_a_i_2[8:0],6'b0}), // 16-bit B port address input
|
|
|
+ .CLKARDCLK(clk_i), // 1-bit A port clock input
|
|
|
+ .CLKBWRCLK(clk_i), // 1-bit B port clock input
|
|
|
+ .DIADI(32'b0), // 32-bit A port data input
|
|
|
+ .DIBDI(b_wr_d_i_2[31:0]), // 32-bit B port data input
|
|
|
+ .DIPADIP(4'b0000), // 4-bit A port parity data input
|
|
|
+ .DIPBDIP(4'b0), // 4-bit B port parity data input
|
|
|
+ .ENARDEN(a_rd_en_i_2), // 1-bit A port enable input
|
|
|
+ .ENBWREN(b_rd_en_i_2), // 1-bit B port enable input
|
|
|
+ .REGCEAREGCE(1'b1), // 1-bit A port register enable input
|
|
|
+ .REGCEB(1'b1), // 1-bit B port register enable input
|
|
|
+ .WEA(4'b0), // 4-bit A port write enable input
|
|
|
+ .WEBWE({4'b0,b_wr_en_i_2, b_wr_en_i_2, b_wr_en_i_2, b_wr_en_i_2}), // 4-bit B port write enable input
|
|
|
+ .DBITERR(),
|
|
|
+ .INJECTDBITERR(1'b0),
|
|
|
+ .INJECTSBITERR(1'b0),
|
|
|
+ .RSTRAMARSTRAM(1'b0),
|
|
|
+ .RSTRAMB(1'b0),
|
|
|
+ .RSTREGARSTREG(1'b0),
|
|
|
+ .RSTREGB(1'b0),
|
|
|
+ .SBITERR(),
|
|
|
+ .ECCPARITY(),
|
|
|
+ .RDADDRECC(),
|
|
|
+ .CASCADEINA(),
|
|
|
+ .CASCADEINB(),
|
|
|
+ .CASCADEOUTA(),
|
|
|
+ .CASCADEOUTB()
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ RAMB36E1 #(
|
|
|
+ .SIM_DEVICE("7SERIES"),
|
|
|
+ .RDADDR_COLLISION_HWCONFIG( "DELAYED_WRITE" ),
|
|
|
+ .DOA_REG(1), // Optional output registers on A port (0 or 1)
|
|
|
+ .DOB_REG(1), // Optional output registers on B port (0 or 1)
|
|
|
+ .INIT_A(36'h000000000), // Initial values on A output port
|
|
|
+ .INIT_B(36'h000000000), // Initial values on B output port
|
|
|
+ .EN_ECC_READ( "FALSE" ),
|
|
|
+ .EN_ECC_WRITE( "FALSE" ),
|
|
|
+ .RAM_EXTENSION_A("NONE"), // "UPPER", "LOWER" or "NONE" when cascaded
|
|
|
+ .RAM_EXTENSION_B("NONE"), // "UPPER", "LOWER" or "NONE" when cascaded
|
|
|
+ .RAM_MODE( "TDP" ),
|
|
|
+ .READ_WIDTH_A(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+ .READ_WIDTH_B(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+ .RSTREG_PRIORITY_A( "REGCE" ),
|
|
|
+ .RSTREG_PRIORITY_B( "REGCE" ),
|
|
|
+ .SIM_COLLISION_CHECK("ALL"), // Collision check enable "ALL", "WARNING_ONLY",
|
|
|
+ // "GENERATE_X_ONLY" or "NONE
|
|
|
+ .SRVAL_A(36'h000000000), // Set/Reset value for A port output
|
|
|
+ .SRVAL_B(36'h000000000), // Set/Reset value for B port output
|
|
|
+ .WRITE_MODE_A("WRITE_FIRST"), // "WRITE_FIRST", "READ_FIRST", or "NO_CHANGE
|
|
|
+ .WRITE_MODE_B("WRITE_FIRST"), // "WRITE_FIRST", "READ_FIRST", or "NO_CHANGE
|
|
|
+ .WRITE_WIDTH_A(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+ .WRITE_WIDTH_B(36), // Valid values are 1, 2, 4, 9, 18, or 36
|
|
|
+
|
|
|
+ // The following INIT_xx declarations specify the initial contents of the RAM
|
|
|
+ .INIT_00(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_01(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_02(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_03(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_04(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_05(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_06(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_07(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_08(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_09(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_0F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_10(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_11(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_12(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_13(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_14(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_15(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_16(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_17(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_18(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_19(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_1F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_20(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_21(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_22(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_23(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_24(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_25(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_26(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_27(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_28(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_29(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_2F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_30(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_31(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_32(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_33(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_34(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_35(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_36(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_37(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_38(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_39(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_3F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_40(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_41(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_42(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_43(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_44(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_45(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_46(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_47(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_48(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_49(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_4F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_50(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_51(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_52(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_53(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_54(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_55(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_56(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_57(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_58(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_59(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_5F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_60(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_61(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_62(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_63(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_64(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_65(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_66(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_67(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_68(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_69(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_6F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_70(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_71(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_72(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_73(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_74(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_75(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_76(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_77(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_78(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_79(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INIT_7F(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+
|
|
|
+ // The next set of INITP_xx are for the parity bits
|
|
|
+ .INITP_00(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_01(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_02(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_03(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_04(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_05(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_06(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_07(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_08(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_09(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0A(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0B(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0C(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0D(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0E(256'h0000000000000000000000000000000000000000000000000000000000000000),
|
|
|
+ .INITP_0F(256'h0000000000000000000000000000000000000000000000000000000000000000)
|
|
|
+ ) ep_mem_erom (
|
|
|
+ .DOADO(a_rd_d_o_3[31:0]), // 32-bit A port data output
|
|
|
+ .DOBDO(b_rd_d_o_3[31:0]), // 32-bit B port data output
|
|
|
+ .DOPADOP(), // 4-bit A port parity data output
|
|
|
+ .DOPBDOP(), // 4-bit B port parity data output
|
|
|
+ .ADDRARDADDR({1'b0,a_rd_a_i_3[8:0],6'b0}), // 16-bit A port address input
|
|
|
+ .ADDRBWRADDR({1'b0,b_wr_a_i_3[8:0],6'b0}), // 16-bit B port address input
|
|
|
+ .CLKARDCLK(clk_i), // 1-bit A port clock input
|
|
|
+ .CLKBWRCLK(clk_i), // 1-bit B port clock input
|
|
|
+ .DIADI(32'b0), // 32-bit A port data input
|
|
|
+ .DIBDI(b_wr_d_i_3[31:0]), // 32-bit B port data input
|
|
|
+ .DIPADIP(4'b0000), // 4-bit A port parity data input
|
|
|
+ .DIPBDIP(4'b0), // 4-bit B port parity data input
|
|
|
+ .ENARDEN(a_rd_en_i_3), // 1-bit A port enable input
|
|
|
+ .ENBWREN(b_rd_en_i_3), // 1-bit B port enable input
|
|
|
+ .REGCEAREGCE(1'b1), // 1-bit A port register enable input
|
|
|
+ .REGCEB(1'b1), // 1-bit B port register enable input
|
|
|
+ .WEA(4'b0), // 4-bit A port write enable input
|
|
|
+ .WEBWE({4'b0,b_wr_en_i_3, b_wr_en_i_3, b_wr_en_i_3, b_wr_en_i_3}), // 4-bit B port write enable input
|
|
|
+ .DBITERR(),
|
|
|
+ .INJECTDBITERR(1'b0),
|
|
|
+ .INJECTSBITERR(1'b0),
|
|
|
+ .RSTRAMARSTRAM(1'b0),
|
|
|
+ .RSTRAMB(1'b0),
|
|
|
+ .RSTREGARSTREG(1'b0),
|
|
|
+ .RSTREGB(1'b0),
|
|
|
+ .SBITERR(),
|
|
|
+ .ECCPARITY(),
|
|
|
+ .RDADDRECC(),
|
|
|
+ .CASCADEINA(),
|
|
|
+ .CASCADEINB(),
|
|
|
+ .CASCADEOUTA(),
|
|
|
+ .CASCADEOUTB()
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+endmodule
|
|
|
+
|