专利名称:一种测试ddr3数据有效窗口的方法和装置的制作方法
技术领域:
本发明涉及DDR3内存控制器领域,具体涉及一种测试DDR3数据有效窗口的方法
和装置。
背景技术:
在DDR3硬件设计中,由于PCB走线的差异,时钟到达各个数据线的时刻并不一致, 这可能导致在同一时钟对各个数据线进行采样时会出现偏差的问题。在用fpga设计DDR3 控制器时,都是通过fpga自带的延时模块调整采样时钟与数据之间的相位关系使时钟与数据线保持对齐。由于数据线较多,需要耗费大量的逻辑资源用于相位对齐以及数据有效窗口的查找,但是在fpga逻辑资源紧张的情况下,会出现设计时序无法满足对多个数据有效窗口查找的要求的问题。在专利号为ZL200780041136. 5、名称为“用于在FPGA上的DDR3应用的读取对准实现”的发明中,披露了一种在DDR3中使采样时钟与数据之间的相位相一致的方法,该方法利用fpga自带的延迟单元对DQ信号进行延迟采样,根据采样的结果,计算出窗口的大小。 但是使用该方法会占用较多的fpga逻辑资源,在fpga工程较大、逻辑资源紧张的情况下会导致逻辑资源紧张,进而会造成布局布线困难,工程时序难以满足的问题。
发明内容
本发明的目的在于,提供一种测试DDR3数据有效窗口的方法,其改进之处在于, 所述方法包括计算DDR3的数据有效窗口大小,根据窗口大小设置DDR3控制器读数据采样时钟的相位,一般取公共窗口的中间值。记录Pmin和Pmax ;其中,所述Pmin为数据匹配采样时钟最小相位;所述Pmax为数据匹配采样时钟最大相位。本发明提供的优选技术方案中,所述方法包括如下步骤1.向DDR3内存段存储区域预写数据;2.设置读采样时钟初始值;3.回读比较数据,判断所述回读比较数据是否与写入的数据格式一致,根据判断的结果分别记录Pmin和pmax。本发明提供的第二优选技术方案中,所述DDR3内存读写操作以burst为单位,所述步骤1中预写的数据块的数目至少为一个burst。本发明提供的第三优选技术方案中,所述步骤2中调整相位初始值的方式为自动调整或手动调整。本发明提供的第四优选技术方案中,所述DDR3数据的窗口大小按照如下公式进行计算(Pmax-Pmin) X5ns,其中,采样时钟频率为200MHz。本发明提供的第五优选技术方案中,所述装置包括预写-预读比较单元,所述预写-预读比较单元基于预写-预读比较的方式,计算出DDR3的数据有效窗口大小,根据窗口大小设置读数据采样时钟的相位,记录Pmin和Pmax ;其中,所述Pmin为数据匹配采样时钟最小相位;所述Pmax为数据匹配采样时钟最大相位。本发明提供的第六优选技术方案中,所述预写-预读比较单元包括依次连接的数据预写入模块、采样时钟设置模块和相位记录模块;所述数据写入模块用于向DDR3内存某段存储区域预写数据;所述采样时钟设置模块用于设置读采样时钟初始值;所述相位记录模块用于回读比较数据,判断所述回读比较数据是否与写入的数据格式一致,根据判断的结果分别记录Pmin和Pmax。本发明提供的第七优选技术方案中,所述预写-预读比较单元以burst为单位对 DDR3内存进行读写操作。本发明提供的第八优选技术方案中,所述采样时钟设置模块调整相位初始值的方式为自动或手动。与现有技术比,本发明提供的一种测试DDR3数据有效窗口的方法和装置,在不使用延时单元的情况下就可以完成数据有效窗口的测试,节省了 fpga的逻辑资源,进一步保证了 fpga工程设计的时序要求;而且不占用任何的I0DELAY逻辑单元及逻辑资源;可在对 DDR3内存的硬件设计之前,通过所述测试DDR3数据有效窗口的方法和装置测试出数据有效窗口大小,然后在对DDR3的硬件设计中直接根据测试得到的窗口大小设置DDR3控制器读时钟采样点位置,提高了硬件设计的效率,降低了 PCB的布局布线难度。
图1为本发明所述的DDR3数据有效窗口测试方法的流程图。
具体实施例方式如图1所示,测试DDR3数据有效窗口的方法,不占用fpga任何逻辑资源,可以直接测试计算出DDR3的数据有效窗口范围,再根据窗口大小设置读数据采样时钟的相位。所述测试DDR3数据有效窗口的方法的具体过程如下将读数据采样时钟的初始相位固定为 0°,向DDR3内存某段存储空间预写一段有规律的数据,然后回读比较数据是否与写入的数据格式一致,若不一致,则将读数据采样时钟相位增加一个步进幅度,以200MHz时钟为例,锁相环的步进幅度为9°,将读数据采样时钟相位固定为9°,再回读比较数据是否与写入的数据格式一致,若仍不一致则继续调整读采样时钟相位,直到第一次找到读写数据格式一致,记下此时的相位并将此时的相位标记为数据匹配采样时钟最小相位Pmin ;继续增加采样时钟的相位,直到找到下一个读写数据格式不一致的相位点,记下此时的相位并将此时的相位标记为数据匹配采样时钟最大相位Pmax ;其中,DDR3数据的窗口大小按照如下公式进行计算(Pmax-Pmin) X 5ns (以200MHz时钟频率为例);其中,对所述DDR3内存的读写操作是以burst为单位,在所述方法中预写的数据块至少是一个burst,而且所述方法中调整相位初始值的方式可以选择自动调整或者手动调整。所述测试DDR3数据有效窗口的方法不占用任何的I0DELAY逻辑单元及逻辑资源,可在对DDR3内存的硬件设计之前,通过所述测试DDR3数据有效窗口的方法和装置测试出数据有效窗口大小,然后在对DDR3的硬件设计中直接根据测试得到的窗口大小设置DDR3控制器读时钟采样点位置。其中,所述预写数据的过程为向DDR3内存某段存储区,比如地址0 地址511,发送DDR3写命令,写入有固定格式的数据,向地址0写数据0,向地址1写数据1,向地址2 写数据2,地址N写入数据N,向地址511写入数据511。所述比较数据的过程为待预写数据过程结束后,向预写数据的该段存储区发送 DDR3读命令,并比较读回的数据是否与写入的数据格式一致。即从地址0读回的数据应该为0,地址1读回的数据应该是数据1,地址N读回的数据应该是N,地址511读回的数据应该是511,若读数据采样时钟相位设置正确,则回读数据应该与预写数据格式一致,即从地址N读回的数据应该是N,若不是N,表示需要调整读数据采样时钟相位。所述burst是“猝发”的意思,DDR3的读写以burst为单位,burst长度为4或者 8,burst为4表示向DDR3的地址M发起一次读或写操作时,DDR3内部会以地址M为初始地址连续发起4次读或写操作,依次向地址Μ,Μ+1,Μ+2,Μ+3进行读或写;burst为8表示在向 DDR3的地址M发起一次读或写操作时,DDR3内部会以地址M为初始地址连续发起8次读或写操作,依次对地址M,M+l,M+2,M+3,M+4,M+4,M+5,M+6,M+7进行读或写操作。以下为测试DDR3数据有效窗口的方法的具体举例在开始判断数据窗口时,设置一个读采样时钟初始相位Pmin,假如为0°,即Pmin = 0°,数据预写过程结束后回读比较发现回读的数据与预写的数据格式不匹配,这时需要修改Pmin,将Pmin相位进行调整,比如从0°调整到9°,再回读比较数据是否与预写的数据格式一致,若仍然不匹配,再将相位步进到18°时比较数据匹配成功,记录此时的相位Pmin = 18°,在18°的基础上再步进相位,找到最大相位点Pmax,比如在90°时比较数据格式匹配成功,但是99°时匹配失败,记录此时相位Pmax = 90°。则数据有效窗口为90° -18° = 72°,以系统工作时钟为200MHz计算,换算成时间计算为(72° /360° )X5ns=lns,即数据有效窗口为Ins。测试DDR3数据有效窗口的装置,包括预写_预读比较单元,所述预写_预读比较单元,基于预写-预读比较的方式,先测试计算出DDR3的数据有效窗口大小,再根据窗口大小设置读数据采样时钟的相位。所述预写-预读比较单元包括数据预写入模块、采样时钟设置模块、相位记录模块;所述数据写入模块用于向DDR3内存某段存储区域预写数据;所述采样时钟设置模块用于设置读采样时钟初始值;所述相位记录模块用于回读比较数据, 判断所述回读比较数据是否与写入的数据格式一致,如果一致,则记下此时的采样时钟相位并标记为Pmin,如果不一致,则调整读采样时钟相位,直到第一次找到与读写数据格式一致的,记下此时的采样时钟相位并标记为Pmin ;之后继续增加采样时钟的相位,直到找到下一个读写数据格式不一致的时钟相位点,记下此时的采样时钟相位并标记为Pmax并退出。所述预写-预读比较单元以burst为单位对DDR3内存进行读写操作。所述采样时钟设置模块调整相位初始值的方式可以选择自动调整或者手动调整。需要声明的是,本发明内容及具体实施方式
意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在阅读本申请说明书后,在其精神和原理启发下,可作各种修改、等同替换、或改进。但这些变更或修改均在申请待批的保护范围内。
权利要求
1.一种测试DDR3数据有效窗口的方法,其特征在于,所述方法包括计算DDR3的数据有效窗口大小,根据窗口大小设置读数据采样时钟的相位,记录Pmin和Pmax ;其中,所述Pmin 为数据匹配采样时钟最小相位;所述Pmax为数据匹配采样时钟最大相位。
2.根据权利要求1所述的方法,其特征在于,所述方法包括如下步骤1.向DDR3内存段存储区域预写数据;2.设置读采样时钟初始值;3.回读比较数据,判断所述回读比较数据是否与写入的数据格式一致,根据判断的结果分别记录Pmin和pmax。
3.根据权利要求2所述的方法,其特征在于,所述DDR3内存读写操作以burst为单位, 所述步骤1中预写的数据块的数目至少为一个burst。
4.根据权利要求2所述的方法,其特征在于,所述步骤2中调整相位初始值的方式为自动调整或手动调整。
5.根据权利要求2所述的方法,其特征在于,所述DDR3数据的窗口大小按照如下公式进行计算(Pmax-Pmin) X5ns,其中,采样时钟频率为200MHz。
6.一种测试DDR3数据有效窗口的装置,其特征在于,所述装置包括预写-预读比较单元,所述预写-预读比较单元基于预写-预读比较的方式,计算出DDR3的数据有效窗口大小,根据窗口大小设置读数据采样时钟的相位,记录Pmin和Pmax ;其中,所述Pmin为数据匹配采样时钟最小相位;所述Pmax为数据匹配采样时钟最大相位。
7.根据权利要求6所述的装置,其特征在于,所述预写-预读比较单元包括依次连接的数据预写入模块、采样时钟设置模块和相位记录模块;所述数据写入模块用于向DDR3内存某段存储区域预写数据;所述采样时钟设置模块用于设置读采样时钟初始值;所述相位记录模块用于回读比较数据,判断所述回读比较数据是否与写入的数据格式一致,根据判断的结果分别记录Pmin和Pmax。
8.根据权利要求7所述的装置,其特征在于,所述预写-预读比较单元以burst为单位对DDR3内存进行读写操作。
9.根据权利要求7所述的装置,其特征在于,所述采样时钟设置模块调整相位初始值的方式为自动或手动。
全文摘要
本发明提供了一种测试DDR3数据有效窗口的方法,先计算出DDR3的数据有效窗口大小,再根据窗口大小设置读数据采样时钟的相位。本发明提供的测试DDR3数据有效窗口的方法,可在对DDR3内存的硬件设计之后,通过所述测试DDR3数据有效窗口的方法和装置测试出数据有效窗口大小,然后在对DDR3控制器设计中直接根据测试得到的窗口大小设置读时钟采样点位置,提高了硬件设计的效率,降低了PCB的布局布线难度。
文档编号G11C29/56GK102426861SQ201110384060
公开日2012年4月25日 申请日期2011年11月28日 优先权日2011年11月28日
发明者刘朝辉, 张磊, 张英文, 李旭, 李静, 白宗元, 窦晓光, 纪奎 申请人:曙光信息产业(北京)有限公司