altera-ddr2sdramip核参数设置及读写时序.docx
文本预览下载声明
1、Uniphy 整体框图:
2、存储控制器连接图
PHY的时钟与复位信号
pll_ref_clk:PLL参考时钟输入。
global_reset_n:全局复位信号,对PLL和PHY里的所有逻辑单元进行复位。
soft_reset_n:软复位信号,对phy复位,不对PLL复位。当soft_reset_n为低时,输出的afi_reset_n信号也为低。
各个模块间的接口信号
3、1控制器与用户接口间使用的Avalon相关信号线:
下表是本地接口信号,在altera例化的IP核里,本地用户接口使用的是avalon总线
Local_addr:指的是用户接口端的地址线,位宽计算方法如下:
当只使用1pcs 外部存储器时:
位宽=bank位宽+行位宽+列位宽-1;
2)当使用多片片外存储器时:
位宽=芯片位宽+bank位宽+行位宽+列位宽-1;
计算位宽时减1 是因为用户数据接口宽度是memory侧数据宽度的两倍(memory侧是在时钟的上升和下降沿都收发数据,而用户侧只在时钟的上升沿收发数据,假如用户读写数据的时钟频率与memory侧的数据频率相同,那么,在时钟上升沿来时,用户侧发送的数据位宽应是memory侧数据位宽的两倍)。
local_be:字节使能信号(用于向控制器写数据时),与memory侧的DM(data mask )信号作用一样,比如,当想使local_data的某8位数据无效,将local_be的对应位置0即可。
local_burstbegin:本地突发开始信号,当avalon总线开始突发读写时,将此信号置位‘1’。(使用条件:本地接口是avalon总线,且memory侧的突发长度大于2)
local_size:本地突发长度,即连续读或写的local_data个数。长度不能超过ddr ip核里配置的maximum avalon- mm burst length的长度。
local_wdata:本地写数据。
local_write_req:写请求信号。只有当local_ready信号为高时,才能发起写请求。
local_rdata: 本地读数据。
local_read_req:读请求信号。只有当local_ready信号为高时,才能发起读请求。
local_rdata_valid:本地读数据有效标志,当其为高时,表示此时local_rdata 数据有效。
local_ready:为‘1’时表示此时控制器可以接受读写请求信号。
local_refresh_req:刷新控制器请求信号。
local_refresh_ack:刷新请求确认标志,表示一次刷新完成标志。
local_init_done:本地初始化memory完成标志。
local_wdata_req:写数据请求信号。在avalon-mm模式时不使用该信号。
3、2controller 与PHY间的接口信号线
时钟与复位信号
afi_clk:AFI接口的所有数据变化都是与该时钟同步的。
地址和控制信号
写数据相关信号
读数据相关信号
afi校准状态信号
跟踪管理信号
3、3 PHY与外部memory间的接口信号线
ddr_dq:数据线接口,位宽是local_wdata,local_rdata的1/2(因为memory是双边沿读写数据)。
ddr_dqs: 探测ddr_dq上的数据信号。读操作时,ddr_dqs边沿与读数据边沿对齐;写操作时,ddr_dqs边沿与写数据中间对齐。
clk_to_sdram, clk_to_sdram_n:memory的差分时钟输入。
ddr_a[]:memory的地址总线。
ddr_ba[]:memory的bank地址总线。
ddr_cas_n:memory列地址有效信号。
ddr_cke[]:memory的时钟使能信号。
ddr_cs_n[]:memory的片选信号。
ddr_dm: data mask写数据到memory时,ddr_dq上的数据是否屏蔽。(ddr_dm为‘1’时,对应ddr_dq数据无效;为‘0’时数据有效)。
ddr_odt:memory内部终结电阻器控制信号。(memory在内部集成了终结电阻,以减少反射的干扰信号)
ddr_cas_n: memory行地址有效信号。ddr_we_n:memory写数据使能信号。
4、ddr2 sdram的half-rate ,full-rate读写时序。
full-rate时:afi_clk与 mem_ck频率相同。avl_data 数据位宽是mem_data的2倍
half-rate时:afi_clk是mem_ck频率的一半。avl_data 数据位宽是mem_data的4倍
4、1full-rate ddr2 sdram write时序
4、2half-rate ddr
显示全部