一种DDR物理层数字延迟链动态补偿方法及系统与流程

文档序号:25952898发布日期:2021-07-20 17:10阅读:238来源:国知局
一种DDR物理层数字延迟链动态补偿方法及系统与流程

本发明属于电子信息技术领域,具体涉及一种ddr物理层数字延迟链动态补偿方法及系统。



背景技术:

在高速ddr(双倍速率同步动态随机存储器)接口电路中,为了保证更好的数据采样,jedec(固态技术协会是微电子产业的领导标准机构)协议要求在发送数据dqs(数据采样信号)的上升沿或下降沿置于dq(数据信号)的中间位置。同理,在接收数据的时候也需要将dqs的上升沿或下降沿置于dq的中间位置来保证更好的接收采样。现在常用的技术是通过校准延迟链的方式来实现四分之一时钟周期的延迟。因此,为了让延迟链有相对固定准确的延迟,在ddr初始化阶段,会设置好控制逻辑,以便根据延迟单元的延迟变化调整延迟链中导通的基本延迟单元的数量,最后达到锁定状态。

但是,这样的方式所存在的问题一个难以避免的问题:数字延迟链中的基本延迟单元会由于工艺、电压和温度的漂移而发生改变,导致出现误差,即使ddr初始化后延迟链设定的延迟能够减小工艺带来的影响,但是仍然可能因为电压、温度漂移而发生变化。

专业术语:dfi:ddr物理层接口。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种ddr物理层数字延迟链动态补偿方法,所述ddr物理层数字延迟链动态补偿方法解决了因为工艺、电压和温度的变化导致延迟控制出现误差的问题。本发明还提出了一种ddr物理层数字延迟链动态补偿系统。

根据本发明第一方面实施例的ddr物理层数字延迟链动态补偿方法,包括以下步骤:

ddr初始化,完成对第一已设延迟控制值、第二已设延迟控制值的初始值设置;

向参考延迟链发送多个不同的测试延迟控制值,直至所述参考延迟链的锁定信号跳变,将跳变时的所述测试延迟控制值记为第一最新延迟控制值;

若所述第一最新延迟控制值与所述第一已设延迟控制值之间的差值大于预设的更新阈值,则依据所述第一最新延迟控制值、第一已设延迟控制值、第二已设延迟控制值计算工作延迟链的工作目标延迟控制值,并生成工作延迟链更新信号;

响应于所述工作延迟链更新信号,且ddr物理层处于临时空闲状态,依据所述工作目标延迟控制值更新所述第一已设延迟控制值、第二已设延迟控制值,并将所述第二已设延迟控制值输出到所述工作延迟链;

所述工作延迟链依据所述工作目标延迟控制值输出延迟后的时钟信号至数据通路。

根据本发明实施例的ddr物理层数字延迟链动态补偿方法,至少具有如下技术效果:本发明实施例的ddr物理层数字延迟链动态补偿方法利用参考延迟链进行辅助计算,达到不影响工作延迟链的正常工作的目的,同时,在ddr物理层处于临时空闲状态时才对第一已设延迟控制值、第二已设延迟控制值进行更新,可以避免影响ddr访问速率。通过本发明实施例的ddr物理层数字延迟链动态补偿方法,可以对第一已设延迟控制值、第二已设延迟控制值进行不断更新,进而实现对工作延迟链和参考延迟链的动态调整,有效的消除工艺、温度、电压等因素带来的误差,实现动态补偿;且本发明实施例的ddr物理层数字延迟链动态补偿方法更新过程直接响应于工作延迟链更新信号,不需要与ddr控制器握手确认,流程更为简洁。

根据本发明的一些实施例,所述依据所述第一最新延迟控制值、第一已设延迟控制值、第二已设延迟控制值计算工作延迟链的工作目标延迟控制值包括以下步骤:

计算所述第一最新延迟控制值与第一已设延迟控制值的比值,记作更新比值;

依据所述更新比值和第二已设延迟控制值计算出所述工作延迟链的第二最新延迟控制值;

依据所述第二已设延迟控制值和第二最新延迟控制值计算出工作目标延迟控制值。

根据本发明的一些实施例,所述依据所述第二已设延迟控制值和第二最新延迟控制值计算出工作目标延迟控制值采用二分搜索法。

根据本发明的一些实施例,所述将跳变时的所述测试延迟控制值记为第一最新延迟控制值包括以下步骤:

