Ddr2读写操作数字延迟链工艺-温度-电压控制器电路的制作方法

文档序号:6741413阅读:174来源:国知局
专利名称:Ddr2读写操作数字延迟链工艺-温度-电压控制器电路的制作方法
技术领域
本发明涉及DDR2 (Double Data Rate,双倍速率同步动态随机存储器)读写操作数字延迟链控制器电路应用场合,如DDR,DDR2,DDR3等,属于高速DDR2读写操作数字延迟链控制器电路的技术领域。
背景技术
随着片上系统SOC芯片性能的不断提高,数据吞吐量也越来越大,使得DDR2(Double Data Rate,双倍速率同步动态随机存储器)控制器应用越来越广泛。芯片在工艺-温度-电压变化时,现有DDR2读写操作数字延迟链控制器技术采用动态更新读写操作数字延迟链,并没有考虑到DDR2控制器和DDR2存储器之间的DQ和DQS处于何种状态。现有的数字延迟链在工艺-温度-电压变化时更新数字延迟链存在的弊端:
1.DDR2控制器在写操作过程中,数据DQ信号是在写操作时钟域内完成,该时钟是系统DDR2时钟经过写操作时钟数字延迟链延迟3/4个得到的时钟,如果按照现有的DDR2写操作时钟数字延迟链控制器动态调整写操作时钟,特别是在写操作时钟正负沿附近时调整写操作数字延迟链,写操作时钟可能会出现毛刺,周期可能会减小,数据DQ信号有效时间减小,严重时数据DQ可能不满足DDR2规范要求的时间窗口 ;
2.DDR2控制器在写操作过程中,DDR2存储器接收DQ数据是在写操作DQS时钟域内完成,该时钟与DDR2系统时钟ddr2_clk具有相同的相位,如果按照现有的DDR2写操作DQS数字延迟链控制器动态调整写操作DQS信号,特别是在写操作DQS正负沿附近时,写操作DQS可能会出现毛刺,周期可能会减小,DQS信号有效时间减小,严重时DQS可能不满足DDR2规范要求的时间窗口;
3.DDR2控制器在读操作过程中,DDR2控制器接收数据是在读操作DQS时钟域内完成,该时钟是DDR2存储器发出的DQS信号经过读操作DQS数字延迟链延迟1/4个相位得到的时钟,如果按照现有的DDR2读操作DQS数字延迟链控制器动态调整读操作DQS信号,特别是在读操作DQS正负沿附近时,读操作DQS可能会出现毛刺,周期可能会减小,DQS信号有效时间减小,导致延迟后的读操作DQS采样DQ出现问题,严重时读操作DQS可能不满足DDR2规范要求的时间窗口。

