| 1 | 62 | olivier.gi | /*******************************************************************************
 | 
      
         | 2 |  |  | *     This file is owned and controlled by Xilinx and must be used             *
 | 
      
         | 3 |  |  | *     solely for design, simulation, implementation and creation of            *
 | 
      
         | 4 |  |  | *     design files limited to Xilinx devices or technologies. Use              *
 | 
      
         | 5 |  |  | *     with non-Xilinx devices or technologies is expressly prohibited          *
 | 
      
         | 6 |  |  | *     and immediately terminates your license.                                 *
 | 
      
         | 7 |  |  | *                                                                              *
 | 
      
         | 8 |  |  | *     XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"            *
 | 
      
         | 9 |  |  | *     SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR                  *
 | 
      
         | 10 |  |  | *     XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE, OR INFORMATION          *
 | 
      
         | 11 |  |  | *     AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION              *
 | 
      
         | 12 |  |  | *     OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS                *
 | 
      
         | 13 |  |  | *     IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,                  *
 | 
      
         | 14 |  |  | *     AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE         *
 | 
      
         | 15 |  |  | *     FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY                 *
 | 
      
         | 16 |  |  | *     WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE                  *
 | 
      
         | 17 |  |  | *     IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR           *
 | 
      
         | 18 |  |  | *     REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF          *
 | 
      
         | 19 |  |  | *     INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS          *
 | 
      
         | 20 |  |  | *     FOR A PARTICULAR PURPOSE.                                                *
 | 
      
         | 21 |  |  | *                                                                              *
 | 
      
         | 22 |  |  | *     Xilinx products are not intended for use in life support                 *
 | 
      
         | 23 |  |  | *     appliances, devices, or systems. Use in such applications are            *
 | 
      
         | 24 |  |  | *     expressly prohibited.                                                    *
 | 
      
         | 25 |  |  | *                                                                              *
 | 
      
         | 26 |  |  | *     (c) Copyright 1995-2009 Xilinx, Inc.                                     *
 | 
      
         | 27 |  |  | *     All rights reserved.                                                     *
 | 
      
         | 28 |  |  | *******************************************************************************/
 | 
      
         | 29 |  |  | // The synthesis directives "translate_off/translate_on" specified below are
 | 
      
         | 30 |  |  | // supported by Xilinx, Mentor Graphics and Synplicity synthesis
 | 
      
         | 31 |  |  | // tools. Ensure they are correct for your synthesis tool(s).
 | 
      
         | 32 |  |  |  
 | 
      
         | 33 |  |  | // You must compile the wrapper file spartan6_pmem.v when simulating
 | 
      
         | 34 |  |  | // the core, spartan6_pmem. When compiling the wrapper file, be sure to
 | 
      
         | 35 |  |  | // reference the XilinxCoreLib Verilog simulation library. For detailed
 | 
      
         | 36 |  |  | // instructions, please refer to the "CORE Generator Help".
 | 
      
         | 37 |  |  |  
 | 
      
         | 38 |  |  | `timescale 1ns/1ps
 | 
      
         | 39 |  |  |  
 | 
      
         | 40 |  |  | module spartan6_pmem(
 | 
      
         | 41 |  |  |         clka,
 | 
      
         | 42 |  |  |         ena,
 | 
      
         | 43 |  |  |         wea,
 | 
      
         | 44 |  |  |         addra,
 | 
      
         | 45 |  |  |         dina,
 | 
      
         | 46 |  |  |         douta);
 | 
      
         | 47 |  |  |  
 | 
      
         | 48 |  |  |  
 | 
      
         | 49 |  |  | input clka;
 | 
      
         | 50 |  |  | input ena;
 | 
      
         | 51 |  |  | input [1 : 0] wea;
 | 
      
         | 52 |  |  | input [11 : 0] addra;
 | 
      
         | 53 |  |  | input [15 : 0] dina;
 | 
      
         | 54 |  |  | output [15 : 0] douta;
 | 
      
         | 55 |  |  |  
 | 
      
         | 56 |  |  | // synthesis translate_off
 | 
      
         | 57 |  |  |  
 | 
      
         | 58 |  |  |       BLK_MEM_GEN_V3_3 #(
 | 
      
         | 59 |  |  |                 .C_ADDRA_WIDTH(12),
 | 
      
         | 60 |  |  |                 .C_ADDRB_WIDTH(12),
 | 
      
         | 61 |  |  |                 .C_ALGORITHM(1),
 | 
      
         | 62 |  |  |                 .C_BYTE_SIZE(8),
 | 
      
         | 63 |  |  |                 .C_COMMON_CLK(0),
 | 
      
         | 64 |  |  |                 .C_DEFAULT_DATA("0"),
 | 
      
         | 65 |  |  |                 .C_DISABLE_WARN_BHV_COLL(0),
 | 
      
         | 66 |  |  |                 .C_DISABLE_WARN_BHV_RANGE(0),
 | 
      
         | 67 |  |  |                 .C_FAMILY("spartan6"),
 | 
      
         | 68 |  |  |                 .C_HAS_ENA(1),
 | 
      
         | 69 |  |  |                 .C_HAS_ENB(0),
 | 
      
         | 70 |  |  |                 .C_HAS_INJECTERR(0),
 | 
      
         | 71 |  |  |                 .C_HAS_MEM_OUTPUT_REGS_A(0),
 | 
      
         | 72 |  |  |                 .C_HAS_MEM_OUTPUT_REGS_B(0),
 | 
      
         | 73 |  |  |                 .C_HAS_MUX_OUTPUT_REGS_A(0),
 | 
      
         | 74 |  |  |                 .C_HAS_MUX_OUTPUT_REGS_B(0),
 | 
      
         | 75 |  |  |                 .C_HAS_REGCEA(0),
 | 
      
         | 76 |  |  |                 .C_HAS_REGCEB(0),
 | 
      
         | 77 |  |  |                 .C_HAS_RSTA(0),
 | 
      
         | 78 |  |  |                 .C_HAS_RSTB(0),
 | 
      
         | 79 |  |  |                 .C_INITA_VAL("0"),
 | 
      
         | 80 |  |  |                 .C_INITB_VAL("0"),
 | 
      
         | 81 |  |  |                 .C_INIT_FILE_NAME("no_coe_file_loaded"),
 | 
      
         | 82 |  |  |                 .C_LOAD_INIT_FILE(0),
 | 
      
         | 83 |  |  |                 .C_MEM_TYPE(0),
 | 
      
         | 84 |  |  |                 .C_MUX_PIPELINE_STAGES(0),
 | 
      
         | 85 |  |  |                 .C_PRIM_TYPE(1),
 | 
      
         | 86 |  |  |                 .C_READ_DEPTH_A(4096),
 | 
      
         | 87 |  |  |                 .C_READ_DEPTH_B(4096),
 | 
      
         | 88 |  |  |                 .C_READ_WIDTH_A(16),
 | 
      
         | 89 |  |  |                 .C_READ_WIDTH_B(16),
 | 
      
         | 90 |  |  |                 .C_RSTRAM_A(0),
 | 
      
         | 91 |  |  |                 .C_RSTRAM_B(0),
 | 
      
         | 92 |  |  |                 .C_RST_PRIORITY_A("CE"),
 | 
      
         | 93 |  |  |                 .C_RST_PRIORITY_B("CE"),
 | 
      
         | 94 |  |  |                 .C_RST_TYPE("SYNC"),
 | 
      
         | 95 |  |  |                 .C_SIM_COLLISION_CHECK("ALL"),
 | 
      
         | 96 |  |  |                 .C_USE_BYTE_WEA(1),
 | 
      
         | 97 |  |  |                 .C_USE_BYTE_WEB(1),
 | 
      
         | 98 |  |  |                 .C_USE_DEFAULT_DATA(0),
 | 
      
         | 99 |  |  |                 .C_USE_ECC(0),
 | 
      
         | 100 |  |  |                 .C_WEA_WIDTH(2),
 | 
      
         | 101 |  |  |                 .C_WEB_WIDTH(2),
 | 
      
         | 102 |  |  |                 .C_WRITE_DEPTH_A(4096),
 | 
      
         | 103 |  |  |                 .C_WRITE_DEPTH_B(4096),
 | 
      
         | 104 |  |  |                 .C_WRITE_MODE_A("WRITE_FIRST"),
 | 
      
         | 105 |  |  |                 .C_WRITE_MODE_B("WRITE_FIRST"),
 | 
      
         | 106 |  |  |                 .C_WRITE_WIDTH_A(16),
 | 
      
         | 107 |  |  |                 .C_WRITE_WIDTH_B(16),
 | 
      
         | 108 |  |  |                 .C_XDEVICEFAMILY("spartan6"))
 | 
      
         | 109 |  |  |         inst (
 | 
      
         | 110 |  |  |                 .CLKA(clka),
 | 
      
         | 111 |  |  |                 .ENA(ena),
 | 
      
         | 112 |  |  |                 .WEA(wea),
 | 
      
         | 113 |  |  |                 .ADDRA(addra),
 | 
      
         | 114 |  |  |                 .DINA(dina),
 | 
      
         | 115 |  |  |                 .DOUTA(douta),
 | 
      
         | 116 |  |  |                 .RSTA(),
 | 
      
         | 117 |  |  |                 .REGCEA(),
 | 
      
         | 118 |  |  |                 .CLKB(),
 | 
      
         | 119 |  |  |                 .RSTB(),
 | 
      
         | 120 |  |  |                 .ENB(),
 | 
      
         | 121 |  |  |                 .REGCEB(),
 | 
      
         | 122 |  |  |                 .WEB(),
 | 
      
         | 123 |  |  |                 .ADDRB(),
 | 
      
         | 124 |  |  |                 .DINB(),
 | 
      
         | 125 |  |  |                 .DOUTB(),
 | 
      
         | 126 |  |  |                 .INJECTSBITERR(),
 | 
      
         | 127 |  |  |                 .INJECTDBITERR(),
 | 
      
         | 128 |  |  |                 .SBITERR(),
 | 
      
         | 129 |  |  |                 .DBITERR(),
 | 
      
         | 130 |  |  |                 .RDADDRECC());
 | 
      
         | 131 |  |  |  
 | 
      
         | 132 |  |  |  
 | 
      
         | 133 |  |  | // synthesis translate_on
 | 
      
         | 134 |  |  |  
 | 
      
         | 135 |  |  | // XST black box declaration
 | 
      
         | 136 |  |  | // box_type "black_box"
 | 
      
         | 137 |  |  | // synthesis attribute box_type of spartan6_pmem is "black_box"
 | 
      
         | 138 |  |  |  
 | 
      
         | 139 |  |  | endmodule
 | 
      
         | 140 |  |  |  
 |