当所述参考延迟链锁定信号跳变时,将跳变时的所述测试延迟控制值记为锁定延迟控制值;连续获取n个所述锁定延迟控制值,n为预设值的延迟配置次数;

计算n个所述锁定延迟控制值的平均值,将该平均值记为第一最新延迟控制值。

根据本发明的一些实施例,所述工作延迟链至少包括写数据通路延迟链、读数据通路延迟链、读选通信号门控延迟链。

根据本发明第二方面实施例的ddr物理层数字延迟链动态补偿系统,包括:

控制单元,通过dfi接口与ddr控制器连接,用于确认ddr物理层是否空闲,以及获取预设的第一已设延迟控制值、第二已设延迟控制值;

参考延迟链,其输入端和输出端皆与所述控制单元连接,输入端用于接收所述控制单元发出的测试延迟控制值,输出端用于发出锁定信号至所述控制单元;所述控制单元还用于依据所述锁定信号确认第一最新延迟控制值和第一已设延迟控制值的差值是否超过预设的更新阈值,以及计算工作目标延迟控制值和生成工作延迟链更新信号;

工作延迟链,其输入端与所述控制单元连接,用于接收所述控制单元发出的第二已设延迟控制值,其输出端用于输出依据所述工作目标延迟控制值延迟后的时钟信号至数据通路。

根据本发明实施例的ddr物理层数字延迟链动态补偿系统,至少具有如下技术效果:本发明实施例的ddr物理层数字延迟链动态补偿系统利用参考延迟链进行辅助计算,达到不影响工作延迟链的正常工作的目的,同时,在ddr物理层处于临时空闲状态时才对第一已设延迟控制值、第二已设延迟控制值进行更新,可以避免影响ddr访问速率。通过本发明实施例的ddr物理层数字延迟链动态补偿系统,可以对第一已设延迟控制值、第二已设延迟控制值进行不断更新,进而实现对工作延迟链和参考延迟链的动态调整,有效的消除工艺、温度、电压等因素带来的误差,实现动态补偿;且本发明实施例的ddr物理层数字延迟链动态补偿系统更新过程直接响应于工作延迟链更新信号,不需要与ddr控制器握手确认,流程更为简洁。

根据本发明的一些实施例,所述工作延迟链至少包括写数据通路延迟链、读数据通路延迟链、读选通信号门控延迟链。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明实施例的ddr物理层数字延迟链动态补偿方法的流程简图;

图2是本发明实施例的ddr物理层数字延迟链动态补偿系统的结构框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。

下面参考图1至图2描述根据本发明第一方面实施例的ddr物理层数字延迟链动态补偿方法。

根据本发明实施例的ddr物理层数字延迟链动态补偿方法,包括以下步骤:

ddr初始化,完成对第一已设延迟控制值、第二已设延迟控制值的初始值设置;

向参考延迟链发送多个不同的测试延迟控制值,直至参考延迟链的锁定信号跳变,将跳变时的测试延迟控制值记为第一最新延迟控制值;

若第一最新延迟控制值与第一已设延迟控制值之间的差值大于预设的更新阈值,则依据第一最新延迟控制值、第一已设延迟控制值、第二已设延迟控制值计算工作延迟链的工作目标延迟控制值,并生成工作延迟链更新信号;

响应于工作延迟链更新信号,且ddr物理层处于临时空闲状态,依据工作目标延迟控制值更新第一已设延迟控制值、第二已设延迟控制值,并将第二已设延迟控制值输出到工作延迟链;

工作延迟链依据工作目标延迟控制值输出延迟后的时钟信号至数据通路。

参考图1、图2,ddr初始化包括工作延迟链的写平衡校准、读选通信号门控校准、读数据通路校准、写数据通路校准和参考延迟链的参考时钟周期锁定。校准锁定时会完成第一已设延迟控制值、第二已设延迟控制值的初始设置,设置好的第一已设延迟控制值、第二已设延迟控制值会被记录在控制单元中相应的寄存器中,等待在后续动态调整计算过程中使用。这里需要说明,为了保证能够依据参考延迟链对工作延迟链进行准确控制,参考延迟链的基本延迟单元的变化和工作延迟链的基本延迟单元的变化存在固定的相关关系,这里为了保证控制过程更为简单且稳定,直接让参考延迟链的基本延迟单元和工作延迟链的基本延迟单元相同即可,这样可以保证两者在遇到温度、电压等因素影响时,满足相同的变化规律,保持比值固定。

