專利名稱:具有鎖存控制器的異步管線的制作方法
相關(guān)申請的交叉參考本申請要求于2000年10月23日提交的申請?zhí)枮镹o.60/242,587的美國臨時專利申請,題目為“捕鼠器利用躍遷信號協(xié)議的高通量異步管線結(jié)構(gòu)”的優(yōu)先權(quán),這里通過參考將其全部內(nèi)容合并到本申請中。
背景技術(shù):
此外,已提出了許多異步管線。這種常規(guī)的異步管線稱作微管線(參見I.E.Sutherland,“微管線”Communications of the ACM,32(6)720-738,June1989)。這種結(jié)構(gòu)用于一流的控制,但其低速而復雜的捕獲-通過鎖存器妨礙了其性能。
還提出了許多使用交替控制和鎖存器結(jié)構(gòu)的變化(參見P.Day和J.V.Woods,“微管線鎖存器設(shè)計結(jié)構(gòu)的研究”IEEE TVLSI,3(2)264-272,1995年6月;K.Yun,P.Beerel,and J.Arceo,“高性能異步管線電路”Proc.Intl.Symp.Adv.Res.Async.Circ.Syst.(ASYNC),1996;and C.Molnar,I.Jones,W.Coates,J.Lexau,S.Fairbanks,和I.Sutherland,“兩個FIFO環(huán)形性能實驗”Proceedings of the IEEE,87(2)297-307,F(xiàn)eb.1999),但每一種情況其性能都因過量的控制延遲或相當大的鎖存器延遲而受到限制。
這些管線的設(shè)計可分為兩類(1)使用相位變換的管線,和(2)不使用相位變換的管線。上面引述的Sutherland“微管線”及Day和Woods,“微管線鎖存器設(shè)計結(jié)構(gòu)的研究”,及C.Molnar和I.W.Jones,“為復雜原因工作的簡單電路”Proc.Intl.Symp.Adv.Res.Async.Circ.Syst.(ASYNC),pp.138-149,2000年4月,都使用了相位變換。相反,在S.B.Furber and P.Day,“四相位微管線鎖存器控制電路”IEEE TVLSI,4(2)247-253,1996年6月,及K.Yun,Beerel,和J.Arceo,“高性能異步管線電路”中所引用的管線都沒有使用相位變換。
Sutherland(參見
圖14)和Day and Woods(參見圖10)的微管線使用了相位變換。如圖1所示,微管線N級10使用了躍遷信號和透明鎖存器12。在數(shù)據(jù)輸入端14從N-1級(圖1中沒有示出)接收數(shù)據(jù)并且在數(shù)據(jù)輸出端16將數(shù)據(jù)傳送到N+1級(圖1中沒有示出)。鎖存器12的控制是復雜的,至少由三個元件來執(zhí)行C-元件18、異NOR元件(XNOR)20和觸發(fā)器器件22。C元件18的輸出為doneN35,和從N+1級所接收的ackN32一起輸入到XNOR 20。XNOR 20的輸出En 36可使鎖存元件12有效。觸發(fā)器元件16把從其輸入端21上所接收的躍遷信號交替發(fā)送到兩個輸出端24和26其中之一,首先是輸出端26,并將其用點進行標記。輸出26作為reqN+130被發(fā)送到N+1級和作為ackN-131被發(fā)送到N-1級。這些設(shè)計的缺點是關(guān)鍵路徑很長(1)從由N-1級所接收到的請求信號reqN28至傳送到N+1級的請求信號reqN+130,有四個元件延遲,即從C-元件18、XNOR20、鎖存器12和觸發(fā)器22的延遲;和(2)從由N+1級所接收到的確認信號ackN32至C-元件18的輸入33(使其半有效),有三個元件延遲,即從XNOR20、鎖存器12和觸發(fā)器22的延遲。
如上面所引用的“為復雜原因工作的簡單電路”文章中,由Molnar和Jones所描述的管線也使用了相位變換。所述管線稱作“Charlie boxes”并包括更簡單的設(shè)計,如在其文章中所描述的S結(jié)構(gòu)。然而,這些設(shè)計產(chǎn)生相對遲的完成信號。而且,這些設(shè)計沒有提出進一步處理復雜管線,如分支管線和接合管線,他們也沒有公開“波形”策略、通過雙軌控制來消除關(guān)鍵反相器或使用時鐘CMOS結(jié)構(gòu)。
還有若干種沒有使用相位變換的可替換的管線設(shè)計。在上面所引用的由Furber和Day所著的“四相位微管線鎖存器控制電路”中,提出了用于異步管線的三個不同的4-相位協(xié)議(1)完全去耦,(2)長保持和(3)半去耦。這些設(shè)計有若干缺點在前兩個協(xié)議中,管線控制是復雜的。這些設(shè)計中最好的,即,半去耦,其引進了高度并發(fā)協(xié)議,使得在關(guān)鍵路徑上四個元件最小。這些元件全是C-元件,其中兩個有三個棧深,所暗指的其余反相器用于校正極性。
最終的替換方法是保持躍遷信號協(xié)議控制,但用雙邊觸發(fā)的D-flip-flops(DETDFF′s)來替換透明的鎖存器,如上面所引用的由K.Yun,P.Beerel,and J.Arceo,所著的“高性能異步管線電路”。根據(jù)該設(shè)計,每當觸發(fā)鎖存器控制時,就會鎖存數(shù)據(jù)。在這種方法避免了相位轉(zhuǎn)換的系統(tǒng)開銷的同時,由于DETDFF′S明顯比透明鎖存器慢,也比鎖存器大許多,從而嚴重降低了其性能。
已提出了一種稱作“Gasp”的新的管結(jié)構(gòu),其具有很高的通量(參見I.Sutherland and S.Fairbanks,″GasP一種最小限度的FIFO控制″Proc.Intl.Symp.Adv.Res.Async.Circ.Syst.(ASYNC),pp.46-53.IEEE Computer SocietyPress,2001年三月;及J.Ebergen,″Squaring the FIFO in GasP,″Proc.Intl.Symp.Adv.Res.Async.Circ.Syst.(ASYNC),pp.194-205,IEEE Computer SocietyPress,2001年三月)。然而,這種方法針對細晶粒晶體管,以便在控制電路中對所有門實現(xiàn)延遲均等化,及協(xié)議具有更復雜的定時約束。
本發(fā)明的一個目的是提供一種具有簡單控制,并可減小控制延遲和鎖存器延遲的管線。
本發(fā)明的另一目的是提供一種不需要延遲均等化的管線。
本發(fā)明的另一目的是提供一種具有單側(cè)定時約束的管線。
本發(fā)明的另一目的是提供一種可提供進一步處理管如分叉管或接合管的管線。
本發(fā)明的另一目的是提供一種可提供鎖存器轉(zhuǎn)換優(yōu)化的管線。
本發(fā)明的另一目的是提供一種具有很細晶粒結(jié)構(gòu)的管線,所述細晶粒結(jié)構(gòu)特別適合產(chǎn)生高通量。
發(fā)明內(nèi)容
通過本申請所公開的內(nèi)容,本發(fā)明的上述目的和其它目的將變得顯而易見,并且可通過可在環(huán)境中處理數(shù)據(jù)的異步數(shù)字管線電路來實現(xiàn),所述異步數(shù)字管線電路包括至少一個處理級。
處理級包括鎖存控制器和數(shù)據(jù)鎖存器。鎖存控制器可包括XNOR元件。鎖存控制器設(shè)計為當從環(huán)境或次處理級接收到第二確認信號時,用來確定到數(shù)據(jù)鎖存器的有效信號有效,及當從數(shù)據(jù)鎖存器中接收到第一完成信號時,用來確定使有效信號無效。
數(shù)據(jù)鎖存器設(shè)計為用來從環(huán)境中或前一級中接收數(shù)據(jù)和第一請求信號。數(shù)據(jù)鎖存器通過響應接收來自鎖存控制器的有效信號具有有效相(即透明)和無效相(即不透明)。在有效相中,數(shù)據(jù)鎖存器有效,以便使數(shù)據(jù)傳送到第一數(shù)據(jù)輸出端,及在無效相中,數(shù)據(jù)鎖存器無效。在有效相中,數(shù)據(jù)傳遞到第一數(shù)據(jù)輸出端的過程中還會傳遞第二請求信號到環(huán)境中或次級中,傳遞第一確認信號到環(huán)境中或前一級中,及傳遞第一完成信號到鎖存控制器中。
一旦鎖存器有效,并在其輸入端接收到新數(shù)據(jù)(和請求信號),必須保持透明足夠長時間,以保證數(shù)據(jù)通過。這種操作需要時間約束,其滿足包括接收第一請求信號至傳遞第一完成信號的延遲時間 與XNOR元件相關(guān)的使第一有效信號無效的延遲時間 及數(shù)據(jù)鎖存器的建立時間tsu,其關(guān)系可由下式給出。treqN-doneN+tXNORN>tsu]]>處理級還包括邏輯塊,其設(shè)計用來從第一數(shù)據(jù)輸出端接收數(shù)據(jù),對數(shù)據(jù)進行組合邏輯,并將數(shù)據(jù)傳遞到環(huán)境中或第二處理級中,延遲元件設(shè)計用來從數(shù)據(jù)鎖存器中接收第一完成信號,將延遲應用到第一完成信號,并將延遲的第一完成信號作為第二請求信號傳遞到環(huán)境中或第二處理級中。若在設(shè)計中出現(xiàn)第二處理級,第二處理級還包括鎖存控制器和數(shù)據(jù)鎖存器。第二處理級還可包括邏輯塊和延遲元件。
第二定時約束應確保數(shù)據(jù)在前級所產(chǎn)生新數(shù)據(jù)前由級獲得,其關(guān)系如下第一數(shù)據(jù)鎖存器的延遲時間 第一邏輯塊的延遲時間 有效第一數(shù)據(jù)鎖存器的時間 無效第二數(shù)據(jù)鎖存器的時間 和保持時間thold,其關(guān)系可由下面的方程表示tLtN-1+tlogicN-1>(tXNORN-1-tXNORN1)+thold]]>在進一步的實施例中,異步管線可用作寬數(shù)據(jù)通路。在另一實施例中,異步管線還包括分支管線,其中,單個處理級將數(shù)據(jù)提供到兩個平行的次處理級;或接合管線,其中,單個處理級從兩個平行的前處理級接收數(shù)據(jù)。
根據(jù)本發(fā)明,已滿足了上述的目的,并滿足了現(xiàn)有技術(shù)中對具有高通量和低過量運行的數(shù)字管線電路的要求。參照附圖,通過對本發(fā)明的示意性實施例的詳細描述,本發(fā)明的另外一些特點及其優(yōu)點將變得更加明顯。
附圖簡述圖1為部分現(xiàn)有技術(shù)管線的示意圖;圖2為根據(jù)本發(fā)明的管線的第一實施例的示意圖;圖3(a)為根據(jù)本發(fā)明的圖2的部分管線的更詳細的示意圖;圖3(b)為根據(jù)本發(fā)明的圖3(a)所示的部分管線的另一實施例;圖4為根據(jù)本發(fā)明的管線的第二實施例的示意圖;圖5-7為現(xiàn)有技術(shù)邏輯門結(jié)構(gòu)的示意圖;圖8為根據(jù)本發(fā)明的管線的第三實施例的示意圖;圖9為根據(jù)本發(fā)明的圖8的部分管線的更詳細的示意圖;圖10為根據(jù)本發(fā)明的管線的第四實施例的示意圖;
圖11為根據(jù)本發(fā)明的管線的第五實施例的示意圖;圖12為根據(jù)本發(fā)明的圖11的部分管線的更詳細的示意圖;圖13-14為根據(jù)本發(fā)明的圖12所示的部分管線的詳細的示意圖;圖15為根據(jù)本發(fā)明的圖11所示的部分管線的另一詳細的示意圖;圖16為根據(jù)本發(fā)明的圖15所示的部分管線的詳細的示意圖;圖17為根據(jù)本發(fā)明的管線的第六實施例的示意圖;圖18為根據(jù)本發(fā)明的管線的第七實施例的示意圖;圖19所示為根據(jù)本發(fā)明的圖2的管線的若干信號的時間曲線圖;典型實施例的詳細描述根據(jù)本發(fā)明的管線設(shè)計為可提供極高通量。特別是,當這些管線應用到粗晶粒管線的同時,所述管線尤其適合細晶粒、或“門水平”的管線,每一級只有一個門深。在這種粒度上,可獲得最短的周期時間關(guān)鍵周期包括單邏輯門加小部分控制邏輯(如2-3個元件延遲)。當有額外的優(yōu)化時,如下面所詳細說明的那樣,關(guān)鍵周期還可通過組合邏輯和存儲元件、利用稱作時鐘-邏輯或時鐘CMOS(C2MOS)的電路結(jié)構(gòu)而進一步縮短。該技術(shù)的優(yōu)點是減小關(guān)鍵延遲、較小的芯片面積和較低的功耗。在每一種情況中,可使用高度并發(fā)協(xié)議;結(jié)果,根據(jù)本發(fā)明基本FIFO管線的周期僅有5-6個CMOS門延遲(3-4個元件)。根據(jù)本發(fā)明的管線是“最小開銷、超高速躍遷信號異步管線”,也稱作MOUSETRAP管線。
圖2示出了沒有邏輯處理的基本管線100的結(jié)構(gòu)。有若干理由選擇異步或無時鐘電路結(jié)構(gòu)。首先,同步設(shè)計者同時能夠?qū)崿F(xiàn)數(shù)千兆時鐘分布及面對不同的時間域,所述時鐘分布這個任務涉及不斷增加的設(shè)計時間、校驗工作、時鐘脈沖相位差和時鐘功率管理的挑戰(zhàn)。其次,由于異步管線沒有全局時鐘,具有自然彈性,即,可允許管線中數(shù)據(jù)項的數(shù)目有所變化,及在每一接口的速度也可不同。因此,管線可以與以不同的速率操作的各種環(huán)境相接,從而便于模塊化和可重用設(shè)計。最后,異步管線的定位控制可與很高的通路細顆粒數(shù)據(jù)路徑相匹配。
管線100與“左”環(huán)境150和“右”環(huán)境160相互作用。(盡管在以后的圖中沒有明確畫出左環(huán)境和右環(huán)境,但應注意到,在圖的端部所接收的信號來自環(huán)境中,或發(fā)自級的信號發(fā)送到環(huán)境中。而且,管線100的結(jié)構(gòu)可應用到在左環(huán)境和右環(huán)境之間(或一般來說,“環(huán)境中”)相接合的單級上。)新管線的特征在于其結(jié)構(gòu)和操作的簡單性,及易于設(shè)計。數(shù)據(jù)通路使用小而快的標準透明鎖存器,及控制包括在每個管線級上的單個門。所示的三個管級,即N-1級102a、N級102b和N+1級102c。每個級102a、102b和102c包括數(shù)據(jù)鎖存器104a、104b和104c和鎖存控制器106a、106b和106c。如下面的更加詳細的說明,管線級僅與中間鄰接的管線級通信,定時約束為局部、簡單和單側(cè)。
級102a、102b和102c利用信號,即“請求”reqN-1108a、reqN108b和reqN+1108c和“確認”ackN-1110a、ackN110b和ackN+1110c進行相互通信。(請求信號reqN-1108a來自左環(huán)境150,reqN+2108d被傳送至右環(huán)境160。同樣,確認信號ackN-2110’被傳送到左環(huán)境150,確認信號ackN+1110c來自右環(huán)境160。)如圖3(a)所示,數(shù)據(jù)鎖存器104a、104b和104c是簡單的鎖存器,其通常是透明的,即,“有效的”,可使到達各個數(shù)據(jù)輸入112a、112b和112c的新數(shù)據(jù)快速傳遞到數(shù)據(jù)輸出114a、114b和114c。(數(shù)據(jù)輸入112a從左環(huán)境150接收數(shù)據(jù),及數(shù)據(jù)輸出器114c將數(shù)據(jù)傳遞到右環(huán)境160中。通過鎖存有效信號120a可使鎖存器104a有效或無效。鎖存器104a通常包括反相器對150。)當各個級102a、102b和102c完成鎖存新數(shù)據(jù)時,數(shù)據(jù)鎖存器104a、104b和104c還分別產(chǎn)生為輸入信號reqN-1108a、reqN108b和reqN+1108c的鎖存形式的“完成”信號doneN-1116a、doneN116b和doneN+1116c。每個鎖存器用于每一數(shù)據(jù)位,及每一鎖存器用于產(chǎn)生對每一級的完成信號。圖3(a)示出了鎖存器104a,對其進行了優(yōu)化,以便增加抗噪聲度。圖3(b)示出了鎖存器184a的另一實施例,對所述鎖存器184a進行優(yōu)化,用來減小延遲。
一種常用的被稱作“捆數(shù)據(jù)”的異步方案用于編碼數(shù)據(jù)通路。(更詳細的內(nèi)容可參照下列文獻C.L.Seitz,“系統(tǒng)定時”,Introduction to VLSISystems,chapter 7.(C.A.Mead et al.,eds.,Addison-Wesley 1980),and A.Daviset al.,“異步電路設(shè)計動機、背景和方法”Asynchronous Digital CircuitDesign,(G.Birtwistle et al.,eds.,Workshops in Computing,Springer-Verlag,1995)pp.1-49,”通過參照上述兩個文獻的全部內(nèi)容將其合并到本申請中。)根據(jù)捆數(shù)據(jù)方案,當數(shù)據(jù)輸入112b穩(wěn)定后,請求控制信號reqN108b必須到達N級102b。(若數(shù)據(jù)在到達N級102b前通過邏輯塊,那么必須適當延遲reqN108b。這方面內(nèi)容將在下進行詳細說明。)一旦N級102b獲得新數(shù)據(jù),就產(chǎn)生完成信號doneN116b,并將所述完成信號doneN116b發(fā)送至其鎖存控制器106b中,還將其作為確認信號ackN-1110a發(fā)送至N-1級102a中,及作為請求信號reqN+1108c發(fā)送至N+1級102c中。
鎖存控制器106a、106b和106c可利用有效信號EnN-1120a、EnN120b、EnN+1120c使各個數(shù)據(jù)鎖存器104a、104b和104c有效或無效,所述鎖存控制器包括異NOR門,即XNOR門118a、118b和118c,其具有兩個輸入端來自當前級的完成信號,及來自次級的的確認信號。例如,XNOR門118b從N級102b接收完成信號doneN116b,及從N+1級102c接收ackN110b。
現(xiàn)在說明圖2的管線100的操作過程。開始,當管線100為空時,所有的鎖存器104a、104b和104c為透明的,所有的完成信號doneN-1116a、doneN116b、doneN+1116c,所有請求信號reqN-1108a、reqN108b和reqN+1108c,及所有確認信號ackN-1110a、ackN110b和ackN+1110c均為低電平。管線100使用稱為“躍遷信號”的已知發(fā)信號方法。因此,當?shù)谝粩?shù)據(jù)項流經(jīng)管線的各個級時,將會精確翻轉(zhuǎn)所有信號的值一次(如高電平)。接著,第二數(shù)據(jù)項再次翻轉(zhuǎn)所有的信號(如低電平)。每一次躍遷,無論上升或下降,都表示一個明確的事件,即,新數(shù)據(jù)項的到達。
一旦數(shù)據(jù)項經(jīng)過級的鎖存器,將并發(fā)三個動作(i)數(shù)據(jù)和相應請求信號離開所在的級到下一級,以便作進一步處理;(ii)從所在級向前一級發(fā)送確認信號,以便使前一級處理下一數(shù)據(jù)項;和最后(iii)級的鎖存器本身快速關(guān)閉(即,使不透明),以便使當前數(shù)據(jù)不被前一級的新數(shù)據(jù)所覆蓋。接著,當級收到下一級的確認信號時,級的鎖存器再次被有效(即,使透明)。例如,一旦數(shù)據(jù)項通過N級102b的鎖存器114b,就會并發(fā)下面的動作(i)數(shù)據(jù)和相應請求reqN+1108c到達N+1級102c,以便作進一步處理;(ii)將確認信號ackN-1110a發(fā)送到N-1級102a;和(iii)關(guān)閉N級102b的鎖存器114b,以便使當前數(shù)據(jù)不被N-1級102a所產(chǎn)生的新數(shù)據(jù)所覆蓋。接著,當從N+1級102c中接收到確認信號ackN110b時,可使N級102b中的鎖存器114b重新有效。
如上所述,當數(shù)據(jù)流使用躍遷信號,即每一數(shù)據(jù)項的每一req/done/ack上的一個躍遷,鎖存器104a、104b、104c對每個數(shù)據(jù)項需要兩個躍遷(i)一個用來獲得數(shù)據(jù)(使不透明)和(ii)一個用來釋放數(shù)據(jù)(使透明)。鎖存控制器106a、106b、106c根據(jù)下面的輸入來控制各個鎖存器104a、104b、104c完成信號和確認信號。例如,當數(shù)據(jù)通過鎖存器104b時(即,完成信號doneN116b的值變化時),就會在N級102b上產(chǎn)生第一躍遷;當相同的數(shù)據(jù)通過下一級(N+1級102c)時(即,確認信號ackN110b的值變化時),就會在N級102b上產(chǎn)生第二躍遷。因此,每一鎖存控制器106a、106b、106c上的XNOR門118a、118b、118c的作用象一個相位轉(zhuǎn)換器,在某種意義上,其將躍遷信號完成信號和確認信號轉(zhuǎn)換成用于透明鎖存器的電平控制。
包括XNOR門118a、118b、118c的鎖存控制器104a、104b、104c被分別設(shè)置為“平等測試者”。當兩個連續(xù)的級,如N級102b和N+1級102c,具有相同的數(shù)據(jù)項時,根據(jù)鎖存控制器可以認為第一級,即N級102b,為有效的“空”,及其鎖存器是有效的(即為透明的)。當連續(xù)的級具有不同的數(shù)據(jù)項時,根據(jù)鎖存控制器可以認為第一級,即N級102b,為有效的“滿”,即其鎖存器是無效的(即為不透明的)。利用XNOR比較N和N+1級中的數(shù)據(jù),若相同,使鎖存器有效(即保持透明),若不相同,關(guān)閉鎖存器(即使不透明),所述XNOR檢驗兩個數(shù)據(jù)請求的相位是否相同。
因此,管線級鎖存動作廣泛地類似于家用的捕鼠器,某種意義上,在數(shù)據(jù)到達之前,鎖存器有效(即保持透明)。接著,一旦數(shù)據(jù)通過,就關(guān)閉鎖存器(即使不透明)。這種行為與絕大多數(shù)的同步管線和許多異步管線的僅當新數(shù)據(jù)到達后開啟鎖存器不同。
必須滿足局部定時約束,以便正確操作。由于完成信號doneN116b的躍遷也是確認信號ackN-1110a的躍遷,在無效N級102b的鎖存器104b和從N-1級102a上接收新數(shù)據(jù)之間存在“競賽”條件。為了確保N級102b中的內(nèi)容不被破壞,N級102b的鎖存器104b必須“足夠快”的被無效,即,在N-1級102a提供新數(shù)據(jù)之前被無效。如下面所詳細描述的那樣,在實際應用中可容易地滿足簡單的單側(cè)定時約束。
選擇混合協(xié)議—用于握手信號的躍遷發(fā)信號,及用于鎖存器有效信號的電平發(fā)信號—具有兩個發(fā)信號方案的優(yōu)點。第一,由于沒有無用的“返回—到—零”相,所以具有明顯少的握手開銷。第二,由于它們是電平控制的,所以可使用小而快的透明鎖存器。已提出了若干躍遷發(fā)信號方案。某些這種方案具有相位轉(zhuǎn)換(如,I.E.Sutherland,″微管線″,Communicationsof the ACM,32(6)720-738,June 1989.,and P.Day et al.,″微管線鎖存器設(shè)計方案的研究″IEEE TVLSI,3(2)264-272,June 1995,以上兩個文獻的內(nèi)容通過參考合并到本申請中),及其它的方案沒有相位轉(zhuǎn)換(如,K.Yun et al.,″高性能異步管線電路″Proc.Intl.Symp.Adv.Res.Async.Circ.Syst.(ASYNC),1996,其內(nèi)容通過參考合并到本申請中)。然而,如本申請所述,本申請中所討論的管線100具有更小的開銷。
如上所述,根據(jù)本發(fā)明的管線協(xié)議是非常簡單的,且所產(chǎn)生的操作是非??斓?。由于所有的鎖存器初始是透明的,空管的前向等待時間很小。由于管線是高度同步的,所以管線的周期很短一旦數(shù)據(jù)進入N級,N-1級釋放其整個下一周期。
在管線的另一實施例中,可將邏輯處理添加到管線中。第一,在第二實施例中,公開了帶有顯式鎖存器的基本器件。接著在第三實施例中,門電平管線可認為是不帶顯式鎖存器的,其中,每一級僅有單級門深。
圖4示出了管線的第二實施例,參照管線200,其中增加了邏輯處理。管線200與管線100基本相同,這里僅關(guān)注不同點。如同管線100,管線200具有若干級,即N-1級202a、N級202b和N+1級202c。如同管線100,每一級202a、202b和202c包括數(shù)據(jù)鎖存器204a、204b和204c和鎖存控制器206a、206b和206c。鎖存控制器206a、206b和206c包括XNOR元件218a、218b和218c。在管線200中,組合邏輯塊230a、230b和230c和匹配延遲元件232a、232b和232c插入在鄰接的管級之間。例如,若級實現(xiàn)兩個32-位操作數(shù)A0,...A31和B0,...B31的32位寬OR功能,那么,該邏輯電路將包括32個雙輸入端OR門用于計算A0+B0和A1+B1等等。對于級(如N-1級202a)的數(shù)據(jù)通路包括從數(shù)據(jù)輸入端212a、通過鎖存器204a、至數(shù)據(jù)輸出端214a、并通過混合邏輯230a至下一級(即N級202b)的數(shù)據(jù)輸入端212b的數(shù)據(jù)通路。所述級202a、202b、202c利用信號,即“完成”doneN-1216a、doneN216b和doneN+1216c,“請求”reqN-1208a、reqN208b和reqN+1208c和“確認”ackN-1210a、ackN210b和ackN+1210c進行相互通信。(匹配延遲元件232a、232b和232e的延遲施加到完成信號216a、216b和216c上,以便產(chǎn)生相應的請求請求信號208a、208b和208c。)上述的標準異步″捆-數(shù)據(jù)″方案還可用于管線200中。如同管線100,當?shù)竭_級的數(shù)據(jù)輸入212b穩(wěn)定后,請求信號reqN208b必須到達N級202b。因此,延遲元件232a的等待時間必須與通過組合邏輯塊230a的最壞情況延遲相匹配。本方法的優(yōu)點為數(shù)據(jù)通路本身可使用標準單軌(同步模式)塊,所述方法允許有危險,即,當數(shù)據(jù)穩(wěn)定后,只要請求信號到達,就可允許數(shù)據(jù)212b的躍遷假信號。
有若干普通方法可實現(xiàn)匹配延遲元件232a、232b和232c。優(yōu)選的技術(shù)是利用反相串。另一種方案,使用一串躍遷門,眾所周知,數(shù)據(jù)的數(shù)量和晶體管的尺寸測定決定了總延遲。另一優(yōu)選技術(shù)復制組合邏輯塊230a、230b、230c的最壞情況關(guān)鍵路徑,并利用它作為延遲線(延遲元件的更詳細說明,如S.Furber,“無時鐘計算微管線ARM處理器”,AsynchronousDigital Circuit Design,Workshops in Computing(eds.G.Birtwistle et al.),Springer-Verlag,1995,pp.211-262 and S.M.Nowick et al.,“SpeculativeCompletion for the Design of High-Performance Asynchronous DynamicAdders,Proc.Intl.Symp.Adv.Res.Async.Circ.Syst.,IEEE Computer SocietyPress,April 1997,pages 210-223,”,通過參考將其全部內(nèi)容合并至本申請中)。若復制的關(guān)鍵路徑設(shè)置在邏輯塊的附近,即使在環(huán)境較大變化和過程變化的情況下,它也可提供良好的延遲跟蹤。然而,這項技術(shù)比使用一串反相器或其它標準門需要更大的面積。捆數(shù)據(jù)已有廣泛的應用,包括商用Philips 80C51異步微控制器(更詳細的描述如,H.v.Gageldonk et al.,“異步低功率80C51微控制器,Proc.Intl.Symp.Adv.Res.Async.Circ.Syst.,(ASYNC),1998,pp.96-107,”其內(nèi)容通過參考合并到本申請中)。
根據(jù)本發(fā)明的第三實施例,極高通量的目標可通過“門-電平管線”來實現(xiàn)。在本實施例中,數(shù)據(jù)通路被分成最細晶粒級,每一個級包括不帶有顯式鎖存器的單電平邏輯。作為其它的優(yōu)點,沒有鎖存器可節(jié)省芯片區(qū)域和功耗。
被稱作“時鐘CMOS”或“C2MOS”的“時鐘邏輯”為門電平管線的特別有吸引力的方法。(更詳細的時鐘CMOS電路描述如,M.Borah et a1.,″使用時鐘CMOS電路的高通路和低功率DSP,Proc.Intl.Symp.OnLow-Power Design,1995,pp.139-144,″其內(nèi)容通過參考合并到本申請中。)在C2MOS方案中,消除了單個顯式的鎖存器。而時鐘可直接應用到邏輯門。圖5-7示出了若干例子C2MOS的結(jié)構(gòu)。例如,圖5示出了一般C2MOS門300,其具有上拉電路302和下拉電路304,邏輯輸入端306和308,及邏輯輸出端310。時鐘輸入En312直接通過兩個晶體管來控制門300,一個晶體管316在上拉電路302中及另一個晶體管318在下拉電路304中。當En312無效(即,其補碼En314有效)時,門300在輸出端310上保持其輸出值。通常,將提供弱反饋的反相器對320安裝在門輸出端310上,以便提供更穩(wěn)定的保持操作。同樣,圖6示出了C2MOS AND門300,具有上拉電路332和下拉電路334,其對輸入端A336和輸入端B338提供AND函數(shù)功能。圖7示出了C2MOS鎖存器360,具有上拉電路362和下拉電路364,其對輸入端A366起到同門的作用。在現(xiàn)有技術(shù)中以前提出的C2MOS方案與同步技術(shù)一樣。然而,如下面所詳細說明的那樣,根據(jù)本發(fā)明,利用握手信號來替換時鐘適合高速異步管線。
圖8示出管線400,其為根據(jù)本發(fā)明的管線的C2MOS器件。管線400基本上與管線100和200相同,下面僅關(guān)注不同的部分。如同管線100和200,管線400具有若干級,即N-1級402a、N級402b和N+1級402c。與管線100和200相比,消除了顯式數(shù)據(jù)鎖存器。然而,每一級402a、402b和402c具有“鎖存”控制器406a、406b和406c,其用來分別控制C2MOS門404a、404b和404c。門404a、404b和404c其中之一可包括適當?shù)慕M合邏輯,如門300(圖5所示的)、門330(圖6所示的)、門360(圖7所示的)。
在管線400中使用了同門對405a、405b和405c,其與上所述的門360基本相同。在輸入請求信號和輸出完成信號時,使用第一同門。在輸入請求信號的補和輸出完成信號的補時,使用第二同門。更具體而言,如圖8所示,有效信號和其補420a、420b和420c相應于圖8的有效信號En314和其補信號En312。在兩個同門的第一個同門中,圖8中的請求信號reqN-1408a、reqN408b和reqN+1408c和完成信號doneN-1416a、doneN416b和doneN+1416c分別相應于圖7中的輸入信號366和輸出信號310。在兩個同門的第二個同門中,請求信號的補reqN-1408a、reqN408b和reqN+1408c是輸入信號366,完成信號的補doneN-1416a、doneN416b和doneN+1416c是輸出信號310。用于級如N-1級402a的數(shù)據(jù)通路包括從數(shù)據(jù)輸入端412a,通過C2MOS門404a至數(shù)據(jù)輸出414a,及至下一級如N級402b的數(shù)據(jù)輸入412b的數(shù)據(jù)通路。C2MOS門404a、404b、404c既提供邏輯也提供鎖存功能。
涉及圖5-7的用于上述C2MOS門的“時鐘”輸入實際上是局部產(chǎn)生的En信號,即,鎖存控制器的輸出。對于管線400,如圖8所示,有效信號En和其補En402a、402b、402c是鎖存控制器406a、406b和406c的輸出。兩個有效信號En和En用于控制C2MOS門404a、404b和404c。
由于對C2MOS門404a、404b和404c的控制使用了真和補有效En和En,可使鎖存控制器406a、406b和406c的XNOR418a、418b和418c作為單調(diào)雙軌門,及提供異OR(即XOR)和NOR(即XNOR)輸出。(如本專業(yè)技術(shù)人員所知,圖8通過斜杠“/”和數(shù)字“2”示出異了雙軌信號)。如同上述的管線100,級402a、402b和402c利用信號,即,“完成信號”doneN-1416a、doneN416b和doneN+1416c,“請求信號”reqN-1408a、reqN408b和reqN+1408c和“確認信號”ackN-1410a、ackN410b和ackN+1410c進行相互通信。然而,XNOR418a、418b和418c設(shè)置為具有雙軌輸入—(done,done)和(ack,ack)—和雙軌輸出(En,En)。當這種方法增加總的控制區(qū)域時,其可直接提高性能從臨界周期中(從XNOR輸入和其輸出)消除了兩個反相器。
圖9示出了雙軌鎖存器460a的優(yōu)化結(jié)構(gòu),其替代了上述的同門405a對。因此,鎖存器460a接收雙軌數(shù)據(jù)輸入in412a和其補in412′a,及鎖存器有效En 420a和其補En 420′a,產(chǎn)生雙軌數(shù)據(jù)輸出out 414a和其補out 414′a。單個雙軌鎖存器460a具有較小的區(qū)域及還可減小雙軌輸出之間之間的非對稱性。
下面將描述兩個管線的性能和定時約束的分析評價?,F(xiàn)在說明管線的性能的兩個關(guān)鍵度量前向等待時間和周期。
第一,前向等待時間是數(shù)據(jù)項通過起始空管線所花費的時間。由于空管線中的所有的鎖存器是透明的,每一級L的管線等待時間簡單地為級鎖存器延遲tLt加上邏輯延遲tlogicL=tLt+tlogic[1]與上述Sutherland和Day/Woods的設(shè)計相比,本發(fā)明的管線在第一通路上僅有單個鎖存器延遲,及在第二通路上僅有XNOR延遲。與上述Furber和Day管線相比,本發(fā)明的管線在臨界周期上僅有3個元件(2個鎖存器和一個XNOR),沒有3個堆棧深度,沒有暗示的反相器,及避免了4-相通信的過量的轉(zhuǎn)換動作。
第二,周期是指當管線以最大速度操作時兩個連續(xù)數(shù)據(jù)項出現(xiàn)在管線中的時間間隔。從級鎖存器的當前有效到下一個有效的級N的周期包括三個事件(i)新數(shù)據(jù)通過鎖存器和級邏輯塊,即,tLt+tlogic。(ii)數(shù)據(jù)項通過N+1級鎖存器,即,產(chǎn)生ackN的tLt(iii)ackN引起N級鎖存控制器再次有效N級鎖存器,即,tXNOR1。因此,分析周期T為T=tLt+tlogic+tLt+tXNOR1[2]=2tLt+tlogic+tXNOR1[3]其中,tlogic是通過邏輯塊的延遲,及tXNOR1是XNOR門有效鎖存器所花費的時間。
上述的功能度量適合管線100、200和400。對于C2MOS管線的情況,如管線400,沒有顯式鎖存器。若通過C2MOS門的延遲由 來表示,等待時間和周期可由下式給出LC2MOS=tC2MOS----[4]]]>TC2MOS=2·tC2MOS+tXNOR1----[5]]]>如下面的詳細說明,方程3和5的周期相當好,且同步方案很難勝過。例如,帶有由補時鐘控制的交替鎖存器和在每一鄰接鎖存器對之間具有邏輯的標準同步管線將具有至少2tLt+tlogic+余量的周期,以便補償時鐘不對稱和波動。
必須滿足兩個單邊定時約束,以便管線的正確操作建立時間和數(shù)據(jù)超量運行。至于建立時間,一旦鎖存器在其輸入端有效并接收新數(shù)據(jù)(及req信號),鎖存器必須對數(shù)據(jù)保持足夠長時間的透明,以便數(shù)據(jù)通過。因此,從reqN到En不確認(XNOR轉(zhuǎn)換到低電平)的通路必須比鎖存器的建立時間tsu長,而建立時間在鎖存器有效后和鎖存器無效前需要額外的延遲treqN-doneN+tXNORN1>tsu---[6]]]>由于從reqN到doneN的延遲通常超過建立時間tsu,所以,這種約束是容易得到滿足的。
應該注意到,可用相同的邏輯構(gòu)成鎖存控制器的XNOR元件,在這種情況下,與不確定第一有效信號相關(guān)的延遲時間為 且單邊定時約束的更一般的表示形式為treqN-doneN+tLCN1>tsu----[6a]]]>由于從reqN到doneN的延遲通常超過建立時間tsu,所以,方程[6]和[6a]的約束是容易得到滿足的。
至于數(shù)據(jù)超量運行,一旦數(shù)據(jù)進入級,在新數(shù)據(jù)由前一級所產(chǎn)生之前,應該確保獲得數(shù)據(jù)。若不滿足這個條件,則N級的數(shù)據(jù)將會被新數(shù)據(jù)所覆蓋。因此,由于ackn-1和donen是并行產(chǎn)生的,所以從ackn-1到N級的數(shù)據(jù)輸入的通路必須大于到關(guān)閉N級鎖存器的時間+保持時間thold,其中,這里所定義的保持時間為鎖存器無效后和免受鎖存器數(shù)據(jù)輸入的改變所需的延遲tXNORN-1+tLtN-1+tlogicN-1>tXNORN1+thold----[7]]]>若管線中存在數(shù)據(jù)的話,左側(cè)各項表示從XNOR到由N-1級新數(shù)據(jù)到達的最短路徑,即,包括N-1級的鎖存器延遲和邏輯延遲。右側(cè)各項表示無效N級鎖存器的通路。可將方程重寫為簡單的約束tLtN-1+tlogicN-1>(tXNORN1-tXNORN-1)+thold----[8]]]>假定tXNORN-1≅tXNORN1,]]>可以消去右邊圓括號中的表達式。結(jié)果為簡單的保持定時約束,由于通過N-1級的鎖存和邏輯延遲通常超過保持時間,所以這種約束很容易滿足。
如同上面的方程[6a],應該注意到,鎖存控制器中XNOR元件可用相同的邏輯來構(gòu)成,因此,在N-1級鎖存控制器中的XNOR的上升躍遷時間為 其更一般形式表示為 同樣,在N級鎖存控制器中XNOR的下降躍遷時間為 其更一般形式表示為 方程[8]的一側(cè)定時約束可表示更一般的形式如tLtN-1+tlogicN-1>(tLCN1-tLCN-1)-thold----[8a]]]>考慮到處理很寬的數(shù)據(jù)通路是很重要的,控制信號必須必須傳播到許多鎖存器。這種控制分布在關(guān)鍵路徑中可引起相當大的延遲、減慢了管線的操作。對寬數(shù)據(jù)通路的有效管線數(shù)據(jù)處理,這里提出兩種解決方法;(i)數(shù)據(jù)通路分割,和(ii)控制器件根據(jù)第一種方法,即,數(shù)據(jù)通路分割,將寬數(shù)據(jù)通路分為若干小的獨立流。對每一獨立流進行重復的管線控制,及每一獨立流具有其自身完全產(chǎn)生器的序列和匹配延遲。結(jié)果,所需求的緩沖就大大減少了在每一級中,鎖存控制器產(chǎn)生可傳播到僅少數(shù)量位上的鎖存器有效信號,如,傳播到位于分割組內(nèi)的位上。這種方法常規(guī)應用于位片數(shù)據(jù)通路,如,簡單的FIFO′s和邏輯功能單元(如,逐位AND,OR等等。)。
第二種處理寬數(shù)據(jù)通路的方法稱作控制器件,使數(shù)據(jù)通路與控制不對稱(在以下文獻中公開了更詳細的控制器件,K.Yun,P.Beerel,and J.Arceo,″高性能異步管線電路,Proc.Intl.Symp.Adv.Res.Async.Circ.Syst.,(ASYNC),1996;and C.Molnar,I.Jones,W.Coates,J.Lexau,S.Fairbanks,and I.Sutherland,″兩個FIFO環(huán)性能實驗″Proceedings of the IEEE,87(2)297-307,F(xiàn)eb.1999,通過參考,以上兩篇文獻的內(nèi)容合并到本申請中)。與第一種方法相比,沒有使用分割;而是插入緩沖器,以便足以放大驅(qū)動數(shù)據(jù)通路鎖存器的鎖存器有效信號。然而,用于完全發(fā)生器的鎖存器有效信號不需要這種放大;可將它們在緩沖器前面進行簡單的分接。結(jié)果,隱藏了將鎖存器有效信號傳播到數(shù)據(jù)通路的許多開銷,與其它管線操作并發(fā)工作。
圖10示出了如何實現(xiàn)第二種方法,如,對于FIFO管線500,其基本上與管線100相同,這里僅關(guān)注不同之處。如上面所述的管線100,管線500包括若干級N-1級502a、N級502b和N+1級502c,每一級具有鎖存器504a、504b和504c,及鎖存控制器506a、506b和506c。每一級502a、502b和502c的數(shù)據(jù)通路包括數(shù)據(jù)輸入端512a、512b和512c,鎖存器504a、504b和504c,輸出端514a、514b和514c。管線500還包括緩沖器530a、530b和530c,其分別插入在鎖存器有效信號EnN-1520a、EnN520b和EnN+1520c上。通常可用一串反相器來實現(xiàn)緩沖器530a、530b和530c,所述反相器可放大信號。如圖10所示,分接完成信號doneN-1516a、doneN516b和doneN+1516c后,插入緩沖器530a、530b和530c。(由于在本實施例中沒有延遲,請求信號reqN+1508c和確認信號ackN510b與完成信號doneN516b相同。)結(jié)果,插入緩沖器530a、530b和530c僅延遲了數(shù)據(jù)通路的獲得(及沒有獲得)。每一級reqN-1508a、reqN508b和reqN+1508c的請求信號所產(chǎn)生的緩沖器延遲比輸出端514a、514b和514c所產(chǎn)生的緩沖器延遲要早。由于在所有級上的具有相同的緩沖器,對于窄的數(shù)據(jù)通路,圖10的管線500具有相同的周期和如方程[1]-[8]所導出的定時約束。
在穩(wěn)態(tài)操作時,根據(jù)本發(fā)明所使用的低電平電路優(yōu)化還進一步提高了管線的性能,即,“定形”XNOR輸出。上述管線100、200、400和500的管線性能的基本瓶頸是各個鎖存控制器中的XNOR對每一流經(jīng)管線的數(shù)據(jù)項必須轉(zhuǎn)換兩次,這樣就引起了鎖存器重復關(guān)閉和開啟。
所提出的方法是為了防止XNOR的輸出(即,鎖存器有效En)下降到“0”值,因此在穩(wěn)態(tài)操作時就避免了完全關(guān)閉鎖存器。這種作用可通過晶體管的尺寸來減小XNOR下降時間來實現(xiàn)。因此,在穩(wěn)態(tài)操作下,XNOR的關(guān)鍵上升沿和鎖存器的重新有效因減小了電壓擺動而具有較短的延遲。
這種優(yōu)化在概念上類似于建筑物入口滑動門的行為有意減慢門的關(guān)閉動作,當有穩(wěn)定的人流通過門口時,門從不完全關(guān)閉,這樣就會使人們加速通過。因此,減慢了一個動作,即減慢了鎖存器無效時間 加速了管線的總的工作。
必須考慮到這種電路優(yōu)化對定時約束的作用,以便防止關(guān)于方程8所描述的數(shù)據(jù)過量運行。這種優(yōu)化可能使數(shù)據(jù)過量運行定時約束更加難以滿足。具體而言,減慢了鎖存器無效,即增加了 并加快了鎖存器有效,即減小了 使項 是非零正量。結(jié)果,某種程度上減小了適合滿足不等式方程[8]的容限。實際上,盡管實驗表明這種約束可完全滿足。(下面將提供更詳細的內(nèi)容)如下面更詳細描述的那樣,純效果是穩(wěn)態(tài)性能象波動管線那樣快。(現(xiàn)有技術(shù)中已知的和所描述的波動管線,如,D.Wong,G.DeMicheli,andM.Flynn,″使用波動管線設(shè)計高性能數(shù)字電路″IEEE TCAD,12(1)24-46,Jan.1993;and O.Hauck,M.Garg,and S.A.Huss,″兩相異步波動管線及其在2-D-DCT的應用″Proc.Intl.Symp.Adv.Res.Async.Circ.Syst.,(ASYNC),Apr.1999.)與波動管線相比,根據(jù)本發(fā)明的新管線更加穩(wěn)定和要求更簡單的定時要求??紤]到管線100與其右環(huán)境160的的接口(圖1)。不管右環(huán)境160突然停止或加速,管線100能夠處理這種變化。更具體而言,若右環(huán)境太慢并且不能對確認信號ackN+1110c作出反應,則最右管級102c很快使鎖存器104c不透明(由于其XNOR118c沒有接收到確認信號ackN+1110c),因此,防止了左側(cè)級102b的超量運行。若右環(huán)境160很快,由于右環(huán)境160等待級的請求信號108d,所述右環(huán)境160應適當?shù)耐V梗钡阶钣壹?02c為右環(huán)境160提供數(shù)據(jù)。相同的理由也可應用到管線的中間級,還可使管線穩(wěn)定內(nèi)部延遲變化。
前述討論是針對線性原理,其具有許多實際的應用,尤其可應用于FIFO或處理器管線。然而,在復雜的系統(tǒng)結(jié)構(gòu)中,還經(jīng)常需要非線性管線,如圖11所示的管線600的結(jié)構(gòu)。管線600并合了兩個簡單的、新穎的、原來的—“分支”和“接合”—其延伸了根據(jù)本發(fā)明所述管線的應用性。管線600具分支結(jié)構(gòu)620,及接合結(jié)構(gòu)630。分支結(jié)構(gòu)620包括級602a,其將數(shù)據(jù)輸出到兩個級602b和602c。接合結(jié)構(gòu)630包括級602d,其接收來自級602e和602f的輸入。應該注意到,根據(jù)具體應用的需要,管線可合并或多或少的分支和接合。
圖12更詳細地示出了管線600的示范分支結(jié)構(gòu)620。級602a設(shè)置為提供數(shù)據(jù)輸出到兩目的級602b、602c。級602b和602c與上述的級202a是相同的。級602a基本上與上述的級202a相同,這里僅關(guān)注不同處。鎖存控制器606a包括XNOR618a和Müller C-元件619a。鎖存控制器606a產(chǎn)生有效信號En620a,其可使鎖存器604a無效和有效。級602a接收請求信號reqN608a和來自左環(huán)境或前級(沒有示出)的數(shù)據(jù)輸入612a??蓪⑺峁┩瓿尚盘杁oneN616a輸入到鎖存控制器606a中的XNOR 618a,及還為左環(huán)境提供確認信號ackN-1610a。還提供組合邏輯630a和匹配的延遲元件632a。
在分支結(jié)構(gòu)中,數(shù)據(jù)輸出612b、612c和相應的請求信號reqN+1(1)608b和reqN+1(2)608c(具有由匹配延遲元件632a所施加的匹配延遲的“匹配的完成輸出”)兩者分支為兩個或多個目的級602b、602c。接著,通過鎖存控制器606a中的C-元件61 9a將兩個或多個確認信號ackN(1)610b和ackN(2)610c組合。如圖13-14所示,確認信號ackN(1)610b和ackN(2)610c在順序元件中組合成,所述順序元件如Müller C-元件619a,以便產(chǎn)生輸出611a。C-元件619a可包括弱反相器、或“保持器”613a。如現(xiàn)有技術(shù)中所公知的內(nèi)容,C-元件是“事件加法器”,即當其所有的輸出完全變化一遍時,它就會產(chǎn)生一次躍遷。(有關(guān)C-元件更詳細的內(nèi)容已由如Sutherland,″微管線″描述過,通過參考將其合并上面的內(nèi)容中)。C-元件619a的輸出端611a和完成信號doneN-1616a作為XNOR118a的輸入。
圖15更詳細地示出了管線600的示范連接結(jié)構(gòu)630。級602e和602f與級202a是相同的。級602d基本上與上述的級202a和級602a相同,這里僅關(guān)注不同處。級602d包括鎖存器604d和鎖存控制器606d,所述鎖存控制器606d包括XNOR元件618d,并提供有效信號En620d。XNOR元件618d具有接收來自右環(huán)境的第一輸入端ack610f和接收來自C-元件640d的第二輸入端done616f。
確認信號是簡單的分支線,可使確認信號ackN-1(1)610e和ackN-1(2)610f與發(fā)送級(即,級602e和602f)的鎖存控制器606e和606f進行通信。請求信號reqN(1)608e和reqN(2)608f(即如上所的述匹配的完成輸入)和其從級602e和602f接收的伴隨數(shù)據(jù)輸入612e和612f組合如下數(shù)據(jù)輸入612e和612f被簡單地合成一個數(shù)據(jù)流并鎖存在一起。如圖16所示。在“鎖存器有效”信號En620d的控制下,利用順序元件(如“門控”C-元件640d)組合請求信號reqN(1)608e和reqN(2)608f。不管“鎖存器有效”信號En620d是否保持,當組合的請求信號reqN(1)608e和reqN(2)608f其中全部為1時,門控C-元件640d的輸出(即done616f)為1,及當組合的請求信號reqN(1)608e和reqN(2)608f其中全部為0時,門控C-元件640d的輸出為0。在其它情況,即,(a)當不確定“鎖存器有效”信號En620d時,或(b)當組合的請求信號reqN(1)608e和reqN(2)608f不相等時,門控的C-元件640d簡單地保持其值。鎖存有效信號620d傳遞到鎖存器604d。在晶體管標準中,下拉電路是單級棧,其具有用于每一個請求的一個晶體管,也是用于“鎖存器有效”的晶體管。同樣,上拉電路是單級棧,其具有用于每一個請求的晶體管;及用于補“鎖存器有效”的晶體管。
本發(fā)明的另一實施例是如圖17所示的管線100′。除了管線100′使用了用于請求、完成和確認信號的雙軌結(jié)構(gòu)外,管線100′基本與上述的管線100相同。更具體而言,處理請求、完成和確認信號的鎖存器104′a、104′b、104′c基本上與上述圖9所示的雙軌鎖存器460a相同。同樣,鎖存控制器106′a、106′b、106′c包括XNOR元件118′a、118′b、118′c,其可由單調(diào)的雙軌門來實現(xiàn),并提供現(xiàn)有技術(shù)中所知的異OR(即XOR)和異NOR(即XNOR)輸出。如同上述的管線100,包括輸入112′a、112′b、112′c和數(shù)據(jù)輸出114′a、114′b、114′c的數(shù)據(jù)通路本身具有單軌結(jié)構(gòu)。
本發(fā)明的另一實施例是圖18所示的管線200′。除了管線200′使用了用于處理請求、完成和確認信號的雙軌結(jié)構(gòu)外,管線200′基本與上述的管線200相同。處理請求、完成和確認信號的鎖存器204′a、204′b、204′c基本上與上述圖9所示的雙軌鎖存器460a相同。同樣,鎖存控制器206′a、206′b、206′c包括XNOR元件218′a、218′b、218′c,其可利用單調(diào)的雙軌門來實現(xiàn),并提供現(xiàn)有技術(shù)中所知的異OR(即XOR)和異NOR(即XNOR)輸出。如同上述的管線200,數(shù)據(jù)通路具有單軌結(jié)構(gòu)。例子利用HSPICE,對基本管線如上述的管線100,就本申請所描述的若干管線形式進行了模擬。在16-位寬數(shù)據(jù)通路上模擬了(沒有邏輯處理)簡單的10-級FIFO。在兩種不同的CMOS技術(shù)中進行設(shè)計和模擬FIFO(i)現(xiàn)有技術(shù)已知的,臺灣半導體制造公司(TSMC)0.25微米CMOS工藝,和(ii)現(xiàn)有技術(shù)已知的,0.6μm惠普(HP)CMOS14TB工藝。對于第一種技術(shù),僅使用了非優(yōu)化的管線結(jié)構(gòu)我們不包括上述的“波形”優(yōu)化。對于第二種技術(shù),對優(yōu)化的和非優(yōu)化的形式的管線進行了模擬。在每一種情況,使用仔細的晶體管尺寸來提高其性能。
假設(shè)2.5V電源、300K溫度及標準工藝角(如現(xiàn)有技術(shù)中所公知的,其含義為假設(shè)制造條件將產(chǎn)生“平均速度”的芯片,即,與由“標準工藝”模擬的預期相比,由鑄造廠所產(chǎn)生的接近一半的芯片將具有較高的速度,而另一半具有較低的速度),利用0.25μm TSMC工藝進行第一種模擬。簡單的用戶單元設(shè)計為選通門XNOR/XOR對的互補,及標準6晶體管選通門動態(tài)D-鎖存器。
表1總結(jié)了預先設(shè)計模擬的結(jié)果。給定總的管周期T、將周期細分為鎖存器延遲tL1和控制器門延遲tXNOR1和tXNOR1。初始提供3.51千兆赫的通量。
表1.MOUSETRAP FIFO的性能(0.25μm TSMC技術(shù))
這些數(shù)據(jù)優(yōu)于S.Schuster,W.Reohr,P.Cook,D.Heidel,M.Immediato,andK.Jenkins,″Asynchronous Interlocked Pipelined CMOS Circuits Operating at3.3-4.5GHz,Proc.ISSCC,F(xiàn)ebruary 2000″的IPCMOS結(jié)構(gòu)。然而,他們所報道的3.3GHz的結(jié)果是用于高性能IBM0.18μm工藝,所述IBM0.18μm工藝在實際中顯著比本申請中所使用的0.25μm TSMC要快。(IBM工藝是高性能的銅互連的工藝,而TSMC是用于互相連接合金的較低級工藝。與常規(guī)“散裝半導體”的TSMC相比,IBM處理是高級的“絕緣體上的硅晶體”(SOI)處理。)當與本申請的管線相比時,IPCMOS關(guān)鍵路徑由12級CMOS邏輯加上選通門組成。相反,本申請所描述的管線在關(guān)鍵路徑上僅有5-6級CMOS邏輯(若在數(shù)據(jù)通路有分支和接合,則再加上2級)。此外,本申請所描述的管線具有更簡單電路元件和定時約束的優(yōu)點。
進行第二模擬來便評價上述的波形優(yōu)化。當前,僅對0.6μm HP CMOS技術(shù),在3.3V電源,300K溫度,標準工藝角下進行模擬。模擬表明了波形方法的優(yōu)點。用優(yōu)化和非優(yōu)化進行評價了簡單FIFO。一旦將XNOR/XOR對設(shè)計為具有選通門,將鎖存器設(shè)計為時鐘CMOS結(jié)構(gòu)(圖6)。
表2示出了第二模擬的結(jié)果。非優(yōu)化的FIFO的通量為1.67GHz,及優(yōu)化的FIFO的通量為1.92GHz,性能提高15%。此外,更容易滿足方程8(數(shù)據(jù)超量運行)定時約束tLt=0.20ns,tlogic=0ns,tXNORt-tXNOR1=0.06ns。
表2.利用時鐘CMOS邏輯的MOUSETRAP FIFO性能(0.6μm HP技術(shù)) 圖16示出了在0.25μm TSMC技術(shù)中FIFO單模擬的3個鄰接級(N-1,N和N+1)的波形。模擬包括用于每一級的done信號和用于N級(即,級控制器的輸出)的“鎖存器有效”。該波形702相應于管線100的信號116a,波形704相應于信號116b,及波形706相應于信號116c。波形708相應于管線100的信號120b。波形702、704、706和708都是隨時間變化的曲線。在模擬中,對于每一數(shù)據(jù)項,一旦N級通過波形704(交替為1和0值)表示已完成,鎖存器有效波形708表示N級鎖存器無效(enable=0)。同樣,對每一數(shù)據(jù)項,一旦N+1級表示完成時,可使N級鎖存器有效信號再次有效(enable=1)。即使沒有處理邏輯(這種邏輯將提高容限)如模擬的右側(cè)所示,在N-1級產(chǎn)生新數(shù)據(jù)標記前(完成保持),使N級鎖存器有效信號無效約45皮秒。
應該理解,上面僅是對本發(fā)明的原理進行了示意性的描述,在不偏離本發(fā)明的范圍和實質(zhì)的情況下,本專業(yè)技術(shù)人員就可對本發(fā)明進行各種不同的改變。
權(quán)利要求
1.一種在環(huán)境中用于處理數(shù)據(jù)的異步數(shù)字管線電路,所述環(huán)境提供用于處理的數(shù)據(jù)和第一請求信號,所述電路包括第一處理級,所述第一處理級包括第一鎖存控制器,其用于響應從環(huán)境中所接收的第二確認信號和從第一數(shù)據(jù)鎖存器接收的第一完成信號,鎖存控制器設(shè)計為當接收到第二確認信號時,用來確定有效信號有效,及當接收到第一完成信號時,用來確定第一有效信號無效;第一數(shù)據(jù)鎖存器,其具有建立時間,并設(shè)計為從環(huán)境中接收數(shù)據(jù)和第一請求信號,其中,第一請求信號上的每一信號躍遷表示為一個新數(shù)據(jù)項,第一數(shù)據(jù)鎖存器通過響應有效信號而具有有效相和無效相,其中,在有效相中,數(shù)據(jù)鎖存器有效,以便使數(shù)據(jù)通過第一數(shù)據(jù)輸出端,及在無效相中,數(shù)據(jù)鎖存器無效,因此,在有效相中,通過數(shù)據(jù)輸出端的數(shù)據(jù)還將第二請求信號傳遞到環(huán)境中,將第一確認信號傳遞到環(huán)境中,及將第一完成信號傳遞到鎖存控制器中。其中,延遲時間包括接收第一請求信號至傳遞第一完成信號 與第一鎖存控制器無效第一有效信號相關(guān)的延遲時間 及數(shù)據(jù)鎖存器的建立時間tsu,其關(guān)系可由下式給出treqN-doneN+tLCNl>tsu]]>
2.根據(jù)權(quán)利要求1所述的異步數(shù)字管線電路,其中,第一鎖存控制器包括具有第二確認信號作為第一輸入、第一完成信號作為第二輸入、及第一鎖存器有效信號作為輸出的兩輸入XNOR元件。
3.根據(jù)權(quán)利要求2所述的異步數(shù)字管線電路,其特征在于,XNOR元件為單調(diào)雙軌門,第一完成信號和第二確認信號為雙軌輸入,第一有效信號為雙軌輸出,及第一數(shù)據(jù)鎖存器設(shè)計為用來接收作為雙軌輸入的第一有效信號。
4.根據(jù)權(quán)利要求1所述的異步數(shù)字管線電路,還包括第一緩沖器,用于放大第一有效信號。
5.一種在環(huán)境中用于處理數(shù)據(jù)的異步數(shù)字管線電路,所述環(huán)境提供用于處理的數(shù)據(jù)和第一請求信號,所述電路包括第一處理級,所述第一處理級包括第一鎖存控制器,其用于響應從第二處理級中所接收的第二確認信號和從第一數(shù)據(jù)鎖存器接收的第一完成信號,鎖存控制器設(shè)計為當接收到第二確認信號時,用來確定有效信號有效,及當接收到第一完成信號時,用來確定第一有效信號無效;第一數(shù)據(jù)鎖存器,其設(shè)計為從環(huán)境中接收數(shù)據(jù)和第一請求信號,其中,第一請求信號上的每一信號躍遷表示為一個新數(shù)據(jù)項,第一數(shù)據(jù)鎖存器通過響應第一有效信號而具有有效相和無效相,其中,在有效相中,第一數(shù)據(jù)鎖存器有效,以便使數(shù)據(jù)從數(shù)據(jù)輸入端傳遞到數(shù)據(jù)輸出端,及在無效相中,第一數(shù)據(jù)鎖存器無效,其中,在有效相中,從第一數(shù)據(jù)鎖存器傳遞到數(shù)據(jù)輸出端的數(shù)據(jù)還將第一確認信號傳遞到環(huán)境中,及將第一完成信號傳遞到第一鎖存控制器和第一延遲元件中,第一邏輯塊,其設(shè)計為用于從第一數(shù)據(jù)輸出中接收數(shù)據(jù),對數(shù)據(jù)進行組合操作,及將數(shù)據(jù)傳遞到第二處理級,和第一延遲元件,其設(shè)計為用于從第一數(shù)據(jù)鎖存器接收第一完成信號,將延遲應用到第一完成信號,及將延遲的第一完成信號作為第二請求信號傳遞到第二處理級,和第二處理級包括第二鎖存控制器,其用于響應從環(huán)境中所接收的第三確認信號和從第二數(shù)據(jù)鎖存器接收的第二完成信號,鎖存控制器設(shè)計為當接收到第三確認信號時,用來確定第二有效信號有效,及當接收到第二完成信號時,用來確定第二有效信號無效;第二數(shù)據(jù)鎖存器,其設(shè)計為從第一處理級接收數(shù)據(jù)和第二請求信號,其中,第二請求信號上的每一信號躍遷表示為一個新數(shù)據(jù)項,第二數(shù)據(jù)鎖存器通過響應第二有效信號而具有有效相和無效相,其中,在有效相中,第二數(shù)據(jù)鎖存器有效,以便使數(shù)據(jù)從數(shù)據(jù)輸入端傳遞到數(shù)據(jù)輸出端,及在無效相中,第二數(shù)據(jù)鎖存器無效,其中,在有效相中,從第二數(shù)據(jù)輸入端傳遞到第二數(shù)據(jù)輸出端的數(shù)據(jù)還將第二確認信號傳遞到第一處理級中,及將第二完成信號傳遞到第二鎖存控制器和第二延遲元件中,第二邏輯塊,其設(shè)計為用于從第二數(shù)據(jù)輸出中接收數(shù)據(jù),對數(shù)據(jù)進行組合操作,及將數(shù)據(jù)傳遞到環(huán)境,和第二延遲元件,其設(shè)計為用于從第二數(shù)據(jù)鎖存器接收第二完成信號,將延遲應用到第二完成信號,及將延遲的第二完成信號作為第三請求信號傳遞到環(huán)境中;其中,第一數(shù)據(jù)鎖存器時延遲時間 第一邏輯塊的延遲時間 第一鎖存控制器的上升沿時間 第二鎖存控制器的下降沿時間 及保持時間thold,其關(guān)系可由下式給出。tLtN-1+tlogicN-1>(tLCN1-tLCN-1)+thold]]>
6.根據(jù)權(quán)利要求5所述的異步數(shù)字管線電路,其中,第一鎖存控制器還包括兩輸入XNOR元件,其具有作為第一輸入的第二確認信號、作為第二輸入的第一完成信號、及作為輸出的第一有效信號。
7.根據(jù)權(quán)利要求5所述的異步數(shù)字管線電路,其中,第二鎖存控制器還包括兩輸入XNOR元件,其具有作為第一輸入的第三確認信號、作為第二輸入的第二完成信號、及作為輸出的第二有效信號。
8.根據(jù)權(quán)利要求5所述的異步數(shù)字管線電路,其中,第一數(shù)據(jù)鎖存器為C2MOS門。
8’.根據(jù)權(quán)利要求5所述的異步數(shù)字管線電路,其中,第二數(shù)據(jù)鎖存器為C2MOS門。
9.根據(jù)權(quán)利要求5所述的異步數(shù)字管線電路,其中,第一鎖存控制器為單調(diào)雙軌門,第一完成信號和第二確認信號為雙軌輸入,及第一有效信號為雙軌輸出。
10.根據(jù)權(quán)利要求5所述的異步數(shù)字管線電路,其中,第一鎖存控制器還設(shè)計為用于響應從與第二處理級平行的第三處理級中所接收的第四確認信號,其中,第一邏輯塊還設(shè)計為將數(shù)據(jù)傳遞到第三處理級,其中,第一延遲元件還設(shè)計為將延遲的第一完成信號作為第四請求信號傳遞到第三處理級,所述電路還包括與第二處理級平行的第三處理級,包括第三鎖存控制器,和第三數(shù)據(jù)鎖存器。
11.根據(jù)權(quán)利要求10所述的異步數(shù)字管線電路,其中,第一鎖存控制器還包括順序元件,其設(shè)計為從第二處理級接收第二確認信號作為第一輸入和從第三處理級接收第四確認信號作為第二輸入,及提供第一順序元件輸出,兩元件XNOR元件,其設(shè)計為接收第一順序元件輸出作為第一輸入和第一完成信號作為第二輸入,及提供第一鎖存有效信號作為輸出。
12.根據(jù)權(quán)利要求11所述的異步數(shù)字管線電路,其中,順序元件設(shè)計為當?shù)诙_認信號和第四確認信號被確認時,從而確認第一C-元件輸出,當?shù)诙_認信號和第四確認信號沒有被確認時,就不確認第一C-元件輸出,否則就保持第一C-元件輸出值。12′.根據(jù)權(quán)利要求11所述的異步數(shù)字管線電路,其中,順序元件為Müller C-元件。
13.一種在環(huán)境中用于處理數(shù)據(jù)的異步數(shù)字管線電路,所述環(huán)境提供用于處理的數(shù)據(jù)和第一請求信號和第二請求信號,所述電路包括第一處理級包括第一鎖存控制器,其設(shè)計為當從第三處理級接收到第三確認信號時,用來確定第一有效信號有效,及當從第一數(shù)據(jù)鎖存器接收到第一完成信號時,用來確定第一有效信號無效;第一數(shù)據(jù)鎖存器,其設(shè)計為從環(huán)境中接收數(shù)據(jù)和第一請求信號,其中,第一請求信號上的每一信號躍遷表示為一個新數(shù)據(jù)項,第一數(shù)據(jù)鎖存器通過響應第一有效信號而具有有效相和無效相,其中,在有效相中,第一數(shù)據(jù)鎖存器有效,以便使數(shù)據(jù)從第一數(shù)據(jù)輸入端傳遞到第一數(shù)據(jù)輸出端,及在無效相中,數(shù)據(jù)鎖存器無效,其中,在有效相中,數(shù)據(jù)從第一數(shù)據(jù)輸入端傳遞到第一數(shù)據(jù)輸出端可使第一確認信號傳遞到環(huán)境中,及使第一完成信號傳遞到第一鎖存控制器和第一延遲元件中,第一邏輯塊,其設(shè)計為用于從第一數(shù)據(jù)輸出中接收數(shù)據(jù),對數(shù)據(jù)進行組合操作,及將數(shù)據(jù)傳遞到第三處理級,和第一延遲元件,其設(shè)計為用于從第一數(shù)據(jù)鎖存器接收第一完成信號,將延遲應用到第一完成信號,及將延遲的第一完成信號作為第三請求信號傳遞到第三處理級,和與第一處理級平行的第二處理級,包括第二鎖存控制器,其設(shè)計為當從第三處理級接收到第三確認信號時,用來確定第二有效信號有效,及當從第二數(shù)據(jù)鎖存器接收到第二完成信號時,用來確定第二有效信號無效;第二數(shù)據(jù)鎖存器,其設(shè)計為從環(huán)境中接收數(shù)據(jù)和第二請求信號,其中,第二請求信號上的每一信號躍遷表示為一個新數(shù)據(jù)項,第二數(shù)據(jù)鎖存器通過響應第二有效信號而具有有效相和無效相,其中,在有效相中,第二數(shù)據(jù)鎖存器有效,以便使數(shù)據(jù)從第二數(shù)據(jù)輸入端傳遞到第二數(shù)據(jù)輸出端,及在無效相中,第二數(shù)據(jù)鎖存器無效,其中,在有效相中,數(shù)據(jù)從第二數(shù)據(jù)輸入端傳遞到第二數(shù)據(jù)輸出端還可使第二確認信號傳遞到環(huán)境中,及使第二完成信號傳遞到第二鎖存控制器和第二延遲元件中,第二邏輯塊,其設(shè)計為用于從第二數(shù)據(jù)輸出中接收數(shù)據(jù),對數(shù)據(jù)進行組合操作,及將數(shù)據(jù)傳遞到環(huán)境,和第二延遲元件,其設(shè)計為用于從第二數(shù)據(jù)鎖存器接收第二完成信號,將延遲應用到第二完成信號,及將延遲的第二完成信號作為第四請求信號傳遞到第三處理級中;第三處理級,包括第三鎖存控制器,其設(shè)計為當從環(huán)境中接收到第五確認信號時,用來確定第三有效信號有效,及當從第三數(shù)據(jù)鎖存器接收到第三完成信號時,用來確定第三有效信號無效;順序邏輯元件,其設(shè)計為用于接收第三有效信號、第三請求信號及第四請求信號,并傳遞第三完成信號;第三數(shù)據(jù)鎖存器,其設(shè)計為從第一處理級和第二處理級接收數(shù)據(jù),并通過響應第三有效信號而具有有效相和無效相,其中,在有效相中,第三數(shù)據(jù)鎖存器有效,以便使數(shù)據(jù)從第三數(shù)據(jù)輸入端傳遞到第三數(shù)據(jù)輸出端,及在無效相中,第三數(shù)據(jù)鎖存器無效。
14.根據(jù)權(quán)利要求13所述的異步數(shù)字管線電路,其中,第一鎖存控制器還包括兩輸入XNOR元件,其具有作為第一輸入的第三確認信號、作為第二輸入的第一完成信號及作為輸出的第一有效信號。
15.根據(jù)權(quán)利要求13所述的異步數(shù)字管線電路,其中,第二鎖存控制器還包括兩輸入XNOR元件,其具有作為第一輸入的第三確認信號、作為第二輸入的第二完成信號、及作為輸出的第二有效信號。
16.根據(jù)權(quán)利要求13所述的異步數(shù)字管線電路,其中,第三鎖存控制器還包括兩輸入XNOR元件,其具有作為第一輸入的第五確認信號、作為第二輸入的第三完成信號、及作為輸出的第三有效信號。
17.根據(jù)權(quán)利要求13所述的異步數(shù)字管線電路,其中,順序元件設(shè)計為當?shù)谌行盘?、第三請求信號和第四請求信號被確認時,從而確認第三完成信號,及當?shù)谌行盘柋淮_認,且第三請求信號和第四請求信號沒有被確認時,就不確認第三完成信號,否則就保持第三完成信號的值。
18.根據(jù)權(quán)利要求17所述的異步數(shù)字管線電路,其中,順序元件為Müller門C-元件。
全文摘要
一種可高速操作的異步管線在其數(shù)據(jù)通路中使用簡單的透明鎖存器和在每一管線級上使用了小型鎖存控制器。利用請求信號和確認信號進行彼此通信。請求信號上的每一個躍遷表示新數(shù)據(jù)項的到達。每一管線級包括數(shù)據(jù)鎖存器,其正??墒箶?shù)據(jù)通過;及鎖存控制器,其可使數(shù)據(jù)鎖存器有效和無效。請求信號和數(shù)據(jù)輸入到數(shù)據(jù)鎖存器中。一旦管線級鎖存數(shù)據(jù),就產(chǎn)生完成信號,其被發(fā)送至鎖存控制器,作為確認信號發(fā)送至前一級,作為請求信號發(fā)送至下一級。鎖存控制器在接收到完成信號時可使鎖存器無效,從下一級接收到確認信號時可使數(shù)據(jù)鎖存器重新有效。對于正確的操作是,輸入數(shù)據(jù)穩(wěn)定后,請求信號必須到達級。異步管線可合并邏輯元件便于組合數(shù)據(jù),還可合并用于請求、確認和完成信號的匹配的延遲元件。異步管線還可合并時鐘CMOS邏輯門。在異步管線設(shè)計中還可提供分支和連接結(jié)構(gòu)。
文檔編號G06F9/38GK1471668SQ01817794
公開日2004年1月28日 申請日期2001年9月21日 優(yōu)先權(quán)日2000年10月23日
發(fā)明者蒙泰克·辛格, 史蒂芬·M·諾維克, M 諾維克, 蒙泰克 辛格 申請人:紐約市哥倫比亞大學托管會