專利名稱:延遲補償電路的制作方法
技術領域:
本發明通常涉及一種同步電路設計,特別是涉及一種用于測量和補償在一個集成電路的處理、電壓和溫度(PVT)狀態變化的電路。
背景技術:
在數字電路中,同步邏輯元件通過在一個時鐘信號瞬變期間接收和鎖定一個數據信號工作。這種邏輯元件包括D觸發器、鎖存電路、線性反饋移位寄存器(LFSR)和計數器。為了使同步邏輯元件能夠鎖定數據信號,所述信號必須在所述時鐘沿之前、即在建立時間期間內保持一段時間的穩定。另外,所述數據信號通常必須在所述時鐘沿之后、即在保持時間期間內保持一定時間,以便利用所述同步邏輯元件進行鎖定。如果在所述同步邏輯元件的建立時間和保持時間內所述數據信號都處于不穩定狀態,所述數據信號就不一定被所述邏輯元件捕捉。
圖1A示出了一個同步邏輯元件、具體地說是一個D觸發器DFF的工作。在這個例子中,輸入數據信號A被用做時鐘信號。通常,所述數據信號和時鐘信號是不被共享的,而是不同的信號。它們可以被表示為共享圖1A和1B中的同一個信號以便簡化相關技術的描述。這里的所有描述都應用于時鐘和數據信號是不同的情況。
如圖1A的時序圖所示,信號A被施加在所述D觸發器DFF的D輸入端和時鐘輸入端CK。因此,觸發器DFF所需的建立時間Tsu不能夠得到滿足,和Q輸出端不能確定。這種情況示于圖1A的時序圖中。但是,建立時間的這種干擾并不局限于同步邏輯元件中輸入數據信號被用于時鐘本身的例子。
例如,時鐘偏移(即在時鐘信號到達芯片中它們目的地時的小變化)可能導致所述時鐘信號比所期望的早到達。因此,時鐘偏移可能導致數據信號干擾所述建立時間。所述時鐘偏移可能是由其它事情當中所述同步邏輯元件的處理、電壓和溫度(PVT)狀態引起的。
避免建立時間被干擾的一種途徑是在所述時鐘路徑中添加延遲元件。圖1B示出了被添加到圖1A所示D觸發器DFF時鐘路徑中的一個延遲元件。如圖1B的時序圖所示,所述延遲元件將施加到CK輸入端上的信號A延遲Td,借此將所述時鐘沿移位,從而使所述數據信號在所述建立時間Tsu期間處于穩定狀態。
但是,延遲Td可以根據所述延遲元件的PVT狀態而變化。例如,如果溫度在-40℃--125℃之間變化,那么,電源變化為+/-15%,和/或延遲元件的處理狀態在最壞情況快和最壞情況慢之間變化,延遲Td從低于指定延遲Td的50%到高于它的100%變化。延遲Td的這種變化可能導致所述D觸發器DFF或其它類型的同步邏輯元件建立時間或保持時間的干擾(violation)。
這個問題的一種解決方案是使用一種由一系列小延遲單元構成的可變延遲元件,其中,每個小延遲元件具有相對短的延遲Ts。有效被用于延遲所述時鐘信號的可變延遲元件中的小延遲單元的數量可以在PVT狀態的基礎上變化。因此,有效可變延遲元件的延遲Td(有效小延遲單元延遲Ts的總和)不必考慮PVT狀態而保持為一個常數。圖2所示帶抽頭的延遲電路10是這種可變延遲電路的一個例子。
如圖2所示,帶抽頭的延遲電路10由一組串聯的帶抽頭的小延遲單元SD1、...、SD8組成,DELC1V15延遲元件是可以被用在帶抽頭的延遲電路10中的小延遲單元SDn(n位于圖2所示1到8的范圍內)的典型。DELC1V15元件在大約0.4ns的最壞情況快狀態中具有所期望的延遲,和在大約1.0ns的最壞情況慢狀態期間具有所期望的延遲。但是,對于帶抽頭的延遲電路10和隨后描述的其它電路來講,可以使用任何具有已知延遲Ts的元件代替DELC1V15元件。所期望的輸入時鐘、即CLK的分辨率和頻率通常確定所述延遲元件的選擇。
如上所述,圖2中每個小延遲單元SDn具有相對短時間的延遲Ts。輸入信號IN被輸入給第一小延遲單元,和被延遲的信號從小延遲單元SD1傳送給下一個小延遲單元SD2再傳送給下一個小延遲單元SD3等等,直到它被傳送給最后一個小延遲單元SD8。因此,在抽頭1處的信號將被延遲Ts,在抽頭2處的信號將被延遲2*Ts,等等。多路轉接器MUX A在與經過控制信號CTL接收的串行數對應的基礎上接收和輸出所述抽頭信號。
圖3示出了可變延遲控制電路100,其中,圖2所示帶抽頭的延遲電路10的延遲Td由移位寄存器陣列30和檢相器40通過調節所述串行數進行控制。帶抽頭的延遲電路10中的小延遲單元的數量以可變延遲控制電路100所期望的分辨率為基礎。
移位寄存器陣列30包含所述串行數,該串行數由一定數量與所述小延遲單元SDn的數量對應的位組成。如果帶抽頭的延遲電路10如圖2所示具有8個小延遲單元SDn,則移位寄存器陣列30將保持由8個數字組成的串行數。每個數字對應于一個特定的小延遲單元抽頭。所述數字中的一個包含一個“1”位,所有其它的數字包含多個“0”位。包含所述“1”位的數字對應于由多路轉接器MUX A選擇和輸出其信號的抽頭。
可變延遲控制電路100的工作如下。首先,輸入時鐘信號CLK被輸入給帶抽頭延遲電路10的第一帶抽頭電路10。帶抽頭延遲電路10根據由移位寄存器陣列30中的串行數確定的延遲Td輸出被延遲的時鐘信號P_CK。被延遲的時鐘信號P_CK和輸入時鐘信號CLK都被傳送給檢相器40,檢相器40檢查所述輸入時鐘信號CLK和所述被延遲的時鐘信號P_CK之間的相位差。
在檢測的相位差的基礎上,檢相器40將產生右移信號CSR或左移信號CSL,如果需要,這些信號將把移位寄存器30中串行數的“1”位向左或向右移。作為修改串行數的結果,帶抽頭的延遲電路10的多路轉接器MUX A將選擇和輸出不同的抽頭信號。
由于圖2所示可變延遲控制電路100使所述被延遲的時鐘信號P_CK與輸入時鐘信號CLK同步或對準,所以它可以由一種鎖定延遲回路(DLL)組成。
圖4示出了一個時序圖,包括在時鐘信號CLK基礎上產生的檢相器40的基準信號P_d0和P_d1。具體地說,P_d0和P_d1的相位規定了最佳延遲時鐘信號的邊界。換言之,如果帶抽頭的延遲電路10的延遲Td位于電路設計要求(例如,滿足需要的建立和保持時間)之內,則P_CK信號的相位位于P_d0和P_d1的相位之間。因此,檢相器40將P_CK信號的相位與P_d0和P_d1進行比較以便確定是否需要對所述串行數和并行數進行調節。
具體地說,檢相器40檢查信號P_CK的上升沿是否落在信號P_d0和P_d1的上升沿之間,即是否落在時窗Tw之內。如果P_CK的所述沿落在時窗Tw之內,那么,所述檢相器將產生CSR或CSL信號以修改所述串行數,借此使P_CK的相位左移或右移。例如,如果P_CK的上升沿落在圖4所示其中P_d0和P_d1都是高電平的時間間隔R1內,檢相器40將產生導致所述串行數減少(即導致所述“1”位右移)的右移信號CSR,進而導致P_CK左移。另外,如果P_CK的上升沿落在其中P_d0和P_d1都是低電平的時間間隔L1中,那么,檢相器40將產生導致所述串行數增加(即導致所述“1”位左移)的左移信號CSL,借此使P_CK右移。
一旦P_CK的上升沿落在時窗Tw內,所述可變延遲控制電路100就確定帶抽頭的延遲電路10的延遲Td是正確的。但是,在可變延遲控制電路100中可能出現導致延遲Td被不適當建立的問題。
具體地說,當系統通電時,所述串行數可以被預先建立成一個導致P_CK超前輸入時鐘信號半個周期的數,或者被預先建立成導致P_CK相對CLK滯后一個周期的數。這個問題是由于PVT狀態變化所引起的,并可能導致帶抽頭的延遲電路10的每個小延遲單元SDn的延遲從低于正常延遲的-50%到高于其100%變化。
作為這個問題的結果,信號P_CK的所述沿可能落在圖4所示時序圖的時間間隔L2或R2的一個當中。如果所述上升沿落在L2中,檢相器40將產生導致P_CK的所述上升沿落入間隔HC的時窗Tw(后面的半周期)之內的右移信號CSR。反之,如果所述上升沿落入R2中,檢相器40將產生導致P_CK的上升沿落入FC(后面的整個周期)中的左移信號CSL。
另外,上述問題可能使得信號P_CK落在時間間隔HC或FC的一個當中。在這種情況下,粗檢相器40將不產生任何右移信號CSR或左移信號CSL。
如果所述串行數被建立得使P_CK的所述上升沿落在間隔HC或FC中,可變延遲電路20的延遲Td將不能被正確地建立。因此,下述做法將是有利的,即在帶抽頭的延遲電路10被通電以后檢測PVT狀態,從而使所述移位寄存器陣列的串行數能夠被正確地建立和可變延遲電路的延遲滿足所述延遲要求(例如,同步邏輯電路的建立和保持時間)。
再有,在相關技術中下述做法通常是有益的,即在集成電路上確定各種PVT狀態的效果以便對芯片的延遲元件進行編程或設計所述電路對PVT狀態進行補償。
發明內容
并發明提供一種延遲補償電路,這種電路借助于測量集成電路內部元件的工作狀態測量集成電路的PVT狀態。具體地說,所述補償電路輸出取決于所述芯片內延遲元件有效延遲并表示所述PVT狀態的數字信號。從所述延遲補償電路可以周期性地獲得經過更新的PVT信息并用于控制所述芯片內的可變延遲電路。另外,這種信息可以被收集并用于確定芯片必須被用于特定系統或應用中的PVT狀態范圍。對于不考慮各種PVT狀態而設計滿足某些性能標準的芯片來講這個信息可能是相當有用的。
在本發明的一個實施例中,所述延遲補償電路包括多個取樣模塊,其中的每一個都從帶抽頭的延遲電路內的延遲元件中接收被延遲的時鐘信號。因此,每個取樣模塊時鐘信號的延遲量都大于在前取樣模塊時鐘信號的延遲量。當一個固定的輸入信號被施加到每個取樣模塊上時,檢測被鎖定到所述輸入信號中的取樣模塊的數量并將其轉換為表示當前PVT狀態的值。
本發明的另一個實施例提供了一種經過改進的可變延遲控制電路,該電路使用由所述延遲補償電路獲得的信息控制所述可變延遲元件的延遲以滿足一個芯片元件建立和保持時間的要求而不必考慮PVT狀態的變化。
在另一個實施例中,所述可變延遲控制電路包括一個是帶抽頭延遲電路的可變延遲元件。所述延遲補償電路周期性地測量所述芯片的PVT狀態。多個數字化的輸出信號被編碼成一個從所述移位寄存器陣列向所述帶抽頭的延遲電路的多路轉換器傳送的串行數。
利用本發明延遲補償電路的可變延遲控制電路可以和具有建立和保持時間要求的多個數字芯片一起使用。這種芯片可以包括輸入和輸出緩存器、多個現場可編程門陣列(FPGA)、多個延遲鎖定回路(DLL)、多個數字鎖相環(PLL)、多個D觸發器和多個其它類型的同步邏輯元件。另外,由本發明延遲補償電路提供的PVT信息可以被用于設計將被用在定時關鍵應用中的芯片。
在本發明的再一個實施例中,一個變分電路(variation circuit)存儲從所述延遲補償電路輸出的最大和最小值。這些信息可以被用于確定特定應用中PVT狀態的范圍,或用于保證芯片沒有工作于這個范圍之外。
通過下面各出的詳細描述,本發明的優點將變得更加明顯。但是,應當理解,由于本領域普通技術人員可以通過該詳細描述很容易做出不脫離本發明精神和范圍的各種變化和修改,所以,給出本發明最佳實施例的詳細描述和特定例子僅僅是用于說明。
附圖描述通過下面給出的詳細描述和附圖,本發明將變得更加容易理解,這些描述和附圖僅僅用于說明,而不做為對本發明的限制。
圖1A示出了其中數據信號也被用做時鐘信號的一個D觸發器的工作;圖1B示出了其中在時鐘路徑中插入了一個延遲D觸發器的工作;圖2示出了一個相關技術中帶抽頭的延遲電路;圖3示出了一個相關技術中可變延遲控制電路;圖4示出的時序圖包括在相關技術的一個可變延遲控制電路中檢相器的內部信號;圖5示出了根據本發明一個最佳實施例的延遲補償電路;圖6示出了根據本發明一個最佳實施例的可變延遲控制電路;圖7的時序圖示出了所述延遲補償電路中的一個輸入時鐘信號和多個信號;圖8是一個表,它示出了與一個延遲補償電路相關、使用DELC1V15元件并根據最壞情況快和最壞情況慢狀態的所期望的同步輸出;圖9A-9C示出了一個電路,包括一個其定時關鍵設計可以使用本發明可變延遲電路改進的輸出緩存器;圖10示出了根據本發明一個實施例的變分電路。
具體實施例方式
如上所述,本發明提供一種延遲補償電路,該電路通過測量芯片中延遲元件的延遲變化測量所述芯片上PVT變化的效果。本發明的延遲補償電路能夠被用于對可變延遲元件的延遲進行編程,并提供用于芯片設計的補償PVT狀態的信息。與這個詳細描述相關的很多附圖包含類似元件。整個附圖中相同的標記被用于表示類似的元件。
圖5示出了根據本發明一個實施例的延遲補償電路50。一個外部時鐘信號CLK被連接到計數器51、邏輯與門A1的一個輸入端、取樣模塊53和54、同步器56和鎖存器58和59上。計數器51的輸出C被連接到譯碼器52上。譯碼器52的輸出CNT4被連接到鎖存器58和59的EN端,而輸出CNT7被連接到取樣器53和54的數據輸入端上。取樣模塊53的輸出CNT0_I被連接到邏輯與門A1的一個輸入端上,而取樣模塊54的輸出CNT0被連接到取樣模塊55的輸入端上。與門A1的輸出CLK_CNT0被連接到帶抽頭延遲電路60的所述輸入端上,該電路60具有特定數量m個延遲單元D(在圖5中,m=32)。帶抽頭延遲電路60與圖2所示帶抽頭延遲電路10不同之處在于帶抽頭延遲電路60不包括連接到所述抽頭的多路轉換器。帶抽頭延遲電路60的每一個都被連接到取樣模塊55的時鐘輸入端。取樣模塊55的輸出S0、...、Sm中的每一個都被連接到相應的同步單元56上。同步單元56的輸出被連接到編碼器57上,編碼器57向鎖存器58和59輸出n位數(在圖5中,n=5)。
在一個實施例中,取樣模塊53、54和55、同步器56以及鎖存器58和59可以構成一個觸發器。在另外一個實施例中,帶抽頭的延遲電路60的延遲單元D可以由DELCLV15組成。但是,如本領域技術人員所理解的,各種電路或元件都能夠形成取樣模塊53-55、同步器56、鎖存器58和59以及延遲單元D。
下面將描述延遲補償電路50的工作。當該電路剛被通電時,寄存器復位信號RRESET或全局復位信號RSTN使得復位信號RESETN被主張(assert)。復位信號RESETN將元件53、54、55、58和59復位到零。當復位信號RESETN被釋放時,三位計數器51對時鐘信號CLK的上升沿計數。譯碼器52譯碼計數器51的計數值C。如圖7的時序圖所示,在CLK第5個上升沿上,計數值C的值為4且CNT4變高(=“1”)長達一個CLK周期的時間。類似的,在CLK的第8個上升沿上,C的值為7且CNT7變高長達一個CLK周期的時間。
取樣模塊53對時鐘信號CLK下降沿上的CNT7取樣。此后,在CNT7為高的周期內,CNT0_1變高。取樣模塊54在時鐘信號CLK的上升沿處對CNT7的值取樣并產生作為被延遲一個時鐘周期的CNT7的值的CNT0。然后,CNT0被傳送給取樣模塊55的數據輸入端。
通過對時鐘信號CLK和CNT0_I進行邏輯與操作產生時鐘脈沖CLK_CNT0。每個延遲單元D的抽頭被連接到對應取樣模塊55的時鐘輸入端上。因此,如果時鐘脈沖到達某個延遲單元D,同時信號CNT0=“1”(即CLK_CNT0到達一個CLK周期內的延遲單元D),那么,與那個延遲單元D對應的取樣模塊55將被鎖定為一個高信號并相應地輸出它。
輸出具有值“1”的S1、...、S31的取樣模塊的數量取決于每個延遲單元D的延遲。每個延遲單元D的延遲又取決于所述PVT狀態。圖7示出了在帶抽頭延遲電路60處輸出的被延遲的時鐘信號CLK0、...、CLK31。如圖7所示,當PVT狀態從最壞情況快改變到最壞情況慢時,被延遲時鐘脈沖CLK0、...、CLK31的間距變大,從而使當CNT0=1時發生的被延遲脈沖CLK0、...、CLK31更少。因此,具有高值的取樣模塊輸出S0、...、S31的數量對應于其中具有所述延遲補償電路50的所述芯片的PVT狀態。
每個取樣模塊的輸出S0、...、S31被傳送給其對應的同步單元56。同步單元56由時鐘信號CLK驅動并保證避免亞穩定性。但是應當說明,如果取樣模塊55被設計得能夠避免在輸出S0、...、S31處的亞穩定性,那么可以不需要同步單元56。利用編碼器57將同步單元的輸出A0、...、A31編碼為一個5位的PVT值。表示當CNT0為高時發生的被延遲最多的時鐘脈沖CLK0、...、CLK31的位置的PVT的值為高。例如,如果CLK4是被延遲最多的脈沖,那么,A0到A14將是“1”和PVT將輸出“01110”。所述PVT值反過來將涉及所述延遲單元D的延遲。換言之,當由于PVT狀態的變化而導致延遲單元D的延遲增加時,由編碼器57輸出的PVT值將減小。
當CNT4的值=“1”時,5位二進制PVT值將被鎖存器59鎖存并作為PVT的值輸出。但是,所述值被鎖存的時間可以是在A0-31取它的值之后的任一時間。在圖7中,這發生在C=2處。在這種情況下,可以將所述延遲補償電路50設計成在C=3(CNT3=1)、C=4(CNT4=1)或更晚處鎖存所述PVT值。
在該點處,編碼器57還輸出PVTERR輸出,只要同步單元的輸出A0、...、A31中的每一個都不是“1”或者所有同步單元的輸出A0、...、A31都是“1”,那么,所述PVTERR輸出即為高。信號PVTERR指出所述PVT的值沒有落在有效值的范圍內,結果可能是在延遲補償電路50的一個或多個元件中發生故障或延遲補償電路50工作于預先設計的限制(溫度、電壓或其它限制)之外。
如上所述,在帶抽頭延遲電路60的抽頭處輸出的被延遲時鐘脈沖CLK0...CLK31的數量取決于延遲單元D的PVT狀態。在一個最佳實施例中,帶抽頭延遲電路60的延遲單元D是DELC1V15延遲元件。對于DEL1V15延遲元件來講,在最壞情況快狀態下期望的延遲大約是0.4ns,和在最壞情況慢狀態下期望的延遲大約是1.0ns。圖8示出了用于DEL1V15元件最壞情況快(WCF)和最壞情況慢(WCS)狀態下所期望的同步單元輸出A0、...、A31。如圖8所示,在最壞情況快狀態(WCF)期間,18個同步單元輸出A0...A17將輸出“1”,而在最壞情況慢狀態(WCS)期間,只有7個同步單元A0...A6輸出將輸出“1”。
使用所述DELC1V15元件的一個優點是在WCS狀態下它具有1ns的延遲。由于在WCS工作狀態下所述PVT值等于所述時鐘周期的整數值,所以這使得很容易中斷所述PVT值。例如,假設輸入時鐘的周期是7.1ns。在WCS狀態下,這給出了所述PVT的值是7。如果獲得的PVT值是14(2×WCS值),那么,你就可以知道所述芯片正以兩倍于WCS狀態的速度(即延遲單元具有WCS狀態的1/2延遲)工作。
但是,對于本領域普通技術人員來說很明顯,可以利用具有已知延遲Ts的其它類型延遲元件、特別是適用于實際應用中一個集成電路例如延遲分辨率和輸入時鐘頻率特定要求的延遲元件來代替DELC1V15元件。
通常,下述參數對于分析由延遲補償電路50輸出的PVT值是有用的PVT=ClockPeriod/DelayElementDelayPVTMAX=ClockPeriod/DelayElementWCFDelayPVTMIN=ClockPeriod/DelayElementWCSDelayDelayElementQuantity>ClockPeriod/DelayElementWCFDelayClockPeriod是時鐘信號CLK的周期。DelayElement是帶抽頭延遲電路60中一個延遲單元的延遲。DelayElementWCFDelay和DelayElementWCSDelay分別是在帶抽頭延遲電路60中WCF和WCS狀態下一個延遲單元D的延遲。PVTMAX和PVTMIN分別是最大和最小可能的PVT值并能夠在設計時確定。DelayElementQuantity是在帶抽頭延遲電路60中延遲單元D的數量。本發明的延遲補償電路50確定所述PVT值。
另外,為了更容易地提供結果解釋,對由延遲補償電路50輸出的所述PVT值定標可能是有用的。由于處理器能夠訪問所述PVT值,所以,這個定標可由附加電路或軟件執行。這里列舉幾個例子FastFactor=PVT/PVTMIN=DelayElementDelay/DelayElementWCSDelaySlowFactor=PVT/PVTMAX=DelayElementDelay/DelayElementWCFDSelayScaledPVT=(PVT-PVTMIN)*(ScaleRange/PVTRange)+ScaleMin其中,ScaleRange=ScaleMax-ScaleMinPVTRange=PVTMAX-PVTMINFastFactor指出所述芯片是如何快地相對于所述WCS狀態工作。n的值指出所述芯片比WCS狀態快n倍。類似的,SlowFactor指出所述芯片如何慢于所述WCF狀態工作。值n指出所述芯片是WCF狀態的1/n。ScaledPVT值允許所述PVT值以任一值范圍表示。例如,從0到100定標所述PVT值,其中,ScaleMax=100,和ScaleMin=0。所述PVT值的定標導致獨立于時鐘信號CLK的周期、延遲單元的延遲T和帶抽頭延遲電路60的延遲元件數量的值。這使得可以制造是另一種單獨技術(例如0.16微米)的類裝置。
參看圖7,3位計數器51在計數值達到7之后被復位為0。因此,圖5所示的延遲補償電路50被設計成每8個CLK周期產生一個新的PVT值。但是,所述PVT值被更新處的頻率可以通過簡單地修改延遲補償電路50來增加或減少。例如,如果每16個周期更新所述PVT值,那么,3位計數器51將被一個4位計數器取代,可以結構所述譯碼器52以輸出CNT15信號(該信號在C=15處變成高)。如本領域普通技術人員所知道的,也可以對延遲補償電路50進行其它的這種設計修改(例如,增加CLK的頻率)以便增加或減少輸出值被更新處的頻率。
應當說明,圖5示出了本發明延遲補償電路50的一個較佳例子,并不構成對本發明的限制。在不脫離本發明的精神和范圍的前提下可以對這個電路50做出各種修改和變化。例如,可以根據所希望的與PVT測量相關的分辨率改變延遲單元D的數量以及由譯碼器57輸出的位數。
如上所述,所述延遲控制電路50的PVT輸出可以被用于監視諸如電壓和溫度變化的芯片PVT狀態的變化。由于PVT狀態的變化影響延遲元件的延遲,所以本發明的延遲補償電路50對控制諸如圖2所示帶抽頭延遲電路10的可變延遲元件是非常有用的。
圖6示出了使用根據本發明一個較佳實施例的延遲補償電路50的可變延遲控制電路200。在圖6所示的可變延遲控制電路200中,延遲補償電路50的輸出值PVT被用于確定多路轉換器MUX A的串行數,該串行數被經過控制信號CNT傳送。在這個實施例中,如果所希望的帶抽頭延遲電路10的延遲Td等于時鐘信號CLK的所述周期,和帶抽頭延遲電路10的結構就其所使用的延遲單元的數量和類型來講與延遲補償電路50中的帶抽頭延遲電路60相同,那么,延遲補償電路50的輸出值PVT可以被作為所述串行數直接傳送給并由所路轉換器使用。如果不是這種情況,一個編碼器元件能夠被用于將所述輸出值PVT轉換成所述延遲補償電路或可變延遲控制電路200的多路轉換器MUX A內的一個串微。
如上所述,在一個較佳實施例中,延遲補償電路50的帶抽頭延遲電路60可以被配置成與可變延遲控制電路200的帶抽頭延遲電路10相同。在另一個實施例中,通過將帶抽頭延遲電路60的每個延遲單元D的抽頭連接到可變控制電路200的多路轉換器MUXA和延遲補償電路50的取樣模塊55上,延遲補償電路50的帶抽頭延遲電路60實際上可以和可變控制裝置200的帶抽頭延遲電路10相同。
圖6示出了一個實施例,雖然在該實施例中可變延遲控制電路200被用于控制帶抽頭延遲電路10的延遲Td,但是,本發明的可變延遲控制電路200并不局限于帶抽頭的延遲電路10。所述可變延遲控制電路200可以被用于根據控制信號CTL(該信號是從延遲補償電路50產生的)控制任一類型可控或可編程可變延遲元件。
在本發明一個較佳實施例中,可以伴隨著定時關鍵應用使用可變延遲控制電路200,其中,所述電路被設計成以相同方式工作而并不考慮所述PVT狀態。圖9示出了一個特定的定時關鍵應用,其中,所述電路包括一個輸出緩存器BUF。具體地說,緩存器BUF必須具有一個操作時間窗口,該窗口將執行所需的數據操作,而不考慮所述電路是根據最壞情況慢還是根據最壞情況快狀態(即不考慮所述PVT狀態)工作的。
在諸如圖9A所示的電路中,最壞情況慢狀態可以具有相對最壞情況快狀態2.0和4.0之間的減額因數。對于圖9所示的電路來講,假設所述減額因數是3。因此,如果所述時鐘信號在最壞情況慢狀態下具有從時鐘輸入到換存器輸出的5ns延遲,那么,在最壞情況快狀態下的延遲將是大約1.67ns(5/3=1.67)。因此,所述時鐘延遲窗口是5-1.67=3.33ns(如圖9B的時序圖所示)。
如果連接到所述緩存器BUF輸出端上的裝置具有1.0ns的建立時間要求和0.5ns的保持時間要求,那么,所述數據有效窗口必須至少是1.5ns。但是,其它的0.5到1.0ns應當被包括在所述數據有效窗口中以便導致電路板效果。因此,如圖9B所示,所述數據有效窗口可以高達2.5ns。由時鐘延遲和數據有效部分規定的換存器NUF的操作窗口大約是6ns(3.33+2.5=5.83ns)。因此,圖9A所示電路需要具有約6ns周期的時鐘。
但是,本發明的可變延遲電路200可以被插入到緩存器BUF之前的時鐘路徑中以便延遲所述時鐘信號。可變延遲控制電路200將把所述延遲控制到在最壞情況慢狀態下的近0ns和在最壞情況快狀態下的3.33ns。因此,可變延遲控制電路200將在所有運行狀態下把所述時鐘信號延遲5ns,如圖9C的時序圖所示。因此,由PVT變化引起的3.33ns的時鐘延遲可以被從緩存器BUF的操作窗口中刪除,和所述時鐘周期可以被減少到3ns。因此,可變延遲控制電路200允許所述時鐘頻率翻倍。
另外,如果可變延遲控制電路200和輸入緩存器與接收所述緩存器BUF的輸出的裝置一起使用,這個裝置的建立和保持時間將被有效減少(甚至減少到接近0)。因此,所述電路的操作窗口將被減少到1.5ns,從而導致所述時鐘頻率的另外加倍。
時鐘速率的改進在芯片設計中是最重要和挑戰性的領域。本發明可以被用于改進在很多不同應用中使用的芯片的時鐘速率。這些應用可以包括輸入/輸出緩存器、存儲器、FPGA、數字PLL、DLL和同步邏輯元件等。
除了對延遲變化進行補償以外,本發明還可以被用于補償與PVT狀態相關的其它基本變化,包括但不局限于電流驅動、輸出阻抗和電阻。例如,一個輸出緩存器可以被規定提供4ma電流。但是,電流驅動能力是隨著PVT狀態變化的。在WCS狀態下它能夠提供4ma電流,而在WCT狀態下,它可以提供8ma電流。所述PVTA值可以被用于使能或禁止多個并行輸出緩存器,從而相對于所述PVT狀態來講使電流驅動變化被有效減少。假設4個輸出緩存器被并聯和其中的每一個在WCS狀態下能夠提供1ma電流和在WCF狀態下能夠提供2ma電流。所述PVT值能夠被用于控制哪一個輸出緩存器被使能。在WCS狀態下,所有4個輸出緩存器都被使能以提供4ma的總電流。在WCF狀態下,只有兩個輸出緩存器被使能以提供4ma的總電流。這種控制不僅改善了芯片的性能而且改善了電路板和系統的性能。通過控制所述PVT狀態兩端的阻抗,在高速電路板設計中公用的信號完整流出被最小化或抑制并允許所述電路板以有效的高速運行。
除了控制芯片中的元件補償所述PVT狀態以外,利用本發明延遲補償電路50確定所述PVY值也為芯片設計者提供了有用的信息。
一旦知道了用于一個特定芯片的PVT值,即可以僅僅在從那個值開始的已知范圍內變化。導致可能PVT范圍的處理變化是針對所有芯片的。對于任何一種裝置,都不存在處理變化。只有溫度和電壓的變化才影響所述PVT值。假設對于所有芯片來講可能的PVT范圍是從7到18,和用于任何一個裝置的所述PVT值可以被看作是三個值。如果一個裝置具有14的PVT值,那么,可以知道用于這個裝置的所述PVT值被限制為12、13、14、15和16;在所述狀態下的三個值都包括14。最小可能值12意味著這個芯片至少比最慢可能芯片快1.7倍。這個信息可以被用于判斷時鐘頻率或任一基本參數以改善所述性能。
例如,如果一個芯片被設計成在WCS狀態下以100MHz頻率工作,由于它不可能知道狀態是可以快速運行,所以它的工作通常被顯示在100MHz。如果所述芯片被設計成如通用處理器一樣的頻率可以被定標,所述PVT值12將指出它將工作于170MHz。所述芯片的性能不再局限于100MHz。
另外,如果稍后獲得不同的PVT值,可以得到額外的性能改進。例如,如果一個新的PVT值是15。由于它超過了已知的三個值,這個額外的性能將導致所述PVT值12被作為可能的值刪除掉。這使得可以形成13個可能的最小值和意味著所述芯片至少比最慢可能的芯片快1.85倍。當所述PVT值變得可以得到時,這個方案允許高速旋轉性能改進。
另外,如果由于任何原因使芯片性能在整個時間上下降,它的時鐘頻率或任一基本參數可以被修改以對所述下降進行調節而不會引起基本故障。超過PVT的規定范圍或其它PVT基本界限的下降可以被用于觸發緊急故障警報。這個信息能夠被用于避免沒有予見到的系統故障。
本發明另一個較佳實施例提供一種利用考慮到在一個特定應用中在芯片內發生的PVT狀態范圍(即溫度、電壓和處理狀態變化)的有用信息的芯片設計。可以通過存儲在延遲補償電路50工作期間產生的最大和最小值確定所述PVT狀態。
在這個實施例中,變分電路70被連接到延遲補償電路50的輸出端以便存儲所述PVT值產生的最大和最小值。圖10示出了根據本發明一個較佳實施例的變分電路70。變分電路70接收從延遲補償電路50輸出的PVT值。所述PVT值被傳送給MIN寄存器76和MAX寄存器78的數據輸入端,并傳送給比較器72和74的A輸入端。MIN寄存器76的內容PVTMIN和MAX寄存器78的內容PVTMAX被分別連接到比較器72和74的B輸入端。比較器72的輸出被傳送給與邏輯門A2,比較器74的輸出被連接到與邏輯門A3。信號PVTVALID也被連接到與邏輯門A2和A3。與門A2和A3的輸出被分別傳送給寄存器76和78的控制輸入端EN。時鐘信號CLK被連接到寄存器76和78的時鐘輸入端。
在圖10所示的實施例中,變分電路70被結構得接收和處理對應于圖5所示延遲補償電路50的5位PVT輸出值的5位值。但是,變分電路70能夠被結構得處理任一n位值,其中,n對應于延遲補償電路50的輸出值PVT的位數。
下面描述變分電路70的工作。當復位信號RESETN=“0”時,MIN寄存器76被初始化為二進制值“1111”(31)和MAX寄存器78被初始化為二進制值“0000”(0)。MIN寄存器76存儲值PVTMIN(在此之前產生的最小PVT值),而MAX寄存器78存儲值PVTMAX(在此之前產生的最大PVT值)。當延遲補償電路50產生一個新的PVT值時,該新的PVT值與PVTMIN和PVTMAX比較。
如果比較器72確定所述新的PVT值小于所述PVTMIN,它的輸出變高。對比較器72的輸出和所述PVTVALID執行與操作,以保證這個新的PVT是有效的。如果比較器72的輸出和信號PVTVALID都是高,那么,一個高信號被傳送給MIN寄存器76的EN端,以便使寄存器76接收作為PVTMIN的所述新PVT值。
利用類似的方式確定PVTMAX。如果比較器74確定所述新PVT值大于PVTMAX,那么,它輸出“1”。比較器74的輸出與PVTVALID被進行邏輯與,如果其結果是“1”那么,一個高信號被傳送給MAX寄存器,從而使寄存器78接收作為PVTMAX的所述新PVT值。
如上所述,信號PVTVALID保證從延遲補償電路50接收的所述新PVT值有效。PVTVALID最初來自所述延遲補償電路50。例如,PVTVALID的值可以通過反相PVTERR值并對被反相的PVTREE信號和譯碼器52的CKT5(當記數值C=5時,CNT5是“1”)輸出執行邏輯與來產生。在這個實施例中,其它的寄存器將被用于鎖存導致用于進一步分析的誤差(即導致PVTERR變高)的所述PVT值。
另外,PVTVALID應當獨立于PVTERR(僅使用譯碼器52的所述CNT5信號),在這種情況下,導致誤差的所述PVT值被作為PVTMIN或PVTMAX之一存儲。借助于在PVTERR變高時檢查PVTMIN和PVTMAX,可以確定是否超過了上限或下限運行。
在一個較佳實施例中,可以在芯片設計中使用存儲在變分電路70中的值PVTMIN和PVTMAX,以便充分設計用于補償超出特定應用PVT狀態范圍的元件。另外,在一個芯片工作期間,由所述延遲補償電路50產生的PVT值可以和由變分電路70確定的值的范圍進行比較,以確定所述芯片是否工作于不是所設計的反常狀態下。
如本領域普通技術人員所能夠設想的,所述延遲補償電路50、可變延遲控制電路200和變分電路70能夠被用于上述所希望的目的和其它目的。
至此已經描述了本發明。很明顯,可以以很多的方式對本發明作出變化。這種變化不被認為是脫離了本發明的精神和范圍。對于本領域普通技術人員來說,這些修改都被包括在本發明的精神和范圍之內。
權利要求
1.一種裝置,包括包含多個帶抽頭的延遲單元的帶抽頭的延遲電路,所述帶抽頭的延遲電路接收第一脈沖信號作為輸入;多個取樣模塊,在經過所述帶抽頭的延遲電路傳送所述第一脈沖信號的同時每個取樣模塊接收第二脈沖信號作為輸入,和利用從所述多個帶抽頭的延遲單元中的一個延遲單元輸出的抽頭輸出信號定時每個取樣模塊;和一個編碼器,用于在一定數量被鎖定到所述第二脈沖信號中的取樣模塊的基礎上產生一個輸出值。
2.根據權利要求1的裝置,其特征是所述輸出值表示一個微芯片的處理、電壓和溫度(PVT)狀態。
3.根據權利要求1的裝置,其特征是還包括一個用于時鐘信號的輸入端;一個用于對所述時鐘信號的周期進行記數的計數器;其中,所述編碼器在由所述時鐘信號規定的預定間隔內產生所述輸出值。
4.根據權利要求1的裝置,其特征是還包括變分電路,用于接收所述產生的輸出值和將所述產生的輸出值與預先存儲的最大輸出值和預先存儲的最小輸出值進行比較;其中,如果所述產生的輸出值小于所述預先存儲的最小輸出值,那么,所述產生的輸出值被作為所述最小輸出值存儲;和其中,如果所述產生的輸出值大于所述最大輸出值,那么,所述產生的輸出值被作為最大輸出值存儲。
5.根據權利要求4的裝置,其特征是存儲在所述變分電路中的所述最小輸出值和所述最大輸出值表示一個微芯片的處理、電壓和溫度(PVT)狀態范圍。
6.根據權利要求1的裝置,其特征是所述多個帶抽頭的單元包括至少一個DEL1V15延遲元件。
7.根據權利要求1的裝置,其特征是還包括多個同步元件,用于根據一個時鐘信號使從所述多個取樣模塊輸出的信號同步,其中所述多個同步元件的輸出被輸入給所述編碼器。
8.一種可變延遲電路,包括用于延遲輸入信號的可變延遲元件,所述可變延遲元件具有根據一個控制信號控制的延遲時間;延遲補償電路,用于測量一個微芯片的處理、電壓和溫度(PVT)狀態并輸出表示所述測量的PVT狀態的一個值,其中,表示所述測量的PVT狀態的所述輸出值被用于產生用于所述可變延遲元件的所述控制信號。
9.根據權利要求8的可變延遲電路,其特征是所述可變延遲元件是一個帶抽頭的延遲電路,它包含多個相互串聯的帶抽頭的延遲單元;和一個多路轉換器,用于在所述控制信號的基礎上從所述多個帶抽頭的延遲單元的一個中選擇和輸出一個抽頭信號。
10.根據權利要求9的可變延遲電路,其特征是所述多個帶抽頭的延遲單元包括至少一個DELC1V15延遲元件。
11.根據權利要求8的可變延遲電路,其特征是所述延遲補償電路包括一個帶抽頭的延遲電路,包括多個帶抽頭的延遲單元,所述帶抽頭的延遲電路接收作為輸入的第一脈沖信號;多個取樣模塊,在經過所述帶抽頭的延遲電路傳送所述第一脈沖信號的同時,每個取樣模塊接收作為輸入的第二脈沖信號;利用來自所述多個帶抽頭的延遲單元中一個的抽頭輸出信號定時每個取樣模塊;和一個編碼器,用于在一定數量被鎖定到所述第二脈沖信號上的取樣模塊的基礎上輸出表示PVT狀態的所述值。
12.根據權利要求11所述的可變延遲電路,其特征是所述延遲補償電路還包括一個用于時鐘信號的輸入端;一個用于記數所述時鐘信號周期的計數器,其中,所述編碼器在由所述時鐘信號規定的預定期間內產生所述輸出值。
全文摘要
一種用于通過測量芯片內延遲元件的有效延遲確定所述芯片的處理效果、電壓和溫度(PVT)狀態的延遲補償電路。該延遲補償電路包括多個取樣模塊,每個取樣模塊從帶抽頭延遲電路內的一系列延遲單元的一個中接收被延遲的時鐘信號。所述延遲補償電路在被鎖定到一個固定輸入信號上的總取樣模塊數的基礎上使用所述被延遲的時鐘信號產生一個輸出值。由于每個延遲單元的延遲在PVT狀態變化的基礎上變化,所以,由所述延遲補償電路產生的所述輸出值確定所述芯片中的PVT狀態。這些輸出值可以被用于將元件設計成補償PVT狀態的變化或在被檢測PVT狀態的基礎上控制一個可變延遲元件。
文檔編號H03L7/081GK1393993SQ0113253
公開日2003年1月29日 申請日期2001年7月2日 優先權日2001年7月2日
發明者曹先國, 奧貝德·杜阿多, 葉波 申請人:朗迅科技公司