Changes between Version 1 and Version 2 of HardwareUsersGuides/FPGABoard_v2.2/Memory


Ignore:
Timestamp:
Oct 17, 2009, 10:43:38 PM (15 years ago)
Author:
murphpo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HardwareUsersGuides/FPGABoard_v2.2/Memory

    v1 v2  
    99The WARP FPGA Board v2.2 includes a DDR2 SO-DIMM slot. This connector is routed to dedicated FPGA I/O and clocking resources and supports up to 2GB modules.
    1010
    11 In order to use a SO-DIMM, the user FPGA design must include a DDR2 memory controller. Thankfully, Xilinx provides (and maintains) a high performance controller as part of their Multi-Port Memory Controller (MPMC).
     11'''FPGA Board SO-DIMM slot''' (shown with 2GB SO-DIMM installed)
     12[[Image(HardwareUsersGuides/FPGABoard_v2.2/Files:FPGABoard_Memory.jpg, align=right)]]
    1213
    13 [[Image(HardwareUsersGuides/FPGABoard_v1.2/Images:FPGA_Board_SRAM.jpg, align=right)]]
     14In order to use the SO-DIMM, the user FPGA design must include a DDR2 memory controller. Thankfully, Xilinx provides (and maintains) a high performance controller as part of their Multi-Port Memory Controller (MPMC).
     15
     16We have verified the MPMC in EDK 10.1.03 and 11.3 using a 2GB SO-DIMM from Crucial (part [http://www.crucial.com/store/partspecs.aspx?imodule=CT25664AC667 CT25664AC667]). Other modules should be compatible, but may require customization of the MPMC parameters.
     17
     18There are a large number of pins and parameters involved in instantiating the MPMC in a design. We strongly recommend using Base System builder and our [source:/PlatformSupport/XBD/boards/Rice_University_WARP_FPGA_V4FX100_v22_ClkBoard/data XBD file] to generate MPMC designs. The MHS snippet below is an example instantiation (for EDK 10.1.03).
     19
     20{{{
     21#!sh
     22EGIN mpmc
     23 PARAMETER INSTANCE = DDR2_SDRAM_2GB
     24 PARAMETER HW_VER = 4.03.a
     25 PARAMETER C_NUM_PORTS = 2
     26 PARAMETER C_MEM_PARTNO = MT16HTF25664H-667
     27 PARAMETER C_MEM_TYPE = DDR2
     28 PARAMETER C_NUM_IDELAYCTRL = 4
     29 PARAMETER C_IDELAYCTRL_LOC = IDELAYCTRL_X0Y0-IDELAYCTRL_X0Y1-IDELAYCTRL_X2Y1-IDELAYCTRL_X2Y0
     30 PARAMETER C_MEM_DQS_WIDTH = 8
     31 PARAMETER C_MEM_DM_WIDTH = 8
     32 PARAMETER C_MEM_ADDR_WIDTH = 14
     33 PARAMETER C_MEM_BANKADDR_WIDTH = 3
     34 PARAMETER C_PIM0_BASETYPE = 2
     35 PARAMETER C_PIM1_BASETYPE = 2
     36 PARAMETER C_MPMC_CLK0_PERIOD_PS = 6250
     37 PARAMETER C_MPMC_BASEADDR = 0x00000000
     38 PARAMETER C_MPMC_HIGHADDR = 0x7fffffff
     39 BUS_INTERFACE SPLB0 = ppc405_0_iplb1
     40 BUS_INTERFACE SPLB1 = ppc405_0_dplb1
     41 PORT DDR2_Addr = fpga_0_DDR2_SDRAM_2GB_DDR2_Addr
     42 PORT DDR2_BankAddr = fpga_0_DDR2_SDRAM_2GB_DDR2_BankAddr
     43 PORT DDR2_CAS_n = fpga_0_DDR2_SDRAM_2GB_DDR2_CAS_n
     44 PORT DDR2_CE = fpga_0_DDR2_SDRAM_2GB_DDR2_CE
     45 PORT DDR2_CS_n = fpga_0_DDR2_SDRAM_2GB_DDR2_CS_n
     46 PORT DDR2_RAS_n = fpga_0_DDR2_SDRAM_2GB_DDR2_RAS_n
     47 PORT DDR2_WE_n = fpga_0_DDR2_SDRAM_2GB_DDR2_WE_n
     48 PORT DDR2_DM = fpga_0_DDR2_SDRAM_2GB_DDR2_DM
     49 PORT DDR2_DQS = fpga_0_DDR2_SDRAM_2GB_DDR2_DQS
     50 PORT DDR2_DQS_n = fpga_0_DDR2_SDRAM_2GB_DDR2_DQS_n
     51 PORT DDR2_DQ = fpga_0_DDR2_SDRAM_2GB_DDR2_DQ
     52 PORT DDR2_Clk = fpga_0_DDR2_SDRAM_2GB_DDR2_Clk
     53 PORT DDR2_Clk_n = fpga_0_DDR2_SDRAM_2GB_DDR2_Clk_n
     54 PORT DDR2_ODT = fpga_0_DDR2_SDRAM_2GB_DDR2_ODT
     55 PORT MPMC_Clk0 = proc_clk_s
     56 PORT MPMC_Clk90 = DDR2_SDRAM_2GB_mpmc_clk_90_s
     57 PORT MPMC_Clk_200MHz = clk_200mhz_s
     58 PORT MPMC_Rst = sys_periph_reset
     59END
     60}}}
     61
     62
    1463
    1564