初始化结束后,ddr开始投入使用,此时,控制单元会不断的向参考延迟链发送测试延迟控制值,且每次发送的测试延迟控制值都不同,直到某一次发送的测试延迟控制值让参考延迟链的锁定信号跳变,此时,说明该测试延迟控制值为参考延迟链在当前状态下最合适的测试延迟控制值,这一测试延迟控制值可以记作第一最新延迟控制值,又因为参考延迟链的基本延迟单元和工作延迟链的基本延迟单元的变化规律相同,因此可以直接利用第一最新延迟控制值、第一已设延迟控制值、第二已设延迟控制值计算出工作延迟链的工作目标延迟控制值。但是,考虑到各种工作条件下延迟链的延迟值变化不同,对数据采样的影响大小也会不同,因此,并不需要一直计算工作目标延迟控制值,可以仅仅在第一最新延迟控制值相较于第一已设延迟控制值变化超过更新阈值时,才会进行计算,更新阈值可以根据实际工程需要进行人工修改。

同时,在计算工作目标延迟控制值时,会生成工作延迟链更新信号,工作延迟链更新信号会作为能否进行第一已设延迟控制值、第二已设延迟控制值的更新的判据之一。这里考虑到要避免对ddr本身的正常工作造成影响,因此,要尽量在ddr物理层处于临时空闲状态时,才可以进行第一已设延迟控制值、第二已设延迟控制值的更新。因此,通过工作延迟链更新信号和ddr物理层处于临时空闲状态两个判据作为约束,既可以保证对工作目标延迟控制值的动态更新,也可以保证不会对ddr的正常工作造成影响。这里对如何确认ddr物理层是否处于临时空闲状态做一个简单的叙述:等待dfi接口发出ddr刷新命令,接收到ddr刷新命令后的这段时间trfc(刷新命令到其他命令的时间),ddr物理层会处于临时空闲状态,此时可以响应工作延迟链更新信号进行更新。

这里简要补充第一已设延迟控制值和第二延迟控制值的更新过程,在本发明的一些实施例中,可以先依照第二已设延迟控制值和工作目标延迟控制值赋值的比例关系,对应修改第一已设延迟控制值,然后再将工作目标延迟控制值赋赋值给第二已设延迟控制值;这样可以保证第一已设延迟控制值和第二延迟控制值始终保持一个固定比值关系。

更新完成之后,控制单元将工作目标延迟控制值,即更新之后的第一已设延迟控制值,发送到工作延迟链,进而让工作延迟链完成对基本延迟单元导通数量的调整,并发出与工作目标延迟控制值对应的延迟后时钟信号到数据通道中,以便后续完成数据采集和发送工作。

根据本发明实施例的ddr物理层数字延迟链动态补偿方法,本发明实施例的ddr物理层数字延迟链动态补偿方法利用参考延迟链进行辅助计算,达到不影响工作延迟链的正常工作的目的,同时,在ddr物理层处于临时空闲状态时才对第一已设延迟控制值、第二已设延迟控制值进行更新,可以避免影响ddr访问速率。通过本发明实施例的ddr物理层数字延迟链动态补偿方法,可以对第一已设延迟控制值、第二已设延迟控制值进行不断更新,进而实现对工作延迟链和参考延迟链的动态调整,有效的消除工艺、温度、电压等因素带来的误差,实现动态补偿;且本发明实施例的ddr物理层数字延迟链动态补偿方法更新过程直接响应于工作延迟链更新信号,不需要与ddr控制器握手确认,流程更为简洁。

在本发明的一些实施例中,依据第一最新延迟控制值、第一已设延迟控制值、第二已设延迟控制值计算工作延迟链的工作目标延迟控制值包括以下步骤:

计算第一最新延迟控制值与第一已设延迟控制值的比值,记作更新比值;

依据更新比值和第二已设延迟控制值计算出工作延迟链的第二最新延迟控制值;

依据第二已设延迟控制值和第二最新延迟控制值计算出工作目标延迟控制值。

