專利名稱:用于管理時鐘域邊界之間的時鐘偏移的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及當(dāng)使用獨(dú)立的時鐘域來處理通過關(guān)鍵路徑的數(shù)據(jù)時管理時鐘偏移(clock skew)。
背景技術(shù):
在傳統(tǒng)系統(tǒng)中,諸如使用LSI(大規(guī)模集成電路)電路實(shí)現(xiàn)的數(shù)字電路系統(tǒng)之類的數(shù)字電路系統(tǒng)經(jīng)常使用系統(tǒng)時鐘信號,以同步地執(zhí)行某些邏輯功能。例如,超深亞微米(UDSM)微處理器使用利用系統(tǒng)時鐘信號的數(shù)字電路系統(tǒng)來同步地執(zhí)行邏輯功能。這些微處理器工作在1GHz以及更高的系統(tǒng)時鐘頻率上。給定LSI電路的系統(tǒng)時鐘信號經(jīng)常被劃分為許多路徑,以服務(wù)數(shù)字電路系統(tǒng)的許多不同部分。
因?yàn)閿?shù)字電路正在變得更復(fù)雜,因此在所述電路內(nèi)使用多個時鐘頻率正變得更常見。這允許例如所述電路的一部分工作在較低的頻率上,由此降低所述電路中的功耗。但是,這可能要求通過時鐘域邊界傳送數(shù)據(jù),即從工作在第一頻率的電路系統(tǒng)的一個部分到工作在第二頻率的電路系統(tǒng)的另一個部分來傳送。
理想的情況是,在數(shù)字電路系統(tǒng)的不同部分的系統(tǒng)時鐘信號顯示完全相同的定時特性,使得數(shù)字電路系統(tǒng)的不同部分完全同步地工作,即使當(dāng)在電路的不同部分中使用不同的時鐘頻率時也是如此。但是,實(shí)際上,在通過數(shù)字電路系統(tǒng)的不同點(diǎn)的系統(tǒng)時鐘信號展示不同的定時特性,諸如不同的上升和/或下降沿(即跳變)、不同的占空周期和/或不同的頻率。這些非理想的特性經(jīng)常被稱為時鐘抖動和時鐘偏移。
時鐘抖動涉及在產(chǎn)生系統(tǒng)時鐘信號中固有的不準(zhǔn)確性。由于時鐘抖動而導(dǎo)致的系統(tǒng)時鐘信號的非理想特性以相同的方式影響LSI電路的所有部分,而不管系統(tǒng)時鐘信號如何被分布到所述電路的那些部分。時鐘偏移涉及由分布技術(shù)引入系統(tǒng)時鐘信號的不準(zhǔn)確性,所述分布技術(shù)用于將系統(tǒng)時鐘劃分為許多路徑,并且向數(shù)字電路的不同部分傳遞所述時鐘信號。
可以將時鐘偏移的來源劃分為靜態(tài)發(fā)生和動態(tài)發(fā)生。時鐘偏移的靜態(tài)發(fā)生來源由LSI設(shè)計(jì)或制造過程引起,而不管LSI電路的操作條件如何。時鐘偏移的動態(tài)發(fā)生來源由LSI電路的操作條件引起,其也可以是LSI電路設(shè)計(jì)或制造過程的函數(shù)。
時鐘偏移的靜態(tài)發(fā)生來源包括(i)在晶體管負(fù)載電容中的變化(例如柵極負(fù)載電容);(ii)電路互連的RC延遲(例如導(dǎo)線長度和寬度的不對稱性);(iii)在導(dǎo)線之間的交叉耦合電容(例如布線之間的電容)的變化和/或不對稱性;以及(iv)半導(dǎo)體工藝變化(例如晶體管門限電壓變化、晶體管導(dǎo)通電阻變化、布線變化、過孔和接觸RC變化)。
時鐘偏移的動態(tài)發(fā)生來源包括(i)由于布線之間的電容而導(dǎo)致的在導(dǎo)線長度之間的交叉耦合;(ii)由于電感性的耦合而導(dǎo)致的在導(dǎo)線長度之間的交叉耦合;(iii)由于返回路徑電流而導(dǎo)致的交叉耦合;(iv)溫度變化;以及(v)VDD和VSS的變化(例如直流工作電壓變化)。
不幸的是,由于時鐘偏移而導(dǎo)致的系統(tǒng)時鐘信號中的定時特性的變化導(dǎo)致在LSI電路的數(shù)字電路系統(tǒng)的操作中不希望的誤差。當(dāng)遇到通過時鐘域邊界的跳變時,該問題惡化。
現(xiàn)在參見圖1和圖2A-B更詳細(xì)地討論由于時鐘偏移而導(dǎo)致的上述困難。圖1是在組合邏輯的相應(yīng)級之間使用時鐘域邊界的數(shù)字系統(tǒng)10的方框圖。所述系統(tǒng)10包括多個全鎖存器電路12、16、20和多個組合邏輯電路14、18。(為了當(dāng)前的討論,假定延遲電路22、24不在系統(tǒng)10內(nèi))。全鎖存器12可操作用于向組合邏輯14的第一級傳送數(shù)據(jù),而全鎖存器電路16可操作用于向組合邏輯18的第二級傳送數(shù)據(jù)。使用工作在第一頻率(例如4GHz)的時鐘A來為全鎖存器電路12計(jì)時。使用工作在第二頻率(例如2GHz)的時鐘B來為全鎖存器電路16計(jì)時。因此,全鎖存器電路16在組合邏輯14的第一級和組合邏輯18的第二級之間建立時鐘域邊界,所述各個級工作在不同的頻率上。
要明白,系統(tǒng)10可以包括進(jìn)一步的組合邏輯級,為了簡潔和清楚,未將它們示出。
圖2A是圖解當(dāng)時鐘A信號和時鐘B信號涉及在組合邏輯14、18的第一和第二級之間的有效數(shù)據(jù)的可用性和傳送時,所述時鐘A信號和時鐘B信號的定時特性的圖。將首先介紹時鐘A信號和時鐘B(同步)信號,其中,時鐘B(同步)信號表示理想情況,其中,時鐘A信號和時鐘B(同步)信號的上升沿精確地對齊。在時鐘A信號的上升沿50上,全鎖存器電路12按時鐘傳送數(shù)據(jù)到組合邏輯14。最短傳播延遲Tp存在于從時鐘A信號的上升沿50到來自組合邏輯14的有效輸出數(shù)據(jù)A0的開始。數(shù)據(jù)A0有效,直到在時鐘A信號的下一個上升沿52后的最短傳播延遲Tp。
在時鐘B(同步)信號的上升沿54,全鎖存器電路16將在其輸入處的數(shù)據(jù)(可以包括數(shù)據(jù)A0)傳送到組合邏輯18。全鎖存器電路16的建立時間Ts表示在時鐘B(同步)信號的上升沿54之前的時間量,在此期間,數(shù)據(jù)A0必須在全鎖存器電路16的輸入處有效,以便適合的傳送發(fā)生。保持時間Th表示在時鐘B(同步)信號的上升沿54之后的時間量,在此期間,輸出數(shù)據(jù)A0必須在全鎖存器電路16的輸入處保持有效,以便適合的傳送發(fā)生。
因?yàn)樵诮M合邏輯14的第一級中的數(shù)據(jù)的有效性改變之前在時鐘A信號的上升沿50、52后總是存在某個最小的傳播延遲Tp,所以當(dāng)時鐘B信號與時鐘A信號同步時,典型地沒有保持時間違反(violation)。
當(dāng)考慮從組合邏輯18的第二級到由鎖存器20表示的下一級的數(shù)據(jù)傳送時獲得類似的分析。具體來說,時鐘B(同步)信號的上升沿56在全鎖存器電路16的輸入處,按時鐘將數(shù)據(jù)傳遞進(jìn)入組合邏輯18。在上升沿56后的最短傳播延遲Tp之后,組合邏輯18的組合數(shù)據(jù)B0在全鎖存器電路20的輸入處變得有效。
在時鐘A信號的上升沿58,全鎖存器電路20將在其輸入處的數(shù)據(jù)(可以包括數(shù)據(jù)B0)傳送到下一級(未示出)的組合邏輯。全鎖存器電路20的建立時間Ts表示在時鐘A信號的上升沿58之前的時間量,在此期間,輸出數(shù)據(jù)B0必須在全鎖存器電路20的輸入有效,以便適合的傳送發(fā)生。保持時間Th表示在時鐘A信號的上升沿58后的時間量,在此期間,輸出數(shù)據(jù)B0必須在全鎖存器電路20的輸入依然有效以便適合的傳送發(fā)生。
現(xiàn)在參見時鐘B(滯后)信號,假定時鐘B信號由于時鐘偏移問題而滯后于時鐘A信號。在此情況下,時鐘B(滯后)信號的滯后的上升沿54A比時鐘B(同步)信號的上升沿54遲發(fā)生顯著的時間。當(dāng)這種滯后具有顯著的幅度時,輸出數(shù)據(jù)A0在滿足滯后的上升沿54A后的保持時間Th的顯著長度時間可能不是有效的。因此,有效輸出數(shù)據(jù)A0可能從未被傳送到組合邏輯18的第二級。事實(shí)上,雖然可能滿足全鎖存器電路16的上升沿54A之前的建立時間Ts,但是輸出數(shù)據(jù)A0的有效性在上升沿54A之后的保持時間Th之前期滿。結(jié)果,全鎖存器電路16不可以從組合邏輯14向組合邏輯18傳送有效的輸出數(shù)據(jù)A0。
對于從組合邏輯18到下一級的輸出數(shù)據(jù)B0的傳送,時鐘B(滯后)信號實(shí)際上有助于提供另外的時間量,在其中,輸出數(shù)據(jù)B0在時鐘A信號的上升沿58后的保持時間Th期滿后有效。但是,值得注意的是,時鐘B(滯后)信號的滯后特性降低了建立時間——輸出數(shù)據(jù)B0在上升沿58之前有效的時間量。在此示例中,這種降低將可能不違反全鎖存器電路20在上升沿58之前的建立時間Ts要求。
現(xiàn)在轉(zhuǎn)向時鐘B(超前)信號的細(xì)節(jié),假定時鐘B(超前)信號的上升沿發(fā)生在時鐘A信號的上升沿之前。關(guān)于輸出數(shù)據(jù)A0,時鐘B(超前)信號的超前特性有助于提供保持時間——其中輸出數(shù)據(jù)A0在時鐘B(超前)信號的上升沿54B后有效的時段。因此,時鐘B(超前)信號的超前特性關(guān)于從組合邏輯電路14的第一級到組合邏輯18的第二級輸出數(shù)據(jù)A0的傳送將不出現(xiàn)引起保持時間問題。但是,值得注意的是,時鐘B(超前)信號的超前特性降低了建立時間——其中輸出數(shù)據(jù)A0在時鐘B(超前)信號的上升沿54B之前有效的時間量。因此,有可能依賴于時鐘B(超前)信號的超前特性的嚴(yán)重程度而可能發(fā)生建立時間問題。
時鐘B(超前)信號的超前上升沿56B發(fā)生在時鐘B(同步)信號的上升沿56之前顯著長的時間。當(dāng)這種超前具有相當(dāng)大的幅度時,輸出數(shù)據(jù)B0可能在滿足在時鐘A信號的上升沿58后的保持時間Th的顯著長度時間不是有效的。結(jié)果,有效輸出數(shù)據(jù)B0可能從未被傳送到組合邏輯的下一級。事實(shí)上,雖然可能滿足在全鎖存器電路20的上升沿58之前的建立時間Ts,但是輸出數(shù)據(jù)B0的有效性在時鐘A信號的上升沿58之后的保持時間Th之前期滿。結(jié)果,全鎖存器電路20不可以從組合邏輯18向下一級傳送有效的輸出數(shù)據(jù)B0。
對于從如在時鐘A和時鐘B信號之間的時鐘偏移現(xiàn)象引起的保持時間違反問題的一種傳統(tǒng)解決方案是在組合邏輯14和組合邏輯18各自的數(shù)據(jù)路徑中的某處使用延遲電路22、24。為了討論的目的,將延遲電路22、24圖解為被恰好插入各自的全鎖存器電路16、20之前。參見圖2B,延遲電路22的引入將輸出數(shù)據(jù)A0的傳播在時鐘A信號的上升沿50的傳播延遲Tp之后延遲數(shù)量Td。這保證了輸出數(shù)據(jù)A0在時鐘B(滯后)信號的上升沿54A后的另外的時段Td是有效的。因此,可以滿足全鎖存器電路16的保持時間Th,并且可以向組合邏輯18的第二級傳送輸出數(shù)據(jù)A0。
延遲電路24在全鎖存器電路20之前的引入,在來自組合邏輯18的輸出數(shù)據(jù)B0有效之前從時鐘B(滯后)信號的上升沿56A測量的傳播延遲Tp之后,引入延遲量Td。結(jié)果,在時鐘A信號的上升沿58之前如有效輸出數(shù)據(jù)B0的開始到建立時間Ts的開始之間的時間容限量顯著地被減少。
當(dāng)時鐘B信號超前于時鐘A信號時,延遲電路22對于輸出數(shù)據(jù)A0的有效性的影響趨向于引起相對于時鐘B(超前)信號的上升沿54B測量的關(guān)于全鎖存器電路16的建立時間Ts違反。時鐘B(超前)信號的超前特性可能趨向于改善關(guān)于相對于全鎖存器電路20和時鐘A信號的上升沿58的輸出數(shù)據(jù)B0的有效性的建立時間特性,但是由延遲電路24引入的延遲否定了這樣的改善。延遲電路24的引入可能提高在時鐘A信號的上升沿58后輸出數(shù)據(jù)B0有效的時間量,由此滿足全鎖存器電路20的保持時間Th。
雖然使用延遲電路來解決保持時間問題可能是有用的,但是存在建立時間違反的可能性的相應(yīng)增加。而且,它們消耗了通過組合邏輯的各級的關(guān)鍵路徑的大量的總體定時預(yù)算。理論上講,由于延遲電路和時鐘偏移而導(dǎo)致被引入特定級的總的延遲量應(yīng)當(dāng)是最大時鐘偏移的兩倍。這可能顯著增加建立時間違反的發(fā)生,并且也顯著降低整個系統(tǒng)的定時容限。
發(fā)明內(nèi)容
按照本發(fā)明的一個或多個實(shí)施例,一種裝置包括組合邏輯的至少第一和第二級;第一和第二全鎖存器電路,可分別操作用于向組合邏輯的第一和第二級傳送數(shù)據(jù);以及第一透明鎖存器電路,可操作用于從組合邏輯的第一級向所述第二全鎖存器電路傳送輸出數(shù)據(jù)。
所述裝置還可以包括第二透明鎖存器電路,可操作用于傳送從組合邏輯的第二級輸出的數(shù)據(jù)。優(yōu)選的是,使用第一時鐘信號來計(jì)時第一全鎖存器電路,并且優(yōu)選的是,使用反相的第一時鐘信號來計(jì)時第一透明鎖存器電路。類似地,可以使用第二時鐘信號來計(jì)時第二全鎖存器電路,并且可以使用反相的第二時鐘信號來計(jì)時第二透明鎖存器電路。優(yōu)選的是,第一時鐘信號比第二時鐘信號的頻率更高。
所述裝置還可以包括組合邏輯的多個級,每個級包括全鎖存器電路,可操作用于向組合邏輯的給定級傳送數(shù)據(jù);以及透明鎖存器電路,可操作用于從所述組合邏輯的給定級向所述各級的下一個傳送輸出數(shù)據(jù)。優(yōu)選的是,使用公共時鐘信號的反相形式來計(jì)時每個級的所述全鎖存器電路和所述透明鎖存器電路。可以以不同的頻率計(jì)時相鄰的各級。
要注意,組合邏輯的所述各級的至少一個可以包括數(shù)字邏輯門的多個分支,其中,每個分支對數(shù)據(jù)的各個輸入流操作以產(chǎn)生數(shù)據(jù)的各個輸出流。因此,優(yōu)選的是,組合邏輯的所述至少一個級的全鎖存器電路包括多個觸發(fā)器,其中每個觸發(fā)器將數(shù)據(jù)的輸入流傳送到所述級。類似地,優(yōu)選的是,所述組合邏輯的所述至少一個級的透明鎖存器電路包括多個半鎖存器,其中,每個半鎖存器向所述各級的下一個傳送數(shù)據(jù)的輸出流。
優(yōu)選的是,第一透明鎖存器可操作用于(i)當(dāng)?shù)谝煌该麈i存器的時鐘信號處于兩個邏輯電平的第一個時,傳送來自給定組合邏輯的輸出數(shù)據(jù)的狀態(tài)變化,而不管這樣的變化何時發(fā)生;并且(ii)抑制(withhold)所述輸出數(shù)據(jù)的狀態(tài)變化,直到第一透明鎖存器的時鐘信號從所述兩個邏輯電平的第二個跳變到第一邏輯電平。
按照本發(fā)明的一個或多個其他實(shí)施例,一種裝置包括組合邏輯的多個級,每個級包括全鎖存器電路,可操作用于向組合邏輯的給定級傳送數(shù)據(jù);以及透明鎖存器電路,可操作用于向所述各級的下一個傳送來自組合邏輯的所述給定級的輸出數(shù)據(jù)。
按照本發(fā)明的一個或多個其他實(shí)施例,一種方法包括提供組合邏輯的多個級,每個級包括全鎖存器電路,可操作用于向組合邏輯的給定級傳送數(shù)據(jù);在每個級中,當(dāng)全鎖存器電路的時鐘信號處于兩個邏輯電平的第一個時,傳送來自給定組合邏輯的輸出數(shù)據(jù)的狀態(tài)變化,而不管這樣的變化何時發(fā)生;并且在每個級中,抑制(withhold)所述輸出數(shù)據(jù)的狀態(tài)變化,直到全鎖存器電路的時鐘信號從所述兩個邏輯電平的第二個跳變到第一邏輯電平。
當(dāng)在此的本發(fā)明的說明與附圖結(jié)合時,對于本領(lǐng)域內(nèi)的技術(shù)人員來說,其他方面、特征、優(yōu)點(diǎn)等將變得清楚。
為了圖解本發(fā)明的各個方面,在附圖中示出了當(dāng)前優(yōu)選的形式,但是要明白,本發(fā)明不限于在此示出的精確布置和手段(instrumentality)。
圖1是按照現(xiàn)有技術(shù)的在組合邏輯的各個級之間使用時鐘邊界的系統(tǒng)的方框圖;圖2A和2B是圖解在具有和不具有時鐘偏移的圖1的系統(tǒng)的數(shù)據(jù)有效性特性和時鐘信號之間的關(guān)系的時序圖;圖3是按照本發(fā)明的一個或多個實(shí)施例的在組合邏輯的各個級之間使用時鐘邊界的系統(tǒng)的方框圖;圖4是按照本發(fā)明的一個或多個實(shí)施例的用于透明鎖存器的真值表的圖;圖5是圖解在具有和不具有時鐘偏移的圖3的系統(tǒng)的數(shù)據(jù)有效性特性和時鐘信號之間的關(guān)系的時序圖。
具體實(shí)施例方式
參見附圖,其中相同的標(biāo)號表示相同的元件,在圖3中示出了按照本發(fā)明的一個或多個實(shí)施例的數(shù)字系統(tǒng)100。所述系統(tǒng)100包括多個級102A、102B、102C...,其中,每個級102包括組合邏輯110或112,可操作用于以期望的方式操縱數(shù)字?jǐn)?shù)據(jù)。所述系統(tǒng)100還包括多個全鎖存器電路104、106。所述全鎖存器電路104可操作用于向組合邏輯110的第一級傳送數(shù)據(jù),而全鎖存器電路106可操作用于向組合邏輯112的第二級傳送數(shù)據(jù)。使用工作在第一頻率(例如4GHz)的時鐘A來計(jì)時全鎖存器電路104。使用工作在第二頻率(例如2GHz)的時鐘B來對全鎖存器電路106計(jì)時。因此,全鎖存器電路106在第一級102A和第二級102B之間建立時鐘域邊界,所述各個級工作在不同的頻率上。要注意,優(yōu)選的是,在時鐘A和時鐘B之間存在關(guān)系,諸如時鐘A頻率是時鐘B頻率的整數(shù)倍,或時鐘B頻率是時鐘A頻率的整數(shù)倍。
要明白,系統(tǒng)100可以包括進(jìn)一步的組合邏輯級,為了簡潔和清楚,未將它們示出。
優(yōu)選的是,每個級102還包括透明鎖存器,其中,級102A包括透明鎖存器電路114,級102B包括透明鎖存器電路116等。參見圖4,每個透明鎖存器電路最好按照真值表工作,在所述真值表中,鎖存器可操作來傳送向其輸入的數(shù)據(jù)的狀態(tài)變化,而不管這樣的變化何時發(fā)生,只要透明鎖存器的時鐘信號處于兩個邏輯電平的第一個。在圖4中所示的真值表中,第一邏輯電平可以是邏輯高,而第二邏輯電平可以是邏輯低。所述透明鎖存器最好還抑制(withhold)向其輸入的數(shù)據(jù)的狀態(tài)變化,直到時鐘信號從第二邏輯電平跳變到第一邏輯電平。因此,盡管從邏輯低到高或邏輯高到低的狀態(tài)變化在時鐘信號處于第一(例如高)電平時可以基本上立即地通過透明鎖存器,但是當(dāng)時鐘信號處于第二(例如低)電平時所述狀態(tài)變化被“保持”,直到這樣的時鐘信號跳變到第一邏輯。本領(lǐng)域內(nèi)的技術(shù)人員將會理解,此真值表有時被稱為“半鎖存器”布局。
要注意到,為了簡單,每個級的組合邏輯110、112等可以包括數(shù)字邏輯門的多個分支,其中,每個分支工作在各自的數(shù)據(jù)輸入流上以產(chǎn)生各自的數(shù)據(jù)輸出流。但是,為了簡單,示出了單個線用作被輸入到組合邏輯110、112的每個級,并且示出一條線離開每個級。然而假定數(shù)字邏輯的多個分支可以存在于組合邏輯的每個級內(nèi),要理解到,可以使用多個這樣的鎖存器電路來在各自組合邏輯電路中容納數(shù)字邏輯的每個分支,以實(shí)現(xiàn)全鎖存器電路104、106、108等和透明鎖存器電路114、116等。例如,可以使用觸發(fā)器(FIFO)陣列來實(shí)現(xiàn)全鎖存器電路104,所述觸發(fā)器可操作用于向形成組合邏輯110的數(shù)字邏輯門的各個分支中傳送數(shù)據(jù)。類似地,可以使用多個半鎖存器電路來實(shí)現(xiàn)透明鎖存器電路114,其中,每個半鎖存器電路可操作用于將來自組合邏輯110的數(shù)字邏輯門的分支的各自輸出數(shù)據(jù)傳送到全鎖存器電路106的一個或多個輸入。類似的細(xì)節(jié)可以適用于系統(tǒng)100的其他級。
值得注意的是,使用各自的時鐘信號的反相形式來計(jì)時每個級102的全鎖存器電路和透明鎖存器電路。因此,使用時鐘A來計(jì)時全鎖存器電路104,而使用時鐘A的反相形式來計(jì)時第一級102A的透明鎖存器電路114。類似地,使用時鐘B來計(jì)時全鎖存器電路106,而使用時鐘B的反相形式來計(jì)時透明鎖存器電路116。優(yōu)選的是,這種計(jì)時布置和其他級(如果有的話)一致。也優(yōu)選的是,以不同的頻率來計(jì)時相鄰的級。為了與上述的示例一致,以4GHz計(jì)時第一級102A,而以2GHz計(jì)時第二級102B。
現(xiàn)在參見圖5來更詳細(xì)地說明系統(tǒng)100的操作,圖5是圖解與進(jìn)入和來自系統(tǒng)100的每個級的數(shù)據(jù)發(fā)送相比較的各個時鐘信號的定時特性的圖。將首先介紹時鐘A信號和時鐘B(同步)信號,其中,時鐘B(同步)信號表示理想的情況,其中,時鐘A信號和時鐘B(同步)信號的上升沿精確地對齊。在時鐘A信號的上升沿50上,全鎖存器電路104按時鐘傳輸數(shù)據(jù)到組合邏輯110。從時鐘A信號的上升沿50到來自組合邏輯110的有效輸出數(shù)據(jù)A0的開始存在最短的傳播延遲Tp。數(shù)據(jù)A0有效,直到在時鐘A信號的下一個上升沿52之后的最短傳播延遲Tp。
在時鐘B(同步)信號的上升沿54處,全鎖存器電路106將在其輸入處的數(shù)據(jù)傳送到組合邏輯112。全鎖存器電路106的建立時間Ts表示在時鐘B(同步)信號的上升沿54之前的時間量,在此期間,數(shù)據(jù)A0必須在全鎖存器電路106的輸入處有效,以便適合的傳送發(fā)生。保持時間Th表示在時鐘B(同步)信號的上升沿54后的時間量,在此期間,輸出數(shù)據(jù)A0必須在全鎖存器電路106的輸入處保持有效,以便適合的傳送發(fā)生。
因?yàn)樵诮M合邏輯110的第一級中的數(shù)據(jù)的有效性改變之前總是存在時鐘A信號的上升沿50、52之后的某個最小的傳播延遲Tp,因此當(dāng)時鐘B信號與時鐘A信號同步時通常不存在保持時間違反。
類似的分析在考慮從組合邏輯112的第二級到由鎖存器108表示的下一級的數(shù)據(jù)傳送時獲得。具體來說,時鐘B(同步)信號的上升沿56按時鐘傳送在全鎖存器電路106的輸入處的數(shù)據(jù)到組合邏輯112。在上升沿56后的最短傳播延遲Tp之后,組合邏輯112的組合數(shù)據(jù)B0變得在全鎖存器電路116的輸入處有效。
在時鐘A信號的上升沿58處,全鎖存器電路108將在其輸入處的數(shù)據(jù)(可以包括數(shù)據(jù)B0)傳送到下一級的組合邏輯(未示出)。全鎖存器電路108的建立時間Ts表示在時鐘A信號的上升沿58之前的時間量,在此期間,輸出數(shù)據(jù)B0必須在全鎖存器電路108的輸入處有效,以便適合的傳送發(fā)生。保持時間Th表示在時鐘A信號的上升沿58后的時間量,在此期間,輸出數(shù)據(jù)B0必須在全鎖存器電路108的輸入處保持有效以便適合的傳送發(fā)生。
現(xiàn)在參見時鐘B(滯后)信號,假定時鐘B信號由于時鐘偏移問題而滯后于時鐘A信號。在此情況下,時鐘B(滯后)信號的滯后的上升沿54A比在時鐘B(同步)信號的上升沿54之后晚發(fā)生顯著時間。當(dāng)這種滯后具有相當(dāng)大的幅度時,輸出數(shù)據(jù)A0在滿足在滯后的上升沿54A后的保持時間Th的顯著長度的時間不是有效的。結(jié)果,有效輸出數(shù)據(jù)A0可能從未被傳送到組合邏輯112的第二級。事實(shí)上,雖然可能滿足全鎖存器電路106的上升沿54A之前的建立時間Ts,但是輸出數(shù)據(jù)A0的有效性在上升沿54A之后的保持時間Th之前期滿。結(jié)果,全鎖存器電路106不能從組合邏輯110向組合邏輯112傳送有效的輸出數(shù)據(jù)A0。
來自組合邏輯110的輸出數(shù)據(jù)被標(biāo)注為A0,而透明鎖存器電路114對于輸出數(shù)據(jù)A0的影響被標(biāo)注為A0’。類似地,組合邏輯112的輸出數(shù)據(jù)被標(biāo)注為B0,而透明鎖存器電路116對于這樣的數(shù)據(jù)的影響被標(biāo)注為B0’。為了與在上面提供的透明鎖存器電路的操作的說明一致,雖然來自組合邏輯110的輸出數(shù)據(jù)A0的狀態(tài)可以在傳播Tp期滿后改變和變得有效,但是透明鎖存器114在反相的時鐘A信號低時抑制(withhold)輸出數(shù)據(jù)A0的任何狀態(tài)改變。因此,當(dāng)時鐘A信號在50’從高邏輯電平跳變到低邏輯電平時,輸出數(shù)據(jù)A0’變得有效。類似地,盡管輸出數(shù)據(jù)A0的狀態(tài)可以在時鐘A信號的上升沿52后改變,但是透明鎖存器電路114將在時鐘A信號在邏輯高并且反相的時鐘A信號在邏輯低的時間期間保持輸出信號A0’的狀態(tài),并且當(dāng)在52’反相的時鐘A信號的狀態(tài)從邏輯低跳變到邏輯高時,允許輸出信號A0’的狀態(tài)跳變。
結(jié)果,當(dāng)時鐘B信號由于時鐘偏移而滯后于時鐘A時,透明鎖存器電路114將輸出數(shù)據(jù)A0’的有效狀態(tài)保持足夠的時間以滿足在時鐘B(滯后)信號的上升沿54A后的保持時間Th。而且,透明鎖存器電路114不將輸出數(shù)據(jù)A0’的定時移位到違反在時鐘B(超前)信號的上升沿54B之前的建立時間Ts這樣的程度。
對于從組合邏輯112到下一級的輸出數(shù)據(jù)B0的傳送,時鐘B(滯后)信號實(shí)際上有助于提供另外的時間量,在其中,輸出數(shù)據(jù)B0在時鐘A信號的上升沿58后的保持時間Th期滿后有效。但是,值得注意的是,時鐘B(滯后)信號的滯后特性降低了建立時間——輸出數(shù)據(jù)B0在上升沿58之前有效的時間量。在此示例中,這種降低將可能對全鎖存器電路108不違反在上升沿58之前的建立時間Ts的要求。
當(dāng)全鎖存器電路106在時鐘B信號的上升沿56向組合邏輯112傳送數(shù)據(jù)時,透明鎖存器電路116保持(withhold)最初的輸出數(shù)據(jù)B0’的狀態(tài),直到反相的時鐘B信號的邏輯狀態(tài)從低跳變到高。類似地,當(dāng)反相的時鐘B信號的狀態(tài)在邊沿59和60之間為低時,透明鎖存器電路116保持輸出數(shù)據(jù)信號B0’的狀態(tài)。
現(xiàn)在轉(zhuǎn)向時鐘B(超前)信號的細(xì)節(jié),假定時鐘B(超前)信號的上升沿發(fā)生在時鐘A信號的上升沿之前。關(guān)于輸出數(shù)據(jù)A0,時鐘B(超前)信號的超前特性有助于提供保持時間——其中輸出數(shù)據(jù)A0在時鐘B(超前)信號的上升沿54B后有效的時段。因此,時鐘B(超前)信號的超前特性將不出現(xiàn)以引起關(guān)于從組合邏輯電路110的第一級到組合邏輯112的第二級的輸出A0的傳送的保持時間問題。但是,值得注意的是,時鐘B(超前)信號的超前特性降低了建立時間——其中輸出數(shù)據(jù)A0在時鐘B(超前)信號的上升沿54B之前有效的時間量。因此,有可能依賴于時鐘B(超前)信號的超前特性的嚴(yán)重程度而可能發(fā)生建立時間問題。
時鐘B(超前)信號的超前上升沿56B發(fā)生在時鐘B(同步)信號的上升沿56之前的顯著時間。當(dāng)這種超前具有相當(dāng)大的幅度時,輸出數(shù)據(jù)B0可能在滿足在時鐘A信號的上升沿58后的保持時間Th的顯著長度的時間不是有效的。結(jié)果,有效輸出數(shù)據(jù)B0可能從未被傳送到組合邏輯的下一級。事實(shí)上,雖然可能滿足在全鎖存器電路108的上升沿58之前的建立時間Ts,但是輸出數(shù)據(jù)B0的有效性在時鐘A信號的上升沿58之后的保持時間Th之前期滿。結(jié)果,全鎖存器電路108不能從組合邏輯112向下一級傳送有效的輸出數(shù)據(jù)B0。
值得注意的是,當(dāng)由于時鐘偏移而展現(xiàn)時鐘B(超前)信號時,透明鎖存器電路116抑制(withhold)輸出數(shù)據(jù)B0’的狀態(tài)改變,直到在邊沿60B反相的時鐘B(超前)信號從低跳變到高。因此,全鎖存器電路108的保持時間Th在時鐘A信號的上升沿58后被滿足。還要注意到,在未犧牲和由現(xiàn)有技術(shù)的延遲電路實(shí)現(xiàn)(圖2B)所展現(xiàn)的同樣多的建立時間容限的情況下,實(shí)現(xiàn)了保持時間問題的這種跨越(traversal)。
有益的是,在圖3中圖示的并且按照本發(fā)明的一個或多個實(shí)施例的所述電路實(shí)現(xiàn)有效地解決了時鐘偏移的問題,而對于建立時間容限的影響相對小。這表示相對于在上文中討論的現(xiàn)有技術(shù)的方法的特性具有明顯的進(jìn)步。
要注意到,可以使用任何公知的技術(shù),如標(biāo)準(zhǔn)數(shù)字電路系統(tǒng)、模擬電路系統(tǒng)、微處理器、數(shù)字信號處理器,包括現(xiàn)在可用的器件和/或以后開發(fā)的器件的可操作用于執(zhí)行軟件和/或固件程序的任何公知處理器、可編程數(shù)字器件或系統(tǒng)、可編程陣列邏輯器件或上述的任何組合,來實(shí)現(xiàn)在本文件中至此所描述的和/或后來所述的所述方法和裝置。
雖然在此已經(jīng)參照特定的實(shí)施例說明了本發(fā)明,但是要理解到,這些實(shí)施例僅僅是說明本發(fā)明的原理和應(yīng)用。因此要理解,在不偏離權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以對于所述說明性實(shí)施例進(jìn)行多種修改,并且可以設(shè)計(jì)其他的布置。
權(quán)利要求
1.一種裝置,包括組合邏輯的至少第一和第二級;第一和第二全鎖存器電路,可分別操作用于向組合邏輯的第一和第二級傳送數(shù)據(jù);以及,第一透明鎖存器電路,可操作用于從組合邏輯的第一級向所述第二全鎖存器電路傳送輸出數(shù)據(jù)。
2.按照權(quán)利要求1的裝置,還包括第二透明鎖存器電路,可操作用于從組合邏輯的第二級傳送輸出數(shù)據(jù)。
3.按照權(quán)利要求2的裝置,其中,使用第一時鐘信號來計(jì)時第一全鎖存器電路,并且使用反相的第一時鐘信號來計(jì)時第一透明鎖存器電路。
4.按照權(quán)利要求3的裝置,其中,使用第二時鐘信號來計(jì)時第二全鎖存器電路,并且使用反相的第二時鐘信號來計(jì)時第二透明鎖存器電路。
5.按照權(quán)利要求4的裝置,其中,第一時鐘信號比第二時鐘信號頻率更高。
6.按照權(quán)利要求1-5的任何一個所述的裝置,還包括組合邏輯的多個級,每個級包括全鎖存器電路,可操作用于向組合邏輯的給定級傳送數(shù)據(jù);以及透明鎖存器電路,可操作用于從所述組合邏輯的給定級向下一個級傳送輸出數(shù)據(jù)。
7.按照權(quán)利要求6的裝置,其中,使用公共時鐘信號的反相形式來計(jì)時每個級的所述全鎖存器電路和所述透明鎖存器電路。
8.按照權(quán)利要求6的裝置,其中,以不同的頻率計(jì)時相鄰的級。
9.按照權(quán)利要求1-5中的任何一個所述的裝置,其中組合邏輯的至少一個級包括數(shù)字邏輯門的多個分支,每個分支對各自的數(shù)據(jù)輸入流操作以產(chǎn)生各自的數(shù)據(jù)輸出流;組合邏輯的所述至少一個級的全鎖存器電路包括多個觸發(fā)器,每個觸發(fā)器將數(shù)據(jù)的輸入流傳送到所述級;并且組合邏輯的所述至少一個級的透明鎖存器電路包括多個半鎖存器,每個半鎖存器向下一個級傳送數(shù)據(jù)的輸出流。
10.按照權(quán)利要求1-5的任何一個所述的裝置,其中,第一透明鎖存器可操作用于(i)當(dāng)?shù)谝煌该麈i存器的時鐘信號處于兩個邏輯電平的第一個時,傳送來自組合邏輯的第一級的輸出數(shù)據(jù)的狀態(tài)變化,而不管這樣的變化何時發(fā)生;并且(ii)抑制所述輸出數(shù)據(jù)的狀態(tài)變化,直到第一透明鎖存器的時鐘信號從所述兩個邏輯電平的第二個跳變到第一邏輯電平。
11.一種裝置,包括組合邏輯的多個級,每個級包括全鎖存器電路,可操作用于向組合邏輯的給定級傳送數(shù)據(jù);以及透明鎖存器電路,可操作用于向所述各級的下一個傳送來自組合邏輯的給定級的輸出數(shù)據(jù)。
12.按照權(quán)利要求11的裝置,其中,使用公共時鐘信號的反相形式來計(jì)時每個級的所述全鎖存器電路和所述透明鎖存器電路;以及在不同的頻率計(jì)時相鄰的級。
13.按照權(quán)利要求11或12的裝置,其中,所述透明鎖存器電路可操作用于(i)當(dāng)所述透明鎖存器電路的時鐘信號處于兩個邏輯電平的第一個時,傳送來自給定組合邏輯的輸出數(shù)據(jù)的狀態(tài)變化,而不管這樣的變化何時發(fā)生;并且(ii)抑制所述輸出數(shù)據(jù)的狀態(tài)變化,直到所述透明鎖存器電路的時鐘信號從所述兩個邏輯電平的第二個跳變到第一邏輯電平。
14.一種方法,包括提供組合邏輯的多個級,每個級包括全鎖存器電路,該全鎖存器電路可操作用于向組合邏輯的給定級中傳送數(shù)據(jù);在每個級中,當(dāng)全鎖存器電路的時鐘信號處于兩個邏輯電平的第一個時,傳送來自給定組合邏輯的輸出數(shù)據(jù)的狀態(tài)變化,而不管這樣的變化何時發(fā)生;并且在每個級中,抑制所述輸出數(shù)據(jù)的狀態(tài)變化,直到全鎖存器電路的時鐘信號從所述兩個邏輯電平的第二個跳變到第一邏輯電平。
15.按照權(quán)利要求14的方法,還包括,以不同的時鐘頻率計(jì)時相鄰級的全鎖存器電路。
全文摘要
本發(fā)明的方法和裝置提供了組合邏輯的多個級,每個級包括全鎖存器電路,可操作用于向組合邏輯的給定級傳送數(shù)據(jù);以及透明鎖存器電路,可操作用于從組合邏輯的所述給定級向所述多個級的下一個傳送輸出數(shù)據(jù);在每個級中,當(dāng)透明鎖存器電路的時鐘信號處于兩個邏輯電平的第一個時,傳送來自給定組合邏輯的輸出數(shù)據(jù)的狀態(tài)變化,而不管這樣的變化何時發(fā)生;并且在每個級中,抑制所述輸出數(shù)據(jù)的狀態(tài)變化,直到透明鎖存器電路的時鐘信號從所述兩個邏輯電平的第二個跳變到第一邏輯電平。
文檔編號G06F1/10GK1877485SQ20061009451
公開日2006年12月13日 申請日期2006年6月9日 優(yōu)先權(quán)日2005年6月9日
發(fā)明者高野知明 申請人:索尼計(jì)算機(jī)娛樂公司