專利名稱:用于大容量異步流水線處理的電路和方法
說(shuō)明對(duì)相關(guān)申請(qǐng)的交叉引用本申請(qǐng)要求于2000年4月25日提交的序列號(hào)為60/199,439的題為“用于高速DSP應(yīng)用的細(xì)粒流水線異步加法器(Fine-Grain Pipelined Asynchronous Addersfor High-Speed DSP Applications)”的美國(guó)臨時(shí)專利申請(qǐng)的優(yōu)先權(quán),且通過(guò)引用其全部結(jié)合在此處。
背景技術(shù):
發(fā)明領(lǐng)域本發(fā)明涉及用于異步流水線處理的電路和方法,更確切地說(shuō),是涉及提供高速緩沖和高吞吐量的流水線。
相關(guān)技術(shù)的背景對(duì)可進(jìn)行千兆赫茲吞吐量的流水線設(shè)計(jì)有持續(xù)增長(zhǎng)的需求。已為這些高速應(yīng)用發(fā)展了幾種新穎的異步流水線。比如,在波流水線中,在兩個(gè)鎖存器之間傳播多種波的數(shù)據(jù)。但是,該方法需要對(duì)設(shè)計(jì)付出相當(dāng)大的努力,從結(jié)構(gòu)級(jí)到布線級(jí),都需要對(duì)通路延遲(包括與數(shù)據(jù)相關(guān)的延遲)進(jìn)行準(zhǔn)確的平衡,而且這種系統(tǒng)一直非常容易因?yàn)樘幚?、溫度和電壓的變化而損壞。其它的主動(dòng)異步方法包括時(shí)鐘延遲連鎖、時(shí)滯容許連鎖以及自行復(fù)位電路。這些方法需要復(fù)雜的時(shí)序約束條件且缺乏彈性。另外,這些電路的高速全局時(shí)鐘分布還是一項(xiàng)重要的挑戰(zhàn)。
用區(qū)域信號(hào)交換代替全局時(shí)鐘的異步設(shè)計(jì)具有將高速設(shè)計(jì)變得更加可行的潛力。異步流水線避免與高速時(shí)鐘的部分相關(guān)的問(wèn)題,比如,浪費(fèi)的時(shí)鐘功率和對(duì)時(shí)鐘滯后的管理。另外,由于流水線中數(shù)據(jù)項(xiàng)的數(shù)目允許隨時(shí)間而改變,沒(méi)有全局時(shí)鐘賦予了流水線自然的彈性。最后,異步元件的固有靈活性允許流水線與以不同速度工作的可變環(huán)境進(jìn)行連接;因此,異步流水線設(shè)計(jì)對(duì)于片上系統(tǒng)的設(shè)計(jì)是有用的。
一種現(xiàn)有技術(shù)的流水線是Williams的PSO雙軌異步流水線(T.Williams,Self-Timed Rings and Their Applicantion to Division(自定時(shí)環(huán)及它們?cè)诜指钌系膽?yīng)用),博士論文,斯坦福大學(xué),1991年6月;T.Williams等人,″AZero-Overhead Self Timed 160ns 54b CMOS Divider(過(guò)零自定時(shí)160ns 54b COMS分割器)″,IEEE JSSC,26(11)1651-1661,1991年11月)。
圖1示出了Williams的PSO流水線10。每個(gè)流水線級(jí)12a、12b和12c都由雙軌功能塊14a、14b、14c和完成檢測(cè)器16a、16b、16c構(gòu)成。完成檢測(cè)器指示在相關(guān)功能塊輸出端的數(shù)據(jù)有效性或數(shù)據(jù)缺乏。
每個(gè)功能塊14a、14b、14c使用動(dòng)態(tài)邏輯來(lái)實(shí)現(xiàn)。每個(gè)級(jí)的預(yù)充電/運(yùn)算控制輸入,PC,都連接于下一級(jí)的完成檢測(cè)器。比如,級(jí)12a的預(yù)充電/運(yùn)算控制輸入,PC,連接于級(jí)12b的完成檢測(cè)器并通過(guò)線18a傳遞給功能塊14a。由于預(yù)充電邏輯塊即使在其輸入復(fù)位時(shí)也能保持其數(shù)據(jù)輸出,所以它還提供了內(nèi)隱鎖存的功能。因此,PSO級(jí)無(wú)外在的鎖存器。圖2(a)描繪了雙軌與門(mén)是怎樣在動(dòng)態(tài)邏輯中實(shí)現(xiàn)的;比如雙軌對(duì)f1和f0是怎樣實(shí)現(xiàn)雙軌輸入a1a0和b1b0的。
在每個(gè)級(jí)12a、12b、12c的完成檢測(cè)器16a、16b、16c分別發(fā)出完成計(jì)算和預(yù)充電的信號(hào)。數(shù)據(jù)輸出的有效性或無(wú)效性由各個(gè)位通過(guò)對(duì)雙軌或計(jì)算并隨后使用C-元件結(jié)合所有的結(jié)果來(lái)檢查(見(jiàn)圖2(a))。C-元件是基本的異步狀態(tài)保持元件。更確切地說(shuō),當(dāng)所有的輸入為高電平則n-輸入C-元件的輸出為高電平,當(dāng)所有的輸入為低電平則n-輸入C-元件的輸出也為低電平,否則它將保持先前的值。它通常由在上拉和下拉中帶一系列堆棧并在輸出有反相器(附帶微弱反饋的反相器以保持狀態(tài))CMOS門(mén)來(lái)實(shí)現(xiàn)。
對(duì)Williams的PSO雙軌流水線的流水線控制的順序如下當(dāng)級(jí)N+1完成運(yùn)算后級(jí)N預(yù)充電。當(dāng)級(jí)N+1完成復(fù)位時(shí)級(jí)N進(jìn)行運(yùn)算。實(shí)際的運(yùn)算只有在已接收到來(lái)自級(jí)N-1的有效的數(shù)據(jù)輸入之后才開(kāi)始。該協(xié)議保證了連續(xù)的數(shù)據(jù)標(biāo)記總是被復(fù)位標(biāo)記或間隔分開(kāi)。
通過(guò)觀察信號(hào)數(shù)據(jù)標(biāo)記是怎樣流過(guò)初始為空的流水線而了解流水線級(jí)的整個(gè)周期的事件。從級(jí)12a的一個(gè)運(yùn)算到下一個(gè)運(yùn)算的事件順序是(i)級(jí)12a運(yùn)算,隨后(ii)級(jí)12b運(yùn)算,隨后(iii)級(jí)12b的完成檢測(cè)器16b檢測(cè)運(yùn)算的完成,并隨后(iv)級(jí)12a預(yù)充電。與此同時(shí),在完成步驟(ii)和(iii)的步驟之后,級(jí)12c運(yùn)算,且(iv)級(jí)12c的完成檢測(cè)器16c檢測(cè)運(yùn)算的完成,并初始化級(jí)12b的預(yù)充電,接著(v)級(jí)12b預(yù)充電,并最后(vi)級(jí)12b的完成檢測(cè)器16b檢測(cè)預(yù)充電的完成,從而釋放級(jí)12a的預(yù)充電并使級(jí)12a再次運(yùn)算。由此,對(duì)于一個(gè)級(jí)來(lái)說(shuō),在完整的周期中,從一個(gè)運(yùn)算到下一個(gè)運(yùn)算共有六個(gè)事件。
追蹤以上,一個(gè)流水線級(jí)的完整周期由3個(gè)運(yùn)算、2個(gè)完成檢測(cè)和一個(gè)預(yù)充電組成。因此,分析的流水線周期時(shí)間,Tps0為T(mén)ps0=3.tEval+2.tCD+tPrech(1)其中,tEval和tPrech是各個(gè)級(jí)的運(yùn)算和預(yù)充電時(shí)間,而tCD是經(jīng)過(guò)每個(gè)完成檢測(cè)器的延遲時(shí)間。
各個(gè)級(jí)的前等待時(shí)間L被定義為在初始為空的流水線中取得的從一個(gè)級(jí)的輸出到下一個(gè)級(jí)的輸出的第一數(shù)據(jù)標(biāo)記的時(shí)間。對(duì)于PSO,前等待時(shí)間只是級(jí)運(yùn)算的延遲時(shí)間Lps0=tEva(2)這種類型的無(wú)鎖存異步動(dòng)態(tài)流水線(比如,PSO)的缺點(diǎn)是,交替的級(jí)通過(guò)必須包含“間隔”或“復(fù)位標(biāo)記”,它們將流水線的容量限止在50%。William流水線的另一缺點(diǎn)是,它在級(jí)之間需要幾個(gè)異步點(diǎn)。另外,William的流水線通過(guò)約束流水線級(jí)的相互作用來(lái)保持?jǐn)?shù)據(jù)的完整性,即,在鄰近級(jí)中,級(jí)預(yù)充電和運(yùn)算與特定事件同步。
最新的三種有競(jìng)爭(zhēng)力的異步流水線提供了改進(jìn)的性能,但卻受到已被根據(jù)本發(fā)明的數(shù)字信號(hào)處理流水線裝置除去的幾個(gè)缺點(diǎn)的影響。
Renaudin的設(shè)計(jì)提供了大存儲(chǔ)容量(M.Renaudin等人,″New AsynchronousPipeline SchemeApplication to the Design of a Self-Timed Ring Divider(新型異步流水線設(shè)計(jì)對(duì)自定時(shí)環(huán)分割器設(shè)計(jì)的應(yīng)用),IEEE JSSC,31(7)1001-1013,1996年7月)。Renaudin的流水線在無(wú)額外鎖存器或“同一性級(jí)”的情況下可達(dá)到100%的容量。他們的方法局部地操作動(dòng)態(tài)門(mén)的內(nèi)部結(jié)構(gòu)以提供增加的容量。
但是,Renaudin的流水線有兩個(gè)明顯的缺點(diǎn)。首先,在Renaudin的流水線中,通過(guò)使用另外的晶體管將每個(gè)動(dòng)態(tài)門(mén)的輸出反相器改變?yōu)殚T(mén)控反相器來(lái)取得額外的鎖存。Renaudin流水線的第二個(gè)缺點(diǎn)是相當(dāng)?shù)偷耐掏铝俊L貏e是,Renaudin的流水線是基于PSO流水線更加保守的形式,被稱為PCO。因此,它們的吞吐量當(dāng)通過(guò)PCO時(shí)甚至比PSO的更差。
由Molnar等人設(shè)計(jì)的兩種FIFO--asp*FIFO和微流水線FIFO-是文獻(xiàn)中出現(xiàn)的最具競(jìng)爭(zhēng)力的流水線之一,據(jù)報(bào)導(dǎo)在0.6um CMOS的工藝中可具有1.1Giga和1.7Giga項(xiàng)/秒的吞吐量(C.Molnar等人,″Two FIFO Ring PerformanceExperiments(雙FIFO環(huán)性能試驗(yàn))″,IEEE的會(huì)議錄,87(2)297-307,1999年2月)。
Molnar的第一FIFO,asp*,具有顯著的缺點(diǎn)。當(dāng)向流水線級(jí)添加處理邏輯時(shí),預(yù)計(jì)asp*FIFO的吞吐量相對(duì)于本文描述的流水線設(shè)計(jì)會(huì)有顯著地減少。該性能損耗的發(fā)生是因?yàn)?,asp*FIFO需要外在的鎖存器來(lái)隔離邏輯塊。鎖存器對(duì)于設(shè)計(jì)是必需的;它們保證了協(xié)議不會(huì)造成數(shù)據(jù)的溢出。結(jié)果,在asp*中,用了不同于鎖存器的組合邏輯,邏輯處理的性能損失就變得更加明顯。另外,asp*FIFO具有復(fù)雜的還未被明確認(rèn)識(shí)的定時(shí)序假設(shè);實(shí)際上,早期的版本因?yàn)闀r(shí)序問(wèn)題而不穩(wěn)定。
Molnar的第二設(shè)計(jì),微流水線FIFO也有幾個(gè)缺點(diǎn)。首先,微流水線實(shí)際上由兩個(gè)平行的“半速”FIFO組成,這兩個(gè)“半速”FIFO只提供總吞吐量的一半(0.85Giga項(xiàng)/秒);因此,要獲得1.7Giga項(xiàng)/秒的凈吞吐量就只能以面積作為相當(dāng)大的代價(jià)。其次,微流水線使用非常昂貴的暫態(tài)鎖存器。微流水線FIFO的另一局限是,它根本無(wú)法完成邏輯處理;即,它只能被用作FIFO。該限制的原因是,它使用了復(fù)雜的鎖存結(jié)構(gòu),在該結(jié)構(gòu)中,每個(gè)鎖存器的一部分在鄰近的級(jí)之間共享。結(jié)果,便不可能在鎖存器之間插入邏輯塊。
文獻(xiàn)中記載的最快設(shè)計(jì)之一的是IPCMOS流水線,它在0.18um的CMOS工藝中吞吐量為3.3-4.5GHz(S.Shuster等人,″Asynchronous Interlocked PipelinedCMOS Circuits Operating at 3.3-4.5GHz(以3.3-4.5GHz運(yùn)行的異步互鎖流水線CMOS電路)″,ISSCC會(huì)議錄,2000年2月)。IPCMOS在電路和協(xié)議分級(jí)上都有缺點(diǎn)。首先,IPCMOS使用了既大又復(fù)雜的控制電路,具電路的延遲時(shí)間十分明顯。第二,IPCMOS利用非常進(jìn)取的電路技術(shù),該技術(shù)需要對(duì)設(shè)計(jì)和檢驗(yàn)化相當(dāng)大的精力。比如,在其“選通脈沖”電路中的一個(gè)門(mén)可能在其上拉和下拉堆棧之間短路,這取決于從多數(shù)據(jù)流向兩個(gè)堆棧輸入的相對(duì)到達(dá)時(shí)間。他們的方法依靠堆棧的比值法以保證正確的輸出。第三,在IPCMOS中,流水線級(jí)只有在有效數(shù)據(jù)輸入到達(dá)以后才能進(jìn)行運(yùn)算。因此,級(jí)的前等待時(shí)間因?yàn)榧?jí)的預(yù)充電釋放的延遲而不夠。
本發(fā)明的一個(gè)目的是通過(guò)對(duì)預(yù)充電和運(yùn)算的控制的去耦合來(lái)提供高吞吐量和大存儲(chǔ)容量。另一個(gè)目的是降低對(duì)鄰近數(shù)據(jù)標(biāo)記之間“復(fù)位”間隔的需要以提高存儲(chǔ)容量。
本發(fā)明的一個(gè)目的是提供帶協(xié)議且不需要外在鎖存器的異步流水線。
本發(fā)明的一個(gè)目的是提供帶簡(jiǎn)單單向時(shí)序約束的異步流水線,它可容易地被滿足。
本發(fā)明的一個(gè)目的是提供具有功能塊的異步流水線,該功能塊可在數(shù)據(jù)到達(dá)之前進(jìn)行運(yùn)算。從而,插入空流水線中的數(shù)據(jù)可連續(xù)地通過(guò)每個(gè)級(jí)發(fā)生波動(dòng)。
本發(fā)明的另一個(gè)目的是提供具有高數(shù)據(jù)完整性的異步流水線,其中,級(jí)可穩(wěn)定地保持其輸出,不管其輸入上有什么變化。
本發(fā)明的還有一個(gè)目的是提供一種異步流水線,它具有減少的臨界延遲、較小的芯片面積、較低的功率損耗的特性以及能減少溢出的簡(jiǎn)單、小巧和快速的控制電路。
本發(fā)明的另一個(gè)目的是提供能夠合并多重輸入數(shù)據(jù)流的異步流水線。
發(fā)明內(nèi)容
本發(fā)明的這些和其它目的可根據(jù)本發(fā)明的原理,通過(guò)異步數(shù)字流水線電路來(lái)達(dá)到,該電路允許在流水線中有較密集的包裝數(shù)據(jù)標(biāo)記,從而提供更大的存儲(chǔ)或緩沖容量。其它有益的特征包括少的前等待時(shí)間和容易滿足需要的單向時(shí)序約束。
具有無(wú)鎖存動(dòng)態(tài)邏輯的異步數(shù)字流水線電路,具有第一處理級(jí),被設(shè)置用以驅(qū)動(dòng)經(jīng)過(guò)由第一預(yù)充電階段、其后的第一運(yùn)算階段及其后的第一隔離階段組成的周期階段。在第一隔離階段中,第一處理級(jí)的輸出與其輸入中的變化相隔離,但將其所存儲(chǔ)的數(shù)據(jù)值保持在其輸出。第一處理級(jí)響應(yīng)第一預(yù)充電控制信號(hào)以及第一運(yùn)算控制信號(hào)以完成三個(gè)循環(huán)的操作。第一級(jí)的控制器響應(yīng)暫態(tài)信號(hào)并向第一處理級(jí)提供第一和第二去耦合的控制信號(hào)。
所配置第二處理級(jí)用以驅(qū)動(dòng)經(jīng)過(guò)由第二預(yù)充電階段、其后的第二運(yùn)算階段及其后的第二隔離階段組成的周期階段,它僅僅響應(yīng)第二預(yù)充電控制信號(hào)和第二運(yùn)算控制信號(hào)。第二處理級(jí)提供表示其階段的暫態(tài)信號(hào)。在第一處理級(jí)和第二處理級(jí)之間設(shè)置互相連接,使得由第一級(jí)控制器接收的第一暫態(tài)信號(hào)能驅(qū)動(dòng)第一處理級(jí)在預(yù)充電階段、運(yùn)算階段和隔離階段之間循環(huán),同時(shí)第二處理級(jí)保持在運(yùn)算階段和隔離階段中的一個(gè)。在這種情況下,第一處理級(jí)和第二處理級(jí)都能夠在沒(méi)有間隔隔離的條件下存儲(chǔ)不同的數(shù)據(jù)標(biāo)記。
在第一處理級(jí)和第二處理級(jí)之間設(shè)置單獨(dú)的外在同步點(diǎn)。當(dāng)確認(rèn)了表示第二處理級(jí)階段的暫態(tài)信號(hào)時(shí),可使第一處理級(jí)開(kāi)始預(yù)充電、運(yùn)算和隔離的循環(huán)。這個(gè)單獨(dú)的外在同步點(diǎn)提高了運(yùn)作的并行性。但是當(dāng)沒(méi)有確認(rèn)表示第二處理級(jí)階段的暫態(tài)信號(hào)時(shí),就無(wú)指令改變第一處理級(jí)的階段。
本發(fā)明的其它特征,它的性質(zhì)和多種優(yōu)點(diǎn)將從附圖和以下對(duì)較佳實(shí)施例的的詳細(xì)描述中變得更加明顯。
附圖簡(jiǎn)述圖1描繪了現(xiàn)有技術(shù)的流水線。
圖2(a)描繪了圖1現(xiàn)有技術(shù)流水線的功能塊的電路。
圖2(b)描繪了圖1現(xiàn)有技術(shù)流水線的完成檢測(cè)器。
圖3是根據(jù)本發(fā)明異步數(shù)字流水線電路的框圖。
圖4是根據(jù)本發(fā)明圖3框圖的門(mén)電路的示意圖。
圖5描繪了根據(jù)本發(fā)明的異步數(shù)字流水線電路的階段的順序和各級(jí)的互相影響。
圖6(a)描繪了典型流水線級(jí)控制器的典型Petri(佩特里)網(wǎng)說(shuō)明。
圖6(b)描繪了根據(jù)本發(fā)明流水線級(jí)控制器的Petri(佩特里)網(wǎng)說(shuō)明。
圖7(a)是根據(jù)本發(fā)明在圖3中描繪的異步數(shù)字流水線電路的級(jí)控制器的邏輯圖。
圖7(b)是根據(jù)本發(fā)明在圖7(a)中描繪的級(jí)控制器一部分的電路圖。
圖8是根據(jù)本發(fā)明異步數(shù)字流水線電路的流水線級(jí)的可替換實(shí)施例的框圖。
圖9是根據(jù)本發(fā)明典型實(shí)施例的簡(jiǎn)化框圖。
圖10是根據(jù)本發(fā)明圖9實(shí)施例一部分的框圖。
圖11是根據(jù)本發(fā)明另一實(shí)施例的簡(jiǎn)化框圖。
較佳實(shí)施例的詳細(xì)描述根據(jù)本發(fā)明的異步數(shù)字流水線電路對(duì)在每個(gè)處理級(jí)中的上拉和下拉的控制去耦合。動(dòng)態(tài)門(mén)只受兩個(gè)隔離的輸入,pc和eval的控制。使用這兩個(gè)輸入,驅(qū)動(dòng)級(jí)依次通過(guò)三個(gè)不同的階段運(yùn)算、隔離和預(yù)充電,這將在此處進(jìn)行更詳細(xì)的描述。在隔離階段,一個(gè)級(jí)穩(wěn)定地保持其輸出,不管其輸入的任何變化。結(jié)果,鄰近的流水線級(jí)就可以存儲(chǔ)不同的數(shù)據(jù)項(xiàng),從而獲得100%的存儲(chǔ)容量。
圖3描繪了根據(jù)本發(fā)明流水線100的簡(jiǎn)化框圖。描繪了三個(gè)典型的級(jí)102a/102b/102c,當(dāng)然也可預(yù)期有更多或更少的級(jí)。每個(gè)級(jí)102a/102b/102c可分別包含三個(gè)部件功能塊104a/104b/104c、完成發(fā)生器106a/106b/106c以及控制器108a/108b/108c。每個(gè)功能塊104a/104b/104c可交替地產(chǎn)生數(shù)據(jù)標(biāo)記和下一級(jí)的復(fù)位間隔,且其完成發(fā)生器106a/106b/106c表示級(jí)運(yùn)算或預(yù)充電的完成。第三個(gè)部件,級(jí)控制器108a/108b/108c,產(chǎn)生控制各個(gè)功能塊104a/104b/104c和完成發(fā)生器106a/106b/106c的pc和eval信號(hào)。以下對(duì)這些部件進(jìn)行更詳細(xì)的討論。
使用被稱為捆扎數(shù)據(jù)的通用異步設(shè)計(jì)以實(shí)現(xiàn)信號(hào)軌異步數(shù)據(jù)路徑。更確切地說(shuō),線110a/110b/110c上的控制信號(hào),Req,表示到達(dá)各個(gè)級(jí)102a/102b/102c的新輸入。比如,線110b上的信號(hào)Req是完成發(fā)生器106b的輸入,也是完成發(fā)生器106a的輸出。Req的高值表示新數(shù)據(jù)的達(dá)到,即,前一級(jí)已完成了運(yùn)算。另一方面,Req的低值表示間隔的到來(lái),即,前一級(jí)已完成了預(yù)充電。為了正確運(yùn)作,必須滿足簡(jiǎn)單的時(shí)序約束Req必需在輸入給級(jí)的數(shù)據(jù)穩(wěn)定且有效后到達(dá)。這個(gè)要求可通過(guò)插入“匹配的延遲”元件112a/112b/112c來(lái)滿足,插入的元件通過(guò)功能塊104a/104b/104c提供了大于或等于最差情況延遲的延遲。本方法的優(yōu)點(diǎn)是,數(shù)據(jù)路徑本身可使用標(biāo)準(zhǔn)的信號(hào)軌(同步型)功能塊來(lái)制造。
有幾種實(shí)現(xiàn)匹配延遲的通用方法,諸如匹配的延遲元件112a/112b/112c。一種較佳的技術(shù)是如技術(shù)中已知的使用反相器鏈。另外,可使用傳輸門(mén)電路鏈,其中門(mén)電路的數(shù)目和它們晶體管的大小決定了總延遲。一種可替換技術(shù)是復(fù)制邏輯塊在最差情況下的關(guān)鍵路徑,并將之用作延遲線。捆扎數(shù)據(jù)已被廣泛應(yīng)用,包括已商品化的異步Philips 80C51微控制器芯片。
在圖4中更詳細(xì)地描述了部分功能塊104a/104b/104c。更特別的是,圖4顯示了流水線級(jí)中功能塊104a/104b/104c的一個(gè)門(mén)電路。(當(dāng)省略后綴a、b和c時(shí),描述的特征適用于所有具有相同標(biāo)號(hào)的部件。)線114上的pc輸入控制著上拉堆棧115(即,預(yù)充電),且線116上的eval輸入控制著下拉堆棧117的“基腳”。當(dāng)pc被確認(rèn)為低電平且eval不被確認(rèn)為低電平時(shí)發(fā)生預(yù)充電。當(dāng)eval被確認(rèn)為高電平且pc不被確認(rèn)為高電平時(shí)發(fā)生運(yùn)算。當(dāng)兩種信號(hào)都不能確認(rèn)時(shí),門(mén)電路輸出有效地與門(mén)電路輸入隔離;從而,它進(jìn)入了“隔離階段”。為了防止短路,pc和eval從來(lái)不能同時(shí)被確認(rèn)的。
繼續(xù)參考圖3,完成發(fā)生器106是一非對(duì)稱C-元件,aC。非對(duì)稱C-元件通常具有三種類型的輸入被標(biāo)上“+”的,被標(biāo)上“-”的,以及不被標(biāo)號(hào)的第三種類型。當(dāng)所有未標(biāo)號(hào)的輸入和所有“+”的輸入變成高電平時(shí),aC的輸出被設(shè)為高電平。相反,當(dāng)所有未標(biāo)號(hào)的輸入和所有“-”的輸入變成低電平時(shí),aC輸出被復(fù)位成低電平。對(duì)于所有其它的組合,aC保持其輸出值。完成發(fā)生器106具有來(lái)自級(jí)控制器108的正輸入eval 116和負(fù)輸入pc 114以及來(lái)自前一級(jí)的正輸入Req。
在根據(jù)本發(fā)明的流水線100中,完成發(fā)生器106的輸出,Done被設(shè)置在線120上。當(dāng)級(jí)102已開(kāi)始運(yùn)算時(shí),即,當(dāng)兩種情況發(fā)生時(shí)(1)級(jí)102已進(jìn)入其運(yùn)算階段,也就是說(shuō),eval為高電平,和(2)前一級(jí)已提供了有效的數(shù)據(jù)輸入,也就是說(shuō),前一級(jí)的完成信號(hào)Req為高電平,則輸出Done設(shè)置為高電平。Done只有當(dāng)級(jí)可進(jìn)行預(yù)充電,即,pc被確認(rèn)為低電平時(shí)被復(fù)位。從而,級(jí)的預(yù)充電將即時(shí)復(fù)位Done,同時(shí)只有當(dāng)級(jí)處于運(yùn)算階段且有效數(shù)據(jù)已到達(dá)時(shí)運(yùn)算才復(fù)位。
在線120上的完成發(fā)生器106的輸出通過(guò)匹配的延遲元件112傳輸,該匹配的元件(當(dāng)與完成發(fā)生器相結(jié)合時(shí))匹配通過(guò)功能塊104的最差情況的路徑。對(duì)于非常密集?;颉伴T(mén)級(jí)”的流水線來(lái)說(shuō),匹配的延遲不是必須的,因?yàn)橛赏瓿砂l(fā)生器106本身所產(chǎn)生的aC延遲經(jīng)常已經(jīng)匹配了功能塊104的延遲,所以便不需要另外的匹配延遲了。
最后,線120上的完成信號(hào)Done被分成三路并輸送給三個(gè)部件(i)線122上的前一級(jí)控制器108,指示當(dāng)前級(jí)的狀態(tài),比如,通過(guò)線122b連接的級(jí)控制器108a;(ii)當(dāng)前級(jí)的級(jí)控制器108,比如,通過(guò)線124b連接的級(jí)控制器108b(通過(guò)匹配的元件112b);以及(iii)下一級(jí)的完成發(fā)生器106,比如,通過(guò)線110c連接的完成發(fā)生器106c(通過(guò)匹配的延遲元件112b)。
繼續(xù)參考圖3,級(jí)控制器108產(chǎn)生用于功能塊104和完成發(fā)生器106的控制信號(hào)pc。級(jí)控制器108本身接收兩個(gè)輸入(1)通過(guò)線124的當(dāng)前級(jí)的延遲Done信號(hào)(即,Req),此后被稱為信號(hào)S,比如,信號(hào)S可通過(guò)線124b到達(dá)級(jí)控制器108b,以及(2)下一級(jí)的Done信號(hào),此后被稱為信號(hào)T,比如,信號(hào)T通過(guò)線122c到達(dá)級(jí)控制器108b。級(jí)控制器108產(chǎn)生兩個(gè)去耦合控制信號(hào),pc和eval。此處將對(duì)級(jí)控制器的協(xié)議和實(shí)現(xiàn)的詳情作更詳細(xì)的描述。
如圖5所示,流水線100中的每個(gè)級(jí)102都要循環(huán)三個(gè)階段。循環(huán)200a示出了第一個(gè)級(jí)N,而循環(huán)200b示出了鄰近的級(jí)N+1。在級(jí)N完成其運(yùn)算階段202a之后,它便進(jìn)入隔離階段204a并通常不進(jìn)行預(yù)充電階段206a,直到它從級(jí)N+1收到信號(hào),正如以下將要描述的。只要預(yù)充電階段206a一完成,它就重新再次進(jìn)入運(yùn)算極端202a,即完成了循環(huán)。(同樣地,級(jí)N+1如虛線所表示地完成運(yùn)算202b、隔離204b和預(yù)充電206b階段。)在級(jí)N和級(jí)N+1之間有一個(gè)外在的同步點(diǎn)或互相連接。如虛線210所示,一旦級(jí)N+1已完成其運(yùn)算階段202b,它便可使前一級(jí)N完成其整個(gè)下一循環(huán)即,新數(shù)據(jù)項(xiàng)的預(yù)充電階段206a、運(yùn)算階段202a以及隔離階段204a。如虛線211所示,還有一個(gè)內(nèi)隱的同步點(diǎn)級(jí)N+1的運(yùn)算階段202b取決于其前一級(jí)N’的運(yùn)算階段202a。級(jí)不能產(chǎn)生新的數(shù)據(jù),直到它已從其前一級(jí)接收到有效的輸入。在圖5中通過(guò)因果弧線示出了兩個(gè)同步點(diǎn)。
一旦一個(gè)級(jí)完成運(yùn)算,它便通過(guò)自復(fù)位操作將自身與其輸入隔離。該級(jí)進(jìn)入隔離階段,不管該級(jí)是否被允許進(jìn)入其預(yù)充電階段。結(jié)果,因?yàn)楫?dāng)前級(jí)將保持隔離,所以前一級(jí)不僅能預(yù)充電,甚至還可可靠地運(yùn)算下一數(shù)據(jù)標(biāo)記。比如,當(dāng)級(jí)N+1完成其運(yùn)算階段202a時(shí),它便進(jìn)入了隔離階段204a,同時(shí)級(jí)N可預(yù)充電206a并運(yùn)算202a而不會(huì)影響級(jí)N+1的輸出。
該協(xié)議有兩個(gè)益處(a)較高的吞吐量,因?yàn)榧?jí)N甚至可以在級(jí)N+1已開(kāi)始預(yù)充電以前運(yùn)算下一數(shù)據(jù)項(xiàng);以及(b)相同原因帶來(lái)的較高容量,由于鄰近的流水線級(jí)現(xiàn)在能夠同時(shí)保持不同的數(shù)據(jù)標(biāo)記,而不需要由間隔分離。
在圖6(a)中以佩特里網(wǎng)(Petri-net)(一種著名的用于描述并發(fā)行為的圖示法)的形式給出了級(jí)控制器的格式說(shuō)明。它由以標(biāo)號(hào)事件表示的晶體管和存儲(chǔ)以黑點(diǎn)表示的標(biāo)記的位置組成。當(dāng)它所有的輸入弧都有標(biāo)記時(shí)啟動(dòng)暫態(tài),隨后這些暫態(tài)被存放在它所有的輸出弧上。(在Tadao Murata中進(jìn)一步討論了有關(guān)佩特里網(wǎng)的詳細(xì)情況,″Petri NetsProperites,Analysis andApplications,(佩特里網(wǎng)特性、分析和應(yīng)用)″,IEEE,77(4)的會(huì)議錄,1989年4月;L.Y.Rosenblum和A.V.Yakolev,″Signal GraphsFrom Self-Timed toTimed Ones,(信號(hào)圖從自定時(shí)到定時(shí)的″,關(guān)于定時(shí)佩特里網(wǎng)的國(guó)際工作會(huì)議錄,托里諾,意大利,199-207頁(yè),1985年7月;Tam-Anh Chu,″On the Modelsfor Designing VLSI Asynchronous Digital Circuits(設(shè)計(jì)VLSI異步數(shù)字電路的模型″,論文集,VLSI雜志,4(2)99-113,1986年6月,通過(guò)參考結(jié)合于此。)級(jí)控制器108的佩特里網(wǎng)說(shuō)明可從級(jí)循環(huán)中階段的順序推斷出來(lái),如以上的圖5所示。級(jí)N的控制器具有兩個(gè)輸入S和T,它們分別是級(jí)N和級(jí)N+1的Done輸出(見(jiàn)圖3),且它具有兩個(gè)輸出,pc和eval,這兩個(gè)信號(hào)驅(qū)動(dòng)級(jí)N。
圖6(a)描繪了級(jí)控制器預(yù)先設(shè)計(jì)的佩特里網(wǎng)。圖6(a)中所示的說(shuō)明有幾個(gè)缺點(diǎn),此處進(jìn)行詳細(xì)分析。在級(jí)N 302處預(yù)充電的使能條件可以是不確定的級(jí)N已完成一數(shù)據(jù)項(xiàng)的運(yùn)算并正進(jìn)入304處的隔離階段(信號(hào)S124為高電平),且級(jí)N+1已在306處運(yùn)算了相同的數(shù)據(jù)項(xiàng)(信號(hào)T122為高電平)。如果級(jí)N+1被阻斷或減慢則會(huì)產(chǎn)生問(wèn)題,級(jí)N+1會(huì)繼續(xù)保持其高電平的T122的輸出,同時(shí)級(jí)N處理完全新的數(shù)據(jù)輸入(預(yù)充電隨后運(yùn)算)。在該情況下,信號(hào)S124和T122再次都為高電平,但現(xiàn)在級(jí)N和級(jí)N+1具有不同的標(biāo)記。在這種情況下,由于級(jí)N+1還未吸收到新的數(shù)據(jù),級(jí)N是不能被預(yù)充電的。
獲取解決該問(wèn)題的途徑是添加一狀態(tài)可變的通過(guò)級(jí)控制器中的非對(duì)稱C元件實(shí)現(xiàn)的ok2pc 117(見(jiàn)圖6(b))。圖6(b)中的說(shuō)明大體與圖6(a)中的說(shuō)明相同,此處只描述不同的地方。有效改變的ok2pc 153記錄級(jí)N+1是否已吸收了數(shù)據(jù)項(xiàng)。如佩特里網(wǎng)350所示的ok2pc 153在級(jí)N在352處預(yù)充電之后馬上復(fù)位(信號(hào)S124為低電平),且只有在N+1已在354處經(jīng)歷了隨后的預(yù)充電之后才會(huì)被再次復(fù)位(信號(hào)T122為低電平)。
圖7(a)和圖7(b)顯示了圖6(b)控制器的實(shí)現(xiàn)。實(shí)現(xiàn)包括兩個(gè)輸入信號(hào),T122和S124,且產(chǎn)生三個(gè)輸出信號(hào)——pc114、eval116和ok2pc153——每個(gè)信號(hào)都使用單獨(dú)的門(mén)電路來(lái)實(shí)現(xiàn)。控制器直接實(shí)現(xiàn)上述以及在前一級(jí)子段中的條件。
更確切地說(shuō),信號(hào)eval116是反相器150在S信號(hào)124上的輸出。參考結(jié)合了圖3和圖5的圖7(a),當(dāng)eval116在無(wú)任何其它輸入的情況下不能確認(rèn)為低電平,級(jí)104從運(yùn)算階段202循環(huán)到隔離階段204。在實(shí)施例中,在級(jí)204運(yùn)算完之后,信號(hào)eval116通過(guò)線120a經(jīng)過(guò)完成檢測(cè)器,并通過(guò)匹配的延遲元件112。匹配延遲元件112的輸出是線124上的S信號(hào)。在經(jīng)過(guò)了級(jí)控制器108的反相器150之后,eval信號(hào)116不能確認(rèn)為低電平,從而可允許級(jí)進(jìn)入隔離階段204。
ok2pc信號(hào)153的發(fā)生是通過(guò)非對(duì)稱C元件152來(lái)完成,以圖7(b)來(lái)作更詳細(xì)的描述。由于ok2pc153在級(jí)N+1已完成運(yùn)算之后被設(shè)為高電平,且T122為低電平,所以添加反相器156以接收T信號(hào)122。雖然ok2pc的產(chǎn)生是向通向pc114的控制路徑添加了額外的門(mén)電路延遲,但圖6的協(xié)議卻是在關(guān)鍵路徑之外完成了該運(yùn)算,即,ok2pc被設(shè)為“背景模式”,從而op2pc在T122獲得確認(rèn)以前通常被設(shè)定了。結(jié)果,pc114的關(guān)鍵路徑只有一個(gè)門(mén)電路延遲從輸入T122通過(guò)3輸入NAND3門(mén)電路154到達(dá)輸出pc114。
圖8根據(jù)本發(fā)明的另一實(shí)施例描繪了一個(gè)完整的流水線級(jí)401。更確切地說(shuō),圖3中所示的流水線級(jí)102的完成發(fā)生器106和功能塊104已被結(jié)合入組合功能塊405。級(jí)401還包括匹配的延遲元件412和級(jí)控制器408(由虛線表示)。功能塊405的輸出419被傳遞到下一級(jí)(未在圖8中顯示)。完成發(fā)生器(未顯示)的輸出420被分成兩種信號(hào),一部分被傳遞到匹配延遲元件412,另一部分變成信號(hào)422a,并被傳遞到前一級(jí)或到外界。匹配延遲元件412的輸出為S信號(hào)424。如上所示,與級(jí)控制器1008有關(guān)的級(jí)控制器408的輸入是來(lái)自下一級(jí)(未顯示)的S信號(hào)424和T信號(hào)422b。
可參考圖3和圖5追蹤級(jí)N的完整循環(huán)的事件。從級(jí)N的一個(gè)運(yùn)算到下一個(gè)運(yùn)算,循環(huán)由三部分操作組成步驟(i)級(jí)N運(yùn)算,步驟(ii)級(jí)N+1運(yùn)算,它依照使能級(jí)N’的控制器來(lái)確認(rèn)N的預(yù)充電輸入(pc=低電平),步驟(iii)級(jí)N預(yù)充電,完成后傳遞到級(jí)N’的控制器,使N再次運(yùn)算(eval確認(rèn)為高)。參考圖3和圖5中的標(biāo)號(hào),過(guò)程處理如下步驟(i)級(jí)102a運(yùn)算202a并提前到隔離階段204a并等待。隨后,在步驟(ii),級(jí)102b運(yùn)算202b,且一旦完成級(jí)102b的運(yùn)算之后,級(jí)控制器108a接收T信號(hào)112b并確認(rèn)pc114a。在步驟(iii),級(jí)102a預(yù)充電206a,且被啟動(dòng)再次運(yùn)算。
如上所述,對(duì)于門(mén)級(jí)的流水線,可不需要額外的匹配延遲,因?yàn)橥瓿蓹z測(cè)器和其它延遲已匹配了門(mén)電路的運(yùn)算和預(yù)充電。接著,在早期引入的標(biāo)志中,步驟(i)的延遲是tEval,步驟(ii)的延遲是taC+tNAND3,而步驟(iii)的延遲是tPrech+tINV。此處,tNAND3和tINV分別是通過(guò)圖7(a)的NAND3154和反相器150的延遲。因而,分析的流水線循環(huán)時(shí)間為T(mén)HC=tEval+tPrech+taC+tNAND3+tINV(3)級(jí)的等待時(shí)間只是級(jí)的運(yùn)算延遲LHC=tEval(4)根據(jù)本發(fā)明的流水線100需要單向時(shí)序約束以保證正確運(yùn)作。一旦當(dāng)前級(jí)已進(jìn)行了運(yùn)算,且下一級(jí)已進(jìn)行了預(yù)充電(S-1,T=0),則ok2pc信號(hào)153變?yōu)楦唠娖?。隨后,作為下一級(jí)運(yùn)算的結(jié)果,信號(hào)T變?yōu)楦唠娖健榱苏_運(yùn)作,ok2pc信號(hào)必須在T信號(hào)變?yōu)楦唠娖街巴瓿善渖仙^(guò)渡tok2pc<tEval+tINV(5)在實(shí)際操作中,該約束是非常容易滿足的。
必須保證獲得充足的預(yù)充電寬度。在該設(shè)計(jì)中,約束的部分是由捆扎約束實(shí)施的aC元件和(任意的)匹配延遲一起,必須具有大于功能塊最差情況預(yù)充電時(shí)間的延遲。因此,圖7(a)中到NAND3154的S信號(hào)將適當(dāng)?shù)乇3帧?br>
在預(yù)充電上有附加的約束到NADN3154的T信號(hào)肯定不能被確認(rèn)。比如,在T信號(hào)被確認(rèn)為高電平的情況中,級(jí)102a的NAND3154a開(kāi)始102a的預(yù)充電(在圖3中)。同時(shí),T信號(hào)122b只有在通過(guò)級(jí)102c的完成發(fā)生器106c的非對(duì)稱C元件(aC),通過(guò)級(jí)控制器108b的NAND3154,以及通過(guò)級(jí)102b的完成發(fā)生器106b的非對(duì)稱C元件(aC),并最終通過(guò)級(jí)控制器108a的NAND3154a的路徑之后才被復(fù)位tNAND3+tPrechN≤taC+tNAND3+taC+tNAND3---(6)]]>假設(shè)所有的級(jí)都是相同的,該約束變成tPrechN≤taC+taC+tNAND3---(7)]]>該時(shí)間約束也是容易滿足的。
圖7(a)中的反相器150被用于在其運(yùn)算后使能級(jí)的隔離。捆扎約束已保證隔離階段不會(huì)開(kāi)始得太早。
例子作為研究的情況,使用文中描述的流水線模擬門(mén)電平流水線的加法器。例子顯示了流水線級(jí)的多重輸入流可怎樣被一起合并進(jìn)單一的輸出流。
選擇32位的脈動(dòng)進(jìn)位加法器,因?yàn)樗脑O(shè)計(jì)簡(jiǎn)單且順應(yīng)非常密集的流水線。加法器的結(jié)構(gòu)適合于高吞吐量的應(yīng)用,諸如用于多媒體處理的DSP應(yīng)用。
圖9描繪了脈動(dòng)進(jìn)位加法器的典型級(jí)500。加法器的每個(gè)級(jí)是全加器,它有三個(gè)數(shù)據(jù)輸入-A502,B504,進(jìn)位輸入Cin506-以及兩個(gè)輸出—進(jìn)位輸出Cout508與和510。邏輯等式為Sum=ABCin,且 (8)Cout=AB+ACin+BCin(9)雙軌和單軌編碼的混合被用于表示加法器的數(shù)據(jù)路徑。由于異或邏輯操作不僅需要其操作數(shù)的真值還需要補(bǔ)碼值,雙軌被用于根據(jù)動(dòng)態(tài)邏輯應(yīng)用來(lái)表示每個(gè)數(shù)據(jù)輸入A,B和Cin。此外,由于級(jí)的Cout是下一級(jí)的Cin,所以它也用雙軌表示。另一方面,Sum只使用單軌表示,因?yàn)樗恍枰a(bǔ)碼。完整的數(shù)據(jù)路徑是捆扎的數(shù)據(jù)路徑,并且因此可被當(dāng)作單軌,雖然某些信號(hào)使用雙軌表示。
分別用a1a0、b1b0、 以及 表示A502、B504、Cin506和Cout508,加法器的等式被寫(xiě)為Sum=(a1b0+a0b1)cin0+(a1b1+a0b0)cin1,---(10)]]>cout1=a1b1+(a1+b1)cin1,]]>以及(11)cout0=a0b0+(a0+b0)cin0,---(12)]]>在實(shí)施例中,三個(gè)輸出,Sum, 和 中的每個(gè)都使用單一動(dòng)態(tài)門(mén)實(shí)現(xiàn)。從而,每級(jí)只有一個(gè)邏輯電平。
不像此處描述的流水線結(jié)構(gòu),流水線的加法器是非線性的結(jié)構(gòu)。級(jí)500可合并三個(gè)不同的輸入流,即,兩個(gè)數(shù)據(jù)操作數(shù)和進(jìn)位輸入。因此,此處描述流水線結(jié)構(gòu)可處理多源的可替換實(shí)施例。特別是,由于每個(gè)全加器表示多輸入流的同步點(diǎn),所以它必須具有處理多重捆扎輸入的能力(即,“request(請(qǐng)求)”信號(hào))。
輸入A502和B504可被當(dāng)作屬于一個(gè)具有共用捆扎信號(hào)reqab523的共享數(shù)據(jù)流。Cin輸入與進(jìn)位輸入reqc525一起形成了其它的流。因此,假設(shè)只有兩個(gè)輸入流數(shù)據(jù)操作數(shù)和進(jìn)位輸入。在實(shí)際操作中,這在許多操作數(shù)來(lái)自同一來(lái)源的應(yīng)用中是合理的假設(shè)。如果該假設(shè)不成立,則我們的方法可被延伸以處理三個(gè)獨(dú)立的線程。
圖10描繪了完成發(fā)生器506的另一實(shí)施例。完成發(fā)生器506在數(shù)據(jù)輸入reqab523和進(jìn)位輸入reqc525上都是同步的。每個(gè)添加的請(qǐng)求信號(hào)都是通過(guò)向完成發(fā)生器的非對(duì)稱C元件552的下拉堆棧添加一個(gè)晶體管來(lái)提供的。得到的Done輸出信號(hào)520可派生成三個(gè)用途,即,作為發(fā)送進(jìn)位輸入的級(jí)的“確認(rèn)”,作為發(fā)送操作數(shù)的級(jí)的“確認(rèn)”,以及作為下一級(jí)的“請(qǐng)求”。
最后,在圖11中示出了整個(gè)加法器的結(jié)構(gòu)。移位寄存器568a、567b和568c分別向每個(gè)加法器級(jí)500a、500b和500c提供操作數(shù)位。與每個(gè)加法器級(jí)500a、500b和500c分別連接的移位寄存器570a、570b和570c累積了來(lái)自該級(jí)的和的位數(shù)流。一旦提供了加法操作的所有和的位,它們就可以并行的方式從每個(gè)移位寄存器讀出每一位。移位寄存器本身可根據(jù)此處描述的實(shí)施例被制成異步流水線。
32位的脈動(dòng)進(jìn)位加法器是采用HSPICE以0.6μm HP CMOS工藝在3.3V電源和300°K的操作條件下進(jìn)行模擬的。要特別注意優(yōu)化用于高吞吐量的晶體管尺寸。每個(gè)動(dòng)態(tài)門(mén)電路中的預(yù)充電PMOS晶體管具有18λ/2λ的W/L比。運(yùn)算堆棧中的NMOS晶體管也如此設(shè)計(jì)尺寸,從而使n-堆棧的有效寬度為p-堆棧的1/3。另外,對(duì)于每個(gè)設(shè)計(jì),均保證時(shí)序約束可獲得令人滿意的滿足。
表1概括了模擬結(jié)果。
表1
表1列出了總的循環(huán)時(shí)間及其分解的各個(gè)部分級(jí)運(yùn)算時(shí)間(tEval),級(jí)預(yù)充電時(shí)間(tPrech),通過(guò)完成塊的延遲(taC),以及通過(guò)控制門(mén)電路的延遲(tNAND3和tINV)。最后,表以每秒有多少百萬(wàn)次操作列出了每個(gè)加法器的吞吐量。發(fā)現(xiàn)加法器的吞吐量為每秒1023百萬(wàn)次操作。
可以理解的是,上述只是描繪了本發(fā)明的原理,對(duì)于技術(shù)熟練人士,可以在不脫離本發(fā)明的范圍和精神的條件下作出多種修改。
權(quán)利要求
1.一種無(wú)鎖存的動(dòng)態(tài)異步數(shù)字流水線電路,包括第一處理級(jí),被設(shè)置能驅(qū)動(dòng)經(jīng)過(guò)由第一預(yù)充電階段、其后的第一運(yùn)算階段及其后的第一隔離階段組成的周期階段,它只響應(yīng)于第一預(yù)充電控制信號(hào)和第一運(yùn)算控制信號(hào),其中,第一處理級(jí)的輸出當(dāng)處于第一隔離階段時(shí)與其輸入的變化相隔離,且其中,第一預(yù)充電控制信號(hào)與第一運(yùn)算控制信號(hào)去耦合第一級(jí)控制器,響應(yīng)于表示第二處理級(jí)階段的暫態(tài)信號(hào),且被設(shè)置成向第一處理級(jí)提供第一預(yù)充電控制信號(hào)和第一運(yùn)算控制信號(hào);第二處理級(jí),設(shè)置能驅(qū)動(dòng)經(jīng)過(guò)由第二預(yù)充電階段、其后的第二運(yùn)算階段及其后的第二隔離階段組成的周期階段,它只響應(yīng)于第二預(yù)充電控制信號(hào)和第二運(yùn)算控制信號(hào);完成發(fā)生器,被設(shè)置成一旦完成第二運(yùn)算階段時(shí)提供表示第二處理級(jí)階段被確認(rèn)的暫態(tài)信號(hào),其中,在第一處理級(jí)和第二處理級(jí)之間提供一個(gè)互相連接,從而由第一級(jí)控制器接收到的表示第二處理級(jí)階段的暫態(tài)信號(hào),當(dāng)表示第二處理級(jí)階段的暫態(tài)信號(hào)被確認(rèn)時(shí),啟動(dòng)第一處理級(jí)以進(jìn)行預(yù)充電階段、運(yùn)算階段以及隔離階段的循環(huán)。
2.如權(quán)利要求1所述的無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,其特征在于,還包括第一完成發(fā)生器,被設(shè)置成向第一級(jí)控制器提供表示第一處理級(jí)階段的第一暫態(tài)信號(hào)。
3.如權(quán)利要求2所述的無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,其特征在于,當(dāng)?shù)谝患?jí)控制器確認(rèn)第一運(yùn)算控制信號(hào)并不能確認(rèn)第一預(yù)充電控制信號(hào)時(shí),第一處理級(jí)進(jìn)入第一運(yùn)算階段。
4.如權(quán)利要求2所示的無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,其特征在于,當(dāng)?shù)谝患?jí)控制器不能確認(rèn)第一運(yùn)算控制信號(hào)和不能確認(rèn)第一預(yù)充電控制信號(hào)時(shí),第一處理級(jí)進(jìn)入第一隔離階段。
5.如權(quán)利要求2所述的無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,其特征在于,當(dāng)?shù)谝患?jí)控制器不能確認(rèn)第一運(yùn)算控制信號(hào)且確認(rèn)第一預(yù)充電控制信號(hào)時(shí),第一處理級(jí)進(jìn)入第一預(yù)充電階段。
6.如權(quán)利要求2所述的無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,其特征在于,當(dāng)?shù)谝惶幚砑?jí)已進(jìn)入運(yùn)算階段且前一級(jí)已向第一處理級(jí)提供了有效的輸出時(shí),第一暫態(tài)信號(hào)被確認(rèn)。
7.如權(quán)利要求2所述的無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,其特征在于,當(dāng)?shù)谝惶幚砑?jí)已進(jìn)入預(yù)充電階段時(shí),第一暫態(tài)信號(hào)不能被確認(rèn)。
8.一種無(wú)鎖存的動(dòng)態(tài)異步數(shù)字流水線電路,包括第一處理級(jí),被設(shè)置能驅(qū)動(dòng)經(jīng)過(guò)由第一預(yù)充電階段、其后的第一運(yùn)算階段及其后的第一隔離階段組成的周期階段,它只響應(yīng)于第一預(yù)充電控制信號(hào)和第一運(yùn)算控制信號(hào)第一級(jí)控制器,響應(yīng)于暫態(tài)信號(hào),且向第一處理級(jí)提供第一預(yù)充電控制信號(hào)和第一運(yùn)算控制信號(hào),其中,第一預(yù)充電控制信號(hào)與第一運(yùn)算控制信號(hào)去耦合;以及第二處理級(jí),被設(shè)置能驅(qū)動(dòng)經(jīng)過(guò)由第二預(yù)充電階段、其后的第二運(yùn)算階段及其后的第二隔離階段組成的周期階段,它只響應(yīng)于第二預(yù)充電控制信號(hào)和第二運(yùn)算控制信號(hào),其中,第二處理級(jí)當(dāng)處于第二隔離階段時(shí),其輸出與其輸入上的變化相隔離,且其中,第二處理級(jí)向第一級(jí)控制器提供表示其階段的暫態(tài)信號(hào),其中,在第一處理級(jí)和第二處理級(jí)之間提供一個(gè)互相連接,從而由第一級(jí)控制器接收到的暫態(tài)信號(hào)使能第一處理級(jí)進(jìn)行第一預(yù)充電階段、第一運(yùn)算階段以及第一隔離階段的循環(huán),同時(shí),第二處理級(jí)保留于第二隔離階段,使得第一處理階段和第二處理階段可存儲(chǔ)兩個(gè)分開(kāi)的標(biāo)記而不需要由預(yù)充電階段來(lái)分隔。
9.權(quán)利要求8所述的無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,其特征在于,還包括第一完成發(fā)生器,被設(shè)置成向第一級(jí)控制器提供表示第一處理級(jí)階段的第一暫態(tài)信號(hào)。
10.如權(quán)利要求9所述的無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,其特征在于,當(dāng)?shù)谝患?jí)控制器確認(rèn)第一運(yùn)算控制信號(hào)并不能確認(rèn)第一預(yù)充電控制信號(hào)時(shí),第一處理級(jí)進(jìn)入第一運(yùn)算階段。
11.如權(quán)利要求9所示的無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,其特征在于,當(dāng)?shù)谝患?jí)控制器不能確認(rèn)第一運(yùn)算控制信號(hào)和不能確認(rèn)第一預(yù)充電控制信號(hào)時(shí),第一處理級(jí)進(jìn)入第一隔離階段。
12.如權(quán)利要求9所述的無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,其特征在于,當(dāng)?shù)谝患?jí)控制器不能確認(rèn)第一運(yùn)算控制信號(hào)且確認(rèn)第一預(yù)充電控制信號(hào)時(shí),第一處理級(jí)進(jìn)入第一預(yù)充電階段。
13.如權(quán)利要求9所述的無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,其特征在于,當(dāng)?shù)谝惶幚砑?jí)已進(jìn)入運(yùn)算階段且前一級(jí)已向第一處理級(jí)提供了有效的輸出時(shí),第一暫態(tài)信號(hào)被確認(rèn)。
14.如權(quán)利要求9所述的無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,其特征在于,當(dāng)?shù)谝惶幚砑?jí)已進(jìn)入預(yù)充電階段時(shí),第一暫態(tài)信號(hào)不能被確認(rèn)。
15.一種在無(wú)鎖存動(dòng)態(tài)異步數(shù)字電路中的處理級(jí),具有無(wú)鎖存的動(dòng)態(tài)邏輯,該處理級(jí)包括級(jí)控制器,被設(shè)置成提供預(yù)充電控制信號(hào)和運(yùn)算控制信號(hào),其中,預(yù)充電控制信號(hào)與運(yùn)算控制信號(hào)去耦合;以及功能塊,它具有輸入和輸出,被設(shè)置能驅(qū)動(dòng)經(jīng)過(guò)由預(yù)充電階段、其后的運(yùn)算階段及其后的隔離階段組成的周期階段,并返回到預(yù)充電階段,它只響應(yīng)于來(lái)自級(jí)控制器的預(yù)充電控制信號(hào)和運(yùn)算控制信號(hào),其輸出當(dāng)處于隔離階段時(shí)與其輸入的變化相隔離。
16.如權(quán)利要求15所述的在無(wú)鎖存動(dòng)態(tài)異步數(shù)字電路中的處理級(jí),其特征在于,當(dāng)?shù)谝贿\(yùn)算控制信號(hào)被確認(rèn)并不能確認(rèn)第一預(yù)充電控制信號(hào)時(shí),第一處理級(jí)進(jìn)入第一運(yùn)算階段。
17.如權(quán)利要求15所示的在無(wú)鎖存動(dòng)態(tài)異步數(shù)字電路中的處理級(jí),其特征在于,當(dāng)?shù)谝贿\(yùn)算控制信號(hào)不能被確認(rèn)且第一預(yù)充電控制信號(hào)被不能確認(rèn)時(shí),第一處理級(jí)進(jìn)入第一隔離階段。
18.如權(quán)利要求15所述的在無(wú)鎖存動(dòng)態(tài)異步數(shù)字電路中的處理級(jí),其特征在于,當(dāng)?shù)谝贿\(yùn)算控制信號(hào)不能確認(rèn)且第一預(yù)充電控制信號(hào)被確認(rèn)時(shí),第一處理級(jí)進(jìn)入第一預(yù)充電階段。
19.一種無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線電路,包括第一處理級(jí),它包括第一功能塊,它包括由第一預(yù)充電控制信號(hào)控制的上拉堆棧,由第一運(yùn)算控制信號(hào)控制的下拉堆棧,第一數(shù)據(jù)輸入和第一數(shù)據(jù)輸出,它被設(shè)置能驅(qū)動(dòng)經(jīng)過(guò)由第一預(yù)充電階段、其后的第一運(yùn)算階段及其后的第一隔離階段組成的周期階段,它只響應(yīng)于第一預(yù)充電控制信號(hào)和第一運(yùn)算控制信號(hào),其中,當(dāng)?shù)谝活A(yù)充電控制信號(hào)和第二預(yù)充電控制信號(hào)在第一隔離階段中都不能確認(rèn)時(shí),第一數(shù)據(jù)輸出與第一數(shù)據(jù)輸入中的變化相隔離;第一完成發(fā)生器,它包括非對(duì)稱C元件,設(shè)置該發(fā)生器以接收作為輸入的第一預(yù)充電控制信號(hào)、第一運(yùn)算控制信號(hào)以及有效數(shù)據(jù)輸入信號(hào),其中,非對(duì)稱C元件產(chǎn)生第一暫態(tài)信號(hào),該信號(hào)當(dāng)?shù)谝贿\(yùn)算控制信號(hào)和有效數(shù)據(jù)輸入都被確認(rèn)時(shí)才被確認(rèn),而當(dāng)?shù)谝活A(yù)充電控制信號(hào)被確認(rèn)時(shí)則不能被確認(rèn);第一匹配延遲元件,它包括多個(gè)反相器,設(shè)置該元件以接收作為輸入的第一暫態(tài)信號(hào)并產(chǎn)生作為輸出的第一延遲暫態(tài)信號(hào);第一級(jí)控制器,它包括一個(gè)反相器,設(shè)置該反相器以從第一匹配延遲元件接收作為輸入的第一延遲暫態(tài)信號(hào)并產(chǎn)生作為輸出的第一運(yùn)算控制信號(hào),非對(duì)稱的C元件,設(shè)置該元件以從第二處理級(jí)接收作為輸入的第一延遲暫態(tài)信號(hào)和第二暫態(tài)信號(hào)并產(chǎn)生中間控制信號(hào),該信號(hào)當(dāng)?shù)谝谎舆t暫態(tài)信號(hào)不能被確認(rèn)時(shí)不能被確認(rèn),當(dāng)?shù)谝粫簯B(tài)信號(hào)被確認(rèn)且第二暫態(tài)信號(hào)被確認(rèn)時(shí)被確認(rèn),以及NAND門(mén)電路,設(shè)置該門(mén)電路以接收作為輸入的第一延遲暫態(tài)信號(hào)、第二暫態(tài)信號(hào)和中間控制信號(hào),并產(chǎn)生作為輸出的第一預(yù)充電信號(hào);以及第二處理級(jí),它包括第二功能塊,它包括由第二預(yù)充電控制信號(hào)控制的上拉堆棧,由第二運(yùn)算控制信號(hào)控制的下拉堆棧,第二數(shù)據(jù)輸入和第二數(shù)據(jù)輸出,它被設(shè)置能驅(qū)動(dòng)經(jīng)過(guò)由第二預(yù)充電階段、其后的第二運(yùn)算階段及其后的第二隔離階段組成的周期階段,它只響應(yīng)于第二預(yù)充電控制信號(hào)和第二運(yùn)算控制信號(hào),其中,當(dāng)?shù)诙A(yù)充電控制信號(hào)和第二預(yù)充電控制信號(hào)在第二隔離階段中都不能被確認(rèn)時(shí),第二數(shù)據(jù)輸出與第二數(shù)據(jù)輸入中的變化相隔離;第二完成發(fā)生器,它包括非對(duì)稱C元件,設(shè)置該發(fā)生器以接收作為輸入的第二預(yù)充電控制信號(hào)、第二運(yùn)算控制信號(hào)以及第一延遲暫態(tài)信號(hào)輸入,其中,非對(duì)稱C元件產(chǎn)生第二暫態(tài)信號(hào),該信號(hào)當(dāng)?shù)诙\(yùn)算控制信號(hào)和有效數(shù)據(jù)輸入都被確認(rèn)時(shí)才被確認(rèn),而當(dāng)?shù)诙A(yù)充電控制信號(hào)被確認(rèn)時(shí)則不能被確認(rèn);第二匹配延遲元件,它包括多個(gè)反相器,設(shè)置該元件從接收作為輸入的第二暫態(tài)信號(hào)并產(chǎn)生作為輸出的第二延遲暫態(tài)信號(hào);第二級(jí)控制器,它包括一個(gè)反相器,設(shè)置該反相器可從第二匹配延遲元件接收作為輸入的第二延遲暫態(tài)信號(hào)并產(chǎn)生作為輸出的第二運(yùn)算控制信號(hào),非對(duì)稱的C元件,設(shè)置該元件以從外界接收作為輸入的第二延遲暫態(tài)信號(hào)和第三暫態(tài)信號(hào)并產(chǎn)生中間控制信號(hào),該信號(hào)當(dāng)?shù)诙舆t暫態(tài)信號(hào)不能確認(rèn)時(shí)則不能被確認(rèn),當(dāng)?shù)谝谎舆t暫態(tài)信號(hào)被確認(rèn)且第二暫態(tài)信號(hào)被確認(rèn)時(shí)才被確認(rèn),以及NAND門(mén)電路,設(shè)置該門(mén)電路以接收作為輸入的第一延遲暫態(tài)信號(hào)、第二暫態(tài)信號(hào)和中間控制信號(hào),并產(chǎn)生作為輸出的第二預(yù)充電信號(hào)。
20.一種用無(wú)鎖存的動(dòng)態(tài)異步流水線處理無(wú)鎖存動(dòng)態(tài)異步數(shù)字流水線的方法,該方法包括提供第一處理級(jí),設(shè)置該處理級(jí)能驅(qū)動(dòng)經(jīng)過(guò)由第一預(yù)充電階段、其后的第一運(yùn)算階段及其后的第一隔離階段組成的周期階段,它只響應(yīng)于第一預(yù)充電控制信號(hào)和第一運(yùn)算控制信號(hào);提供第二處理級(jí),設(shè)置該處理級(jí)能驅(qū)動(dòng)經(jīng)過(guò)由第二預(yù)充電階段、其后的第二運(yùn)算階段及其后的第二隔離階段組成的周期階段,它只響應(yīng)于第二預(yù)充電控制信號(hào)和第二運(yùn)算控制信號(hào),其中,第二處理級(jí)的輸出當(dāng)處于隔離階段時(shí)與其輸入上的變化相隔離;在第一處理級(jí)執(zhí)行第一運(yùn)算階段;在第二處理級(jí)執(zhí)行第二運(yùn)算階段,并且向第一級(jí)控制器提供表示第二處理級(jí)階段的暫態(tài)信號(hào);通過(guò)第一級(jí)控制器響應(yīng)暫態(tài)信號(hào),向第一處理級(jí)提供第一預(yù)充電控制信號(hào)和第一運(yùn)算控制信號(hào);以及執(zhí)行第一處理級(jí)的預(yù)充電階段、第一運(yùn)算階段以及第一隔離階段,同時(shí)第二處理級(jí)保持第二運(yùn)算階段和第二隔離階段中的一個(gè)階段,從而第一處理階段和第二處理階段可存儲(chǔ)兩個(gè)分開(kāi)的標(biāo)記而不需要由預(yù)充電階段來(lái)分隔。
全文摘要
一種無(wú)鎖存的動(dòng)態(tài)異步數(shù)字流水線電路提供了上拉和下拉的去耦合控制。使用兩個(gè)去耦合輸入,驅(qū)動(dòng)能依次經(jīng)過(guò)運(yùn)算、隔離和預(yù)充電這三個(gè)不同的階段。在隔離階段,級(jí)穩(wěn)定地保持輸出而不管其輸入上的任何變化。鄰近的流水線級(jí)能不用間隔而存儲(chǔ)不同的數(shù)據(jù)項(xiàng)。
文檔編號(hào)H03K19/00GK1432152SQ01810532
公開(kāi)日2003年7月23日 申請(qǐng)日期2001年4月25日 優(yōu)先權(quán)日2000年4月25日
發(fā)明者M·辛格, S·M·諾維克 申請(qǐng)人:紐約市哥倫比亞大學(xué)托管會(huì)