OpenCores
URL https://opencores.org/ocsvn/amber/amber/trunk

Subversion Repositories amber

[/] [amber/] [trunk/] [hw/] [vlog/] [lib/] [xs6_sram_2048x32_byte_en.v] - Rev 47

Go to most recent revision | Compare with Previous | Blame | View Log

//////////////////////////////////////////////////////////////////
//                                                              //
//  Wrapper for Xilinx Spartan-6 RAM Block                      //
//                                                              //
//  This file is part of the Amber project                      //
//  http://www.opencores.org/project,amber                      //
//                                                              //
//  Description                                                 //
//  2048 words x 32 bits with a per byte write enable           //
//                                                              //
//  Author(s):                                                  //
//      - Conor Santifort, csantifort.amber@gmail.com           //
//                                                              //
//////////////////////////////////////////////////////////////////
//                                                              //
// Copyright (C) 2010 Authors and OPENCORES.ORG                 //
//                                                              //
// This source file may be used and distributed without         //
// restriction provided that this copyright statement is not    //
// removed from the file and that any derivative work contains  //
// the original copyright notice and the associated disclaimer. //
//                                                              //
// This source file is free software; you can redistribute it   //
// and/or modify it under the terms of the GNU Lesser General   //
// Public License as published by the Free Software Foundation; //
// either version 2.1 of the License, or (at your option) any   //
// later version.                                               //
//                                                              //
// This source is distributed in the hope that it will be       //
// useful, but WITHOUT ANY WARRANTY; without even the implied   //
// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      //
// PURPOSE.  See the GNU Lesser General Public License for more //
// details.                                                     //
//                                                              //
// You should have received a copy of the GNU Lesser General    //
// Public License along with this source; if not, download it   //
// from http://www.opencores.org/lgpl.shtml                     //
//                                                              //
//////////////////////////////////////////////////////////////////
 
 
module xs6_sram_2048x32_byte_en
#(
parameter SRAM0_INIT_0 = 256'h0,
parameter SRAM0_INIT_1 = 256'h0,
parameter SRAM0_INIT_2 = 256'h0,
parameter SRAM0_INIT_3 = 256'h0,
parameter SRAM0_INIT_4 = 256'h0,
parameter SRAM0_INIT_5 = 256'h0,
parameter SRAM0_INIT_6 = 256'h0,
parameter SRAM0_INIT_7 = 256'h0,
parameter SRAM0_INIT_8 = 256'h0,
parameter SRAM0_INIT_9 = 256'h0,
parameter SRAM0_INIT_10 = 256'h0,
parameter SRAM0_INIT_11 = 256'h0,
parameter SRAM0_INIT_12 = 256'h0,
parameter SRAM0_INIT_13 = 256'h0,
parameter SRAM0_INIT_14 = 256'h0,
parameter SRAM0_INIT_15 = 256'h0,
parameter SRAM0_INIT_16 = 256'h0,
parameter SRAM0_INIT_17 = 256'h0,
parameter SRAM0_INIT_18 = 256'h0,
parameter SRAM0_INIT_19 = 256'h0,
parameter SRAM0_INIT_20 = 256'h0,
parameter SRAM0_INIT_21 = 256'h0,
parameter SRAM0_INIT_22 = 256'h0,
parameter SRAM0_INIT_23 = 256'h0,
parameter SRAM0_INIT_24 = 256'h0,
parameter SRAM0_INIT_25 = 256'h0,
parameter SRAM0_INIT_26 = 256'h0,
parameter SRAM0_INIT_27 = 256'h0,
parameter SRAM0_INIT_28 = 256'h0,
parameter SRAM0_INIT_29 = 256'h0,
parameter SRAM0_INIT_30 = 256'h0,
parameter SRAM0_INIT_31 = 256'h0,
parameter SRAM0_INIT_32 = 256'h0,
parameter SRAM0_INIT_33 = 256'h0,
parameter SRAM0_INIT_34 = 256'h0,
parameter SRAM0_INIT_35 = 256'h0,
parameter SRAM0_INIT_36 = 256'h0,
parameter SRAM0_INIT_37 = 256'h0,
parameter SRAM0_INIT_38 = 256'h0,
parameter SRAM0_INIT_39 = 256'h0,
parameter SRAM0_INIT_40 = 256'h0,
parameter SRAM0_INIT_41 = 256'h0,
parameter SRAM0_INIT_42 = 256'h0,
parameter SRAM0_INIT_43 = 256'h0,
parameter SRAM0_INIT_44 = 256'h0,
parameter SRAM0_INIT_45 = 256'h0,
parameter SRAM0_INIT_46 = 256'h0,
parameter SRAM0_INIT_47 = 256'h0,
parameter SRAM0_INIT_48 = 256'h0,
parameter SRAM0_INIT_49 = 256'h0,
parameter SRAM0_INIT_50 = 256'h0,
parameter SRAM0_INIT_51 = 256'h0,
parameter SRAM0_INIT_52 = 256'h0,
parameter SRAM0_INIT_53 = 256'h0,
parameter SRAM0_INIT_54 = 256'h0,
parameter SRAM0_INIT_55 = 256'h0,
parameter SRAM0_INIT_56 = 256'h0,
parameter SRAM0_INIT_57 = 256'h0,
parameter SRAM0_INIT_58 = 256'h0,
parameter SRAM0_INIT_59 = 256'h0,
parameter SRAM0_INIT_60 = 256'h0,
parameter SRAM0_INIT_61 = 256'h0,
parameter SRAM0_INIT_62 = 256'h0,
parameter SRAM0_INIT_63 = 256'h0,
 
 
parameter SRAM1_INIT_0 = 256'h0,
parameter SRAM1_INIT_1 = 256'h0,
parameter SRAM1_INIT_2 = 256'h0,
parameter SRAM1_INIT_3 = 256'h0,
parameter SRAM1_INIT_4 = 256'h0,
parameter SRAM1_INIT_5 = 256'h0,
parameter SRAM1_INIT_6 = 256'h0,
parameter SRAM1_INIT_7 = 256'h0,
parameter SRAM1_INIT_8 = 256'h0,
parameter SRAM1_INIT_9 = 256'h0,
parameter SRAM1_INIT_10 = 256'h0,
parameter SRAM1_INIT_11 = 256'h0,
parameter SRAM1_INIT_12 = 256'h0,
parameter SRAM1_INIT_13 = 256'h0,
parameter SRAM1_INIT_14 = 256'h0,
parameter SRAM1_INIT_15 = 256'h0,
parameter SRAM1_INIT_16 = 256'h0,
parameter SRAM1_INIT_17 = 256'h0,
parameter SRAM1_INIT_18 = 256'h0,
parameter SRAM1_INIT_19 = 256'h0,
parameter SRAM1_INIT_20 = 256'h0,
parameter SRAM1_INIT_21 = 256'h0,
parameter SRAM1_INIT_22 = 256'h0,
parameter SRAM1_INIT_23 = 256'h0,
parameter SRAM1_INIT_24 = 256'h0,
parameter SRAM1_INIT_25 = 256'h0,
parameter SRAM1_INIT_26 = 256'h0,
parameter SRAM1_INIT_27 = 256'h0,
parameter SRAM1_INIT_28 = 256'h0,
parameter SRAM1_INIT_29 = 256'h0,
parameter SRAM1_INIT_30 = 256'h0,
parameter SRAM1_INIT_31 = 256'h0,
parameter SRAM1_INIT_32 = 256'h0,
parameter SRAM1_INIT_33 = 256'h0,
parameter SRAM1_INIT_34 = 256'h0,
parameter SRAM1_INIT_35 = 256'h0,
parameter SRAM1_INIT_36 = 256'h0,
parameter SRAM1_INIT_37 = 256'h0,
parameter SRAM1_INIT_38 = 256'h0,
parameter SRAM1_INIT_39 = 256'h0,
parameter SRAM1_INIT_40 = 256'h0,
parameter SRAM1_INIT_41 = 256'h0,
parameter SRAM1_INIT_42 = 256'h0,
parameter SRAM1_INIT_43 = 256'h0,
parameter SRAM1_INIT_44 = 256'h0,
parameter SRAM1_INIT_45 = 256'h0,
parameter SRAM1_INIT_46 = 256'h0,
parameter SRAM1_INIT_47 = 256'h0,
parameter SRAM1_INIT_48 = 256'h0,
parameter SRAM1_INIT_49 = 256'h0,
parameter SRAM1_INIT_50 = 256'h0,
parameter SRAM1_INIT_51 = 256'h0,
parameter SRAM1_INIT_52 = 256'h0,
parameter SRAM1_INIT_53 = 256'h0,
parameter SRAM1_INIT_54 = 256'h0,
parameter SRAM1_INIT_55 = 256'h0,
parameter SRAM1_INIT_56 = 256'h0,
parameter SRAM1_INIT_57 = 256'h0,
parameter SRAM1_INIT_58 = 256'h0,
parameter SRAM1_INIT_59 = 256'h0,
parameter SRAM1_INIT_60 = 256'h0,
parameter SRAM1_INIT_61 = 256'h0,
parameter SRAM1_INIT_62 = 256'h0,
parameter SRAM1_INIT_63 = 256'h0,
 
 
 
