領域
本公開的各方面一般涉及存儲器,更具體地涉及用于存儲器接口的可編程功率。
背景技術:
芯片可以包括用于將該芯片上的電路(例如,存儲器控制器)與外部存儲器設備(諸如雙倍數據率動態隨機存取存儲器(DDR DRAM))對接的存儲器接口。該存儲器接口可以包括用于調整存儲器接口中的信號(例如,數據信號)的定時的延遲電路。例如,存儲器接口可以包括延遲電路以補償數據信號之間的偏斜(例如,由于存儲器接口與外部存儲器設備之間的數據線的長度失配所引起的偏斜)。在另一示例中,存儲器接口可以包括延遲電路以使得用于數據采樣的數據選通信號集中在數據信號的轉變之間。
概述
以下給出對一個或多個實施例的簡化概述以提供對此類實施例的基本理解。此概述不是所有構想到的實施例的詳盡綜覽,并且既非旨在標識所有實施例的關鍵性或決定性要素亦非試圖界定任何或所有實施例的范圍。其唯一的目的是要以簡化形式給出一個或更多個實施例的一些概念以作為稍后給出的更加具體的說明之序。
根據一方面,本文描述了一種延遲系統。該延遲系統包括第一延遲電路,該第一延遲電路被配置成向第二延遲電路提供電壓偏置并且以一更新速率來更新該電壓偏置,其中該電壓偏置控制第二延遲電路的延遲。該延遲系統還包括被配置成調整第一延遲電路的更新速率的更新控制器。
第二方面涉及一種用于延遲控制的方法。該方法包括向延遲電路提供電壓偏置,其中該電壓偏置控制該延遲電路的延遲。該方法還包括以一更新速率來更新電壓偏置,以及調整該更新速率。
第三方面涉及一種用于延遲控制的設備。該設備包括用于向延遲電路提供電壓偏置的裝置,其中該電壓偏置控制該延遲電路的延遲。該設備還包括用于以一更新速率來更新電壓偏置的裝置,以及用于調整該更新速率的裝置。
第四方面涉及一種存儲器接口。該存儲器接口包括被配置成延遲信號的第一延遲電路,其中該信號包括數據信號和數據選通信號中的一者。該存儲器接口還包括第二延遲電路,該第二延遲電路被配置成向第一延遲電路提供電壓偏置并且以一更新速率來更新該電壓偏置,其中該電壓偏置控制第一延遲電路的延遲。該存儲器接口進一步包括被配置成調整第二延遲電路的更新速率的更新控制器。
為能達成前述及相關目的,這一個或多個實施例包括在下文中充分描述并在權利要求中特別指出的特征。以下說明和所附插圖詳細闡述了這一個或更多個實施例的某些解說性方面。但是,這些方面僅僅是指示了可采用各個實施例的原理的各種方式中的若干種,并且所描述的實施例旨在涵蓋所有此類方面及其等效方案。
附圖簡述
圖1示出了用于與外部存儲器設備對接的存儲器接口的示例。
圖2是解說數據信號與數據選通之間的定時的示例的時序圖。
圖3示出了根據本公開的一實施例的主從架構的示例。
圖4示出了根據本公開的一實施例的從延遲電路的示例。
圖5示出了根據本公開的一實施例的主延遲電路的示例。
圖6示出了根據本公開的一實施例的時鐘延遲電路的示例。
圖7示出了根據本公開的一實施例的具有可編程功率的主延遲電路。
圖8是解說根據本公開的一實施例的其中每兩個時鐘周期更新電壓偏置的示例的時序圖。
圖9是解說根據本公開的一實施例的其中每四個時鐘周期更新電壓偏置的示例的時序圖。
圖10是解說根據本公開的一實施例的其中每四個時鐘周期更新電壓偏置的另一示例的時序圖。
圖11示出根據本公開的一實施例的更新電路的示例性實現。
圖12是解說根據本公開的一實施例的環路鎖定的示例的時序圖。
圖13示出了根據本公開的另一實施例的從延遲電路的示例性實現。
圖14A和14B示出了通過圖13的從延遲電路的不同延遲路徑的示例。
圖15示出了根據本公開的一實施例的具有壓控延遲的與非門的示例性實現。
圖16示出了根據本公開的另一實施例的主延遲電路的示例性實現。
圖17示出了根據本公開的另一實施例的時鐘延遲電路的示例性實現。
圖18是解說根據本公開的一實施例的時鐘延遲電路的第一延遲級和第二延遲級的輸出的時序圖。
圖19示出了根據本公開的一實施例的計數電路的示例性實現。
圖20示出了根據本公開的一實施例的重置邏輯的示例性實現。
圖21示出了根據本公開的另一實施例的更新電路的示例性實現。
圖22是解說根據本公開的一實施例的用于延遲控制的方法的流程圖。
詳細描述
以下結合附圖闡述的詳細描述旨在作為各種配置的描述,而無意表示可實踐本文中所描述的概念的僅有的配置。本詳細描述包括具體細節以便提供對各種概念的透徹理解。然而,對于本領域技術人員將顯而易見的是,沒有這些具體細節也可實踐這些概念。在一些實例中,以框圖形式示出眾所周知的結構和組件以避免湮沒此類概念。
芯片可以包括用于將該芯片上的電路(例如,存儲器控制器)與外部存儲器設備(諸如DDR DRAM)對接的存儲器接口。圖1示出了用于使芯片與外部存儲器設備(未示出)對接的示例性存儲器接口100。存儲器接口100包括第一多個觸發器115(1)-115(n)、第一多個去偏斜電路120(1)-120(n)、第二多個觸發器135(1)-135(n)、第二多個去偏斜電路145(1)-145(n)、第一延遲電路125、以及第二延遲電路140。
在寫操作期間,第一多個觸發器115(1)-115(n)并行地接收多個數據信號117(1)-117(n)。每個觸發器115(1)-115(n)還接收數據選通信號119,該數據選通信號119可以是具有傳入數據信號117(1)-117(n)的頻率的一半頻率的周期性信號。每個觸發器115(1)-115(n)在數據選通信號119的上升沿和下降沿上捕捉來自相應數據信號117(1)-117(n)的數據比特,并且將捕捉到的數據比特輸出至相應的去偏斜電路120(1)-120(n),以下更詳細地描述去偏斜電路。
數據選通信號119還被輸入至第一延遲電路125。在第一延遲電路125之前,數據選通信號119的邊沿與觸發器115(1)-115(n)的輸出數據信號118(1)-118(n)的轉變大致對齊。這是因為每個觸發器115(1)-115(n)在數據選通信號119的上升沿和下降沿上捕捉相應輸出數據信號118(1)-118(n)的數據比特。第一延遲電路125使數據選通信號119延遲四分之一周期,以使得經延遲數據選通信號121的邊沿大致集中在輸出數據信號118(1)-118(n)的轉變之間。
圖2示出了輸出數據信號118之一與數據選通信號119之間的定時關系的簡化示例。在這一示例中,數據選通信號119的上升沿220和下降沿222與輸出數據信號118的轉變210大致對齊。在被延遲四分之一周期(T/4)之后,數據選通信號121的上升沿220和下降沿222大致集中在輸出數據信號118的轉變210之間,如圖2中所示。存儲器設備在數據選通信號121的邊沿處對數據信號進行采樣。使數據選通信號121的邊沿集中在數據信號的轉變之間有助于確保存儲器設備在數據信號的有效數據窗內對該數據信號進行采樣。
每個去偏斜電路120(1)-120(n)將少量延遲添加至相應的數據信號118(1)-118(n)以補償從存儲器接口100行至存儲器設備(例如,DDR DRAM)的數據信號之間的偏斜。該偏斜可能是由于用于將數據信號傳輸至存儲器設備的線的長度失配和/或另一原因所引起的。在被相應的去偏斜電路120(1)-120(n)延遲之后,每個輸出數據信號在相應的雙向數據線DQ0-DQn-1上被輸出至存儲器設備。數據選通信號121在雙向選通線DQS上被輸出至存儲器設備。存儲器設備使用數據選通信號121來對接收自存儲器接口100的數據信號進行采樣。
在讀操作期間,存儲器接口100經由雙向數據線DQ0-DQn-1接收來自存儲器設備的多個數據信號132(1)-132(n)并且經由雙向選通線DQS接收來自存儲器設備的數據選通信號134。第二多個去偏斜電路145(1)-145(n)中的每個去偏斜電路接收數據信號132(1)-132(n)之一并且將少量延遲添加至相應的數據信號以補償數據信號之間的偏斜。
來自存儲器設備的數據選通信號134被輸入至第二延遲電路140,第二延遲電路140將數據選通信號134延遲四分之一周期。這么做的原因是存儲器設備在數據選通信號的邊沿與數據信號132(1)-132(n)的轉變對齊的情況下輸出數據選通信號134。通過使數據選通信號134延遲四分之一周期,第二延遲電路140將經延遲數據選通信號136的邊沿大致集中在數據信號132(1)-132(n)的轉變之間。
經延遲數據選通136隨后被輸入至第二多個觸發器135(1)-135(n)中的每個觸發器的時鐘輸入端。例如,可以使用時鐘樹來將經延遲數據選通信號136分發至觸發器135(1)-135(n)的時鐘輸入端。每個觸發器135(1)-135(n)在經延遲數據選通信號136的上升沿和下降沿上捕捉來自相應去偏斜電路145(1)-145(n)的輸出端138(1)-138(n)的數據比特。結果得到的輸出數據信號142(1)-142(n)可被發送給存儲器接口100中的附加電路系統(未示出)以供進一步處理。
存儲器接口100可以支持多個數據率,其中可以動態地調整向存儲器設備發送數據和從存儲器設備接收數據的速率。例如,可以針對需要高數據率的應用增加數據率,并且可以針對不需要高數據率的應用減小數據率。當數據率改變時,需要相應地調整延遲電路125和140的延遲。例如,當數據率加倍時,使數據選通信號119的周期減半。在這一示例中,第一延遲電路125的延遲被減半以維持數據選通信號119的四分之一周期的延遲。在另一示例中,當數據率減半時,使數據選通信號119的周期加倍。在這一示例中,第一延遲電路125的延遲被加倍以維持數據選通信號119的四分之一周期的延遲。
圖3示出了用于在存儲器接口(例如,存儲器接口100)中提供受控延遲的主從架構300的示例。主從架構300包括主延遲電路310和多個從延遲電路315(1)-315(m)。每個從延遲電路315(1)-315(m)提供作為步進延遲(step delay)的倍數的延遲,其中該步進延遲通過來自主延遲電路310的電壓偏置來控制。主延遲電路310基于(例如,來自晶體振蕩器的)參考時鐘來調整該電壓偏置以維持從延遲電路315(1)-315(m)的期望步進延遲,如以下進一步討論的。從延遲電路315(1)-315(m)可被用于實現圖1中所示的延遲電路125和140以及去偏斜電路120(1)-120(n)和145(1)-145(n)。
圖4示出了從延遲電路315之一的示例性實現。從延遲電路315包括多個延遲元件440(1)-440(p)(例如,緩沖器)和多路復用器(MUX)450。用來自主延遲電路310的電壓偏置來偏置延遲元件440(1)-440(p)中的每個延遲元件。該電壓偏置控制每個延遲元件440(1)-440(p)的延遲。
延遲元件440(1)-440(p)串聯耦合以形成延遲鏈430,其中每個延遲元件440(1)-440(p)的輸出端445(1)-445(p)將不同量的延遲提供給在從延遲電路315的輸入端(標示為“IN”)處接收的信號。更具體地,每個延遲元件440(1)-440(p)的輸出端445(1)-445(p)提供作為步進延遲的不同倍數的延遲,其中該步進延遲是一個延遲元件的延遲。例如,輸出端445(1)提供等于一個步進延遲的延遲,輸出端445(2)提供等于兩個步進延遲的延遲,輸出端445(3)提供等于三個步進延遲的延遲,以此類推。
延遲元件440(1)-440(p)的輸出端445(1)-445(p)耦合至多路復用器450,多路復用器450在延遲控制器460的控制下選擇輸出端445(1)-445(p)之一。多路復用器450將所選輸出端耦合至從延遲電路315的輸出端(標示為“OUT”)。延遲控制器460通過指令多路復用器450選擇與期望延遲相對應的延遲元件440(1)-440(p)的輸出端445(1)-445(p)來控制延遲電路315的延遲。
因此,延遲控制器460通過控制輸入信號所通過的延遲元件440(1)-440(p)的數目來調整從延遲電路315的延遲。這允許延遲控制器460通過步進延遲的倍數來控制延遲,其中該步進延遲是一個延遲元件的延遲。該步進延遲通過來自主延遲電路310的電壓偏置來控制,如以上所討論的。圖4中的從延遲電路315可被用于實現圖1中所示的延遲電路125和140以及去偏斜電路120(1)-120(n)和145(1)-145(n)中的任一者。以下討論從延遲電路的其他實現的示例。
圖5示出了主延遲電路310的示例性實現。在這一示例中,主延遲電路310是延遲鎖定環(DLL),該DLL包括重定時電路510、時鐘延遲電路515、相位頻率檢測器(PFD)520和電壓偏置控制器525。如以下進一步討論的,主延遲電路310的電壓偏置輸出通過反饋環路517反饋至時鐘延遲電路515以達成期望的步進延遲。
在操作中,重定時電路510接收參考時鐘、將參考時鐘延遲一個時鐘周期,并且將經延遲參考時鐘輸出至PFD 520的第一輸入端522。重定時電路510還將參考時鐘輸出至時鐘延遲電路515。時鐘延遲電路515將參考時鐘延遲由電壓偏置控制的量,該電壓偏置通過反饋環路517從主延遲電路310的輸出端反饋至時鐘延遲電路515。時鐘延遲電路515將結果得到的經延遲參考時鐘輸出至PFD 520的第二輸入端524。
PFD 520檢測第一輸入522與第二輸入524之間的相位誤差,并且基于檢測到的相位誤差來將相位誤差信號輸出至電壓偏置控制器525。電壓偏置電路525朝減少相位誤差的方向調整電壓偏置。電壓偏置電路525可以用電荷泵和環路濾波器來實現。
當時鐘延遲電路515的延遲大致等于一個參考時鐘周期時,相位誤差接近0。因此,電壓偏置控制器525調整電壓偏置,以使得時鐘延遲電路515的延遲大致等于一個時鐘周期。在一個方面,時鐘延遲電路515具有大致等于從延遲電路315(1)-315(m)的步進延遲的M倍的延遲。因此,在這一方面,主延遲電路310調整電壓偏置以維持約為T/M的步進延遲,其中T是一個時鐘周期(循環)。
在一個方面,由晶體振蕩器(XO)提供參考時鐘。晶體振蕩器能夠生成大致隨溫度、電壓和/或工藝不變的參考時鐘。由于主延遲電路310將參考時鐘用作用于調整電壓偏置的參考,因而主延遲電路310能夠調整該電壓偏置以維持大致隨溫度、電壓和/或工藝不變的步進延遲。
圖6示出了時鐘延遲電路515的示例性實現。在這一示例中,時鐘延遲電路515包括串聯耦合的M個延遲元件610(1)-610(M),其中每個延遲元件610(1)-610(M)由來自電壓偏置控制器525的電壓偏置來偏置。時鐘延遲電路515中的延遲元件610(1)-610(M)可以是從延遲電路315(1)-315(m)中的延遲元件440(1)-440(p)的復制品。
主延遲電路310可以在每個參考時鐘周期期間更新電壓偏置。具體地,PFD520可以在每個時鐘周期(循環)期間檢測第一輸入522與第二輸入524之間的相位誤差,并且將檢測到的相位誤差輸出至電壓偏置控制器525以更新電壓偏置。然而,在每個時鐘周期(循環)期間更新電壓偏置可能消耗相對大量的功率,這在存儲器接口被實現在移動設備中時會減少電池壽命。
本公開的各實施例提供了用于主延遲電路的可編程功率,其中通過調整主延遲電路更新至從延遲電路的電壓偏置的速率來調整主延遲電路的功耗。例如,主延遲電路可以在性能要求較低(例如,較低數據率)時較不頻繁地更新電壓偏置以降低功耗,如以下進一步討論的。
圖7示出了根據本公開的一實施例的具有可編程功率的主延遲電路710。主延遲電路710是延遲鎖定環(DLL),該DLL包括時鐘延遲電路515、相位頻率檢測器(PFD)520和電壓偏置控制器525。主延遲電路710進一步包括更新電路712和輸出電容器730。
更新電路712被配置成基于來自更新控制器750的控制信號N來控制主延遲電路710更新電壓偏置的速率,其中N是可編程的并且可以是整數。更具體地,更新電路712使主延遲電路710每N個參考時鐘周期(循環)更新電壓偏置(即,每N個周期一次電壓偏置更新的速率)。例如,如果N等于2,則主延遲電路710每兩個時鐘周期(循環)更新電壓偏置。
更新電路712可用于通過調整更新電壓偏置的速率來調整主延遲電路710的功耗。例如,更新控制器750可通過增大N(即,減小更新電壓偏置的速率)來降低主延遲電路710的功耗。
在操作中,更新電路712每N個參考時鐘周期(循環)輸出一對脈沖。每一對脈沖包括Q脈沖和ZQ脈沖,其中ZQ脈沖相對于Q脈沖被延遲大致一個時鐘周期。對于每一對脈沖,更新電路712將ZQ脈沖輸出至PFD 520的第一輸入端522并且將Q脈沖輸出至時鐘延遲電路515。時鐘延遲電路515將Q脈沖延遲由電壓偏置控制的量,該電壓偏置通過反饋環路517從電壓偏置控制器525的輸出端反饋至時鐘延遲電路515。時鐘延遲電路515將結果得到的經延遲Q脈沖輸出至PFD 520的第二輸入端524。PFD 520檢測ZQ脈沖與經延遲Q脈沖之間的相位誤差。例如,PFD 520可以通過檢測ZQ脈沖與經延遲Q脈沖的上升沿之間的相位差或者ZQ脈沖與經延遲Q脈沖的下降沿之間的相位差來檢測相位誤差。PFD 520基于檢測到的相位誤差來將相位誤差信號輸出至電壓偏置控制器525。電壓偏置電路525朝減少相位誤差的方向調整電壓偏置。
當時鐘延遲電路515的延遲大致等于一個參考時鐘周期時,相位誤差接近0。因此,電壓偏置控制器525調整電壓偏置,以使得時鐘延遲電路515的延遲大致等于一個時鐘周期。在一個實施例中,時鐘延遲電路515具有大致等于從延遲電路315(1)-315(m)的步進延遲的M倍的延遲。因此,在這一實施例中,主延遲電路710每N個時鐘周期(循環)更新電壓偏置以維持約為T/M的步進延遲,其中T是一個時鐘周期(循環)。
輸出電容器730被用于在各更新之間保持在電壓偏置控制器525的輸出端處的電壓偏置。輸出電容器730處的電壓偏置可能在電壓偏置的各更新之間漂移,從而導致從延遲電路315(1)-315(m)處的抖動。當各更新之間的時間量增加時,電壓偏置可能漂移較大量。作為結果,減小主延遲電路710更新電壓偏置的速率(即,增大N)可能會以較低性能(例如,較高抖動)為代價來降低功耗。因此,可能在減少主延遲電路710的功率與主延遲電路710的性能之間存在折衷。
在此方面,更新控制器750可被配置成將電壓偏置更新的速率減小至(并且因此將功率減小至)針對特定應用仍提供足夠性能的水平。例如,當存儲器接口以相對較慢的數據率操作時,有效數據窗相對較大。這放松了存儲器接口的定時要求,從而允許存儲器接口容忍來自主延遲電路710的較低性能(即,各更新之間較大的電壓偏置漂移)。在這一情形中,更新控制器750可以減小電壓偏置更新的速率(即,增大N)以降低功耗。當存儲器接口以較高數據率操作時,有效數據窗較小并且存儲器接口的定時要求較嚴格(例如,存儲器接口中的觸發器容忍較少抖動)。在這一情形中,更新控制器750可以增大電壓偏置更新的速率(即,減小N)以提高主延遲電路710的性能。因此,可以在不需要高性能時減小更新電壓偏置的速率以降低功耗,并且可以在需要高性能時(例如,在較高數據率時)增大更新電壓偏置的速率。
現在將參照圖8和9來描述主延遲電路710針對兩個不同的N值的示例性操作。圖8是解說其中N等于2的示例的時序圖。在這一示例中,更新電路712每兩個參考時鐘周期(循環)輸出一對脈沖810(1)-810(3)。每一對脈沖810(1)-810(3)包括輸出至時鐘延遲電路515的Q脈沖和輸出至PFD 520的第一輸入端522的ZQ脈沖,其中ZQ脈沖相對于Q脈沖被延遲大致一個時鐘周期。
圖8還示出了在每個Q脈沖已被時鐘延遲電路515延遲之后的該Q脈沖。對于每一對脈沖,PFD 520檢測相應的ZQ脈沖與相應的經延遲Q脈沖之間的相位誤差(如圖8中所示),并且電壓偏置控制器525基于檢測到的相位誤差來更新電壓偏置。在此這一例中,主延遲電路710檢測相位誤差并且每兩個參考時鐘周期(循環)基于檢測到的相位誤差來更新電壓偏置。
盡管圖8示出了其中每個經延遲Q脈沖相對于相應的ZQ脈沖較早(先于相應的ZQ脈沖)的示例,但是應當領會,經延遲Q脈沖可以相對于ZQ脈沖較晚。對于其中經延遲Q脈沖較早的情形,電壓偏置控制器525增加時鐘延遲電路515的延遲以減小相位誤差。對于其中經延遲Q脈沖較晚的情形,電壓偏置控制器525減少時鐘延遲電路515的延遲以減小相位誤差。
圖9是解說其中N等于4的示例的時序圖。在這一示例中,更新電路712每四個參考時鐘周期(循環)輸出一對脈沖910(1)-910(3)。每一對脈沖910(1)-910(3)包括輸出至時鐘延遲電路515的Q脈沖和輸出至PFD 520的第一輸入端522的ZQ脈沖,其中ZQ脈沖相對于Q脈沖被延遲大致一個時鐘周期。
圖9還示出了在每個Q脈沖已被時鐘延遲電路515延遲之后的該Q脈沖。對于每一對脈沖,PFD 520檢測相應的ZQ脈沖與相應的經延遲Q脈沖之間的相位誤差(如圖9中所示),并且電壓偏置控制器525基于檢測到的相位誤差來更新電壓偏置。在這一示例中,主延遲電路710檢測相位誤差并且每四個參考時鐘周期(循環)基于檢測到的相位誤差來更新電壓偏置。
因此,圖8示出了其中每兩個時鐘周期更新電壓偏置的示例,而圖9示出了每四個時鐘周期更新電壓偏置的示例。與圖8中的示例相比,圖9中的示例可通過較不頻繁地更新電壓偏置來降低功耗,這以各更新之間的較多電壓偏置漂移為代價。
圖10是解說其中N等于4的另一示例的時序圖。在這一示例中,更新電路712每四個參考時鐘周期(循環)輸出一對脈沖1010(1)-1010(3)。每一對脈沖1010(1)-1010(3)包括輸出至時鐘延遲電路515的Q脈沖和輸出至PFD 520的第一輸入端522的ZQ脈沖,其中ZQ脈沖相對于Q脈沖被延遲大致一個時鐘周期。這一示例與圖9中的示例的不同之處在于:ZQ和Q脈沖為低而非為高,并且更新電路712的兩個輸出端在各脈沖之間為高而非為低。
圖10還示出了在每個Q脈沖已被時鐘延遲電路515延遲之后的該Q脈沖。對于每一對脈沖,PFD 520檢測相應的ZQ脈沖與相應的經延遲Q脈沖之間的相位誤差(如圖10中所示),并且電壓偏置控制器525基于檢測到的相位誤差來更新電壓偏置。應當領會,PFD 520可以通過檢測這些脈沖的上升沿之間的相位差或者這些脈沖的下降沿之間的相位差來檢測相位誤差(圖10中所示)。在這一示例中,主延遲電路710每四個參考時鐘周期(循環)更新電壓偏置。
圖11示出了根據本公開的一實施例的更新電路712的示例性實現。在這一實施例中,更新電路712包括可編程計數器1110、第一時鐘門1115、第二時鐘門1120、以及時鐘周期延遲電路1122。時鐘門1115和1120中的每一者接收參考時鐘,并且被配置成在時鐘門接收到門啟用信號時使參考時鐘通過,而在時鐘門接收到門禁用信號時阻擋參考時鐘,如以下進一步討論的。
可編程計數器1110接收來自更新控制器750的控制信號N以及參考時鐘。計數器1110被配置成在每第N個參考時鐘周期(循環)期間輸出門啟用信號1125,并且在每第N個周期(循環)之間的(諸)周期期間輸出門禁用信號,其中N大于1。門啟用信號1125使第一時鐘門1115通過參考時鐘達一個時鐘周期以產生Q脈沖。時鐘周期延遲電路1122將門啟用信號延遲一個時鐘周期,并且將經延遲門啟用信號1130輸出至第二時鐘門1120。經延遲門啟用信號1130使第二時鐘門1120通過參考時鐘達一個時鐘周期以產生ZQ脈沖。由于輸入至第二時鐘門1120的門啟用信號1130相對于輸入至第一時鐘門1115的門啟用信號1125延遲了一個時鐘周期,因而ZQ脈沖相對于Q脈沖延遲了一個時鐘周期。
如以上所討論的,計數器1110在每第N個參考時鐘周期(循環)期間輸出門啟用信號1125。為此,計數器1110可以對參考時鐘的周期數進行計數,并且每當計數器1110數到N個參考時鐘周期時就輸出門啟用信號。由于N的值是可編程的,因而計數器1010啟用時鐘門1115和1120以產生脈沖對的速率(以及因此主延遲電路710更新電壓偏置的速率)是可編程的。
時鐘門1115和1120中的每一者可以使用一個或多個邏輯門來實現。例如,每個時鐘門1115和1120可以包括具有第一輸入端和第二輸入端的與門。該與門的第一輸入端接收參考時鐘并且該與門的第二輸入端接收門啟用信號(邏輯1)或門禁用信號(邏輯0)。在這一示例中,當該與門接收到門啟用信號(邏輯1)時,該與門使參考時鐘通過,并且當該與門接收到門禁用信號(邏輯0)時,該與門阻擋參考時鐘。當參考時鐘被阻擋時,該與門輸出邏輯0。根據這一實施例的時鐘門1115和1120可被用于生成高脈沖對(其示例在圖8和9中示出)。
在另一示例中,每個時鐘門1115和1120可以包括具有第一輸入端和第二輸入端的或門。該或門的第一輸入端接收參考時鐘并且該或門的第二輸入端接收門啟用信號(邏輯0)或門禁用信號(邏輯1)。在這一示例中,當該或門接收到門啟用信號(邏輯0)時,該或門使參考時鐘通過,并且當該或門接收到門禁用信號(邏輯1)時,該或門阻擋參考時鐘。當參考時鐘被阻擋時,該或門輸出邏輯1。根據這一實施例的時鐘門1115和1120可被用于生成低脈沖對(其示例在圖10中示出)。
應當領會,時鐘門1115和1120不限于以上討論的示例,并且每個時鐘門1115和1120可以使用其他類型的邏輯門和/或邏輯門的組合來實現。
時鐘周期延遲電路1122可以用觸發器(例如,D觸發器)來實現,該觸發器接收參考時鐘和門啟用信號并且使門啟用信號延遲所接收到的參考時鐘的一個周期。
如以上討論的,更新控制器750可以基于存儲器接口的定時要求來調整N的值。例如,定時要求可以取決于存儲器接口在給定時間的數據率。當數據率減小時,存儲器接口的定時要求變得更放松,并且因此對主延遲電路的性能要求降低。在這一情形中,可以減小更新電壓偏置的速率(即,可以增大N)以降低功耗。當數據率增大時,存儲器接口的定時要求變得更嚴格(例如,觸發器針對正確的數據采樣可以容忍的抖動量減小)。在這一情形中,可以增大更新電壓偏置的速率(即,可以減小N)以提高性能。
在一個實施例中,更新控制器750可以包括查找表,其中該查找表包括由存儲器接口支持的多個不同的數據率。該查找表可以將每個數據率映射到相應的N值。對于較低的數據率,N的值可以較大。在這一實施例中,更新控制器750可以接收對存儲器接口的當前數據率的指示(例如,來自存儲器控制器),并且使用查找表來確定與當前數據率相對應的N值。更新控制器750可以隨后用所確定的N值來對主延遲電路710中的更新電路712進行編程。
如果數據率改變,則更新控制器750可以使用查找表來確定與新數據率相對應的N值。如果新數據率的N值不同于先前數據率的N值,則更新控制器750可以用針對新數據率的N值來對主延遲電路710中的更新電路712進行編程。由此,N的值(以及因此電壓偏置更新的速率)可以根據存儲器接口的數據率的變化來調整。
例如,對于DDR存儲器接口,在數據率低于第一數據率(例如,低于400MHz)時可以將N設置成最大值(例如,32),并且在數據率高于第二數據率(例如,高于1.6GHz)時可以將N設置為1。在這一示例中,可以針對第一和第二數據率之間(例如,400MHz和1.6GHZ之間)的數據率將N調整成1與最大值之間的值。
當主延遲電路710首次上電時,相位誤差可能相對較大。在此方面,更新控制器750可以最初將N的值設為1以快速減小相位誤差并且鎖定主延遲電路710的環路。當相位誤差降到可接受水平時,更新控制器750可以增大N的值以降低功耗。例如,如以上討論的,更新控制器750可以基于存儲器接口的當前數據率來增大N的值。
圖12是示出其中N的值在鎖定時段期間最初被設為1的示例的時序圖。在鎖定時段期間,每參考時鐘周期更新電壓偏置以快速地鎖定主延遲電路710的環路。該鎖定時段可以在相位誤差降到可接受水平(例如,滿足存儲器接口的定時要求的水平)時結束。在主延遲電路710的環路被鎖定之后,N的值可以增大以減小功率。在圖12中所示的示例中,N的值增大到4。然而,應當領會,本公開的諸實施例不限于這一示例,并且N的值可以增大到滿足存儲器接口的定時要求的任何值。還應當領會,鎖定時段不限于圖12中所示的示例中的歷時。一般而言,鎖定時段的歷時可以取決于將相位誤差減小到可接受水平所需要的電壓偏置更新的次數。
在一個實施例中,更新控制器750可以在自鎖定時段開始起預定數目的時鐘周期之后結束鎖定時段。在這一實施例中,預定數目的時鐘周期可以基于對鎖定主延遲電路710所需要的時鐘周期數目的估計。在另一實施例中,更新控制器750可以監視來自PFD 520的所檢測到的相位誤差。在這一實施例中,更新控制器750可以在檢測到的相位誤差降到閾值以下時結束鎖定時段。
圖13示出了根據本公開的一實施例的從延遲電路1315的示例性實現。從延遲電路1315可被用于實現圖3中所示的從延遲電路315(1)-315(m)中的任何一者。從延遲電路1315包括沿(由箭頭1312指示的)前向路徑的第一多個與非門1310(1)-1310(5),以及沿(由箭頭1332指示的)返回路徑的第二多個與非門1330(1)-1330(5)。從延遲電路1315還包括前向路徑與返回路徑之間的第三多個與非門1320(1)-1320(5),其中每個與非門1320(1)-1320(5)耦合在前向路徑與返回路徑上的兩個不同位置之間。與非門1310(1)-1310(5)、1320(1)-1320(5)和1330(1)-1330(5)由來自主延遲電路的電壓偏置(圖13中未示出)進行偏置,其中該電壓偏置控制每個與非門的延遲。
在這一實施例中,延遲控制器1340控制從延遲電路1315的輸入端與輸出端(標示為“IN”和“OUT”)之間的延遲。延遲控制器1340通過選擇性地啟用和禁用從延遲電路1315中的與非門以控制信號通過從延遲電路1315的路徑來控制從延遲電路1315的輸入端與輸出端之間的延遲,如以下進一步討論的。
在此方面,與非門1310(1)-1310(5)在控制輸入端1317(1)-1317(5)處接收來自延遲控制器1340的控制信號,與非門1320(1)-1320(5)在控制輸入端1325(1)-1325(5)處接收來自延遲控制器1340的控制信號,并且與非門1330(5)在控制輸入端1335處接收來自延遲控制器1340的控制信號。為了便于解說,圖13中未示出與非門的控制輸入端與延遲控制器1340之間的連接。這些控制信號選擇性地啟用和禁用這些與非門以控制信號通過從延遲電路1315的路徑,并且因此控制信號通過從延遲電路1315的延遲。當與非門被啟用時(例如,通過將邏輯1輸入到相應的控制輸入端),則該與非門充當反相器。當與非門被禁用時(例如,通過將邏輯0輸入到相應的控制輸入端),則該與非門的輸出狀態恒定不變。
圖14A示出了其中延遲控制器1340形成通過從延遲電路1315的與非門1310(1)-1310(3)、1320(4)和1330(1)-1330(4)的延遲路徑1410的示例。在這一示例中,通過從延遲電路1315的延遲等于一個與非門的延遲的8倍,因為信號傳播通過8個與非門。圖14A還示出了從延遲控制器1340輸入到與非門1310(1)-1310(5)、1320(1)-1320(5)和1330(5)的控制輸入端以形成延遲路徑1410的控制信號的邏輯狀態。為了便于解說,圖14A中未示出控制輸入端的附圖標記。
圖14B示出了其中延遲控制器1340形成通過從延遲電路1315的與非門1310(1)-1310(4)、1320(5)和1330(1)-1330(5)的延遲路徑1420的示例。在這一示例中,通過從延遲電路1315的延遲等于一個與非門的延遲的10倍,因為信號傳播通過10個與非門。圖14B還示出了從延遲控制器1340輸入到與非門1310(1)-1310(5)、1320(1)-1320(5)和1330(5)的控制輸入端以形成延遲路徑1420的控制信號的邏輯狀態。為了便于解說,圖14B中未示出控制輸入端的附圖標記。
在這一實施例中,延遲控制器1340能夠將從延遲電路1315的延遲調整步進延遲的倍數,其中該步進延遲是兩個與非門的延遲。兩個與非門的步進延遲確保信號在從延遲電路1315的輸入端和輸出端處具有相同的極性。該步進延遲由從主延遲電路提供給與非門的電壓偏置來控制。應當領會,從延遲電路1315不限于圖13中所示的示例中的與非門的數目,并且從延遲電路1315可以包括任何數目的與非門。例如,與非門的數目可以增加以增加可選延遲的數目。
圖15示出了根據本公開的一實施例的具有壓控延遲的與非門1510的示例性實現。與非門1510可被用于實現圖13中的與非門。與非門1510包括與非邏輯1512、欠流PMOS晶體管1520、以及欠流NMOS晶體管1550。如以下進一步討論的,與非邏輯1512執行與非門1510的邏輯功能,并且PMOS和NMOS晶體管1520和1550控制與非門1510的延遲。
與非邏輯1512包括第一PMOS晶體管1530、第二PMOS晶體管1535、第一NMOS晶體管1540、以及第二NMOS晶體管1545。第一和第二PMOS晶體管1530和1535的源極耦合在一起,第一和第二PMOS晶體管1530和1535的漏極耦合在一起,第一NMOS晶體管1540的漏極耦合至第一和第二PMOS晶體管1530和1535的漏極,并且第一NMOS晶體管1540的源極耦合至第二NMOS晶體管1545的漏極。第一和第二PMOS晶體管1530和1535的源極通過欠流PMOS晶體管1520耦合至電源Vdd,并且第二NMOS晶體管1545的源極通過欠流NMOS晶體管1550耦合至接地。
與非門1510的第一輸入端(標示為“IN1”)耦合至第一PMOS晶體管1530和第一NMOS晶體管1540的柵極,并且與非門1510的第二輸入端(標示為“IN2”)耦合至第二PMOS晶體管1535和第二NMOS晶體管1545的柵極。與非門1510的輸出端(標示為“OUT”)耦合至第一PMOS晶體管1530、第二PMOS晶體管1535和第一NMOS晶體管1540的漏極。
如以上所討論的,與非邏輯1512執行與非門1510的邏輯功能。在此方面,與非邏輯1512在第一和第二輸入端(IN1和IN2)均處于邏輯1的情況下輸出邏輯0,否則輸出邏輯1。因此,如果第二輸入端(IN2)處于邏輯0,則與非邏輯1512輸出邏輯1,而不管第一輸入端(IN1)處的邏輯狀態。如果第二輸入端(IN2)處于邏輯1,則與非邏輯1512輸出第一輸入端(IN1)處的邏輯狀態的逆。
在一個示例中,第一輸入端(IN1)可被用于接收傳播通過從延遲電路(例如,從延遲電路1315)的信號,并且第二輸入端(IN2)可被用于接收來自延遲控制器(例如,延遲控制器1340)的控制信號。在這一示例中,如果控制信號為邏輯0,則與非邏輯1512輸出邏輯1,而不管第一輸入端(IN1)處的邏輯狀態。在這一情形中,與非邏輯1512不傳播第一輸入端(IN1)處的信號。如果控制信號為邏輯1,則與非邏輯1512使第一輸入端(IN1)處的信號反相,并且因此作為反相器來傳播該信號。
如以上討論的,欠流PMOS晶體管1520和欠流NMOS晶體管1550控制與非門1510的延遲。更具體地,欠流NMOS晶體管1550在其柵極處接收第一電壓偏置Vbn,并且基于第一電壓偏置Vbn來控制導致與非門1510的輸出端處的下降沿的信號延遲。這是因為第一電壓偏置Vbn控制欠流NMOS晶體管1550的導電率,并且因此控制可以從與非門1510的輸出端(OUT)通過欠流NMOS晶體管1550流到地的電流量。這進而控制與非門1510的下降時間并且因此控制與非門1510的輸出端(OUT)從高轉變到低(即,下降沿)的時間量。第一電壓偏置Vbn越高,則從輸出端(OUT)至地的電流越大,并且因此延遲越短。第一電壓偏置Vbn越低,則從輸出端(OUT)至地的電流越小,并且因此延遲越長。
欠流PMOS晶體管1520在其柵極處接收第二電壓偏置Vbp,并且基于第二電壓偏置Vbp來控制導致與非門1510的輸出端(OUT)處的上升沿的信號延遲。這是因為第二電壓偏置Vbp控制欠流PMOS晶體管1520的導電率,并且因此控制可以從Vdd通過欠流PMOS晶體管1520流到與非門1510的輸出端(OUT)的電流量。這進而控制與非門1510的上升時間,并且因此控制與非門1510的輸出端從低轉變到高(即,上升沿)的時間量。第二電壓偏置Vbp越低,則從Vdd至輸出端(OUT)的電流越高,并且因此延遲越短。第二電壓偏置Vbp越高,則從Vdd至輸出端(OUT)的電流越小,并且因此延遲越長。
因此,第一和第二電壓偏置Vbn和Vbp控制與非門1510的延遲,并且因此控制包括用與非門1510實現的與非門的從延遲電路的步進延遲。第一電壓偏置Vbn控制與非門1510的輸出端(OUT)處的下降沿的延遲,而第二電壓偏置Vbp控制與非門1510的輸出端(OUT)處的上升沿的延遲。
圖16示出了根據本公開的一實施例的主延遲電路1610,其被配置成調整第一和第二電壓偏置Vbn和Vbp以達成從延遲電路的期望步進延遲。主延遲電路1610包括更新電路712、時鐘延遲電路1615、相位頻率檢測器(PFD)1620、電荷泵1625、Vbp發生器1640、以及初始拉動電路1650。主延遲電路1610進一步包括耦合在電荷泵1625的輸出端與接地之間的第一電容器1630、以及耦合在Vdd與Vbp發生器1640的輸出端之間的第二電容器1645。如以下進一步討論的,第一電容器1630被用于生成第一電壓偏置Vbn,而第二電容器1645被用于生成第二電壓偏置Vbp。
在操作中,更新電路712每N個參考時鐘周期(循環)輸出一對脈沖。每一對脈沖包括Q脈沖和ZQ脈沖,其中ZQ脈沖相對于Q脈沖被延遲大致一個時鐘周期。對于每一對脈沖,更新電路712將ZQ脈沖輸出至PFD 1620的第一輸入端1622并且將Q脈沖輸出至時鐘延遲電路1615。時鐘延遲電路1615將Q脈沖延遲由第一和第二電壓偏置Vbn和Vbp控制的量,這些電壓偏置分別從電荷泵1625和Vbp發生器1640的輸出端反饋至時鐘延遲電路1615。第一電壓偏置Vbn通過第一反饋環路1655反饋至時鐘延遲電路1615,而第二電壓偏置Vbp通過第二反饋環路1660反饋至時鐘延遲電路1615。時鐘延遲電路1615將結果得到的經延遲Q脈沖輸出至PFD 1620的第二輸入端1624。
PFD 1620檢測ZQ脈沖與經延遲Q脈沖之間的相位誤差。例如,PFD 1620可以通過檢測ZQ脈沖與經延遲Q脈沖的上升沿之間的相位差或者ZQ脈沖與經延遲Q脈沖的下降沿之間的相位差來檢測相位誤差。PFD 1620基于檢測到的相位誤差來將UP(上升)信號和/或DWON(下降)信號輸出至電荷泵1625。UP信號使電荷泵1625對第一電容器1630進行充電(并且因此增大第一電壓偏置Vbn),DOWN信號使電荷泵1625對第一電容器1630進行放電(并且因此減小第一電壓偏置Vbn)。PFD 1620朝減小檢測到的相位誤差的方向調整UP信號和/或DOWN信號(并且因此調整第一電壓偏置Vbn)。
第一電壓偏置Vbn被輸入到Vbp發生器1640,Vbp發生器1640基于第一電壓偏置Vbn來生成第二電壓偏置Vbp。在一個實施例中,Vbp發生器1640可以簡單地調整第二電壓偏置Vbp,以使得Vdd-Vbp大致等于Vbn。在另一實施例中,Vbp發生器1640可以調整第二電壓偏置Vbp,以使得從延遲電路中的與非門的上升時間和下降時間大致相等。例如,Vbp發生器1640可以包括由互補信號驅動的兩個與非門,從而導致這些與非門中的一個與非門上升而同時另一個與非門下降。這兩個與非門可以由第一和第二電壓偏置Vbn和Vbp來偏置,并且可以是從延遲電路中的與非門的復制品。在這一示例中,Vbp發生器1640可以檢測與非門的上升沿和下降沿交叉的點(例如,電壓),并且調整第二電壓偏置Vbp,以使得該交叉點大致在與非門的電壓擺幅的中間(例如,Vdd的大致一半)。
當時鐘延遲電路1615的延遲大致等于一個參考時鐘周期時,相位誤差接近0。因此,主延遲電路1610調整第一和第二電壓偏置Vbn和Vbp,以使得時鐘延遲電路1615的延遲大致等于一個時鐘周期。在一個實施例中,時鐘延遲電路1615具有大致等于從延遲電路的步進延遲的M倍的延遲。例如,在一簡單實現中,時鐘延遲電路1615可以包括串聯耦合的2*M個與非門,其中步進延遲是兩個與非門的延遲。因此,在這一實施例中,主延遲電路1610每N個時鐘周期(循環)更新第一和第二電壓偏置Vbn和Vbp以維持約為T/M的步進延遲,其中T是一個時鐘周期(循環)。
第一電容器1630在各更新之間保持第一電壓偏置Vbn,而第二電容器1645在各更新之間保持第二電壓偏置Vbp。第一和第二電壓偏置Vbn和Vbp在各更新之間漂移。如以上討論的,增加各更新之間的時間(即,增大N)將以各更新之間更多的漂移(并且因此較低性能)為代價來降低功耗。在此方面,更新控制器750可以調整更新速率(即,調整N)以降低功耗,而同時仍滿足特定數據率的定時要求。
初始拉動電路1650被配置成設置第一和第二電壓偏置Vbn和Vbp的初始值以防止虛鎖定。為此,在重置信號(標示為“i_rst”)被斷言(例如,i_rst為邏輯1)時,初始拉動電路1650最初將第一電壓偏置Vbn上拉到電源Vdd并且將第二電壓偏置Vbp下拉到接地。這最初將時鐘延遲電路1615設置成短于一個時鐘周期的延遲,此舉有助于確保主延遲電路1610將時鐘延遲電路1615的延遲鎖定到一個時鐘周期。
在第一和第二電壓偏置Vbn和Vbp被初始設置并且重置被關閉(例如,i_rst為邏輯0)之后,主延遲電路1610可以在鎖定時段期間每時鐘周期(循環)更新第一和第二電壓偏置Vbn和Vbp。一旦主延遲電路1610被鎖定,就可以增加各更新之間的間隔(即,可以增大N)以節省功率,如以上所討論的。
圖17示出了根據本公開的一實施例的時鐘延遲電路1615的示例性實現。時鐘延遲電路1615包括第一延遲級1710和第二延遲級1750。通過時鐘延遲電路1615的總延遲大致為通過第一和第二延遲級1710和1750的延遲的總和。
第一延遲級1710包括振蕩器1720和計數電路1730。振蕩器1720包括延遲電路1725和振蕩啟用/禁用電路1740。
延遲電路1725可以包括在與圖13中的從延遲電路1315的結構相似的結構中耦合的與非門。在圖17中所示的示例中,延遲電路1725中的一部分與非門被啟用以形成通過延遲電路1725的延遲路徑1712。在一個示例中,路徑1712的延遲等于16*td,其中td為一個步進延遲(例如,兩個與非門的延遲)。步進延遲td由第一和第二電壓偏置Vbn和Vbp(圖17中未示出)來控制。
振蕩啟用/禁用電路1740基于來自計數電路1730的控制信號來控制是啟用還是禁用振蕩器1720,如以下進一步討論的。在圖17中的示例中,振蕩啟用/禁用電路1740包括與非門1740,與非門1740具有耦合至延遲電路1725的輸出端1735的第一輸入端、耦合至計數電路1730以用于接收控制信號的第二輸入端1745(也稱為控制輸入端)、以及耦合至延遲電路1725的輸入端的輸出端。與非門1740可以由第一和第二電壓偏置Vbn和Vbp(圖17中未示出)來偏置。
在這一示例中,當控制信號為邏輯1時,與非門1740充當延遲電路1725的輸出端與輸入端之間的反相器,從而導致延遲電路1725振蕩。因此,當控制信號為邏輯1時,振蕩器1720被啟用。當控制信號為邏輯0時,與非門1740的輸出狀態在邏輯1處保持恒定,而不管延遲電路1725的輸出端處的邏輯狀態。這有效地將延遲電路1725的輸出端與延遲電路1725的輸入端阻隔開。結果,防止延遲電路1725振蕩。因此,當控制信號為邏輯0時,振蕩器1720被禁用。
當振蕩器1720被啟用時,延遲電路1725和與非門1740形成閉環,其中通過該環路一次等于通過延遲電路1725的路徑1712的延遲和與非門1740的延遲的總和。對于其中路徑1712的延遲等于16*td的示例,通過該環路一次大致等于16.5*td(即,通過路徑1712的16*td延遲和通過與非門1740的0.5*td延遲)。
現在將根據本公開的實施例來描述第一延遲級1710的示例性操作。在這一示例中,可以假定第一延遲級1710接收來自更新電路712的低Q脈沖(其示例在圖10中示出)。在接收到來自更新電路712的Q脈沖的上升沿之前,振蕩器1720被禁用(即,計數電路1730將邏輯0輸出至與非門1740的控制輸入端1745)。另外,計數電路1730將邏輯1輸出至第二延遲級1750。
在Q脈沖的上升沿上,計數電路1730被觸發。這使計數電路1730將邏輯1輸出至與非門1740的控制輸入端1745以啟用振蕩器1720。這還使計數電路1730開始對振蕩器1720的振蕩次數進行計數,并且將至第二延遲級1750的輸出從高轉變到低。
當振蕩器1720振蕩時,延遲電路1725的輸出端1735處的邏輯狀態改變。輸出邏輯狀態的各改變之間的時間大致等于通過與非門1740和延遲電路1725中的路徑1712一次的延遲。計數電路1730可以在延遲電路1725的輸出端1735處的每個下降沿上遞增計數值。替換地,計數電路1730可以在延遲電路1725的輸出端1735處的每個上升沿上遞增計數值。在任一情形中,每當信號通過與非門1740和延遲電路1725中的路徑1712兩次,計數電路1730就遞增計數值。對于其中通過與非門1740和延遲電路1725中的路徑1712的延遲等于16.5*td的示例,計數器1730在2*16.5*td的延遲之后遞增計數值。
當計數值達到預定的終止計數值(例如,計數13)時,計數電路1730將邏輯0輸出至與非門1740的控制輸入端1745以禁用振蕩器1720。計數電路1730還將上升沿輸出至第二延遲級1750。因此,第一延遲級1710響應于計數值達到終止計數值而將上升沿輸出至第二延遲級1750。對于其中終止計數值為13并且通過與非門1740和延遲電路1725的延遲為16.5*td的示例,輸入至第一延遲級1710的Q脈沖的上升沿與輸出至第二延遲級1750的上升沿之間的延遲大致等于13*2*16.5*td。在達到終止計數之后,振蕩器1720可以保持被禁用,直至計數電路1730被下一Q脈沖的上升沿重新觸發。另外,計數電路1730可以將邏輯1輸出至第二級1750,直至被重新觸發。
在一個實施例中,第二延遲級1750具有與第一延遲級1710基本相同的結構。在此實施例中,第二延遲級1750包括振蕩器1770和計數電路1780。振蕩器1770包括振蕩啟用/禁用電路1790和延遲電路1775。在圖17中的示例中,振蕩啟用/禁用電路1790包括與非門1790。第二延遲級1750中的延遲電路1775、計數電路1780和與非門1790可以按與第一延遲級1710中的延遲電路1725、計數電路1730和與非門1740基本相似的方式起作用。
在接收到來自第一延遲級1710的上升沿之前,第二延遲級1750中的振蕩器1770被禁用(即,計數電路1780將邏輯0輸出至與非門1790的控制輸入端1795)。另外,計數電路1780將邏輯1輸出至PFD 1620。
在來自第一延遲級1710的上升沿上,計數電路1780被觸發。這使計數電路1780將邏輯1輸出至與非門1790的控制輸入端1795以啟用振蕩器1770。這還使計數電路1780開始對振蕩器1770的振蕩次數進行計數,并且將至PFD1620的輸出從高轉變到低。
當計數電路1780處的計數值達到預定的終止計數值(例如,計數13)時,計數電路1780將邏輯0輸出至與非門1790以禁用振蕩器1770。計數電路1780還將上升沿輸出至PFD 1620。對于其中終止計數值為13并且通過與非門1790和延遲電路1775的延遲為16.5*td的示例,輸入至第二延遲級1750的上升沿與輸出至PFD 1620的上升沿之間的延遲大致等于13*2*16.5*td。在達到終止計數之后,振蕩器1770可以保持被禁用,直至計數電路1780被來自第一延遲級1710的下一上升沿重新觸發。另外,計數1780可以將邏輯1輸出至PFD1620,直至被重新觸發。
圖18是解說Q脈沖、第一延遲級1710的輸出、以及第二延遲級1750的輸出的示例的時序圖。在此示例中,假定N大于1。Q脈沖的上升沿1810觸發第一延遲級1710中的計數電路1730,從而使第一延遲級1710的輸出從高轉變到低。當計數電路1730的計數值達到終止計數時,第一延遲級1710將上升沿1820輸出至第二延遲級1750。來自第一延遲級1710的上升沿1820觸發第二延遲級中的計數電路1780,從而使第二延遲級1750的輸出從高轉變到低。當計數電路1780的計數值達到終止計數時,第二延遲級1750將上升沿1830輸出至PFD 1620。輸出至PFD 1620的上升沿1830從Q脈沖的上升沿延遲了通過第一和第二延遲級1710和1750的延遲的總和,如圖18中所示。
如以上討論的,主延遲電路1610調整第一和第二電壓偏置Vbn和Vbp,直至通過時鐘延遲電路1615的延遲大致等于一個時鐘周期。因此,主延遲電路1610調整第一和第二電壓偏置Vbn和Vbp以達成為T/M的步進延遲,其中T是一個時鐘周期并且M是第一和第二延遲級1710和1750中的步進延遲的總數。對于其中通過時鐘延遲電路1615的每一級1710和1750的延遲等于13*2*16.5*td的示例,通過時鐘延遲電路1615的總延遲等于2*13*2*16.5*td。在此示例中,主延遲電路1610調整第一和第二偏置Vbn和Vbp以達成大致等于T/(2*13*2*16.5)的步進延遲td,其中T是一個時鐘周期。
圖17中的示例性時鐘延遲電路1615提供了以下優點中的一個或多個優點。首先,與簡單地使用長延遲鏈相比,時鐘延遲電路1615能夠使用少得多的與非門來達成較小的步進延遲,由此減小時鐘延遲電路1615的大小。這是因為時鐘延遲電路1615使用相對較小的延遲鏈(例如,路徑1712中的與非門)來形成振蕩器,并且對振蕩器的振蕩次數進行計數以創建時鐘延遲電路1615的延遲。
另一優點在于,當減小電壓偏置更新速率(即,增大N)時,顯著降低了時鐘延遲電路1615的功耗。這是因為振蕩器1720和1770在各更新之間被禁用。結果,當各更新之間的間隔增大(即,N增大)時,降低了來自振蕩器1720和1770的動態功耗。例如,當N大于1時,由振蕩器1720和1770消耗的功率被降低至振蕩器1720和1770針對每時鐘周期更新電壓偏置Vbn和Vbp的情形所消耗的功率的約1/N。
另一優點在于,使用兩個延遲級1710和1750向每一級提供了在各Q脈沖之間有更多時間進行重置。例如,當第一延遲級1710針對當前Q脈沖達到終止計數并且N等于1時,第一延遲級1710具有大致等于第二延遲級1750的延遲的時間量來針對下一Q脈沖進行重置。
應當領會,延遲電路1725和1775不限于與非門。例如,每個延遲電路1725和1775可以包括不同于與非門的延遲元件鏈,其中這些延遲元件可以是從延遲電路中的延遲元件的復制品。在此示例中,延遲鏈的輸入端和輸出端可以選擇性地耦合以形成振蕩器,并且相應的計數電路1730和1780可以對振蕩器的振蕩次數進行計數以創建延遲。
還應領會,時鐘延遲電路1615不限于兩個延遲級。例如,時鐘延遲電路1615可以包括一個延遲級1710,其中第一延遲級1710的輸出端將經延遲Q脈沖提供給PFD 1620。例如,當延遲級1710具有充足的時間來針對下一Q脈沖進行重置時,可以使用一個延遲級1710,而無需第二延遲級(例如,當N等于2或更大時)。
圖19示出根據本公開的一實施例的第一延遲級1710中的計數電路1730的示例性實現。第二延遲級1750中的計數電路1780也可以使用圖19中所示的電路來實現。
在此實施例中,計數電路1730包括重置邏輯1915、計數器1910、與非門1920、或門1930、反相器1925、以及或門1935。在以下描述中,計數電路1730中的與非門1920將被稱為第二與非門1920,而用于啟用/禁用振蕩器1720的與非門1740將被稱為第一與非門1740。
第二與非門1920具有耦合至延遲電路1725的輸出端(標示為“o_osc”)的第一輸入端、以及耦合至重置邏輯1915的輸出端(標示為“rst_cnt”)的第二輸入端。計數器1910具有耦合至第二與非門1920的輸出端的輸入端(標示為“i_cnt”)、以及耦合至第一與非門1740的控制輸入端1745的輸出端(標示為“o_cnt”)。因此,在此實施例中,計數器1910的輸出端(o_cnt)的邏輯狀態控制是啟用還是禁用振蕩器1720。或門1935具有用于接收初始重置信號(標示為“i_rst”)的第一輸入端以及通過反相器1925耦合至延遲電路1725的輸出端(o_osc)的第二輸入端。或門1935的輸出端耦合至重置邏輯1915的重置輸入端(標示為“rst”)。或非門1930具有耦合至計數器1910的輸入端(i_cnt)的第一輸入端以及耦合至計數器1910的輸出端(o_cnt)的第二輸入端。
現在將根據本公開的實施例來描述計數電路1730的示例性操作。在此示例中,可以假定第一延遲級1710接收來自更新電路712的低Q脈沖(其示例在圖10中示出)。在接收到來自更新電路712的Q脈沖的上升沿之前,振蕩器1720被禁用(即,計數器1910將邏輯0輸出(o_cnt)至第一與非門1740的控制輸入端1745),并且延遲電路1725將邏輯1輸出(o_osc)至第二與非門1920。重置邏輯1915將邏輯1輸出(rst_cnt)至第二與非門1920。因此,第二與非門1920接收來自延遲電路1725和重置邏輯1915兩者的邏輯1,從而使第二與非門1920將邏輯0輸出至計數器1910的輸入端(i_cnt)。由于計數器1910的輸入端(i_cnt)和輸出端(o_cnt)兩者均為邏輯0,因而或非門1930輸出邏輯1。
在Q脈沖的上升沿上,重置邏輯1915的輸出(rst_cnt)從高轉變到低。這使第二與非門1920將邏輯1輸出至計數器1910的輸入端(i_cnt),這觸發計數器1910開始計數。作為響應,計數器1910將邏輯1輸出(o_cnt)至第一與非門1740的控制輸入端1745以啟用振蕩器1720。因此,計數器1910響應于重置邏輯1915的輸出(rst_cnt)變低而啟用振蕩器1720。此外,計數器1910的輸出端(o_cnt)處的邏輯1(其也被饋送至或非門1930)使或非門1930的輸出從高轉變到低。
當延遲電路1725的輸出(o_osc)在振蕩模式中首次改變成邏輯0時,邏輯1通過反相器1925以及或門1935輸入至重置邏輯1915的重置輸入端(rst)。這使重置邏輯1915進行重置并且將邏輯1輸出至第二與非門1920。來自重置邏輯1915的邏輯1使第二與非門1920將延遲電路1725的輸出(o_osc)的逆傳遞至計數器1910的輸入端(i_cnt)。
當振蕩器1720振蕩時,延遲電路1725的輸出端(o_osc)處的邏輯狀態改變。輸出邏輯狀態的各改變之間的時間大致等于通過第一與非門1740和延遲電路1725中的路徑1712一次的延遲。
在振蕩期間,每當計數器輸入(i_cnt)從低升到高時(即,與非門1920的輸出端處的每個上升沿)時,計數器1910遞增計數值。這在每當信號通過第一與非門1740和延遲電路1725中的路徑1712兩次時發生。因此,在這個方面,在通過第一與非門1740和延遲電路1725中的路徑1712兩次的延遲之后,計數器1910遞增計數值。對于其中通過第一與非門1740和延遲電路1725中的路徑1712的延遲等于16.5*td的示例,計數器1910在2*16.5*td的延遲之后遞增計數值。
當計數值達到終止計數值(例如,計數13)時,計數器1910將邏輯0輸出(o_cnt)至或非門1930和第一與非門1740的控制輸入端1745兩者。第一與非門1740的控制輸入端1745處的邏輯0使第一與非門1740的輸出端在邏輯1處保持恒定不變,從而禁用振蕩器1720。第一與非門1740的輸出端處的邏輯1傳播通過延遲電路1725,從而使延遲電路1725將邏輯1輸出(o_osc)至第二與非門1920。這進而使第二與非門1920將邏輯0輸出至或非門1930和計數器1910的輸入端(i_cnt)兩者。結果,或非門1930的兩個輸入端均為邏輯0,從而使或非門1930的輸出從低轉變到高,并且因此使或非門1930將上升沿輸出至第二延遲級1750。因此,第一延遲級1710在計數器1910達到終止計數值之后將上升沿輸出至第二延遲級1750。對于其中終止計數值為13并且通過第一與非門1740和延遲電路1725的延遲為16.5*td的示例,Q脈沖的上升沿與輸出至第二延遲級1750的上升沿之間的延遲大致等于13*2*16.5*td。
應當領會,取代如以上討論地在計數器輸入端(i_cnt)處的每個上升沿上遞增計數值,計數器1910可以在每個上升沿上遞減計數器值。在這一情形中,計數器1910可以從預定的計數值開始計數,在每個上升沿上遞減計數值,并且在計數值達到終止計數值0時觸發第二時鐘延遲電路1710。
圖20示出了根據本公開的一實施例的重置邏輯1915的示例性實現。重置邏輯1915包括第一與門2010、第一或非門2020、反相器2030、第二與門2040、第二或非門2050、以及第三或非門2060。重置邏輯1915的時鐘輸入端(標示為“clk”)耦合至第一與門2010的第一輸入端和第二與門2040的第一輸入端。第一與門2010的輸出端耦合至第一或非門2020的第一輸入端,并且重置輸入端耦合至第一或非門2020的第二輸入端。第一或非門2020的輸出通過反相器2030反饋至第一與門2010的第二輸入端。第一或非門2020的輸出端還耦合至第二與門2040的第二輸入端。第二與門2040的輸出端耦合至第二或非門2050的第一輸入端。第二或非門2050的輸出端耦合至第三或非門2060的第一輸入端,并且重置輸入端耦合至第三或非門2060的第二輸入端。第三或非門2060的輸出端耦合至第二或非門2050的第二輸入端。第二或非門2050的輸出端耦合至重置邏輯1915的輸出端(標示為“yn”)。
重置邏輯1915可以通過將邏輯1輸入至重置輸入端(rst)來重置。一旦重置,重置邏輯1915可以輸出(yn)邏輯1,直至在時鐘輸入端(clk)處接收到上升沿。當在第一延遲級1710中使用重置邏輯1915時,時鐘輸入端(clk)可以耦合至更新電路712的Q輸出端,而當在第二延遲級1750中使用重置邏輯1915時,時鐘輸入端(clk)可以耦合至第一延遲級1710的輸出端。
當在時鐘輸入端(clk)處接收到上升沿時,重置邏輯1915的輸出變低(即,重置邏輯1915輸出邏輯0)。如以上討論的,這可以觸發計數電路1730中的計數器1910開始計數。當延遲電路1725的輸出(o_osc)變低時,重置邏輯1915可被重置。這是因為延遲電路1725的輸出(o_osc)通過反相器1925饋送至重置邏輯1915的重置輸入端(rst)。當在第一延遲級1710中使用重置邏輯1915時,這針對下一Q脈沖的上升沿來重置該重置邏輯1915。
圖21示出了根據本公開的一實施例的更新電路2110的示例性實現。更新電路2110可被用于實現圖7和16中所示的更新電路712。更新電路2110被配置成每N個輸入參考時鐘周期(循環)輸出一對脈沖。每一對脈沖包括低Q脈沖和低ZQ脈沖(其示例在圖10中示出),其中ZQ脈沖相對于Q脈沖被延遲大致一個時鐘周期。
更新控制器2110包括可編程計數器2115、第一反相器2120、第一D觸發器2130、第二D觸發器2150、第二反相器2135、第一或門2140、第三反相器2155、以及第二或門2160。計數器2115、第一觸發器2130和第二觸發器2150可以通過初始重置信號(i_rst)來重置,如圖21中所示。
計數器2115接收來自更新控制器750的控制信號N以及參考時鐘。計數器2115被配置成在每第N個參考時鐘周期(循環)期間在其輸出端(標示為“tcn”)處輸出邏輯0,并且在每第N個周期(循環)之間在其輸出端(tcn)處輸出邏輯1,其中N大于1。
第一觸發器2130具有耦合至參考時鐘的時鐘輸入端(標示為“clk”)、通過第一反相器2120耦合至計數器2115的輸出端(tcn)的d輸入端、以及q輸出端。第二觸發器2150具有耦合至參考時鐘的時鐘輸入端(標示為“clk”)、耦合至第一觸發器2130的q輸出端的d輸入端、以及q輸出端。觸發器2130和2150兩者可以是正邊沿觸發式觸發器,其中每個觸發器在參考時鐘的上升沿上鎖存相應的d輸入端處的邏輯值,并且在相應的q輸出端處輸出經鎖存的邏輯值達大致一個時鐘周期。
第一或門2140具有通過第二反相器2135耦合至第一觸發器2130的q輸出端的第一輸入端、以及耦合至參考時鐘的第二輸入端。第一或門2140的輸出端形成更新電路2110的Q輸出端。第二或門2160具有通過第三反相器2155耦合至第二觸發器2150的q輸出端的第一輸入端、以及耦合至參考時鐘的第二輸入端。第二或門2160的輸出端形成更新電路2110的ZQ輸出端。
現在將根據本公開的實施例來描述更新電路2110的操作。
如以上所討論的,計數器2115在每第N個參考時鐘周期(循環)期間輸出邏輯0。每當計數器2115輸出邏輯0達一個時鐘周期(循環)時,第一或門2140和第二或門2160分別輸出低Q脈沖和低ZQ脈沖,其中ZQ脈沖相對于Q脈沖延遲了大致一個時鐘周期。更具體地,第一反相器2120使計數器2115的輸出端(tcn)處的邏輯0反相,并且將邏輯1輸出至第一觸發器2130的d輸入端。第一觸發器2130在參考時鐘的上升沿上鎖存邏輯1,并且在其q輸出端處輸出經鎖存的邏輯1達一個時鐘周期。第二反相器2135將第一觸發器2130的q輸出端處的邏輯1反相,并且將邏輯0輸出至第一或門2140的第一輸入端。這使第一或門2140將參考時鐘傳遞至Q輸出端達一個時鐘周期以生成低Q脈沖。
第二觸發器2150在一個時鐘周期的延遲之后鎖存第一觸發器2130的q輸出端處的邏輯1,并且輸出經鎖存的邏輯1達一個時鐘周期。第三反相器2155將第二觸發器2150的q輸出端處的邏輯1反相,并且將邏輯0輸出至第二或門2160的第一輸入端。這使第二或門2160將參考時鐘傳遞至ZQ輸出端達一個時鐘周期以生成低ZQ脈沖。由于第二觸發器2150的q輸出相對于第一觸發器2130的q輸出延遲了一個時鐘周期,因而ZQ脈沖相對于Q脈沖延遲了一個時鐘周期。
圖22是解說根據本公開的一實施例的用于延遲控制的方法2200的流程圖。方法2200可以由主延遲電路1610和更新控制器750來執行。
在步驟2210,向延遲電路提供電壓偏置,其中該電壓偏置控制該延遲電路的延遲。例如,主延遲電路(例如,主延遲電路1610)可以將電壓偏置提供給從延遲電路(例如,從延遲電路1315)以控制從延遲電路的步進延遲。
在步驟2220,以一更新速率來更新電壓偏置。例如,可以每N個參考時鐘周期(循環)一次更新的速率來調整電壓偏置。
在步驟2230,調整更新速率。例如,可以基于納入該延遲電路的存儲器接口的定時要求來調整更新速率。在這一示例中,在定時要求較放松(例如,較低數據率)時可以減小更新速率以降低功率,而在定時要求較嚴格(例如,較高數據率)時可以增大更新速率。
該方法可任選地包括基于被延遲電路延遲的信號的數據率來調整更新速率。例如,如果信號的數據率大致等于第一數據率,則更新速率可被設置為第一更新速率,并且如果信號的數據率大致等于第二數據率,則更新速率可被設置為第二更新速率,其中第一數據率低于第二數據率,并且第一更新速率低于第二更新速率。
該方法可任選地包括將第二電壓偏置(例如,電壓偏置Vbp)提供給延遲電路,以及以該更新速率來更新第二電壓偏置。第二電壓偏置也可以控制延遲電路的延遲。
應當領會,更新控制器750可用設計成執行本文描述的功能的通用處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)或其他可編程邏輯器件(PLD)、分立的門或晶體管邏輯、分立的硬件組件、或其任何組合來實現。通用處理器可以是微處理器,但在替換方案中,處理器可以是任何常規的處理器、控制器、微控制器、或狀態機。處理器可以通過執行包括用于執行本文描述的更新控制器750的功能的代碼的軟件來執行更新控制器750的功能。軟件可以存儲在計算機可讀存儲介質中,諸如RAM、ROM、EEPROM、光盤、和/或磁盤。
提供對本公開的先前描述是為使得本領域任何技術人員皆能夠制作或使用本公開。對本公開的各種修改對本領域技術人員來說都將是顯而易見的,且本文中所定義的普適原理可被應用到其他變型而不會脫離本公開的精神或范圍。例如,盡管以上使用DRAM的示例來討論本公開的諸實施例,但是應當領會,本公開的諸實施例不限于此示例,并且可以與其他類型的存儲器設備聯用。由此,本公開并非旨在被限定于本文中所描述的示例,而是應被授予與本文中所公開的原理和新穎特征相一致的最廣范圍。