这里仍然基于参考延迟链与工作延迟链采用相同的基本延迟单元进行说明。因为基本延迟单元相同,因此,参考延迟链与工作延迟链的漂移变化必定是成比例变化的,进而,可以在参考延迟链出现变化之后,依据参考延迟链的变化率来辅助工作延迟链进行计算。这里对计算过程进行一个简单叙述:设第一已设延迟控制值为rset,第一最新延迟控制值为rnew,第二已设延迟控制值wset,第二最新延迟控制值为wnew;因为参考延迟链与工作延迟链的变化规律一致,因此,根据比例关系可以得出rnew/rset=wnew/wset,进而推导出wnew=rnew*wset/rset,利用该公式便可以计算出第二最新延迟控制值。计算出第二最新延迟控制值之后,便可以利用第二已设延迟控制值和第二最新延迟控制值计算出工作目标延迟控制值。

在本发明的一些实施例中,依据第二已设延迟控制值和第二最新延迟控制值计算出工作目标延迟控制值采用二分搜索法。采用二分搜索法可以有效的排除一些瞬态变化带来的影响。例如:在一个平稳变化的过程中,突然出现了一个瞬态的大数值偏差,然后马上恢复到了瞬态变化之前的平稳过程,则该瞬态数据可能存在一定的偏差,通过二分搜索法,则可以减少瞬态变化带来的影响,同时,如果真的发生了漂移,通过二分搜索法也可以快速的逼近最佳的延迟控制值。这里对二分搜索法在本发明的一些实施例中的应用,进行一个简单的叙述:先使用第二最新延迟控制值wnew减去第二已设延迟控制值wset,获得差值wnew-wset,最后在第二已设延迟控制值wset基础上加上差值的一半即可得到工作延迟链目标值为wtar,即每次更新的工作延迟链目标值为wtar=wset+(wnew-wset)/2。

在本发明的一些实施例中,将跳变时的测试延迟控制值记为第一最新延迟控制值包括以下步骤:

当参考延迟链锁定信号跳变时,将跳变时的测试延迟控制值记为锁定延迟控制值;连续获取n个锁定延迟控制值,n为预设值的延迟配置次数;

计算n个锁定延迟控制值的平均值,将该平均值记为第一最新延迟控制值。

考虑到由于参考时钟会发生抖动等原因,仅造成即使在相同温度条件下,测出的锁定延迟控制值也会变化,因此不会使用单独一次的锁定延迟控制值直接赋值给第一最新延迟控制值,而会采用多次连续获取的锁定延迟控制值来求取平均值,最后将平均值赋值给第一最新延迟控制值。

在本发明的一些实施例中,工作延迟链至少包括写数据通路延迟链、读数据通路延迟链、读选通信号门控延迟链。写数据通路延迟链、读数据通路延迟链、读选通信号门控延迟链可以满足ddr的基本需求。此外需要说明,针对不同的延迟链,会分别设置一个第二已设延迟控制值,并依据参考延迟链分别对每个第二已设延迟控制值进行动态调整计算。

在本发明的一些实施例中,参考延迟链的延迟参考时钟频率和工作延迟链的工作时钟频率为整数比关系,例如:1:1,2:1,4:1等,主要为了使用不同种类的ddr控制器与物理层频率比系统。

根据本发明第二方面实施例的ddr物理层数字延迟链动态补偿系统,包括:控制单元、模型构建模块、参考延迟链、工作延迟链。

控制单元,通过dfi接口与ddr控制器连接,用于确认ddr物理层是否空闲,以及获取预设的第一已设延迟控制值、第二已设延迟控制值;

参考延迟链,其输入端和输出端皆与控制单元连接,输入端用于接收控制单元发出的测试延迟控制值,输出端用于发出锁定信号至控制单元;控制单元还用于依据锁定信号确认第一最新延迟控制值和第一已设延迟控制值的差值是否超过预设的更新阈值,以及计算工作目标延迟控制值和生成工作延迟链更新信号;

工作延迟链,其输入端与控制单元连接,用于接收控制单元发出的第二已设延迟控制值,其输出端用于输出依据工作目标延迟控制值延迟后的时钟信号至数据通路。