parameter SRAM2_INIT_0 = 256'h0,
parameter SRAM2_INIT_1 = 256'h0,
parameter SRAM2_INIT_2 = 256'h0,
parameter SRAM2_INIT_3 = 256'h0,
parameter SRAM2_INIT_4 = 256'h0,
parameter SRAM2_INIT_5 = 256'h0,
parameter SRAM2_INIT_6 = 256'h0,
parameter SRAM2_INIT_7 = 256'h0,
parameter SRAM2_INIT_8 = 256'h0,
parameter SRAM2_INIT_9 = 256'h0,
parameter SRAM2_INIT_10 = 256'h0,
parameter SRAM2_INIT_11 = 256'h0,
parameter SRAM2_INIT_12 = 256'h0,
parameter SRAM2_INIT_13 = 256'h0,
parameter SRAM2_INIT_14 = 256'h0,
parameter SRAM2_INIT_15 = 256'h0,
parameter SRAM2_INIT_16 = 256'h0,
parameter SRAM2_INIT_17 = 256'h0,
parameter SRAM2_INIT_18 = 256'h0,
parameter SRAM2_INIT_19 = 256'h0,
parameter SRAM2_INIT_20 = 256'h0,
parameter SRAM2_INIT_21 = 256'h0,
parameter SRAM2_INIT_22 = 256'h0,
parameter SRAM2_INIT_23 = 256'h0,
parameter SRAM2_INIT_24 = 256'h0,
parameter SRAM2_INIT_25 = 256'h0,
parameter SRAM2_INIT_26 = 256'h0,
parameter SRAM2_INIT_27 = 256'h0,
parameter SRAM2_INIT_28 = 256'h0,
parameter SRAM2_INIT_29 = 256'h0,
parameter SRAM2_INIT_30 = 256'h0,
parameter SRAM2_INIT_31 = 256'h0,
parameter SRAM2_INIT_32 = 256'h0,
parameter SRAM2_INIT_33 = 256'h0,
parameter SRAM2_INIT_34 = 256'h0,
parameter SRAM2_INIT_35 = 256'h0,
parameter SRAM2_INIT_36 = 256'h0,
parameter SRAM2_INIT_37 = 256'h0,
parameter SRAM2_INIT_38 = 256'h0,
parameter SRAM2_INIT_39 = 256'h0,
parameter SRAM2_INIT_40 = 256'h0,
parameter SRAM2_INIT_41 = 256'h0,
parameter SRAM2_INIT_42 = 256'h0,
parameter SRAM2_INIT_43 = 256'h0,
parameter SRAM2_INIT_44 = 256'h0,
parameter SRAM2_INIT_45 = 256'h0,
parameter SRAM2_INIT_46 = 256'h0,
parameter SRAM2_INIT_47 = 256'h0,
parameter SRAM2_INIT_48 = 256'h0,
parameter SRAM2_INIT_49 = 256'h0,
parameter SRAM2_INIT_50 = 256'h0,
parameter SRAM2_INIT_51 = 256'h0,
parameter SRAM2_INIT_52 = 256'h0,
parameter SRAM2_INIT_53 = 256'h0,
parameter SRAM2_INIT_54 = 256'h0,
parameter SRAM2_INIT_55 = 256'h0,
parameter SRAM2_INIT_56 = 256'h0,
parameter SRAM2_INIT_57 = 256'h0,
parameter SRAM2_INIT_58 = 256'h0,
parameter SRAM2_INIT_59 = 256'h0,
parameter SRAM2_INIT_60 = 256'h0,
parameter SRAM2_INIT_61 = 256'h0,
parameter SRAM2_INIT_62 = 256'h0,
parameter SRAM2_INIT_63 = 256'h0,
 
