專利名稱:用以加載輸出先進(jìn)先出緩存器的寬時間窗口頻率方法、電路及內(nèi)存的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路,更詳細(xì)地說,是集成電路內(nèi)存或類似裝置中的先進(jìn)先出(first in-first out,F(xiàn)IFO)緩存器的創(chuàng)新時鐘方案。
背景技術(shù):
關(guān)于時間信號的術(shù)語定義,詳列在本發(fā)明的實(shí)施方式中的專門術(shù)語定義。
典型的先進(jìn)先出加載時鐘(FIFO loading clock,F(xiàn)ICLK)從主芯片時鐘(mainchip clock,INT CLOCK)衍生而來,兩者的頻率關(guān)系相當(dāng),即頻率(FICLK)=頻率(INT CLOCK)。實(shí)際的相位及/或驅(qū)動時間可被偏移以提供最大可能時間窗口(widest possible window),但先進(jìn)先出加載時鐘的頻率仍受限于主芯片時鐘。
連結(jié)先進(jìn)先出加載時鐘至主芯片時鐘方式主要有兩個缺點(diǎn),一為先進(jìn)先出輸入時鐘時間窗口太狹窄以致無法在任何情況下提供適當(dāng)?shù)臄?shù)據(jù)捕捉(datacapture),另一為時鐘窗口太寬以致數(shù)據(jù)重疊輸入漏失(data run-through)發(fā)生。
在典型的設(shè)計中,F(xiàn)ICLK的相位可被改變,并且可以等于內(nèi)部時鐘JCLK或者YCLK的相位或其它相位,但該相位仍然是由內(nèi)部時鐘衍生而來。使用這種設(shè)計的理由為內(nèi)部YCLK為自發(fā)時鐘(free-running clock)且每一個周期都會觸發(fā)(fire),無論是讀取操作或者寫入操作皆然。
圖1為一個公知技術(shù)的FICLK時鐘設(shè)計范例,其表示了內(nèi)部JCLK以及YCLK時鐘信號,其后跟隨著一個讀取信號READ。FICLK-Y表示以YCLK為基礎(chǔ)的先進(jìn)先出載入時鐘,F(xiàn)ICLK-J表示以JCLK為基礎(chǔ)的先進(jìn)先出載入時鐘。在該數(shù)據(jù)路徑中的其它時鐘亦為必須,因此從“READ-B”中讀取的數(shù)據(jù)不會在“FICLK-A”的脈沖中被加載。
然而,根據(jù)聯(lián)合電子裝置工程協(xié)會(Joint Electronic Devices EngineeringCouncil,JEDEC)的DDR2(double data rate 2)標(biāo)準(zhǔn),由于其頻率可以是外部時鐘的一半,因此YCLK不可以是自發(fā)時鐘,而且可以在任一JCLK周期中被啟動。
上述兩個明顯的問題系起因于DDR2標(biāo)準(zhǔn)。
首先,若FICLK與內(nèi)部時鐘JCLK不相關(guān)(run off),則控制該時鐘的布局(placement)以配合數(shù)據(jù)路徑/行位址存取延遲(datapath/CAS latency)的關(guān)系即可輕易達(dá)成,但FICLK可能變得過于窄小而無法提供一個適當(dāng)?shù)臄?shù)據(jù)捕捉窗口。在圖2的例子中,F(xiàn)ICLK相對于JCLK以及YCLK而言可以被安排在許多位置上,但其頻率必須匹配內(nèi)部時鐘,因此實(shí)際開啟時間(on time)必定小于內(nèi)部時鐘的開啟時間。I-DATA代表FICLK必須捕捉的數(shù)據(jù),在圖2的例子中,F(xiàn)ICLK-A錯過了I-DATA-A。由于芯片中一般的電阻/電容延遲及元件延遲會使得YCLK的下降邊緣及I-DATA的上升邊緣之間具有延遲20,該延遲尤為顯著。由于其會因溫度以及供應(yīng)電壓而改變,而時鐘的周期卻是由使用者所固定,這表示延遲20在時鐘周期中所占的百分比會根據(jù)操作頻率而顯著地改變,因此寬FICLK是需要的,以確保數(shù)據(jù)捕捉無誤。
再者,若FICLK與YCLK不相關(guān),它可能無法恰當(dāng)?shù)嘏c行地址存取延遲(CAS latency,CL)匹配,圖3表示了一個例子。在數(shù)據(jù)被FICLK加載先進(jìn)先出緩存器前,輸出時鐘啟動且試圖由先進(jìn)先出緩存器取得數(shù)據(jù)是可能的,圖3中的時間點(diǎn)30顯示了這種情形。
以上兩種有缺陷的模式僅為例示,當(dāng)考量頻率變動、數(shù)據(jù)路徑速度、以及行位址存取延遲時,有可能存在各種可能的缺陷模式。
因此,一種可以提供先進(jìn)先出緩存器最大可能時間窗口,以捕捉數(shù)據(jù)并防止數(shù)據(jù)重疊輸入漏失的時鐘設(shè)計是迫切需要的。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個實(shí)施例,一種電路及方法提供先進(jìn)先出緩存器最大可能時間窗口以捕捉數(shù)據(jù)并防止數(shù)據(jù)重疊輸入漏失。本發(fā)明之電路設(shè)計在芯片的數(shù)據(jù)路徑太緩慢而無法匹配給定的時鐘頻率時失去作用,因此整體表現(xiàn)受限于集成電路內(nèi)存本身,而非先進(jìn)先出加載時鐘設(shè)計。
于本發(fā)明之先進(jìn)先出時鐘電路中使用之先進(jìn)先出緩存器的每個輸入輸出(I/O)包含兩個緩存器,因此需利用兩個先進(jìn)先出輸入時鐘,表示為FICLK<0:1>。當(dāng)一個FICLK被驅(qū)動時,另外一個自動被禁能。在初始階段,該電路被重置,因此FICLK<1>被驅(qū)動,且FICLK<0>被禁能。重置會發(fā)生在當(dāng)FICLK電路不被需要時。
隨著接收到有效的讀取命令,一個隨附在處于低電平的FICLK的轉(zhuǎn)移鏈(shift chain)開始計數(shù)時鐘周期,直到處于低電平的FICLK可以被驅(qū)動為止,其最終的驅(qū)動系取決于處于高電平的FICLK的關(guān)閉。
在YCLK的下降邊緣,于重置期間被驅(qū)動的FICLK隨著該讀取命令關(guān)閉一固定延遲,在YCLK的下降邊緣,內(nèi)存結(jié)構(gòu)由數(shù)組輸出數(shù)據(jù)到主存儲器總線,因此在YCLK下降后的某個時刻,新的數(shù)據(jù)將會出現(xiàn)。在重置期間被初始驅(qū)動的FICLK可維持有效狀態(tài)直到該時刻。在YCLK下降后,當(dāng)在重置期間被初始驅(qū)動的FICLK被該延遲禁能時,在重置期間被禁能的FICLK可被驅(qū)動。當(dāng)在重置期間被驅(qū)動的FICLK關(guān)閉時,在重置期間被禁能的FICLK被驅(qū)動,此時外部周期已經(jīng)過適當(dāng)數(shù)目以滿足給定的讀取延遲。
因此,本發(fā)明的電路在經(jīng)過已知且表示新數(shù)據(jù)正在輸入之內(nèi)部時鐘(YCLK)的某些延遲之后,禁能現(xiàn)用的FICLK,讓另一個FICLK來處理,當(dāng)目前啟動的FICLK被禁能且外部周期已經(jīng)過適當(dāng)數(shù)目后以滿足給定的讀取延遲時,本發(fā)明之電路驅(qū)動另一個FICLK。
在參照附圖及實(shí)施方式后,所屬領(lǐng)域的技術(shù)人員便可了解本發(fā)明之其它目的,以及本發(fā)明之技術(shù)手段及實(shí)施方式,其中圖1至圖3表示用于先進(jìn)先出緩存器之公知時鐘設(shè)計時序圖;圖4表示用于本發(fā)明之先進(jìn)先出緩存器之時鐘設(shè)計時序圖;圖5表示包含利用本發(fā)明的時鐘設(shè)計之先進(jìn)先出緩存器之集成電路內(nèi)存之方框圖;圖6表示本發(fā)明用以提供先進(jìn)先出時鐘設(shè)計的電路的方框圖;圖7A表示本發(fā)明用以提供先進(jìn)先出時鐘設(shè)計的電路的部分方框圖;圖7B與圖7D表示本發(fā)明用以提供先進(jìn)先出時鐘設(shè)計的附加電路的門級電路圖;圖7C表示圖7A、圖7B與圖7D的時序圖;圖8A與圖8B表示圖7A之電路的更詳細(xì)門級電路圖;圖9A-圖9I表示本發(fā)明時鐘設(shè)計之正常、緩慢、與快速操作模式之時序圖;以及圖10表示本發(fā)明之一實(shí)施例之簡化方框圖。
主要元件標(biāo)記說明20延遲時間30時間點(diǎn)40時間期間42時間期間500芯片架構(gòu) 502內(nèi)存儲存區(qū)504內(nèi)存儲存區(qū) 506內(nèi)存儲存區(qū)508內(nèi)存儲存區(qū) 510G總線512耦合晶體管 514I總線516存取元件 518存取元件520先進(jìn)先出緩存器 522先進(jìn)先出緩存器524輸出存取元件 526輸出存取元件528輸出緩沖器 530輸入輸出連接墊600方框圖 602捕捉方塊604捕捉方塊 606FICLK驅(qū)動產(chǎn)生方塊608控制邏輯方塊 610延遲方塊612延遲方塊 614FICLK啟始捕捉方塊616FICLK啟始捕捉方塊 618FICLK產(chǎn)生方塊620FICLK產(chǎn)生方塊 800fi_shift電路1000電路 1002電路方塊
1004電路方塊 1006電路方塊100g電路方塊 1010電路方塊具體實(shí)施方式
根據(jù)本發(fā)明,F(xiàn)ICLK基于來自外部時鐘之信息被驅(qū)動,但尚未被啟動(activated),在這種情況下,先進(jìn)先出緩存器在數(shù)據(jù)由芯片被輸出前被加載正確的數(shù)據(jù)。在獲得外部讀取命令之后,且FICLK被驅(qū)動前,所經(jīng)過時鐘邊緣之?dāng)?shù)目為所需CL之函數(shù)。當(dāng)前一個FICLK被禁能后,該FICLK即被完全啟動。
前一個FICLK只根據(jù)來自YCLK之信息被禁能,根據(jù)DDR2標(biāo)準(zhǔn),數(shù)據(jù)只會在YCLK的下降邊緣出現(xiàn)在數(shù)據(jù)路徑中,因此該情況被選定為該禁能動作的定義點(diǎn)。根據(jù)這種方法,數(shù)據(jù)重疊輸入漏失不會在先進(jìn)先出緩存器中發(fā)生(意即“read B”的數(shù)據(jù)不會在“FIFO-A”結(jié)束)。
通過驅(qū)動但不啟動的作法,嚴(yán)格根據(jù)外部時鐘的核心FICLK在當(dāng)前一個FICLK被禁能時才會啟動此FICLK,且根據(jù)內(nèi)部YCLK禁能目前的FICLK,內(nèi)部YCLK之運(yùn)行速率為外部時鐘的一半,并且實(shí)質(zhì)地具有完全可變的工作周期。上述作法亦為FICLK提供最大捕捉時間窗口,解決了前述之第一個問題,同時其被正確地安排以支持多種不同的延遲,并且不會發(fā)生數(shù)據(jù)重疊輸入漏失,解決了前述之第二個問題。
在本發(fā)明中,該FICLK在前一個被禁能前并不發(fā)生改變,也就是禁能路徑具有優(yōu)位控制權(quán)(precedence),可確保最大可能捕捉時間窗口。既然YCLK是一個具有最大值限制的寬度可變時鐘,當(dāng)該數(shù)據(jù)可得時,該FICLK時序可自我補(bǔ)償。
參照圖4,其表示在CL為3時,本發(fā)明之FICLK時序之范例。需注意僅與A數(shù)據(jù)相關(guān)的FICLK<0>之開啟時間會盡可能地長以捕捉數(shù)據(jù),例如圖4中的時間期間40。同時需注意FICLK<0>之啟動時點(diǎn)會盡可能地早以支持CL為3之規(guī)格,例如圖4中的時間期間42。操作速度受限于I-data(A)傳遞到先進(jìn)先出緩存器與FICLK<0>的交叉點(diǎn)之輸入端的傳遞速度。需注意僅與B資料相關(guān)的FICLK<I>只會在FICLK<0>被禁能后方被啟動。
FICLK<0>與FICLK<1>的開啟時間總和等于100%,意即該FICLK動作可提供最大可能數(shù)據(jù)捕捉時間窗口。
綜合來看,本發(fā)明所披露之方法如下在讀取命令產(chǎn)生后,若外部時鐘邊緣之?dāng)?shù)目達(dá)一定數(shù)目,且另一FICLK未動作時,啟動一個FICLK;若內(nèi)部YCLK已下降使得新的數(shù)據(jù)正在被傳遞時,禁能某一FICLK,以避免因該FICLK持續(xù)開啟而導(dǎo)致數(shù)據(jù)重疊輸入漏失發(fā)生。
圖5表示了可依照DDR2標(biāo)準(zhǔn)運(yùn)行的集成電路內(nèi)存之基本芯片架構(gòu)500,包含先進(jìn)先出電路,此集成電路內(nèi)存亦可支持本發(fā)明之FICLK時序設(shè)計。該內(nèi)存芯片包含連接64位之G總線510的四個內(nèi)存儲存區(qū)(memory bank)502、504、506及508,G總線510經(jīng)由耦合晶體管512耦合到I總線514,晶體管512的柵極接收RGICLK信號,其在讀取操作期間為邏輯1。存取元件516與518耦合I總線數(shù)據(jù)至先進(jìn)先出緩存器520與522,存取元件516接收FICLK<0>信號,存取元件518接收FICLK<1>信號,每一個FICLK信號被一個先進(jìn)先出緩存器使用。輸出存取元件524與526耦合先進(jìn)先出數(shù)據(jù)至輸出緩沖器528,然后至輸入/輸出襯墊530。輸出存取元件524接收OUTCLK<0>信號,輸出存取元件526接收OUTCLK<1>信號,輸出時鐘信號OUTCLK并不與FICLK有關(guān),而與延遲鎖相環(huán)時間(delay locked loop,DLL)有關(guān),意即在一個時鐘中,該輸出與外部時鐘同時切換。
圖6表示本發(fā)明產(chǎn)生FICLK的電路方框圖600,圖6的方框為FICLK與FI-shift電路的組合,其詳細(xì)內(nèi)容表示于圖7A至圖7D,以及圖8A至圖8B。
方框圖600包含捕捉方塊602,其接收YCLK、ARS(any read state,在讀取命令中維持高電平的信號)、JCLKB、與YEN<1>信號,并輸出FI_SHIFT<0>.A0信號;捕捉方框604,其接收YCLK、ARS、JCLKB、與YEN<0>信號,并輸出FI_SHIFT<1>.A0信號;FICLK驅(qū)動產(chǎn)生方框606,其接收YCLK、ARS、JCLKB、DDR1CL3與YEN<1>信號,并輸出YEN<0>信號;控制邏輯方框608,用以接收CL<2:5,15>、DDR2、JCLK、KCLK、PWRUP、以及QRESET信號,并產(chǎn)生CLdecode、KCLK2、KCLK2B、RESET、以及RESETB信號;延遲方框610,用以接收FI_SHIFT<0>.A0、CLdecode、KCLK2、KCLK2B與RESET信號,并產(chǎn)生EN<0>(enable<0>)信號;延遲方框612,用以接收FI_SHIFT<1>.A0、CLdecode、KCLK2、KCLK2B與RESET信號,并產(chǎn)生EN<1>(enable<1>)信號;FICLK啟始捕捉方框614,用以接收EN<0>以及RESETB信號,并產(chǎn)生FI<0>信號;以及FICLK啟始捕捉方框616,用以接收EN<1>以及RESET信號,并產(chǎn)生FI<1>信號。圖6由圖6A與圖6B合并所構(gòu)成,其中圖6A包含捕捉方框602、捕捉方框604、延遲方框610、延遲方框612、FICLK啟始捕捉方框614、FICLK啟始捕捉方框616、FICLK產(chǎn)生方框618以及FICLK產(chǎn)生方框620,圖6B包含F(xiàn)ICLK驅(qū)動產(chǎn)生方框606與控制邏輯方框608。
尤需注意的是圖6中在方框614與方框616間的連接關(guān)系分,由方框612產(chǎn)生的FI<0>與FIB<0>信號被方框616接收,相對地,由方框616產(chǎn)生的FI<1>與FIB<1>信號被方框614接收。
方框圖600亦包含F(xiàn)ICLK產(chǎn)生方框618,用以接收FI<0>與YEN<0>信號及指示讀取/寫入信息之DBON控制信號,并輸出FICLK<0>時鐘信號。同樣地,F(xiàn)ICLK產(chǎn)生方框620接收FI<1>與YEN<1>信號及DBON控制信號,并輸出FICLK<1>時鐘信號。
尤需注意的是,在圖6中以及本發(fā)明的披露中,YCLK功能可利用單擊脈沖產(chǎn)生器產(chǎn)生,以在更高的操作頻率下獲得較佳的表現(xiàn)。
本發(fā)明的電路進(jìn)行重置后,F(xiàn)ICLK<0>被選定以進(jìn)行下一次讀取。在本實(shí)施例中,該重置操作實(shí)際上會驅(qū)動FICLK<1>,而后在下一次操作中驅(qū)動FICLK<0>。無論選擇哪一個FICLK,理論上都必須連接至尚未加載數(shù)據(jù)的先進(jìn)先出緩存器,意即先進(jìn)先出緩存器之輸入與輸出指針理論上必須在相同的位置被啟始。
圖7A至圖7D以及圖8表示了本發(fā)明之一實(shí)施例之門級電路,其僅支持DDR2標(biāo)準(zhǔn)。然而,經(jīng)過如下說明所披露的些許調(diào)整,該電路即可同時支持DDR2以及DDR1標(biāo)準(zhǔn)。
圖7A之單一方框顯示了在fi_shift電路800中的節(jié)點(diǎn)名稱以及信號,其可與圖8對應(yīng)。fi_shift電路800為本發(fā)明用以適當(dāng)產(chǎn)生FICLK信號之電路的部分方框圖,fi_shift電路800之節(jié)點(diǎn)名稱顯示在該方框之中,供應(yīng)至節(jié)點(diǎn)之信號顯示于方框之外。
圖7A所顯示之信號命名方式如下。在許多信號之前的<*2>表示該信號被施加在fi_shift電路的2個布局中的每一個。標(biāo)示在第7A圖右上角之FI_SHIFT<0:1>表示第7圖中fi_shift電路有2個布局FI_SHIFT<0>及FI_SHIFT<1>。CL為CAS latency的縮寫。在信號尾端的B代表″bar″,即被指示信號的反相,例如當(dāng)CL23為高電平時,CL23B即為低電平,當(dāng)CL23為低電平時,CL23B即為高電平。在CL后加一個數(shù)字(有時標(biāo)示在刮號<>內(nèi))表示當(dāng)該部分被設(shè)定在CL時,該信號為高電平,反之則為低電平。當(dāng)CL后加多個數(shù)字時,表示在CL為這些數(shù)字中的一個時,該信號為高電平。ARS表示任何讀取狀態(tài)(any read state)信號。JCLK4B系為內(nèi)部時鐘JCLK的延遲并反相表示。KCLK2系為外部時鐘的延遲表示,KCLK2B系為KCLK的反相信號。RESET為內(nèi)部重置信號,RESETB為其反相信號。YEN<1:0>表示圖7B中之YEN<1>,施加到fi_shift之布局FI_SHOFT<0>的節(jié)點(diǎn)FIN之信號。YEN<0>施加到fi_shift之布局FI_SHOFT<1>的節(jié)點(diǎn)FIN之信號。fi_shift之布局FI_SHOFT<0>之節(jié)點(diǎn)SKEN與信號EN<0>連結(jié)。fi_shift之布局FI_SHOFT<1>之節(jié)點(diǎn)SKN與信號EN<1>連結(jié)。
參照圖7B,其詳細(xì)表示了FICLK產(chǎn)生電路的其它部分,圖6之電路方框606,614,616,618,以及620的細(xì)節(jié)表示于第7B圖中,圖7B由圖7B(1)與圖7B(2)合并所構(gòu)成,其中圖7B(1)包含電路方框614,616,618,以及620,圖7B(2)包含電路方框606。電路方框606包含鎖存器I174/I171/I172以及I175/I178/I177、支持?jǐn)?shù)字電路例如反相器I198、I179、I181、I180、I205及I204、或非門I178與與非門I185、以及通過柵I193。電路方框614與616包含多個反相器與鎖存器,電路方框618與620包含與非門、或非門以及兩個反相器。
圖7C表示了圖7B中各信號的時序圖。FICLK在如表1所示的CL條件下的時點(diǎn)通過KCLK導(dǎo)通。
CL時間DDR1DDR2CL<1.5>T0.5
CL<2>CL<2> T0.5CL<2.5> CL<3> T1CL<3>T1.5CL<4> T2CL<5> T2表1YCLK下降或DBON于高電平時可以關(guān)閉現(xiàn)用FICLK。
圖7C表示了在DDR2的CL<5>條件下,F(xiàn)ICLK(0或1)只會在讀取命令的兩個周期后啟動,并且會在隨后的YCLK轉(zhuǎn)為低電平時關(guān)閉。
參照圖7D,另外的數(shù)字電路例如與非門、或非門及反相器是用以產(chǎn)生如第7B圖、第8A圖與第8B圖電路中的可變控制與時鐘信號。
參照圖8A,輸入與非門I111接收輸入信號ARS與FIN(即圖7中的YEN<N>)并耦合到反相器I112,其交替耦合到N通道晶體管M6,晶體管M6與另外兩個N通道晶體管M5與M12串聯(lián),晶體管M5的柵極接收YCLK信號,晶體管M12的柵極接收J(rèn)CLKB信號。當(dāng)所有的控制信號中有一個為高電平時,節(jié)點(diǎn)A0會被拉至低電平,以捕捉讀取信號。在圖8A中的其它電路為四個鎖存器的串聯(lián)結(jié)構(gòu)(在圖8B中的五個鎖存器將詳述于后),其受KCLK2與KCLK2B控制。需注意在圖8A中之鎖存器以下列方式交替第一與第三鎖存器在KCLK2為高電平時關(guān)閉,第二與第四鎖存器則為開啟。第二至第四鎖存器可因應(yīng)CL選擇性地短路。每一個鎖存器可經(jīng)由在晶體管M13、M15、M16與M17的柵極所接收到的RESET信號重置。
圖8A的電路可因應(yīng)與CL有關(guān)的時序差異而調(diào)整。除了DDR2的操作模式外,圖8A的電路亦支持DDR1的操作模式,并由圖7D的電路控制。圖8A的電路包含可編程移位緩存器。在DDR1的操作模式中,芯片的YCLK頻率會自動地限制在與TCK相同的頻率,YCLK的禁能動作會自動地處理這種狀況,因為它只與YCLK的下降邊緣有關(guān)。對于DDR1來說,驅(qū)動路徑受到如圖7D的電路控制,僅必須調(diào)整到適當(dāng)?shù)耐獠繒r鐘邊緣數(shù)目以提供適當(dāng)?shù)难舆t。
當(dāng)圖7D中的QRESET信號轉(zhuǎn)為高電平時,圖8A中的整個電路將會被初始化,同時A0會被設(shè)定為高電平,且每一個fi_shift電路中的A0P5、A1、A1P5、A2皆被設(shè)為低電平,且EN<0>與EN<1>皆被設(shè)為低電平。參照第7B圖,這種狀況會設(shè)定FI<0>為低電平、FI<1>為高電平、YEN<0>為低電平、YEN<1>為高電平,造成FICLK<0>為低電平,且FICLK<1>在DBON為低電平時為高電平,在DBON為高電平時為低電平。
回到圖8A,當(dāng)ARS信號轉(zhuǎn)為高電平且YCLK與JCLKB皆為高電平時,fi_shift<0>中的讀取狀態(tài)A0轉(zhuǎn)為低電平。接著,當(dāng)KCLK2(KCLK的延遲)轉(zhuǎn)為低電平時,fi_shift<0>中的A0P5轉(zhuǎn)為高電平。若芯片為CL<2>或CL<1.5>,或當(dāng)KCLK2上升,在fi_shift<0>中的A1轉(zhuǎn)為高電平。在KCLK2上升后且JCLKB轉(zhuǎn)為低電平時,A0轉(zhuǎn)為高電平。若芯片不是CL<5>或CL<4>,或芯片為DDR1模式但不是CL3,或當(dāng)KCLK2下降時,在fi_shift<0>中的A1P5轉(zhuǎn)為高電平。當(dāng)KCLK2下降時,A0P5亦下降。若芯片不為CL4或CL5,或KCLK2上升,則EN<0>上升。若芯片為CL<2>或CL<1.5>,或KCLK2上升,則A1轉(zhuǎn)為低電平。當(dāng)EN<0>為高電平且FI<1>為高電平,則LFIB<0>轉(zhuǎn)為低電平且FI<0>轉(zhuǎn)為高電平。當(dāng)FI<0>為高電平且EN<1>為低電平時,LFIB<1>為高電平且FI<1>轉(zhuǎn)為低電平。若芯片不為CL<5>或CL<4>,或芯片為DDR1模式但不是CL<3>,或KCLK2下降,在fi_shift<0>中的A1P5轉(zhuǎn)為低電平。若芯片不為CL5或CL4,或KCLK2上升,EN<0>轉(zhuǎn)為低電平。當(dāng)ARS與YCLK皆為高電平時,ARSYCLK轉(zhuǎn)為高電平,將YEN<1>傳遞到NEXTYEN<0>。若不是在CL<3>及DDR1模式,當(dāng)YCLK下降時YORJCLKCL3轉(zhuǎn)為低電平,若當(dāng)在DDR1及CL<3>模式下,當(dāng)YCLK下降及JCLK上升時,YORJCLKCL3轉(zhuǎn)為低電平。YORJCLKCL3轉(zhuǎn)為低電平可將NEXTYEN<0>傳遞到Y(jié)EN<0>。在QRESET之后的第一ARSYCLK會將NEXTYEN<0>設(shè)定為高電平,接下來的YORJCLKCL3轉(zhuǎn)為低電平會使得YEN<0>為高電平且YEN<1>為低電平。在FI<0>為高電平且YEN<0>為高電平的狀態(tài)下,F(xiàn)ICLKB<0>轉(zhuǎn)為低電平。在DBON為低電平且當(dāng)FICLKB<0>為低電平時,F(xiàn)IANDDBONB<0>將轉(zhuǎn)為高電平的狀態(tài)下且FICLK<0>轉(zhuǎn)為高電平。接下來的YCLK伴隨著ARS高電平而上升,其如同上述在fi_shift<0>設(shè)定過程設(shè)定fi_shift<1>中的A0。在YCLK下降時(或者在DDR1模式的CL3狀況下,在YCLK下降后,第一JCLK上升時),YEN<1>轉(zhuǎn)為高電平且YEN<0>轉(zhuǎn)為低電平,使FICLK<0>轉(zhuǎn)為低電平。一旦YEN<1>與FI<1>皆為高電平且DBON為低電平,則FICLK<1>會被設(shè)定為高電平,直到下一個YCLK再次啟動這個流程。
若要適用于DDR2-667或DDR2-800標(biāo)準(zhǔn),如圖8B所示,圖8B由圖8B(1)與圖8B(2)合并所構(gòu)成,其中圖8B(1)包含電路方框602與604,圖8B(2)包含電路方框610與612。一個受控于KCLK2B的外加鎖存器可加入到方框610與612中,此外加的鎖存器包含傳輸柵I169與I170、包含反相器I172、I173與I171之鎖存級電路以及一個重置晶體管M35。當(dāng)必要時,可以加入額外的鎖存器以支持更高的延遲。
圖9A至圖9I表示3種時鐘狀態(tài)分別在DDR2且CL分別為3、4、5的操作模式下之時序圖,因此共9個時序圖。
在DDR2的CL4或CL5狀況下,至少在輸出時鐘邊緣的兩個周期之前,該FICLK不被驅(qū)動。因此,如果在T4邊緣(T0加上四個周期,意即CL4)要輸出,則在T2之前FICLK不被驅(qū)動。
不同的CL數(shù)值會依照符合該CL需求的方式延遲不同的時間,但不會讓數(shù)據(jù)重復(fù)輸入漏失產(chǎn)生,以前述范例來說,在第一次加載FICLK<0>的數(shù)據(jù)被輸出緩沖器OUT-A讀取之前,不會重復(fù)加載FICLK<0>。
圖9A表示單一讀取爆發(fā)長度(burst length)為4,CL為3,F(xiàn)ICLK<1>關(guān)閉且FICLK<0>開啟的狀況。
圖9B表示連續(xù)三個讀取的狀況,每一個爆發(fā)長度為4(總和為12),CL為3,并工作在相對緩慢的時鐘頻率。需注意該FICLK脈沖占該時鐘周期的小部分,以避免數(shù)據(jù)輸入漏失。
圖9C表示連續(xù)三個讀取的狀況,每一個爆發(fā)長度為4(總和為12),CL為3,并工作在相對快速的時鐘頻率。需注意該FICLK脈沖占該時鐘周期的大部分,以允許提供給被時鐘周期的大部分延遲的數(shù)據(jù)最大時間窗口。
圖9D至圖9F所顯示之時序類似于圖9A至圖9C,但其表示CL為4之情況。
圖9G至圖9I所顯示之時序類似于圖9A至圖9C,但其表示CL為5之情況。
第10圖表示本發(fā)明之一實(shí)施例之簡化方框圖。電路1000包含一方框1002,用以接收YCLK、ARS、JCLKB、DDR1CL3與YEN<1>信號,且用以提供YEN<0>及YEN<1>信號,方框1002在YCLK下降時產(chǎn)生這些信號來禁能FICLK。方框1004與1006分別捕捉讀取信號并偏移該信號以在正確時間啟動FICLK信號,如果該FICLK信號為下一個應(yīng)該被啟動的信號。方框1004接收YCLK、ARS、JCLKB、YEN<1>、CLdecode、KCLK2、KCLK2B、RESET、RESETB、FI<1>與FIB<1>信號,并提供FI<0>與FIB<0>信號。方框1006接收YCLK、ARS、JCLKB、YEN<0>、CLdecode、KCLK2、KCLK2B、RESET、RESETB、FI<0>、與FIB<0>信號,并提供FI<1>與FIB<1>信號。當(dāng)FI<0>與YEN<0>為高電平且DBON為低電平時,方框1008產(chǎn)生FICLK<0>信號,而當(dāng)FI<1>與YEN<1>為高電平且DBON為低電平時,產(chǎn)生FICLK<1>信號。方框1010為邏輯方框以譯碼延遲、重置,并延后KCLK信號,方框1010接收CL<2:5,15>、DDR2、JCLK、KCLK、PWRUP與QRESET信號,并產(chǎn)生CLdecode、KCLK2、KCLK2B、RESET、與RESETB信號。第10圖之電路方框1000為可變、簡化的電路,以方框圖方式呈現(xiàn)來增進(jìn)對本發(fā)明之了解。
專門術(shù)語定義YCLKR為YCLK信號,只因讀取而觸發(fā)。
JCLK為內(nèi)部時鐘,其頻率與外部時鐘相同,但時鐘之高電平時間并不一定為固定寬度,意即內(nèi)部時鐘的工作周期可以與外部時鐘不同。
YCLK為對應(yīng)于DRAM的行存取時間的內(nèi)部頻率。在本發(fā)明的DDR2架構(gòu)中,YCLK可等于外部時鐘Tck(或其半頻率)。在YCLK下降邊緣時,數(shù)據(jù)由數(shù)組輸出到芯片的主要數(shù)據(jù)總線(I-bus)。在本發(fā)明的DDR2架構(gòu)中,YCLK只當(dāng)被需要時在周期中觸發(fā),其頻率受限于主時鐘頻率的一半。在DDR1架構(gòu)中,YCLK頻率等于芯片時鐘頻率。
KCLK為被緩沖的外部時鐘的內(nèi)部對應(yīng)形式。
FICLK為先進(jìn)先出輸入時鐘,對輸出先進(jìn)先出緩存器加載,與外部頻率不相關(guān)(非DLL時鐘范圍),該先進(jìn)先出緩存器的輸出時鐘與DLL時鐘范圍不相關(guān)。
FIFO是指先進(jìn)先出緩存器,在輸出路徑中儲存數(shù)據(jù)。每一個輸出位包含多個平行的先進(jìn)先出緩存器,實(shí)際的緩存器數(shù)目為支持的CL與時鐘頻率范圍的函數(shù),其覆蓋的范圍必須運(yùn)行。
每一個先進(jìn)先出緩存器之加載為所指定的FICLK<#>之函數(shù),其可基于主芯片時鐘范圍的信號而被驅(qū)動或禁能。先進(jìn)先出緩存器中的數(shù)據(jù)因應(yīng)某些運(yùn)行在DDL時鐘范圍的輸出時鐘,從特定的先進(jìn)先出緩存器被讀取出來。因此,先進(jìn)先出緩存器系在兩個時鐘范圍中作為緩沖。
CL系行地址存取延遲,表示在讀取命令之后,在數(shù)據(jù)真正由DRAM輸出前,需經(jīng)過多少個工作周期。
上述說明已披露本發(fā)明的原理以及其特殊元件、電路、與基本技術(shù),需清楚理解的是上述敘述僅用以舉例,并非作為本發(fā)明之范圍限制。尤其需特別理解的是,任何所屬領(lǐng)域的技術(shù)人員可因上述披露之教示,而對本發(fā)明進(jìn)行修改。這些修改可關(guān)于其它已知的特征或被應(yīng)用于除了本發(fā)明已披露之特征或加入本發(fā)明已披露之特征。雖然權(quán)利要求指出了特定的技術(shù)特征組合,然需了解的是本發(fā)明之范圍亦包含所屬領(lǐng)域的技術(shù)人員因本發(fā)明所披露的任何明示或非明示之特征,以及因特征之歸納或修改,而產(chǎn)生的創(chuàng)新特征或者創(chuàng)新組合,無論這種與本發(fā)明有關(guān)系之創(chuàng)新是否已被披露于權(quán)利要求,或者是否緩解了一個或者全部的本發(fā)明所欲解決的技術(shù)問題。申請權(quán)人保留在專利申請過程中,或于后續(xù)申請案中,因應(yīng)上述技術(shù)特征或其組合以規(guī)劃新的權(quán)利要求的權(quán)利。
權(quán)利要求
1.一種操作集成電路內(nèi)存中之多個先進(jìn)先出緩存器之方法,其特征是包含下列步驟基于與內(nèi)部芯片時鐘信號相關(guān)的數(shù)據(jù),禁能第一先進(jìn)先出時鐘信號;以及當(dāng)該第一先進(jìn)先出時鐘信號已被禁能,并且已經(jīng)過適當(dāng)數(shù)目的時鐘邊緣以滿足特定讀取延遲時,驅(qū)動第二先進(jìn)先出時鐘信號。
2.根據(jù)權(quán)利要求1所述的方法,其特征是禁能與驅(qū)動該第一以及第二時鐘信號兼容于雙倍數(shù)據(jù)傳輸率之DDR1以及DDR2標(biāo)準(zhǔn)。
3.根據(jù)權(quán)利要求1所述的方法,其特征是還包含從屬該第一及/或第二先進(jìn)先出時鐘信號至主芯片時鐘的預(yù)設(shè)階段。
4.一種先進(jìn)先出時鐘電路,其特征是包含第一捕捉電路,接收第一及第二內(nèi)部時鐘信號;第一遲延電路,耦合到該第一捕捉電路,并接收外部時鐘信號;第一先進(jìn)先出時鐘起始捕捉與鎖存電路,耦合到該第一遲延電路;第一先進(jìn)先出時鐘產(chǎn)生器電路,接收讀/寫信息,耦合到該第一先進(jìn)先出時鐘起始捕捉與鎖存電路,以產(chǎn)生第一先進(jìn)先出時鐘信號;第二捕捉電路,接收該第一及該第二內(nèi)部時鐘信號;第二遲延電路,耦合到該第二捕捉電路,并接收外部時鐘信號;第二先進(jìn)先出時鐘起始捕捉與鎖存電路,耦合到該第二遲延電路;第二先進(jìn)先出時鐘產(chǎn)生器電路,接收讀/寫信息,耦合到該第二先進(jìn)先出時鐘起始捕捉與鎖存電路,以產(chǎn)生一第二先進(jìn)先出時鐘信號;以及電路,以提供延遲信息給該第一及第二捕捉電路,以及該第一及第二先進(jìn)先出時鐘產(chǎn)生器電路;其中該第一及第二先進(jìn)先出時鐘起始捕捉與鎖存電路為相互電通聯(lián)。
5.一種集成電路內(nèi)存,其特征是包含多個內(nèi)存儲存區(qū),耦合到第一數(shù)據(jù)總線;第二數(shù)據(jù)總線,耦合到該第一數(shù)據(jù)總線;第一輸入存取裝置,以耦合該第二數(shù)據(jù)總線到第一先進(jìn)先出緩存器;第一輸出存取裝置,以耦合該第一先進(jìn)先出緩存器到輸入輸出襯墊;第二輸入存取裝置,以耦合該第二數(shù)據(jù)總線到第二先進(jìn)先出緩存器;以及第二輸出存取裝置,以耦合該第二先進(jìn)先出緩存器到該輸入輸出襯墊;其中該第一及第二輸入存取裝置接收第一及一第二先進(jìn)先出時鐘信號,該第一及第二輸出存取裝置接收第一及第二輸出時鐘信號,其中該先進(jìn)先出時鐘信號的相位與工作周期是可變的,以提供最大可能時間窗口,使該第一及第二先進(jìn)先出緩存器捕捉數(shù)據(jù)并防止數(shù)據(jù)重疊輸入漏失。
6.一種用以操作集成電路內(nèi)存中之多個先進(jìn)先出緩存器之電路,其特征是包含禁能電路,以禁能第一先進(jìn)先出輸入時鐘信號,基于與第二先進(jìn)先出輸入時鐘信號有關(guān)的數(shù)據(jù);以及驅(qū)動電路,當(dāng)該第一先進(jìn)先出時鐘信號已被禁能,并且已經(jīng)過適當(dāng)數(shù)目的時鐘邊緣以滿足特定讀取延遲時,以驅(qū)動該第二先進(jìn)先出時鐘信號。
7.根據(jù)權(quán)利要求6所述的電路,其特征是還包含電路,以禁能及驅(qū)動該第一及第二時鐘信號,該禁能及驅(qū)動兼容于DDR1以及DDR2標(biāo)準(zhǔn)。
8.根據(jù)權(quán)利要求6所述的電路,其特征是還包含從屬該第一及/或第二先進(jìn)先出時鐘信號至主芯片時鐘的預(yù)設(shè)相位。
9.根據(jù)權(quán)利要求6所述的電路,其特征是還包含多個串聯(lián)鎖存元件。
10.根據(jù)權(quán)利要求9所述的電路,其特征是上述這些鎖存元件接收時鐘信號。
11.根據(jù)權(quán)利要求9所述的電路,其特征是上述這些鎖存元件接收時鐘信號以及反相時鐘信號。
12.根據(jù)權(quán)利要求9所述的電路,其特征是上述這些鎖存元件為二擇一地被開啟或關(guān)閉。
13.根據(jù)權(quán)利要求9所述的電路,其特征是每一個鎖存元件包含輸入傳輸柵。
14.根據(jù)權(quán)利要求9所述的電路,其特征是每一個鎖存元件包含一對相互耦合的反相器。
15.根據(jù)權(quán)利要求9所述的電路,其特征是每一個鎖存元件包含重置晶體管。
16.根據(jù)權(quán)利要求9所述的電路,其特征是每一個鎖存元件包含輸出反相器。
17.根據(jù)權(quán)利要求9所述的電路,其特征是上述這些鎖存元件中至少一個鎖存元件用以接收行地址存取延遲信息。
18.根據(jù)權(quán)利要求9所述的電路,其特征是上述這些鎖存元件個數(shù)為四個。
19.根據(jù)權(quán)利要求9所述的電路,其特征是上述這些鎖存元件個數(shù)為五個。
20.根據(jù)權(quán)利要求9所述的電路,其特征是還包含輸入邏輯柵,以捕捉讀取信號。
全文摘要
電路提供先進(jìn)先出緩存器最大可能時間窗口以捕捉數(shù)據(jù),并防止數(shù)據(jù)重復(fù)輸入漏失,該先進(jìn)先出緩存器于每個輸出入端包含兩個緩存器,每個先進(jìn)先出緩存器使用一個先進(jìn)先出輸入時鐘。一開始,該電路被重置,使得一個時鐘被啟動,另一時鐘被禁能。在接收到有效的讀取命令時,附加到FICLK且原為低電平的轉(zhuǎn)移鏈開始計數(shù)時鐘周期,最后決定何時該FICLK可被驅(qū)動。最后驅(qū)動操作取決于高電平的FICLK何時要關(guān)閉,在重置時被驅(qū)動的FICLK于與讀取命令相關(guān)的YCLK下降邊緣后關(guān)閉一個固定的遲延。
文檔編號G11C7/00GK1956097SQ20061011153
公開日2007年5月2日 申請日期2006年8月21日 優(yōu)先權(quán)日2005年10月25日
發(fā)明者強(qiáng)·艾倫·飛, 凡·巴特勒 申請人:茂德科技股份有限公司(新加坡子公司)