一种抗噪声的延迟计数器
技术领域
本实用新型涉及半导体DRAM存储器设计领域,具体涉及一种抗噪声的延迟计数器。
背景技术
计算机以及各种电子设备广泛的应用于现代生活的各个方面,对内存产品(DRAM存储器)需求越来越大。人们对速度要求越来越快,存储器的时钟就越来越小。所以噪声对产品性能的影响越来越大。
存储器的延迟计数器是用来实现存储器的读指令的。每当一个读指令,用户期望在一个固定延迟周期(用户可以配置)后的时钟上升沿得到期望的数据,如图1所示为DRAM存储器读指令操作示意图,图中延迟周期为6。为了实现上述读操作,DRAM存储器一般分3步完成:
Step A:存储器接受外部读指令,产生内部时钟clk_rcv,内部时钟clk_rcv和外部时钟clk的延迟为δ0;
Step B:利用内部时钟计数
Step C:在计数器结束输出数据,从内部时钟到数据有效的时间为δ1
如图2所示,有两个显而易见的问题:
1、输出数据无法与外部时钟clk对齐;
2、随着时钟周期越来越小,内部延迟(δ0+δ1)有可能大于一个时钟周期,如图2数据有可能在第5/6/7...个时钟周期出现。
为了解决上述问题,DRAM存储器引入数字延迟锁相环DLL,产生内部时钟clk_rcv的一个延迟时钟clk_dll,延迟时钟clk_dll和外部时钟clk的相位差为δ1,如图3所示,如果数字延迟锁相环DLL产生的延迟时钟clk_dll和内部时钟clk_rcv的延迟δdll,满足δdll=N*Tck-(δ0+δ1),这样由延迟时钟clk_dll输出的数据和外部时钟完全对齐。
如图4、图5所示,DRAM延迟计数器利用δfb延迟电路产生一个hold信号用来保证输出指针(output pointer)到输入指针(input pointer)的时序关系。如果δfb=δ0+δ1,那么clk_fb和clk_rcv相位就完全对齐了。每当用户设定DRAM延迟周期之后,hold信号就会周期性的出现以保证随着电压/温度/工艺的变化输出指针到输入指针的相位关系不会错误。在理想情况下(电压/温度/工艺不变),hold信号出现的位置不会发生改变,同样输入指针和输出指针的位置也不会改变如图6所示。
但是当***发生噪声的时候,hold信号产生受建立/保持时间的影响会发生错误。从而导致输出指针到输入指针的位置发生错误,最终导致读指令的数据在错误的周期输出如图7所示。
发明内容
为了解决现有的存储器延迟计数器存在输出指针到输入指针的位置发生错误,读指令的数据在错误的周期输出的技术问题,本实用新型提供一种抗噪声的延迟计数器。
本实用新型的技术解决方案:
一种抗噪声的延迟计数器,其特殊之处在于:包括
δfb反馈延迟电路:用于对延迟时钟clk_dll进行处理产生hold信号:
采样电路:用于对hold信号进行采样,输出当前hold置位的输入指针和上N次hold置位输入指针值;
数字滤波器:接收采样电路输出的当前hold置位的输入指针和上N次hold置位输入指针值,并进行比较输出允许hold置位输入指针:
输入计数器:用于对允许hold置位输入指针进行计数,输出输入指针;
输出计数器:用于对延迟时钟clk_dll进行计数输出输出指针,输出输入指针;
FIFO:用于接收输入指针、输出指针以及读指针输出延迟计数后的读指令。
上述δfb反馈延迟电路hold信号用来保证输出指针到输入指针的时序关系。
上述上N次hold置位输入指针值中的N满足:N>0。
本实用新型所具有的优点:
本实用新型通过增加数字滤波器,保证hold信号出现的位置不会发生改变,从而保证hold信号周期性的出现随着电压/温度/工艺的变化输出指针到输入指针的相位关系不会错误。实现方式简单。
附图说明
图1为DRAM存储器读指令操作示意图;
图2为读指令分解图一示意图;
图3为读指令分解图二示意图;
图4为DLL基本原理示意图;
图5为延迟计数器基本示意图;
图6为正确的hold信号示意图;
图7为错误的hold信号示意图;
图8为本实用新型延迟计数器的结构示意图。
具体实施方式
DRAM存储器引入数字延迟锁相环DLL,产生内部时钟clk_rcv的一个延迟时钟clk_dll,延迟时钟clk_dll和外部时钟clk的相位差为δ1,如果数字延迟锁相环DLL产生的延迟时钟clk_dll和内部时钟clk_rcv的延迟δdll,满足δdll=N*Tck-(δ0+δ1),这样由延迟时钟clk_dll输出的数据和外部时钟完全对齐。
DRAM延迟计数器利用δfb反馈延迟电路产生一个hold信号用来保证输出指针到输入指针的时序关系。如果δfb=δ0+δ1,那么clk_fb和clk_rcv相位就完全对齐了。每当用户设定DRAM延迟周期之后,hold信号就会周期性的出现以保证随着电压/温度/工艺的变化输出指针到输入指针的相位关系不会错误。在理想情况下(电压/温度/工艺不变),hold信号出现的位置不会发生改变;但是当***发生噪声的时候,hold信号产生受建立/保持时间的影响会发生错误。在hold信号置位输入指针时加入数字滤波器。
如图8所示,一种抗噪声的延迟计数器,包括δfb反馈延迟电路:用于对延迟时钟clk_dll进行处理产生hold信号:采样电路:用于对hold信号进行采样,输出当前hold置位的输入指针和上N次hold置位输入指针值(N>0);数字滤波器:接收采样电路输出的当前hold置位的输入指针和上N次hold置位输入指针值,并进行比较输出允许hold置位输入指针:输入计数器:用于对允许hold置位输入指针进行计数,输出输入指针;输出计数器:用于对延迟时钟clk_dll进行计数输出输出指针,输出输入指针;FIFO:用于接收输入指针、输出指针以及读指针输出延迟计数后的读指令。