采样点可配置的片外dram数据采样方法

文档序号:6777546阅读:332来源:国知局
专利名称:采样点可配置的片外dram数据采样方法
技术领域
本发明主要涉及到微处理芯片设计领域,特指一种对片外DDR DRAM进行数据读取时采样点可配置的片外DRAM数据采样方法。
背景技术
目前无论在高性能微处理器领域还是在嵌入式应用中,DDR DRAM都是主流内存技术之一。DDR是双倍数据速率(double data rate)的意思。DDR DRAM的特征是双沿传输、数据宽度64位。目前市场上的主流DDR DRAM类型大致有两种DDR1 DRAM和DDR2 DRAM。DDR1 DRAM为2.5V基准电压,速度规格分为DDR266B、DDR333B和DDR400B,实际时钟频率为133MHz、166MHz和200MHz;DDR2 DRAM与DDR1 DRAM特性很相像,只是为了加快访问速度将基准电压变成1.8V和增加了一些抗干扰和加速的技术,目前速度规格有DDR2-400、DDR2-533、DDR2-667和DDR2-800,实际时钟频率为200MHz、266MHz、333MHz和400MHz。
DRAM读写频率的提高对片内DRAM控制器接口逻辑的设计和板上走线的要求越来越严。对于DDR DRAM,由于采用双沿传输,因此采样窗口最大只有半周期。以DDR2-800为例,采样窗口最大只有1.25ns,而信号占空比、每组信号在片内外的走线偏斜、片内及片间的各种干扰都会大大减少有效采样窗口,因此为了达到高速传输的目的,必须仔细设计DRAM接口控制逻辑。
DDR DRAM接口控制逻辑分为写接口逻辑和读接口逻辑。写接口逻辑主动发送信号到DDR DRAM中去,这些信号与片内其他信号为同步信号,设计较为简单;读接口逻辑读取DDR DRAM的数据,DDR DRAM在读取时返回的为同频异步源同步信号,因此读接口逻辑必须判断何时采样输入信号及进行输入数据的同步操作,设计比较复杂。我们这里说明的方法只针对DDR DRAM读接口逻辑中的数据采样方法。由于我们的数据采样方法对于DDR1DRAM和DDR2 DRAM完全相同,为简单起见,我们下面就不区分DDR1 DRAM和DDR2 DRAM而将它们统一称为DDR DRAM。
DDR DRAM协议中规定的读取过程为,首先激活相应页,再发出读命令和页内地址,经过一定读延时后,DDR DRAM发出源同步的DQS、DQ和DM信号。这里DQS信号为源同步时钟信号,DQ为8位数据信号,DM为1位数据选通信号,它们为边沿对齐的信号且对片内逻辑而言,它们为同频异步信号。在进入芯片后,DQ和DM由对应的DQS来采样。DQS信号在无操作时为高阻,进行数据读取时,一旦DQS为低,意味着读取数据在下一个DQS上升沿开始返回。数据返回时,采用猝发方式,即对一次请求连续发回多个64位数据,目前的猝发长度有2、4、8。
目前DDR DRAM数据采样的通常做法是,在发出读命令后,检测DQS是否为低,如检测到DQS为低,就将DQS信号延时四分之一周期后用它的每个上升沿和下降沿采样DQ和DM信号,采样后的DQ和DM信号和其他片内信号为同频异步信号,这两组信号再通过延时单元成为与片内逻辑同步的信号再进行内部采样,延时单元的延时时间是可以配置的。延时单元有两种做法使用标准单元构造和使用全定制延时单元。使用标准单元构造的缺点是这种做法受工艺、电压和温度的影响很大,延时很不准确,只能用于低频的场合;使用全定制延时单元的缺点是信号需要大量延时单元,而片内延时单元的面积往往很大,这样会占用大量芯片面积,这种做法适用于大型设计。

发明内容
本发明要解决的技术问题就在于针对现有技术存在的技术问题,本发明提供一种能够满足硬件实现简单、面积小、功耗低的条件下,实现数据正确采样以获得较高性能的采样点可配置的片外DRAM数据采样方法。
为解决上述技术问题,本发明提出的解决方案为一种采样点可配置的片外DRAM数据采样方法,其特征在于在选定采样时刻时,先用延时后的输入时钟对输入数据进行采集,通过内部生成的多种相位的时钟对采集后的同频异步数据同时采样,然后对多个采样结果进行分析后选择采样结果正确的时钟,将采样时刻和采样时钟这2个参数固定下来用作以后的读取操作。
在采样过程,须提供软件可设置的采样时刻寄存器和同步时钟寄存器,通过设置采样时刻寄存器确定在哪一拍进行数据采样,通过设置同步时钟寄存器选择一种相位的时钟作为同步时钟对输入数据进行同步,其中同步时钟寄存器用来设置使用哪个相位的时钟对经输入时钟采样后的输入数据进行同步,同步时钟寄存器用来设置使用哪个相位的时钟对经输入时钟采样后的输入数据进行同步。
与现有技术相比,本发明的优点就在于1、在不增加硬件复杂性的前提下,采用内部时钟直接采样输入数据的方法,相比对输入数据进行时钟域切换的方法来说,采样速度至少快一个时钟周期。
2、与通常设计相比,由于不需要对输入数据进行延时,也就不需要通常设计中的那些面积巨大的延时单元,因此大大降低了芯片面积,适合低功耗应用。
3、提供软件可设置的寄存器,使用软硬件配合的方式实现所需功能,使得这种方法能够灵活地适应各种环境。本发明已成功应用在国防科学技术大学自行研制的YeS64处理器中。


