rowen

FPGA的DDR2 SDRAM IP核的使用

1
阅读(4646)

 

        DDR2 SDRAM 作为高速大容量存储器件,非常普遍的应用在我们的工程中。在FPGA外挂DDR2 SDRAM,如果我们直接编写驱动逻辑,是非常麻烦而且耗时的事情,但是Altera在开发环境中给我们提供了这样的IP核,大大简化了我们的开发周期。下面将介绍DDR2 SDRAM IP核的使用过程。

DDR常见类型:

SDR SDRAM :Single Data Rate。工作电压:3.3V

DDR SDRAM :Double Data Rate。2bit预读,工作电压:2.5V

DDR2 SDRAM :4bit预读,工作电压:1.8V

DDR3 SDRAM :8bit预读,工作电压:1.5V

SDR和DDR均采用单端时钟信号,DDR2和DDR3采用差分时钟作为同步时钟。

DDR在时钟的上升沿和下降沿各传输一次数据,这使得DDR的数据传输速率为传统SDRAM的两倍。

 

image

 

DDR2上电初始化过程:

 

image

 

MRS(模式寄存器):

 

image

 

EMRS(1)(扩展模式寄存器)

 

image

 

DDR2 IP核的生成:

 

image

 

image

 

image

 

Full rate controllers:

For one chip select: width = row bits + bank bits + column bits – 1

For multiple chip selects: width = chip bits + row bits + bank bits + column bits – 1

 

HALF RATE CONTROLLERS:
FOR ONE CHIP SELECT: WIDTH = ROW BITS + BANK BITS + COLUMN BITS – 2
FOR MULTIPLE CHIP SELECTS: WIDTH = CHIP BITS + ROW BITS + BANK BITS + COLUMN
BITS – 2

 

用户侧接口信号

与DDR2物理连接的信号

local_address[22:0]

local_write_req

local_read_req

local_burstbegin

local_wdata[127:0]

local_rdata [127:0]

local_be[15:0]

local_size[2:0]

pll_ref_clk

local_ready

local_rdata_valid

local_init_done

mem_odt

mem_cs_n

mem_cke;

mem_addr[12:0]

mem_ba[2:0]

mem_ras_n

mem_cas_n

mem_we_n

mem_dm[3:0]

phy_clk

mem_clk

mem_clk_n

mem_dq [31:0]

mem_dqs[3:0]