参考图1、图2,在进行动态调整控制之前会响度先对ddr进行初始化。ddr初始化包括工作延迟链的写平衡校准、读选通信号门控校准、读数据通路校准、写数据通路校准和参考延迟链的参考时钟周期锁定。校准锁定时会完成第一已设延迟控制值、第二已设延迟控制值的初始设置,设置好的第一已设延迟控制值、第二已设延迟控制值会被记录在控制单元中相应的寄存器中,等待在后续动态调整计算过程中使用。这里需要说明,为了保证能够依据参考延迟链对工作延迟链进行准确控制,参考延迟链的基本延迟单元的变化和工作延迟链的基本延迟单元的变化存在固定的相关关系,这里为了保证控制过程更为简单且稳定,直接让参考延迟链的基本延迟单元和工作延迟链的基本延迟单元相同即可,这样可以保证两者在遇到温度、电压等因素影响时,满足相同的变化规律,保持比值固定。

初始化结束后,ddr开始投入使用,此时,控制单元会不断的向参考延迟链发送测试延迟控制值,且每次发送的测试延迟控制值都不同,直到某一次发送的测试延迟控制值让参考延迟链的锁定信号跳变,此时,说明该测试延迟控制值为参考延迟链在当前状态下最合适的测试延迟控制值,这一测试延迟控制值可以记作第一最新延迟控制值,又因为参考延迟链的基本延迟单元和工作延迟链的基本延迟单元的变化规律相同,因此可以直接利用第一最新延迟控制值、第一已设延迟控制值、第二已设延迟控制值计算出工作延迟链的工作目标延迟控制值。但是,考虑到电压和温度变化并不会一直处于跳变的状态,因此,并不需要一直计算工作目标延迟控制值,可以仅仅在第一最新延迟控制值相较于第一已设延迟控制值变化超过更新阈值时,才会进行计算,更新阈值可以根据实际工程需要进行人工修改。

同时,在计算工作目标延迟控制值时,控制单元会生成工作延迟链更新信号,工作延迟链更新信号会作为能否进行第一已设延迟控制值、第二已设延迟控制值的更新的判据之一。这里考虑到要避免对ddr本身的正常工作造成影响,因此,要尽量在ddr物理层处于临时空闲状态时,才可以进行第一已设延迟控制值、第二已设延迟控制值的更新。因此,通过工作延迟链更新信号和ddr物理层处于临时空闲状态两个判据作为约束,既可以保证对工作目标延迟控制值的动态更新,也可以保证不会对ddr的正常工作造成影响。这里对如何确认ddr物理层是否处于临时空闲状态做一个简单的叙述:等待dfi接口发出ddr刷新命令,接收到ddr刷新命令后的这段时间trfc(刷新命令到其他命令的时间),ddr物理层会处于临时空闲状态,此时可以响应工作延迟链更新信号进行更新。

更新完成之后,控制单元将工作目标延迟控制值,即更新之后的第一已设延迟控制值,发送到工作延迟链,进而让工作延迟链完成对基本延迟单元导通数量的调整,并发出与工作目标延迟控制值对应的延迟后时钟信号到数据通道中,以便后续完成数据采集和发送工作。

根据本发明实施例的ddr物理层数字延迟链动态补偿系统,本发明实施例的ddr物理层数字延迟链动态补偿系统利用参考延迟链进行辅助计算,达到不影响工作延迟链的正常工作的目的,同时,在ddr物理层处于临时空闲状态时才对第一已设延迟控制值、第二已设延迟控制值进行更新,可以避免影响ddr访问速率。通过本发明实施例的ddr物理层数字延迟链动态补偿系统,可以对第一已设延迟控制值、第二已设延迟控制值进行不断更新,进而实现对工作延迟链和参考延迟链的动态调整,有效的消除工艺、温度、电压等因素带来的误差,实现动态补偿;且本发明实施例的ddr物理层数字延迟链动态补偿系统更新过程直接响应于工作延迟链更新信号,不需要与ddr控制器握手确认,流程更为简洁。

在本发明的一些实施例中,根据本发明的一些实施例,工作延迟链至少包括写数据通路延迟链、读数据通路延迟链、读选通信号门控延迟链。写数据通路延迟链、读数据通路延迟链、读选通信号门控延迟链可以满足ddr的基本需求。此外需要说明,针对不同的延迟链,会分别设置一个第二已设延迟控制值,并依据参考延迟链分别对每个第二已设延迟控制值进行动态调整计算。

在本发明的一些实施例中,参考延迟链的延迟参考时钟频率和工作延迟链的工作时钟频率为整数比关系,例如:1:1,2:1,4:1等,主要为了适用不同种类的ddr控制器与物理层频率比系统。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上述结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1