parameter SRAM3_INIT_0 = 256'h0,
parameter SRAM3_INIT_1 = 256'h0,
parameter SRAM3_INIT_2 = 256'h0,
parameter SRAM3_INIT_3 = 256'h0,
parameter SRAM3_INIT_4 = 256'h0,
parameter SRAM3_INIT_5 = 256'h0,
parameter SRAM3_INIT_6 = 256'h0,
parameter SRAM3_INIT_7 = 256'h0,
parameter SRAM3_INIT_8 = 256'h0,
parameter SRAM3_INIT_9 = 256'h0,
parameter SRAM3_INIT_10 = 256'h0,
parameter SRAM3_INIT_11 = 256'h0,
parameter SRAM3_INIT_12 = 256'h0,
parameter SRAM3_INIT_13 = 256'h0,
parameter SRAM3_INIT_14 = 256'h0,
parameter SRAM3_INIT_15 = 256'h0,
parameter SRAM3_INIT_16 = 256'h0,
parameter SRAM3_INIT_17 = 256'h0,
parameter SRAM3_INIT_18 = 256'h0,
parameter SRAM3_INIT_19 = 256'h0,
parameter SRAM3_INIT_20 = 256'h0,
parameter SRAM3_INIT_21 = 256'h0,
parameter SRAM3_INIT_22 = 256'h0,
parameter SRAM3_INIT_23 = 256'h0,
parameter SRAM3_INIT_24 = 256'h0,
parameter SRAM3_INIT_25 = 256'h0,
parameter SRAM3_INIT_26 = 256'h0,
parameter SRAM3_INIT_27 = 256'h0,
parameter SRAM3_INIT_28 = 256'h0,
parameter SRAM3_INIT_29 = 256'h0,
parameter SRAM3_INIT_30 = 256'h0,
parameter SRAM3_INIT_31 = 256'h0,
parameter SRAM3_INIT_32 = 256'h0,
parameter SRAM3_INIT_33 = 256'h0,
parameter SRAM3_INIT_34 = 256'h0,
parameter SRAM3_INIT_35 = 256'h0,
parameter SRAM3_INIT_36 = 256'h0,
parameter SRAM3_INIT_37 = 256'h0,
parameter SRAM3_INIT_38 = 256'h0,
parameter SRAM3_INIT_39 = 256'h0,
parameter SRAM3_INIT_40 = 256'h0,
parameter SRAM3_INIT_41 = 256'h0,
parameter SRAM3_INIT_42 = 256'h0,
parameter SRAM3_INIT_43 = 256'h0,
parameter SRAM3_INIT_44 = 256'h0,
parameter SRAM3_INIT_45 = 256'h0,
parameter SRAM3_INIT_46 = 256'h0,
parameter SRAM3_INIT_47 = 256'h0,
parameter SRAM3_INIT_48 = 256'h0,
parameter SRAM3_INIT_49 = 256'h0,
parameter SRAM3_INIT_50 = 256'h0,
parameter SRAM3_INIT_51 = 256'h0,
parameter SRAM3_INIT_52 = 256'h0,
parameter SRAM3_INIT_53 = 256'h0,
parameter SRAM3_INIT_54 = 256'h0,
parameter SRAM3_INIT_55 = 256'h0,
parameter SRAM3_INIT_56 = 256'h0,
parameter SRAM3_INIT_57 = 256'h0,
parameter SRAM3_INIT_58 = 256'h0,
parameter SRAM3_INIT_59 = 256'h0,
parameter SRAM3_INIT_60 = 256'h0,
parameter SRAM3_INIT_61 = 256'h0,
parameter SRAM3_INIT_62 = 256'h0,
parameter SRAM3_INIT_63 = 256'h0,
 