图1是DDR DRAM读返回信号时序图;图2是DDR DRAM控制器中数据采样逻辑结构图;图3是DDR DRAM控制器中的参数配置流程图;图4是DDR DRAM控制器读取逻辑中的读数据采样时序图。
具体实施例方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
本发明的一种采样点可配置的片外DRAM数据采样方法,在选定采样时刻时,先用延时后的输入时钟对输入数据进行采集,通过内部生成的多种相位的时钟对采集后的同频异步数据同时采样,然后对多个采样结果进行分析后选择采样结果正确的时钟,将采样时刻和采样时钟这2个参数固定下来用作以后的读取操作。在采样过程,须提供软件可设置的采样时刻寄存器和同步时钟寄存器,通过设置采样时刻寄存器确定在哪一拍进行数据采样,通过设置同步时钟寄存器选择一种相位的时钟作为同步时钟对输入数据进行同步,其中同步时钟寄存器用来设置使用哪个相位的时钟对经输入时钟采样后的输入数据进行同步,同步时钟寄存器用来设置使用哪个相位的时钟对经输入时钟采样后的输入数据进行同步。
其中,本发明在DDR DRAM数据采样逻辑中,提供软件可设置的采样时刻寄存器和同步时钟寄存器,通过设置采样时刻寄存器确定在哪一拍进行数据采样,通过设置同步时钟寄存器选择一种相位的时钟作为同步时钟对输入数据进行同步。
本发明中采样时刻寄存器和同步时钟寄存器都为软件可设置的寄存器,在进行正常DDR DRAM操作之前,必须先选择正确的参数对这两个寄存器进行配置。
采样时刻寄存器用来确定在发出读命令之后几个时钟周期用内部时钟对经输入时钟采集后的输入数据进行采样。这个寄存器的值与DDR协议中的CL(CAS Latency)不同,它是从读命令由读逻辑发出到接口逻辑开始到由DDR DRAM发出的读数据经接口逻辑采样及同步后返回到读逻辑为止的周期数,而CL仅仅是DDR DRAM由接收到读命令到发出响应的周期数,因此采样时刻寄存器的值要稍大于CL。
同步时钟寄存器用来设置使用哪个相位的时钟对经输入时钟采样后的输入数据进行同步。由于此时的输入数据对于片内逻辑而言是同频异步的,因此片内同步时钟必须和数据信号保持足够大的相位差以获得足够的采样窗口来避免采样错误。我们必须提供片内多个不同相位的时钟作为同步时钟的选择。多数芯片内部使用锁相环产生内部时钟,DDR DRAM控制逻辑只需不超过400MHz频率的时钟,通过锁相环很容易直接提供或分频产生相隔四分之一或八分之一相位的时钟,同步时钟越多,时钟相位间隔越小,数据采样越精确。我们下面的说明假设只使用4个不同相位的时钟,我们的方法同样适合于更多相位时钟的场合。
假设我们使用的4个时钟分别为内部时钟、内部时钟偏移90度、内部时钟偏移180度和内部时钟偏移270度,我们将它们称为CLK、CLK90、CLK180和CLK270。输入数据在被输入时钟采集后,必须再用内部4个相位时钟之一进行同步才能进入内部逻辑。对于DDR2-800而言,输入数据有效宽度为1.25ns,几个内部时钟的相位差为0.625ns,必有至少一个相位的内部时钟可以采样到正确数据,可以选择其中一个较稳定的作为同步时钟。
无论设置哪个同步时钟,数据最终必须被片内时钟CLK采样进入内部逻辑,这时要注意,对于CLK270而言,如果数据由它采样后再被CLK采样,间隔时间只有四分之一周期,如果DDR DRAM工作在400MHz频率上,四分之一周期只有0.625ns,时间非常紧张,因此对于CLK270同步后的数据我们再用CLK90或CLK180采样一次再送给CLK采样,这样最小采样间隔为半周期,避免了建立时间不足的问题。
由于板上延时的不确定性,在系统调试时,我们对采样时刻寄存器和同步时钟寄存器应该设什么值并不清楚,必须用软件对每种可能的设置进行写读比较,读出数据正确的参数配置可以固定下来使用。
图1所示为DDR DRAM读返回信号时序图,图中CLK为片内DDR DRAM控制逻辑发出的时钟信号,DQS、DQ、DM是读数据时从DDR DRAM返回的信号,它们是边沿对齐的并且与CLK为同频异步信号,这3组信号在无数据操作时为高阻。
图2所示为本发明在DDR DRAM控制器读接口逻辑中数据采样逻辑的结构图。DQS、DQ和DM信号在无数据操作时是三态信号,在对DDR DRAM数据读取时是输入信号。采样过程分以下几步(1)用经过延时的DQS作为时钟对DQ和DM进行采样。在DQ和DM信号进入片内时,由于DQS和DQ和DM是边沿对齐的,所以必须将DQS经过延时单元延时四分之一周期后对DQ和DM进行采集,只要DQS不为高阻,就进行数据采集。(2)用不同相位时钟的状态机对DQ和DM进行采样。经过第一步的DQ和DM同时进入几个不同相位时钟的状态机,由于DDR DRAM数据传输使用猝发方式,因此我们使用有限状态机来实现数据同步,这里我们假设片内提供了四个不同相位的时钟CLK、CLK90、CLK180和CLK270,它们与系统时钟同频,相位依次相差90度,每个时钟控制一个状态机,因此存在四个同步状态机。同步状态机何时开始操作取决于读命令发出的时刻和采样时刻寄存器的值。读命令发出后,将有一个读计数器开始计数,读计数器的初值为采样时刻寄存器的值,每过1个周期,读计数器减1,当计数到0时,触发采样命令,这时4个同步状态机开始采样。(3)经过4个同步状态机采样后的4组数据通过采样时钟寄存器选择其中一组输出,采样时钟寄存器的值是通过软件配置的,配置过程见图3。(4)最后数据还要经过系统CLK采样成为系统时钟域中的信号输入到内部逻辑。
图3是本发明在DDR DRAM控制器中的参数配置流程图。在印制板生产完成后,主控制芯片和DDR DRAM之间的延时并不知道,因此必须首先对主控制芯片中的配置参数进行设置,也就是设置采样时刻寄存器和同步时钟寄存器。从图中我们可以看出,参数配置时,首先要写1组数据到DDR DRAM中,然后遍历每种参数配置,对同一地址进行读操作,再用读出的数据与写入的数据进行比较,如果相同,表示参数配置成功,否则配置失败。这里采样时刻的范围假设为6到8个时钟周期,具体应用时根据实际情况可能会有所不同,同步时钟参数的范围为0到3,这是因为这里只提供了4个采样时钟,如果有8个采样时钟,此参数应为0到7。实际应用中,经常会遇到同时有几组参数都满足条件的情况,这时可以随意选择一组运行较稳定的参数配置,也可以适当调高时钟频率提高系统性能。
图4是本发明在DDR DRAM控制器读取逻辑中的读数据采样时序图。这里假设DDR DRAM的猝发长度为4。由于DQ和DM都可以作为数据对待且它们的采样及同步过程完全一样,为简单起见,图中只画出DQ的采样同步过程。从图中可以看出,在DQS和DQ进入片内后,首先将DQS延迟四分之一周期成为DQS_Delay,然后用DQS_Delay的上下沿采样DQ,上沿采样后的数据为DQ_Low,它包括DQ的第一和第三组数据,下沿采样后的数据为DQ_High,它包括DQ的第二和第四组数据。接着将DQ_Low和DQ_High合并产生DQ_In,它的有效宽度如图所示为半周期。接着应如图3所示遍历各种配置选择正确参数进行设置。在此图中,我们随意给出了1组相差四分之一相位的内部时钟,对此相位的波形,软件在配置成功时会选择时钟CLK180作为同步时钟,用时钟CLK180同步的数据为DQ_180。最后,DQ_180还需被系统时钟CLK采样为DQ_Clk后进入芯片内部的同步逻辑。
权利要求
1.一种采样点可配置的片外DRAM数据采样方法,其特征在于在选定采样时刻时,先用延时后的输入时钟对输入数据进行采集,通过内部生成的多种相位的时钟对采集后的同频异步数据同时采样,然后对多个采样结果进行分析后选择采样结果正确的时钟,将采样时刻和采样时钟这2个参数固定下来用作以后的读取操作。
2.根据权利要求1所述的采样点可配置的片外DRAM数据采样方法,其特征在于在采样过程,须提供软件可设置的采样时刻寄存器和同步时钟寄存器,通过设置采样时刻寄存器确定在哪一拍进行数据采样,通过设置同步时钟寄存器来确定使用哪个相位的时钟作为同步时钟对经输入时钟采样后的输入数据进行同步。
全文摘要
本发明公开了一种采样点可配置的片外DRAM数据采样方法,在选定采样时刻时,先用延时后的输入时钟对输入数据进行采集,通过内部生成的多种相位的时钟对采集后的同频异步数据同时采样,然后对多个采样结果进行分析后选择采样结果正确的时钟,将采样时刻和采样时钟这2个参数固定下来用作以后的读取操作。本发明是一种能够满足硬件实现简单、面积小、功耗低的条件下,实现数据正确采样以获得较高性能的采样点可配置的片外DRAM数据采样方法。
文档编号G11C11/4063GK101042929SQ20071003474
公开日2007年9月26日 申请日期2007年4月16日 优先权日2007年4月16日
发明者马驰远, 穆长富, 张明, 杨学军, 张民选, 邢座程, 蒋江, 陈海燕, 高军, 李晋文, 衣晓飞, 阳柳, 曾献君, 李勇, 倪晓强, 唐遇星, 张承义 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1