发明内容
技术问题:本发明目的是解决上述背景中提到的技术问题,提供了一种DDR2读写操作数字延迟链工艺-温度-电压控制器电路。该电路通过检测DDR2控制电路与DDR2存储器之间的传输命令,在刷新(refresh)或者自动刷新(self refresh)命令期间动态更新数字延迟链电路,提高DDR2读写数据的稳定性。技术方案:本发明的目的在于,针对SoC芯片在工艺-温度-电压变化时,现有DDR2读写操作数字延迟链控制器更新读写操作数字延迟链导致电路可能异常工作的情况,提供了一种DDR2读写操作数字延迟链工艺-温度-电压控制器电路。根据DDR2协议规范,DDR2存储器的刷新需要一定的时间,在DDR2存储器刷新过程中,DDR2的DQS和DQ信号处于无效状态,在此状态下对DDR2读写操作数字延迟链进行更新,保证在更新过程中不会对DDR2读写信号造成错误的影响,所提出的解决方案能够提高DDR2的稳定性,保证在工艺-温度-电压变化的情况下,DDR2控制器和DDR2存储器之间能够正常工作。本发明包括DDR2控制器命令检测器、DDR2工艺-温度-电压调整控制器、DDR2写操作时钟数字延迟链控制器、DDR2写操作DQS数字延迟链控制器和DDR2读操作DQS数字延迟链控制器。该电路中,在DDR2控制器正常工作的情况下,DDR2控制器命令检测器检测DDR2控制器和DDR2存储器之间的命令信号,当检测到的命令为刷新(refresh)或者自动刷新(self refresh)时,输出refresh_state至DDR2工艺-温度-电压调整控制器;工艺-温度-电压发生变化时,DDR2工艺-温度-电压调整控制器在refeSh_State有效的条件下,发出更新使能oresync_dll信号至DDR2写操作时钟数字延迟链控制器、DDR2写操作DQS数字延迟链控制器和DDR2读操作DQS数字延迟链控制器,更新读写操作数字延迟链。所述的DDR2控制器命令检测器,其特征在于,输入信号为DDR2控制命令cs_n,ras_n, cas_n, we_n, cke, DDR2 系统时钟 ddr_clk 和 DDR2 系统复位信号 resetn,输出信号为DDR2刷新状态refresh_state信号。DDR2控制器命令检测器在DDR2系统复位信号resetn低电平时完成异步复位,refresh_state在复位状态时为O。当cs_n, ras_n, cas_η为0,冊_11和cke为I时,DDR2控制器命令检测器检测到刷新(refresh)或者自动刷新(self refresh)命令,该信号为ddr_mem_refresh_tmp ;在DDR2控制器时钟域内,将ddr_mem_refresh_tmp用寄存器打一拍,得到ddr_mem_refresh_tmp延迟一个DDR2控制器系统时钟后的ddr_mem_refresh_delaylcycle信号;在DDR2控制器时钟域内,通过寄存器将ddr_mem_refresh_tmp 和 ddr_mem_refresh_delayIcycle 做或运算的结果 refresh_state信号输出至工艺-温度-电压自动调整控制器。所述的DDR2工艺-温度-电压调整控制器,其特征在于,输入信号为DDR2系统时钟ddr_clk,DDR2系统复位信号resetn,系统更新DDR2数字延迟链resync信号,系统更新数字延迟链使能信号auto_reSynC_e`n,DDR2数字延迟链锁定lock信号,输出更新DDR2读写操作数字延迟链oresync_dll至DDR2写操作时钟数字延迟链控制器、DDR2写操作DQS数字延迟链控制器和DDR2读操作DQS数字延迟链控制器。DDR2工艺-温度-电压调整控制器在DDR2系统复位信号resetn低电平时完成异步复位,oresync_dll在复位状态时为O。在DDR2数字延迟链锁定lock信号有效的条件下,resync为I或者auto_resync_en和refresh_state信号同时为I时,oresync_dll_tmp为I,在DDR2控制器时钟域内,将oresync_dll_tmp用寄存器打一拍得到的oresync_dll信号输出至DDR2读写操作数字延迟链控制器。所述的写操作时钟数字延迟链控制器,其特征在于,输入信号为DDR2系统时钟ddr_clk, DDR2系统复位信号resetn,DDR2系统写操作时钟配置寄存器write_clk_add_delay, write_clk_config_minus 和 write_clk_config_add,时钟锁定数字延迟链的锁定lock信号和锁定一个ddr_clk周期对应的延迟链延迟单元数量clock_locked_delaycell_num信号,输出DDR2系统时钟延迟3/4个相位所需的延迟单元数量对应的独热码one_hot_write_clk_delaycell_num 和 write_clk_delaycell_num_odd 至写操作时钟延迟链。在DDR2系统时钟域内,clock—locked—delaycell—num右移2位与3相乘,加上clock—locked—delaycell—num[l]矛口 clock—locked—delaycell—num
,得到 write_clk_ideal_delaycell—num,根据DDR2规范,写操作时DQ数据信号应当位于DDR2系统时钟3/4处相位,在深亚微米工艺下,后端布局布线中存在着线延迟,芯片输出输入管脚延迟及板级延迟等问题,写操作DQ数据信号可能和DDR2系统时钟存在偏差,需要根据实际电路延迟对write—clk_ideal_delaycell_num 进行修正,定义修正后的 write_clk_ideal_delaycell_num 为write—elk—ideal—delaycell—num—modified。当锁定 lock 信号有效时,若写操作 DQ 数据信号在DDR2系统时钟1/4相位之后,DDR2系统配置Writejll^adcLdelay为0,对write—clk_ideal_delaycell_num 进行减小修正,艮P write_clk—ideal_delaycell—num—modified为 write_clk_ideal_delaycell_num 减去 write_clk—conf ig—minus ;若写操作 DQ 数据信号在DDR2系统时钟1/4相位之前,DDR2系统配置write—elk—add—delay为IJtwritejllideal_delaycell—num 进行增力口修正,艮P write_clk—ideal_delaycell—num—modified 为write_clk_ideal_delaycell_num 与 write_clk—conf ig—add 之和。将(write_clk_ideal_delaycell—num—modified-1)转换为独热码 one—hot—write—elk—delaycell—num ;在 DDR2系统时钟域内,将 one—hot—write—elk—delaycell—num 和 write—elk—ideal—delaycell—num—modified的最低位即write—elk—delaycell—num—odd通过寄存器输出至写操作时钟延迟链。所述的写操作DQS数字延迟链控制器,其特征在于,输入信号为DDR2系统时钟ddr_clk, DDR2系统复位信号resetn,DDR2系统写操作DQS配置寄存器write—dqs—add—delay,write—dqs—conf ig—minus 和 write—dqs—conf ig—add,时钟锁定数字延迟链控制器输入的锁定lock信号和延迟链延迟单兀数量clock—locked—delaycell—num信号,输出与DDR2系统时钟相同相位所需的延迟单元数量对应的独热码one—hot—write—dqs—delaycell—num 和 write—dqs—delaycell—num—odd 至写操作 DQS 延迟链。在 DDR2 系统时钟域内,将 clock—locked—delaycell—num 赋值于 write—dqs—ideal—delaycell—num,根据DDR2规范,写操作时DQS信号应当与DDR2系统时钟具有相同的相位,在深亚微米工艺下,后端布局布线中存在着线延迟,芯片输出输入管脚延迟及板级延迟等问题,写操作DQS信号可能DDR2系统时钟存在偏差,需要对write—dqs—ideal—delaycell—num进行修正,定义修正后的 write_d qs_ideal_delaycell_num 为 write_dqs_ideal_delaycell_num_modified。当锁定lock信号有效时,若写操作DQS信号在DDR2系统时钟相位之后,DDR2系统配置 write—dqs—add—delay 为 0,对 write—dqs—ideal—delaycell—num 进行减小修正,艮P write_dqs_ideal_delaycell—num—modified 为 write_clk_ideal_delaycell_num 减去write—dqs—config—minus ;若写操作DQ数据信号在DDR2系统时钟相位之前,DDR2系统配置 write—dqs—add—delay 为 1,对 write—dqs—ideal—delaycell—num 进行增加修正,艮P write_dqs_ideal_delaycell—num—modified 为 write_dqs_ideal_delaycell_num 与write_dqs_config—add 之和,将(write_dqs_ideal_delaycelI—num—modified-1)转换为独热码 one—hot—write—dqs—delaycell—num。在 DDR2 系统时钟域内,将 one—hot—write—dqs_delaycell—num 矛口 write_dqs_ideal_delaycell—num—modified 的最{氐位艮P write_dqs—delaycell—num—odd通过寄存器输出至写操作DQS数字延迟链。所述的读操作DQS数字延迟链控制器,其特征在于,输入信号为DDR2系统时钟ddr_clk, DDR2系统复位信号resetn, DDR2系统读操作DQS配置寄存器read_dqs_add_delay, read_dqs_config_minus 和 read_dqs_config_add,锁定 lock信号和 clock—locked—delaycell_num信号,输出读操作DQS相对于系统时钟1/4个相位所需的延迟单元数量对应的独热码 one_hot_read_dqs_delaycell_num 和 read_dqs_delaycell_num_odd 至读操作DQS延迟链。在DDR2系统时钟域内,clock_locked_delaycell_num右移2位加上clock_locked_delaycell_num
,结果为 read_dqs_ideal_delaycell_num,根据 DDR2 规范,读操作时DQS信号应当在DDR2系统时钟1/4个相位附近,在深亚微米工艺下,后端布局布线中存在着线延迟,芯片输出输入管脚延迟及板级延迟等问题,读操作DQS信号可能DDR2系统时钟存在偏差,需要对read_dqs_ideal_delaycell_num进行修正,定义修正后的read_clk_ideal_delaycell_num 为 read_dqs_ideal_delaycell_num_modified0 当锁定 lock 信号有效时,若读操作DQS信号在DDR2系统时钟1/4个相位之后,DDR2系统配置read_dqs_add_delay 为 O,对 read_dqs_ideal_delaycell_num 进行减小修正,即 read_dqs_ideal_delaycell_num_modified 为 read_cIk_ideal_deIayceIl_num 减去 read_dqs_config_minus ;若读操作DQ数据信号在DDR2系统时钟1/4个相位之前,DDR2系统配置read_dqs_add_delay 为 I,对 read_dqs_ideal_delaycell_num 进行增加修正,即 read_dqs_ideal_delaycell_num_modified 为 read_dqs_ideal_delaycell_num 与 read_dqs_conf ig_add之和。将(read_dqs_ideal_delaycell_num_modified-1)转换为独热码 one_hot_read_dqs_delaycell_num ;在 DDR2 系统时钟域内,将 one_hot_read_dqs_delaycell_num 和 read_dqs_delaycell_num_odd通过寄存器输出至读操作DQS延迟链。有益效果:与现有的技术方案相比,本发明的优点在于:
1.本发明对当前的数字延迟链控制器在工艺-温度-电压变化时,动态更新数字延迟链可能存在的DDR2读写操作出错问题,采用检测DDR2控制器和DDR2存储器之间的命令,当检测到刷新(refresh)或者自动刷新(self refresh)命令时,根据DDR2协议规范,DDR2存储器的刷新需要一定的时间,在DDR2存储器刷新过程中,DDR2的DQS和DQ信号处于无效状态,在此状态下对DDR2读写操作数字延迟链进行更新,保证在更新过程中不会对DDR2读写信号造成错误的影响,系统能够稳定工作。2.改进的写操作时钟数`字延迟链控制器和读写操作DQS数字延迟链控制器能够高精度、快速调整数字延迟链,保证调整后的写操作时钟和读写DQS信号能够稳定的工作。