parameter UNUSED        = 1'd1
 
)
 
(
input              i_clk,
input      [31:0]  i_write_data,
input              i_write_enable,
input      [10:0]  i_address,
input      [3:0]   i_byte_enable,
output     [31:0]  o_read_data
 
);
 
 
wire [3:0]  wea;
wire [31:0] data_out [3:0];
 
assign o_read_data = { data_out[3][7:0], data_out[2][7:0],
                       data_out[1][7:0], data_out[0][7:0] };
 
assign wea = {4{i_write_enable}} & i_byte_enable;
 
 
  RAMB16BWER #(
    .INIT_00 ( SRAM0_INIT_0 ),
    .INIT_01 ( SRAM0_INIT_1 ),
    .INIT_02 ( SRAM0_INIT_2 ),
    .INIT_03 ( SRAM0_INIT_3 ),
    .INIT_04 ( SRAM0_INIT_4 ),
    .INIT_05 ( SRAM0_INIT_5 ),
    .INIT_06 ( SRAM0_INIT_6 ),
    .INIT_07 ( SRAM0_INIT_7 ),
    .INIT_08 ( SRAM0_INIT_8 ),
    .INIT_09 ( SRAM0_INIT_9 ),
    .INIT_0A ( SRAM0_INIT_10 ),
    .INIT_0B ( SRAM0_INIT_11 ),
    .INIT_0C ( SRAM0_INIT_12 ),
    .INIT_0D ( SRAM0_INIT_13 ),
    .INIT_0E ( SRAM0_INIT_14 ),
    .INIT_0F ( SRAM0_INIT_15 ),
    .INIT_10 ( SRAM0_INIT_16 ),
    .INIT_11 ( SRAM0_INIT_17 ),
    .INIT_12 ( SRAM0_INIT_18 ),
    .INIT_13 ( SRAM0_INIT_19 ),
    .INIT_14 ( SRAM0_INIT_20 ),
    .INIT_15 ( SRAM0_INIT_21 ),
    .INIT_16 ( SRAM0_INIT_22 ),
    .INIT_17 ( SRAM0_INIT_23 ),
    .INIT_18 ( SRAM0_INIT_24 ),
    .INIT_19 ( SRAM0_INIT_25 ),
    .INIT_1A ( SRAM0_INIT_26 ),
    .INIT_1B ( SRAM0_INIT_27 ),
    .INIT_1C ( SRAM0_INIT_28 ),
    .INIT_1D ( SRAM0_INIT_29 ),
    .INIT_1E ( SRAM0_INIT_30 ),
    .INIT_1F ( SRAM0_INIT_31 ),
    .INIT_20 ( SRAM0_INIT_32 ),
    .INIT_21 ( SRAM0_INIT_33 ),
    .INIT_22 ( SRAM0_INIT_34 ),
    .INIT_23 ( SRAM0_INIT_35 ),
    .INIT_24 ( SRAM0_INIT_36 ),
    .INIT_25 ( SRAM0_INIT_37 ),
    .INIT_26 ( SRAM0_INIT_38 ),
    .INIT_27 ( SRAM0_INIT_39 ),
    .INIT_28 ( SRAM0_INIT_40 ),
    .INIT_29 ( SRAM0_INIT_41 ),
    .INIT_2A ( SRAM0_INIT_42 ),
    .INIT_2B ( SRAM0_INIT_43 ),
    .INIT_2C ( SRAM0_INIT_44 ),
    .INIT_2D ( SRAM0_INIT_45 ),
    .INIT_2E ( SRAM0_INIT_46 ),
    .INIT_2F ( SRAM0_INIT_47 ),
    .INIT_30 ( SRAM0_INIT_48 ),
    .INIT_31 ( SRAM0_INIT_49 ),
    .INIT_32 ( SRAM0_INIT_50 ),
    .INIT_33 ( SRAM0_INIT_51 ),
    .INIT_34 ( SRAM0_INIT_52 ),
    .INIT_35 ( SRAM0_INIT_53 ),
    .INIT_36 ( SRAM0_INIT_54 ),
    .INIT_37 ( SRAM0_INIT_55 ),
    .INIT_38 ( SRAM0_INIT_56 ),
    .INIT_39 ( SRAM0_INIT_57 ),
    .INIT_3A ( SRAM0_INIT_58 ),
    .INIT_3B ( SRAM0_INIT_59 ),
    .INIT_3C ( SRAM0_INIT_60 ),
    .INIT_3D ( SRAM0_INIT_61 ),
    .INIT_3E ( SRAM0_INIT_62 ),
    .INIT_3F ( SRAM0_INIT_63 ),
 
    .DATA_WIDTH_A ( 9 ),
    .DATA_WIDTH_B ( 9 ),
    .DOA_REG ( 0 ),
    .DOB_REG ( 0 ),
    .EN_RSTRAM_A ( "FALSE" ),
    .EN_RSTRAM_B ( "FALSE" ),
    .SRVAL_A ( 36'h000000000 ),
    .RSTTYPE ( "SYNC" ),
    .RST_PRIORITY_A ( "CE" ),
    .RST_PRIORITY_B ( "CE" ),
    .SIM_COLLISION_CHECK ( "ALL" ),
    .SIM_DEVICE ( "SPARTAN6" ),
    .INIT_A ( 36'h000000000 ),
    .INIT_B ( 36'h000000000 ),
    .WRITE_MODE_A ( "READ_FIRST" ),
    .WRITE_MODE_B ( "READ_FIRST" ),
    .SRVAL_B ( 36'h000000000 )
    ) 
  u_sram0 (
    .REGCEA ( 1'd0                              ),
    .CLKA   ( i_clk                             ),
    .ENB    ( 1'd0                              ),
    .RSTB   ( 1'd0                              ),
    .CLKB   ( 1'd0                              ),
    .REGCEB ( 1'd0                              ),
    .RSTA   ( 1'd0                              ),
    .ENA    ( 1'd1                              ),
    .DIPA   ( 4'd0                              ),
    .WEA    ( {wea[3], wea[3], wea[3], wea[3]}  ),
    .DOA    ( data_out[3]                       ),
    .ADDRA  ( {i_address[10:0], 3'd0}           ),
    .ADDRB  ( 14'd0                             ),
    .DIB    ( 32'd0                             ),
    .DOPA   (                                   ),
    .DIPB   ( 4'd0                              ),
    .DOPB   (                                   ),
    .DOB    (                                   ),
    .WEB    ( 4'd0                              ),
    .DIA    ( {24'd0, i_write_data[31:24]}      )
  );
 
 
 
  RAMB16BWER #(
    .INIT_00 ( SRAM1_INIT_0 ),
    .INIT_01 ( SRAM1_INIT_1 ),
    .INIT_02 ( SRAM1_INIT_2 ),
    .INIT_03 ( SRAM1_INIT_3 ),
    .INIT_04 ( SRAM1_INIT_4 ),
    .INIT_05 ( SRAM1_INIT_5 ),
    .INIT_06 ( SRAM1_INIT_6 ),
    .INIT_07 ( SRAM1_INIT_7 ),
    .INIT_08 ( SRAM1_INIT_8 ),
    .INIT_09 ( SRAM1_INIT_9 ),
    .INIT_0A ( SRAM1_INIT_10 ),
    .INIT_0B ( SRAM1_INIT_11 ),
    .INIT_0C ( SRAM1_INIT_12 ),
    .INIT_0D ( SRAM1_INIT_13 ),
    .INIT_0E ( SRAM1_INIT_14 ),
    .INIT_0F ( SRAM1_INIT_15 ),
    .INIT_10 ( SRAM1_INIT_16 ),
    .INIT_11 ( SRAM1_INIT_17 ),
    .INIT_12 ( SRAM1_INIT_18 ),
    .INIT_13 ( SRAM1_INIT_19 ),
    .INIT_14 ( SRAM1_INIT_20 ),
    .INIT_15 ( SRAM1_INIT_21 ),
    .INIT_16 ( SRAM1_INIT_22 ),
    .INIT_17 ( SRAM1_INIT_23 ),
    .INIT_18 ( SRAM1_INIT_24 ),
    .INIT_19 ( SRAM1_INIT_25 ),
    .INIT_1A ( SRAM1_INIT_26 ),
    .INIT_1B ( SRAM1_INIT_27 ),
    .INIT_1C ( SRAM1_INIT_28 ),
    .INIT_1D ( SRAM1_INIT_29 ),
    .INIT_1E ( SRAM1_INIT_30 ),
    .INIT_1F ( SRAM1_INIT_31 ),
    .INIT_20 ( SRAM1_INIT_32 ),
    .INIT_21 ( SRAM1_INIT_33 ),
    .INIT_22 ( SRAM1_INIT_34 ),
    .INIT_23 ( SRAM1_INIT_35 ),
    .INIT_24 ( SRAM1_INIT_36 ),
    .INIT_25 ( SRAM1_INIT_37 ),
    .INIT_26 ( SRAM1_INIT_38 ),
    .INIT_27 ( SRAM1_INIT_39 ),
    .INIT_28 ( SRAM1_INIT_40 ),
    .INIT_29 ( SRAM1_INIT_41 ),
    .INIT_2A ( SRAM1_INIT_42 ),
    .INIT_2B ( SRAM1_INIT_43 ),
    .INIT_2C ( SRAM1_INIT_44 ),
    .INIT_2D ( SRAM1_INIT_45 ),
    .INIT_2E ( SRAM1_INIT_46 ),
    .INIT_2F ( SRAM1_INIT_47 ),
    .INIT_30 ( SRAM1_INIT_48 ),
    .INIT_31 ( SRAM1_INIT_49 ),
    .INIT_32 ( SRAM1_INIT_50 ),
    .INIT_33 ( SRAM1_INIT_51 ),
    .INIT_34 ( SRAM1_INIT_52 ),
    .INIT_35 ( SRAM1_INIT_53 ),
    .INIT_36 ( SRAM1_INIT_54 ),
    .INIT_37 ( SRAM1_INIT_55 ),
    .INIT_38 ( SRAM1_INIT_56 ),
    .INIT_39 ( SRAM1_INIT_57 ),
    .INIT_3A ( SRAM1_INIT_58 ),
    .INIT_3B ( SRAM1_INIT_59 ),
    .INIT_3C ( SRAM1_INIT_60 ),
    .INIT_3D ( SRAM1_INIT_61 ),
    .INIT_3E ( SRAM1_INIT_62 ),
    .INIT_3F ( SRAM1_INIT_63 ),
    .DATA_WIDTH_A ( 9 ),
    .DATA_WIDTH_B ( 9 ),
    .DOA_REG ( 0 ),
    .DOB_REG ( 0 ),
    .EN_RSTRAM_A ( "FALSE" ),
    .EN_RSTRAM_B ( "FALSE" ),
    .SRVAL_A ( 36'h000000000 ),
    .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 ),
    .RSTTYPE ( "SYNC" ),
    .RST_PRIORITY_A ( "CE" ),
    .RST_PRIORITY_B ( "CE" ),
    .SIM_COLLISION_CHECK ( "ALL" ),
    .SIM_DEVICE ( "SPARTAN6" ),
    .INIT_A ( 36'h000000000 ),
    .INIT_B ( 36'h000000000 ),
    .WRITE_MODE_A ( "READ_FIRST" ),
    .WRITE_MODE_B ( "READ_FIRST" ),
    .SRVAL_B ( 36'h000000000 )
    ) 
  u_sram1  (
    .REGCEA(1'd0),
    .CLKA   ( i_clk                             ),
    .ENB    ( 1'd0                              ),
    .RSTB   ( 1'd0                              ),
    .CLKB   ( 1'd0                              ),
    .REGCEB ( 1'd0                              ),
    .RSTA   ( 1'd0                              ),
    .ENA    ( 1'd1                              ),
    .DIPA   ( 4'd0                              ),
    .WEA    ({wea[2], wea[2], wea[2], wea[2]}   ),
    .DOA    ( data_out[2]                       ),
    .ADDRA  ( {i_address[10:0], 3'd0}           ),
    .ADDRB  ( 14'd0                             ),
    .DIB    ( 32'd0                             ),
    .DOPA   (                                   ),
    .DIPB   ( 4'd0                              ),
    .DOPB   (                                   ),
    .DOB    (                                   ),
    .WEB    ( 4'd0                              ),
    .DIA    ( {24'd0, i_write_data[23:16]}      )
  );
 
 
  RAMB16BWER #(
    .INIT_00 ( SRAM2_INIT_0 ),
    .INIT_01 ( SRAM2_INIT_1 ),
    .INIT_02 ( SRAM2_INIT_2 ),
    .INIT_03 ( SRAM2_INIT_3 ),
    .INIT_04 ( SRAM2_INIT_4 ),
    .INIT_05 ( SRAM2_INIT_5 ),
    .INIT_06 ( SRAM2_INIT_6 ),
    .INIT_07 ( SRAM2_INIT_7 ),
    .INIT_08 ( SRAM2_INIT_8 ),
    .INIT_09 ( SRAM2_INIT_9 ),
    .INIT_0A ( SRAM2_INIT_10 ),
    .INIT_0B ( SRAM2_INIT_11 ),
    .INIT_0C ( SRAM2_INIT_12 ),
    .INIT_0D ( SRAM2_INIT_13 ),
    .INIT_0E ( SRAM2_INIT_14 ),
    .INIT_0F ( SRAM2_INIT_15 ),
    .INIT_10 ( SRAM2_INIT_16 ),
    .INIT_11 ( SRAM2_INIT_17 ),
    .INIT_12 ( SRAM2_INIT_18 ),
    .INIT_13 ( SRAM2_INIT_19 ),
    .INIT_14 ( SRAM2_INIT_20 ),
    .INIT_15 ( SRAM2_INIT_21 ),
    .INIT_16 ( SRAM2_INIT_22 ),
    .INIT_17 ( SRAM2_INIT_23 ),
    .INIT_18 ( SRAM2_INIT_24 ),
    .INIT_19 ( SRAM2_INIT_25 ),
    .INIT_1A ( SRAM2_INIT_26 ),
    .INIT_1B ( SRAM2_INIT_27 ),
    .INIT_1C ( SRAM2_INIT_28 ),
    .INIT_1D ( SRAM2_INIT_29 ),
    .INIT_1E ( SRAM2_INIT_30 ),
    .INIT_1F ( SRAM2_INIT_31 ),
    .INIT_20 ( SRAM2_INIT_32 ),
    .INIT_21 ( SRAM2_INIT_33 ),
    .INIT_22 ( SRAM2_INIT_34 ),
    .INIT_23 ( SRAM2_INIT_35 ),
    .INIT_24 ( SRAM2_INIT_36 ),
    .INIT_25 ( SRAM2_INIT_37 ),
    .INIT_26 ( SRAM2_INIT_38 ),
    .INIT_27 ( SRAM2_INIT_39 ),
    .INIT_28 ( SRAM2_INIT_40 ),
    .INIT_29 ( SRAM2_INIT_41 ),
    .INIT_2A ( SRAM2_INIT_42 ),
    .INIT_2B ( SRAM2_INIT_43 ),
    .INIT_2C ( SRAM2_INIT_44 ),
    .INIT_2D ( SRAM2_INIT_45 ),
    .INIT_2E ( SRAM2_INIT_46 ),
    .INIT_2F ( SRAM2_INIT_47 ),
    .INIT_30 ( SRAM2_INIT_48 ),
    .INIT_31 ( SRAM2_INIT_49 ),
    .INIT_32 ( SRAM2_INIT_50 ),
    .INIT_33 ( SRAM2_INIT_51 ),
    .INIT_34 ( SRAM2_INIT_52 ),
    .INIT_35 ( SRAM2_INIT_53 ),
    .INIT_36 ( SRAM2_INIT_54 ),
    .INIT_37 ( SRAM2_INIT_55 ),
    .INIT_38 ( SRAM2_INIT_56 ),
    .INIT_39 ( SRAM2_INIT_57 ),
    .INIT_3A ( SRAM2_INIT_58 ),
    .INIT_3B ( SRAM2_INIT_59 ),
    .INIT_3C ( SRAM2_INIT_60 ),
    .INIT_3D ( SRAM2_INIT_61 ),
    .INIT_3E ( SRAM2_INIT_62 ),
    .INIT_3F ( SRAM2_INIT_63 ),
    .DATA_WIDTH_A ( 9 ),
    .DATA_WIDTH_B ( 9 ),
    .DOA_REG ( 0 ),
    .DOB_REG ( 0 ),
    .EN_RSTRAM_A ( "FALSE" ),
    .EN_RSTRAM_B ( "FALSE" ),
    .SRVAL_A ( 36'h000000000 ),
    .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 ),
    .RSTTYPE ( "SYNC" ),
    .RST_PRIORITY_A ( "CE" ),
    .RST_PRIORITY_B ( "CE" ),
    .SIM_COLLISION_CHECK ( "ALL" ),
    .SIM_DEVICE ( "SPARTAN6" ),
    .INIT_A ( 36'h000000000 ),
    .INIT_B ( 36'h000000000 ),
    .WRITE_MODE_A ( "READ_FIRST" ),
    .WRITE_MODE_B ( "READ_FIRST" ),
    .SRVAL_B ( 36'h000000000 )
 
    ) 
  u_sram2 (
    .REGCEA ( 1'd0                              ),
    .CLKA   ( i_clk                             ),
    .ENB    ( 1'd0                              ),
    .RSTB   ( 1'd0                              ),
    .CLKB   ( 1'd0                              ),
    .REGCEB ( 1'd0                              ),
    .RSTA   ( 1'd0                              ),
    .ENA    ( 1'd1                              ),
    .DIPA   ( 4'd0                              ),
    .WEA    ( {wea[1], wea[1], wea[1], wea[1]}  ),
    .DOA    ( data_out[1]                       ),
    .ADDRA  ( {i_address[10:0], 3'd0}           ),
    .ADDRB  ( 14'd0                             ),
    .DIB    ( 32'd0                             ),
    .DOPA   (                                   ),
    .DIPB   ( 4'd0                              ),
    .DOPB   (                                   ),
    .DOB    (                                   ),
    .WEB    ( 4'd0                              ),
    .DIA    ( {24'd0, i_write_data[15:08]}      )
  );
 
 
 
 
  RAMB16BWER #(
    .INIT_00 ( SRAM3_INIT_0 ),
    .INIT_01 ( SRAM3_INIT_1 ),
    .INIT_02 ( SRAM3_INIT_2 ),
    .INIT_03 ( SRAM3_INIT_3 ),
    .INIT_04 ( SRAM3_INIT_4 ),
    .INIT_05 ( SRAM3_INIT_5 ),
    .INIT_06 ( SRAM3_INIT_6 ),
    .INIT_07 ( SRAM3_INIT_7 ),
    .INIT_08 ( SRAM3_INIT_8 ),
    .INIT_09 ( SRAM3_INIT_9 ),
    .INIT_0A ( SRAM3_INIT_10 ),
    .INIT_0B ( SRAM3_INIT_11 ),
    .INIT_0C ( SRAM3_INIT_12 ),
    .INIT_0D ( SRAM3_INIT_13 ),
    .INIT_0E ( SRAM3_INIT_14 ),
    .INIT_0F ( SRAM3_INIT_15 ),
    .INIT_10 ( SRAM3_INIT_16 ),
    .INIT_11 ( SRAM3_INIT_17 ),
    .INIT_12 ( SRAM3_INIT_18 ),
    .INIT_13 ( SRAM3_INIT_19 ),
    .INIT_14 ( SRAM3_INIT_20 ),
    .INIT_15 ( SRAM3_INIT_21 ),
    .INIT_16 ( SRAM3_INIT_22 ),
    .INIT_17 ( SRAM3_INIT_23 ),
    .INIT_18 ( SRAM3_INIT_24 ),
    .INIT_19 ( SRAM3_INIT_25 ),
    .INIT_1A ( SRAM3_INIT_26 ),
    .INIT_1B ( SRAM3_INIT_27 ),
    .INIT_1C ( SRAM3_INIT_28 ),
    .INIT_1D ( SRAM3_INIT_29 ),
    .INIT_1E ( SRAM3_INIT_30 ),
    .INIT_1F ( SRAM3_INIT_31 ),
    .INIT_20 ( SRAM3_INIT_32 ),
    .INIT_21 ( SRAM3_INIT_33 ),
    .INIT_22 ( SRAM3_INIT_34 ),
    .INIT_23 ( SRAM3_INIT_35 ),
    .INIT_24 ( SRAM3_INIT_36 ),
    .INIT_25 ( SRAM3_INIT_37 ),
    .INIT_26 ( SRAM3_INIT_38 ),
    .INIT_27 ( SRAM3_INIT_39 ),
    .INIT_28 ( SRAM3_INIT_40 ),
    .INIT_29 ( SRAM3_INIT_41 ),
    .INIT_2A ( SRAM3_INIT_42 ),
    .INIT_2B ( SRAM3_INIT_43 ),
    .INIT_2C ( SRAM3_INIT_44 ),
    .INIT_2D ( SRAM3_INIT_45 ),
    .INIT_2E ( SRAM3_INIT_46 ),
    .INIT_2F ( SRAM3_INIT_47 ),
    .INIT_30 ( SRAM3_INIT_48 ),
    .INIT_31 ( SRAM3_INIT_49 ),
    .INIT_32 ( SRAM3_INIT_50 ),
    .INIT_33 ( SRAM3_INIT_51 ),
    .INIT_34 ( SRAM3_INIT_52 ),
    .INIT_35 ( SRAM3_INIT_53 ),
    .INIT_36 ( SRAM3_INIT_54 ),
    .INIT_37 ( SRAM3_INIT_55 ),
    .INIT_38 ( SRAM3_INIT_56 ),
    .INIT_39 ( SRAM3_INIT_57 ),
    .INIT_3A ( SRAM3_INIT_58 ),
    .INIT_3B ( SRAM3_INIT_59 ),
    .INIT_3C ( SRAM3_INIT_60 ),
    .INIT_3D ( SRAM3_INIT_61 ),
    .INIT_3E ( SRAM3_INIT_62 ),
    .INIT_3F ( SRAM3_INIT_63 ),
    .DATA_WIDTH_A ( 9 ),
    .DATA_WIDTH_B ( 9 ),
    .DOA_REG ( 0 ),
    .DOB_REG ( 0 ),
    .EN_RSTRAM_A ( "FALSE" ),
    .EN_RSTRAM_B ( "FALSE" ),
    .SRVAL_A ( 36'h000000000 ),
    .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 ),
    .RSTTYPE ( "SYNC" ),
    .RST_PRIORITY_A ( "CE" ),
    .RST_PRIORITY_B ( "CE" ),
    .SIM_COLLISION_CHECK ( "ALL" ),
    .SIM_DEVICE ( "SPARTAN6" ),
    .INIT_A ( 36'h000000000 ),
    .INIT_B ( 36'h000000000 ),
    .WRITE_MODE_A ( "READ_FIRST" ),
    .WRITE_MODE_B ( "READ_FIRST" ),
    .SRVAL_B ( 36'h000000000 )
    ) 
  u_sram3  (
    .REGCEA ( 1'd0                              ),
    .CLKA   ( i_clk                             ),
    .ENB    ( 1'd0                              ),
    .RSTB   ( 1'd0                              ),
    .CLKB   ( 1'd0                              ),
    .REGCEB ( 1'd0                              ),
    .RSTA   ( 1'd0                              ),
    .ENA    ( 1'd1                              ),
    .WEA    ({wea[0], wea[0], wea[0], wea[0]}   ),
    .DOA    ( data_out[0]                       ),
    .ADDRA  ({i_address[10:0], 3'd0}            ),
    .ADDRB  ( 14'd0                             ),
    .DIA    ( {24'd0, i_write_data[7:0]}        ),
    .DIB    ( 32'd0                             ),
    .DIPA   ( 4'd0                              ),
    .DIPB   ( 4'd0                              ),
    .DOPA   (                                   ),
    .DOPB   (                                   ),
    .DOB    (                                   ),
    .WEB    ( 4'd0                              )
  );
 
 
endmodule
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.