图1为DDR2读写操作数字延迟链控制器的结构框图。图2为现有DDR2写操作时钟在PVT下的写操作DQ出错时序。图3为现有DDR2写操作DQS在PVT下的写操作DQ出错时序。图4为现有DDR2读操作DQS在PVT下的读操作DQ出错时序。图5为DDR2控制器和DDR2存储器命令检测电路。图6为工艺-温度-电压自动调整控制电路。图7为写操作时钟数字延迟链控制器电路。图8为写操作DQS数字延迟链控制器电路。图9为读操作DQS数字延迟链控制器电路。
具体实施例方式以下将结合附图和具体实施例对本发明进行详细说明。本文以时钟锁定数字延迟链起始延迟级数为63,芯片输出输入管脚延迟及板级延迟等为零,作为实施例,所描述的实施例仅为本发明的一种实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明包括DDR2控制器命令检测器、DDR2工艺-温度-电压调整控制器、DDR2写操作时钟数字延迟链控制器、DDR2写操作DQS数字延迟链控制器和DDR2读操作DQS数字延迟链控制器,请参考附图1。该电路中,在DDR2控制器正常工作的情况下,DDR2控制器命令检测器检测DDR2控制器和DDR2存储器之间的命令信号,当检测到的命令为刷新(refresh)或者自动刷新(self refresh)时,输出refresh_state至DDR2工艺-温度-电压调整控制器;工艺-温度-电压发生变化时,DDR2工艺-温度-电压调整控制器在refeSh_State有效的条件下,发出同步使能信号至DDR2写操作时钟数字延迟链控制器、DDR2写操作DQS数字延迟链控制器和DDR2读操作DQS数字延迟链控制器,更新读写操作数字延迟链。现有的DDR2数字延迟链控制器在工艺-温度-电压变化时,对DDR2读写操作数字延迟链是基于动态更新的,并没有检测DDR2控制器和DDR2存储器之间的读写操作处于何种状态,可能会导致DDR2系统工作不能正常工作。现有的DDR2写操作时钟数字延迟链控制器动态调整写操作时钟,特别是在写操作时钟正负沿附近时调整写操作数字延迟链,写操作时钟可能会出现毛刺,周期可能会变化,数据DQ信号有效时间发生变化,严重时数据DQ可能不满足DDR2规范要求的时间窗口,具体请参考附图2ADR2控制器在写操作过程中,数据DQ信号是在写操作时钟域内完成,该时钟是系统DDR2时钟经过写操作时钟数字延迟链延迟3/4个得到的时钟。在Tl时刻,随着工艺-温度-电压的变化,write_clk_delaycell_num从48变为46,写操作时钟延迟链进入到调整状态,Tl时 刻的real_write_clk边沿不稳定,由real_write_clk驱动的DQ数据d3有效区域变窄,导致DDR2控制器在写d3数据时发生错误;在T3时刻,随着工艺-温度-电压的变化,write_clk _delaycell_num从46变为48,写操作时钟延迟链进入到调整状态,T3时刻的real_Write_Clk边沿不稳定,DQ数据d7不能被DDR2存储器正确接收,导致DDR2控制器在写d7数据时发生错误。现有的DDR2写操作DQS数字延迟链控制器动态调整写操作DQS信号,特别是在写操作DQS正负沿附近时,写操作DQS可能会出现毛刺,周期可能发生变化,DQS信号有效时间发生变化,严重时DQS可能不满足DDR2规范的时序要求,具体请参考附图3。DDR2控制器在写操作过程中,DDR2存储器接收DQ数据是在写操作DQS时钟域内完成,该时钟是系统DDR2时钟经过写操作DQS数字延迟链延迟I个相位得到的时钟。在Tl时刻,随着工艺-温度-电压的变化,write_dqs_delaycell_num从63变为65,写操作DQS延迟链进入到调整状态,Tl时刻的real_Write_dqS边沿不稳定,DQ数据d3不能被DDR2存储器正确接收,导致DDR2控制器在写d3数据时发生错误;在T3时刻,随着工艺-温度-电压的变化,write_dqs_delaycell_num从65变为63,在写操作DQS延迟链调整过程中,T3时刻的real_write_dqs边沿不稳定,DQ数据d7不能被DDR2存储器正确接收,导致DDR2控制器在写d7数据时发生错误。现有的DDR2读操作DQS数字延迟链控制器动态调整写操作DQS信号,特别是在读操作DQS正负沿附近时,读操作DQS可能会出现毛刺,周期可能发生变化,DQS信号有效时间发生变化,严重时DQS可能不满足DDR2规范的时序要求,具体请参考附图4。DDR2控制器在读操作过程中,DDR2控制器接收DQ数据是在读操作DQS时钟域内完成,该时钟是系DDR2存储器输出DQS信号经过读操作DQS数字延迟链延迟1/4个相位得到的。在Tl时刻,随着工艺-温度-电压的变化,read_dqs_delaycell_num从16变为18,读操作DQS延迟链进入到调整状态,Tl时刻的real_read_dqS边沿不稳定,DQ数据d3不能被DDR2存储器正确接收,导致DDR2控制器在写d3数据时发生错误;在T3时刻,随着工艺-温度-电压的变化,write_dqs_delaycell_num从18变为16,在读操作DQS延迟链调整过程中,T3时刻的real_write_dqs边沿不稳定,DQ数据d7不能被DDR2存储器正确接收,导致DDR2控制器在写d7数据时发生错误。所述的DDR2控制器命令检测器,请参考附图5,输入信号为DDR2控制命令cs_n,ras_n, cas_n, we_n, cke, DDR2 系统时钟 ddr_clk 和 DDR2 系统复位信号 resetn,输出信号为DDR2刷新状态refresh_state信号。DDR2控制器命令检测器在DDR2系统复位信号resetn低电平时完成异步复位,refresh_state在复位状态时为O。当cs_n, ras_n, cas_η为O, we_n和cke为I时,DDR2控制器命令检测器检测到刷新(refresh)命令,该信号为ddr_mem_refresh_tmp ;在DDR2控制器时钟域内,将ddr_mem_refresh_tmp用寄存器打一拍,得到ddr_mem_refresh_tmp延迟一个DDR2控制器系统时钟后的ddr_mem_refresh_delaylcycle信号;在DDR2控制器时钟域内,通过寄存器将ddr_mem_refresh_tmp和ddr_mem_refresh_delayIcycle做或运算的结果refresh_state信号输出至工艺-温度-电压调整控制器。所述的DDR2工艺-温度-电压调整控制器,请参考附图6,输入信号为DDR2系统时钟ddr_clk,DDR2系统复位信号resetn,系统更新DDR2数字延迟链resync信号,系统更新数字延迟链使能信号auto_reSynC_ en,DDR2数字延迟链锁定lock信号,输出更新DDR2读写操作数字延迟链oreSync_dll至DDR2读写操作数字延迟链控制器。DDR2工艺-温度-电压调整控制器在DDR2系统复位信号resetn低电平时完成异步复位,oresync_dll在复位状态时为O。在DDR2数字延迟链锁定lock信号有效的条件下,resync为I或者auto_resync_en和refresh_state信号同时为I时,输出更新DDR2读写操作数字延迟链oresync_dll中间变量oresync_dll_tmp为I,在DDR2控制器时钟域内,将oresync_dll_tmp用寄存器打一拍得到的oreSync_dll信号输出至DDR2读写操作数字延迟链控制器。所述的写操作时钟数字延迟链控制器,请参考附图7,输入信号为DDR2系统时钟ddr_clk, DDR2系统复位信号resetn,DDR2系统写操作时钟配置寄存器write_clk_add_delay, write_clk_config_minus 和 write_clk_config_add,时钟锁定数字延迟链控制器输入的锁定lock信号和延迟链延迟单兀数量clock_locked_delaycell_num信号,输出DDR2系统时钟延迟3/4个相位所需的延迟单元数量对应的独热码one_hot_write_clk_delaycell_num 和 write_clk_delaycell_num_odd 至写操作时钟延迟链。在 DDR2 系统时钟域内,clock_locked_delaycell_num右移2位与3相乘的结果加上clock_locked_delaycell_num[l]和 clock_locked_delaycell_num
,结果为 write_clk_ideal_delaycell—num,其值为27,根据DDR2规范,写操作时DQ数据信号应当位于DDR2系统时钟3/4处相位,在深亚微米工艺下,后端布局布线中存在着线延迟,芯片输出输入管脚延迟及板级延迟等问题,写操作DQ数据信号可能DDR2系统时钟存在偏差。为了保证写操作时钟在DDR2系统时钟的3/4个相位附近,使得在写操作时钟驱动下的DQ数据信号满足DDR2规范,可能需要对 write—elk—ideal—delaycell—num 进行修正,定义修正后的 write—elk—ideal—delaycell—num 为 write_clk—i deal_de layce 11—num—modified。当锁定 lock 信号有效时,若写操作DQ数据信号在DDR2系统时钟1/4相位之后,DDR2系统配置write—elk—add—delay为 0,对 write—elk—ideal—delaycell—num进行减小修正,即 write—elk—ideal—delaycell—num—modified 为 write_clk—ideal_delaycell—num 减去 write_clk—conf ig—minus ;若写操作DQ数据信号在DDR2系统时钟1/4相位之前,DDR2系统配置write—elk—add—delay为1,对 write—elk—ideal—delaycell—num 进行增加修正,即 write—elk—ideal—delaycell—num—modified 为 write_clk_ideal_delaycell_num 与 write_clk—conf ig—add 之和。将(write_elk—ideal_delaycelI—num—modified-1)转换为独热石马 one—hot—write_clk—delaycell_num ;在 DDR2 系统时钟域内,将 one—hot—write—elk—delaycell—num 和 write—elk—ideal—delaycell—num—modified 最低位即 write—elk—delaycell—num—odd 通过寄存器输出至写操作时钟延迟链。本实施例中,write—elk—ideal—delaycell—num—modified理论值63x3/4=47.25,本发明的 write—elk—ideal—delaycell—num 值为 47,与理论值很接近,不需要对其进行修正,write—elk—add—delay 为 0,write—elk—conf ig—minus 为 0,write—elk—config—add 为 0,计算得到的 write_clk—ideal_delaycell—num—modified 为 47,write_elk—delaycell—num—odd 为 I,one—hot—write—elk—delaycell—num 为 128, blOOO—0000—0000—0000—0000—0000—0000—0000—0000—0000—0000—OOOOo所述的写操作DQS数字延迟链控制器,请参考附图8,输入信号为DDR2系统时钟ddr_clk, DDR2系统复位信号resetn,DDR2系统写操作DQS配置寄存器write—dqs—add—delay, write_dqs_config_minus 矛口 write_dqs_config—add,锁定 lock 信号矛口延迟链延迟单元数量clock—locked—delaycell—num信号,输出与DDR2系统时钟相同相位所需的延迟单兀数量 one_hot_w rite_dqs_delaycell_num 和 write_dqs_delaycell—num—odd 至写操作DQS数字延迟链。在DDR2系统时钟域内,将clock—locked—delaycell—num赋值于write—dqs—ideal—delaycell—num,根据DDR2规范,写操作时DQS信号应当与DDR2系统时钟具有相同的相位,在深亚微米工艺下,后端布局布线中存在着线延迟,芯片输出输入管脚延迟及板级延迟等问题,写操作DQS信号可能DDR2系统时钟存在偏差。为了保证写操作DQS与DDR2系统时钟相位相同,使得DQS信号满足DDR2规范,需要对write—dqs—ideal—delaycell—num 进行修正,定义修正后的 write—elk—ideal—delaycell_ num 为 write_dqs_ideal—delaycell—num—modified。当锁定lock信号有效时,若写操作DQS信号在DDR2系统时钟相位之后,DDR2 系统配置 write—dqs—add—delay 为 0,对write—dqs—ideal—delaycell—num 进行减小修正,艮P write_dqs_ideal_delaycell—num—modified 为 write_clk_ideal_delaycell—num减去write—dqs—conf ig—minus ;若写操作DQ数据信号在DDR2系统时钟相位之前,DDR2 系统配置 write—dqs—add—delay 为 I,对 write—dqs—ideal—delaycell—num 进行增力口修正,艮P write_dqs_ideal_delaycell—num—modified 为 write_dqs_ideal_delaycell—num 与 write_dqs_config—add 之和,将(write_dqs_ideal_delaycell—num—modified-1)转换为独热码 one—hot—write—dqs—delaycell—num。在 DDR2 系统时钟域内,^ one—hot—write_dqs_delaycell—num矛口 write_dqs_delaycell—num:^{氐位艮P write_dqs_delaycell—num—odd通过寄存器输出至写操作DQS延迟链。本实施例中,write—dqs—ideal—delaycell—num—modified 理论值 0,本发明的 write—dqs—ideal—delaycell—num 值为 0,不需要对其进行修正,write—dqs—add—delay 为 0,write—dqs—config—minus 为 0,write—dqs—config—add 为 0,计算得到的 write_dqs_ideal_delaycell—num—modified 为 0,write_dqs_de layce I l_num_odd 为 0,one—hot—write_dqs_delaycell—num 为 128’ b0o所述的读操作DQS数字延迟链控制器,请参考附图9,输入信号为DDR2系统时钟ddr—clk,DDR2系统复位信号resetn,DDR2系统读操作DQS配置寄存器reacLdqs—add—delay, read—dqs_config—minus 矛口 read—dqs_config—add,锁定 lock 信号矛口延迟链延迟单元数量clock—locked—delaycell—num信号,输出读操作DQS相对于系统时钟1/4相位所需的延迟单兀数量 one—hot—read—dqs—delaycell—num 和 read—dqs—delaycell—num—odd至读操作DQS延迟链。在DDR2系统时钟域内,clock—locked—delaycell—num右移
2位力口上 clock—locked—delaycell—num[l],结果为 read—dqs_ideal_delaycell—num,根据DDR2规范,读操作时DQS信号应当在DDR2系统时钟1/4个相位附近,在深亚微米工艺下,后端布局布线中存在着线延迟,芯片输出输入管脚延迟及板级延迟等问题,读操作DQS信号可能DDR2系统时钟存在偏差。读操作时DQS信号应当在DDR2系统时钟1/4个相位附近,使得DQS信号满足DDR2规范,需要对read—dqs—ideal—delaycell—num进行修正,定义修正后的 read—elk—ideal—delaycell_ num 为 read—dqs_ideal_delaycell—num—modified。当锁定lock信号有效时,若读操作DQS信号在DDR2系统时钟1/4个相位之后,DDR2 系统配置 read—dqs—add—delay 为 0,对 read—dqs—ideal—delaycell—num 进行减小修正,艮P read—dqs_ideal_delaycelI—num—modified 为 read—elk—ideal_delaycell_num减去read—dqs—config—minus ;若读操作DQ数据信号在DDR2系统时钟1/4个相位之前,DDR2 系统配置 read—dqs—add—delay 为 1,对 read—dqs—ideal—delaycell—num 进行增力口修正,艮P read—dqs_i deal_delaycelI—num—modified 为 read—dqs_ideal_delaycell_num 与 read—dqs_config—add 之和。 将(read—dqs_ideal_delaycell—num—modified-1)转换为独热码 one—hot—read—dqs—delaycell—num ;在 DDR2 系统时钟域内,将 one—hot—read—dqs_delaycell—num 矛口 read—dqs_delaycell—num 最{氐位艮P read—dqs_delaycell_num—odd通过寄存器输出至读操作DQS延迟链。本实施例中,read—dqs—ideal—delaycell—num—modified 理论值 63x1/4=15.75,本发明的 read—dqs—ideal—delaycell—num 值为 16,与理论值很接近,不需要对其进行修正,read—dqs—add—delay为0,read—dqs—conf ig—minus 为 0,read—dqs_config—add 为 0,计算得到的 read—dqs_ideal_delaycell—num—modified 为 16,read_dqs_delaycell—num—odd 为 0,one—hot—read—dqs_de layce 11—num 为128, bl—0000—0000—0000—OOOO0综上所述,本发明对当前的数字延迟链控制器在工艺-温度-电压变化时,釆用动态更新数字延迟链可能存在的DDR2读写操作出错问题,釆用检测DDR2控制器和DDR2存储器之间的命令,当检测到刷新(refresh)或者自动刷新(self refresh)时,根据DDR2协议规范,DDR2存储器的刷新需要一定的时间,在DDR2存储器刷新过程中,DDR2的DQS和DQ信号处于无效状态,在此状态下对DDR2读写操作数字延迟链进行更新,保证在更新过程中不会对DDR2读写信号造成错误的影`响,系统能够稳定工作。
权利要求
1.一种DDR2读写操作数字延迟链工艺-温度-电压控制器电路,其特征在于:它包括DDR2控制器命令检测器、DDR2工艺-温度-电压调整控制器、DDR2写操作时钟数字延迟链控制器、DDR2写操作DQS数字延迟链控制器和DDR2读操作DQS数字延迟链控制器;该电路中,在DDR2控制器正常工作的情况下,DDR2控制器命令检测器检测DDR2控制器和DDR2存储器之间的命令信号,当检测到的命令为刷新(refresh)或者自动刷新(self refesh)时,输出refresh_state至DDR2工艺-温度-电压调整控制器;工艺-温度-电压发生变化时,DDR2工艺-温度-电压调整控制器在refeSh_State有效的条件下,发出同步使能信号至DDR2写操作DQS数字延迟链控制器和DDR2读操作DQS数字延迟链控制器,更新读写操作数字延迟链。
2.根据权利要求1所述的控制器电路,其特征在于:所述DDR2控制器命令检测器,输入信号为 DDR2 控制命令 cs_n, ras_n, cas_n, we_n, cke, DDR2 系统时钟 ddr_clk 和 DDR2系统复位信号resetn,输出信号为DDR2刷新状态refresh_state信号;DDR2控制器命令检测器在DDR2系统复位信号resetn低电平时完成异步复位,refresh_state在复位状态时为O。
3.根据权利要求2所述的控制器电路,其特征在于:当cs_n,ras_n,cas_n为0,we_n和cke为I时,DDR2控制器命令检测器检测到刷新(refresh)或者自动刷新(self refesh)命令,该信号为ddr_mem_refresh_tmp ;在DDR2控制器时钟域内,将ddr_mem_refresh_tmp用寄存器打一拍,得到ddr_mem_refresh_tmp延迟一个DDR2控制器系统时钟后的ddr_mem_refresh_delaylcycle信号;在DDR2控制器时钟域内,通过DDR2寄存器将ddr_mem_refresh_tmp 和 ddr_mem_refresh_delaylcycle 做或运算的结果 refresh_state 信号输出至DDR2工艺-温度-电压调整控制器。
4.根据权利要求1所述的控制器电路,其特征在于:所述DDR2工艺-温度-电压调整控制器,输入信号为DDR2系统时钟ddr_clk,DDR2系统复位信号resetn,系统更新DDR2数字延迟链resync信号,系统更新数字延迟链使能信号auto_resync_en, DDR2数字延迟链锁定lock信号,输出更新DDR2读写操作数字延迟链oreSync_dll至DDR2读写操作数字延迟链控制器;DDR2工艺-温度-电压调整控制器在DDR2系统复位信号resetn低电平时完成异步复位,oresync_dll在复位状态时为O。
5.根据权利要求4所述的控制器电路,其特征在于:在DDR2数字延迟链锁定lock信号有效的条件下,resync为I或者auto_resync_en和refresh_state信号同时为I时,输出更新DDR2读写操作数字延迟链oresync_dll中间变量oresync_dll_tmp为I,在DDR2控制器时钟域内,将oresync_dll_tmp用寄存器打一拍得到的oresync_dll信号输出至DDR2读写操作数字延迟链控制器。
6.根据权利要求1所述的控制器电路,其特征在于:所述DDR2写操作时钟数字延迟链控制器,输入信号为DDR2系统时钟ddr_clk,DDR2系统复位信号resetn,DDR2系统写操作时钟配置寄存器 write_clk_add_delay, write_clk_config_minus 和 write_clk_config_add,时钟锁定数字延迟链的锁定lock信号和锁定一个ddr_clk周期对应的延迟链延迟单元数量clock_locked_delaycell_num信号,输出DDR2系统时钟延迟3/4个相位所需的延迟单兀数量对应的独热码 one_hot_write_clk_delaycell_num 和 write_clk_delaycell_num_odd至写操作时钟延迟链。
7.根据权利要求6所述的控制器电路,其特征在于:在DDR2系统时钟域内,clock—locked—delaycell—num 右移 2 位与 3 相乘,加上 clock—locked—delaycell—num[l]和clock—locked—delaycell—num
,得到 write—elk—ideal—delaycell—num,根据 DDR2 规范,写操作时DQ数据信号应当位于DDR2系统时钟3/4处相位,在深亚微米工艺下,后端布局布线中存在着线延迟,芯片输出输入管脚延迟及板级延迟等问题,写操作DQ数据信号可能和DDR2系统时钟存在偏差,需要根据实际电路延迟对write—elk—ideal—delaycell—num 进行修正,定义修正后的 write_clk_ideal_delaycell_num 为 write_clk_ideal_delaycell—num—modified ;当锁定lock信号有效时,若写操作DQ数据信号在DDR2系统时钟 1/4 相位之后,DDR2 系统配置 write—elk—add—delay 为 0,对 write—elk—ideal—delaycell—num 进行减小修正,艮P write_clk—ideal_delaycell—num—modified 为 write_elk—ideal—delaycell—num 减去 write—elk—config—minus ;若写操作 DQ 数据信号在DDR2 系统时钟 1/4 相位之前,DDR2 系统配置 write—elk—add—delay 为 1,对 write—elk—ideal_delaycell—num 进行增力口修正,艮P write_clk—ideal_delaycell—num—modified 为write_clk_ideal_delaycell_num 与 write_clk—config—add 之和;将(write_clk—ideal_delaycell—num—modified-1)转换为独热码 one—hot—write—elk—delaycell—num ;在 DDR2系统时钟域内,将 one—hot—write—elk—delaycell—num 和 write—elk—ideal—delaycell—num—modified的最低位即write—elk—delaycell—num—odd通过寄存器输出至写操作时钟延迟链。
8.根据权利要求1所述的控制器电路,其特征在于:所述DDR2写操作DQS数字延迟链控制器,输入信号为DDR2系统时钟ddr—elk,DDR2系统复位信号resetn,DDR2系统写操作DQS 配置寄存器 write_dqs_add—delay,write_dqs_config—minus 和 write_dqs_config—add,时钟锁定数字延迟链控制器输入的锁定lock信号和延迟链延迟单元数量clock—locked—delaycell—num信号,输出与DDR2系统时钟相同相位所需的延迟单元数量对应的独热石马 one_hot_write_dqs_delaycell_num 和 write_dqs_delaycell_num_odd 至写操作DQS延迟链。
9.根据权利要求8所述的控制器电路,其特征在于:在DDR2系统时钟域内,将clock—locked—delaycell—num 赋值于 write—dqs—ideal—delaycell—num,根据 DDR2 规范,写操作时DQS信号应当与DDR2系统时钟具有相同的相位,在深亚微米工艺下,后端布局布线中存在着线延迟,芯片输出输入管脚延迟及板级延迟等问题,写操作DQS信号可能DDR2系统时钟存在偏差,需要对write—dqs—ideal—delaycell—num进行修正,定义修正后的write—dqs_ideal_delaycell_num 为 write_dqs_ideal_delaycell—num—modified ;当锁定 lock信号有效时,若写操作DQS信号在DDR2系统时钟相位之后,DDR2系统配置write—dqs—add—delay 为 0,对 write—dqs—ideal—delaycell—num 进行减小修正,即 write—dqs—ideal—delaycell—num—modified 为 write_clk_ideal_delaycell_num 减去 write_dqs_config_minus ;若写操作DQ数据信号在DDR2系统时钟相位之前,DDR2系统配置write—dqs—add—delay 为 1,对 write—dqs—ideal—delaycell—num 进行增加修正,即 write—dqs—ideal—delaycell—num—modified 为 write_dqs_ideal_delaycell_num 与 write_dqs_config—add之和,将(write—dqs—ideal—delaycell—num—modified-1)转换为独热码 one—hot—write—dqs—delaycell—num ;在DDR2系统时钟域内,将 one—hot—write_dqs_delaycell—num 和write_dqs_ideal_delaycell_num_modified 的最低位即 write_dqs_delaycell_num_odd通过寄存器输出至写操作DQS数字延迟链。
10.根据权利要求1所述的控制器电路,其特征在于:所述DDR2读操作DQS数字延迟链控制器,其特征在于,输入信号为DDR2系统时钟ddr_clk,DDR2系统复位信号resetn,DDR2系统读操作 DQS 配置寄存器 read_dqs_add_delay, read_dqs_conf ig_minus 和 read_dqs_config_add,锁定 lock 信号和 clock_locked_delaycell_num 信号,输出读操作 DQS 相对于系统时钟1/4个相位所需的延迟单元数量对应的独热码one_hot_read_dqs_delaycell_num 和 read_dqs_delaycell_num_odd 至读操作 DQS 延迟链。
11.根据权利要求10所述的控制器电路,其特征在于:在DDR2系统时钟域内,clock_locked_delaycell_num 右移 2 位加上 clock_locked_delaycell_num
,结果为 read_dqs_ideal_delaycell_num,根据DDR2规范,读操作时DQS信号应当在DDR2系统时钟1/4个相位附近,在深亚微米工艺下,后端布局布线中存在着线延迟,芯片输出输入管脚延迟及板级延迟等问题,读操作DQS信号可能DDR2系统时钟存在偏差,需要对read_dqS_ideal_delaycell_num 进行修正,定义修正后的 read_clk_ideal_delaycell_ num 为 read—dqs_ideal—delaycell—num—modified ;当锁定lock信号有效时,若读操作DQS信号在DDR2系统时钟 1/4 个相位之后,DDR2 系统配置 read—dqs—add—delay 为 0,对 read—dqs—ideal—delaycell—num 进行减小修正,艮P read—dqs_ideal_delaycelI—num—modified 为 read—elk—ideal—delaycell—num 减去 read—dqs—conf ig—minus ;若读操作 DQ 数据信号在 DDR2系统时钟1/4个相位之前,DDR2系统配置read—dqs—add—delay为1,对read—dqs—ideal—delaycell—num 进行增力口修正,艮 P read—dqs_i deal_de layce 11—num—modified 为 read—dqs_ideal_delaycell_num 与 read—dqs_config—add 之和;将(read—dqs_ideal_delaycell_num—modified-l)转换为独热码 one—hot—read—dqs—delaycell—num ;在 DDR2 系统时钟域内,将 one—hot—read—dqs—delaycell—num 和 read—dqs—delaycell—num—odd 通过寄存器输出至读操作DQS延迟链。
全文摘要
本发明公开了一种DDR2读写操作数字延迟链工艺-温度-电压控制器电路,通过检测DDR2控制器和DDR2存储器之间的命令,输出同步数字延迟链使能信号至DDR2读写操作数字延迟链控制器。当DDR2控制器命令检测器检测到刷新命令时,工艺-温度-电压自动调整控制器在DDR2读写操作数字延迟链锁定的前提下,输出更新DDR2读写操作数字延迟链使能信号至DDR2读写操作数字延迟链控制器。本发明在DDR2控制器刷新命令操作阶段,DQS和DQ信号处于无效状态下,可以安全可靠、高精度地对DDR2读写操作数字延迟链进行动态更新。
文档编号G11C11/4063GK103226969SQ20131001004
公开日2013年7月31日 申请日期2013年1月11日 优先权日2013年1月11日
发明者吕新浩, 孙翼, 高鹏, 马涛 申请人:昆山慧凝微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1