專利名稱:一熱計數(shù)器代理的制作方法
技術領域:
本發(fā)明涉及定序器。
背景技術:
現(xiàn)在使用的邏輯分析器通過觀察多個信道的進入數(shù)字數(shù)據(jù),并基于進入數(shù)據(jù)中標識出的位樣式(bit pattern)來執(zhí)行數(shù)據(jù)存儲功能,從而進行工作。邏輯分析器的智能依賴于它的定序器,其觀察進入數(shù)據(jù)信號,并基于進入數(shù)據(jù)的樣式來產(chǎn)生信令。所述信令一般是用于指示邏輯分析器的其它部分執(zhí)行功能的一組輸出信號。用戶能夠指定那些要被執(zhí)行的功能,以及什么樣的輸入樣式會使得所指定的功能被執(zhí)行。邏輯分析器的定序器是可編程狀態(tài)機,其基于進入數(shù)據(jù)中的樣式而作出決定。一種實現(xiàn)狀態(tài)機的方法是提供查找表(這里稱為“LUT”)。這樣,LUT接受定序器的當前狀態(tài)以及進入數(shù)據(jù)作為輸入,以提供這樣的輸出,該輸出表明用來發(fā)起執(zhí)行所指定功能的信令和定序器的新狀態(tài)。理論上,定序器以進入數(shù)據(jù)的速度進行工作。但是,隨著數(shù)據(jù)速度和信道數(shù)增加,很難提供足夠快的定序器來容納進入數(shù)據(jù)。
解決數(shù)據(jù)速度的挑戰(zhàn)的一種方法是對進入數(shù)據(jù)進行解復用,以得到對于LUT來說更易于處理的速度。但是,對于每個解復用系數(shù),為實現(xiàn)定序器而對存儲器的需求呈幾何增長,而且該解決方案的成本很快就變得代價過于高昂。另外,需要更多的時間來通過定序器處理解復用后的數(shù)據(jù),而且在某些時候,通過解復用而獲得的好處由于增加的處理時間而失去了。另一種方法是對多個LUT進行級聯(lián)以減少對存儲器的需求。但是很不利的是,每個LUT和互連邏輯仍舊必須以進入數(shù)據(jù)的速度進行工作。目前,進入數(shù)字數(shù)據(jù)的速度是2GHz,并且還在增長。使用當前技術,級聯(lián)的LUT不能以該速度進行工作。
因此,需要提供這樣的定序器,其能夠以進入數(shù)字數(shù)據(jù)的速度進行工作,并且具有能夠隨著技術進步而提高速度的能力。
發(fā)明內(nèi)容
為了解決上述問題而提出本發(fā)明。
根據(jù)本發(fā)明的一個方面,公開了一種定序器,包括依次連接組合(rippled combination)的至少兩個定序元件,每個定序元件在一個單個的資源周期上處理解復用后的進入數(shù)據(jù)的子集,每個定序元件還處理計數(shù)器代理,所述計數(shù)器代理代表定序器計數(shù)器并且如果高位計數(shù)器子集至少是1,則所述計數(shù)器代理包括加8的低位計數(shù)器子集的一熱表示,如果高位計數(shù)器子集是0,則所述計數(shù)器代理包括低位計數(shù)器子集,所述定序元件接受計數(shù)入并將計數(shù)出依次連續(xù)傳遞到下一定序元件。
根據(jù)本發(fā)明的另一個方面,公開了一種定序方法,包括以下步驟從計數(shù)器生成計數(shù)器代理,所述計數(shù)器包括低位計數(shù)器子集和高位計數(shù)器子集,如果所述高位計數(shù)器子集至少是1,則所述計數(shù)器代理包括加8的所述低位計數(shù)器子集的一熱表示,如果高位計數(shù)器子集是0,則所述計數(shù)器代理包括所述低位計數(shù)器子集,將所述計數(shù)器代理依次連續(xù)傳遞通過所述多個定序元件,在所述依次連續(xù)傳遞的步驟之后,從所述計數(shù)器代理恢復所述計數(shù)器的一致性,以及重復所述生成、依次連續(xù)傳遞和恢復的步驟。
根據(jù)本發(fā)明,可以提供這樣的定序器,其能夠以進入數(shù)字數(shù)據(jù)的速度進行工作,并且具有能夠隨著技術進步而提高速度的能力。
根據(jù)下面的詳細描述并結合附圖,可理解本發(fā)明的教導,在附圖中圖1是邏輯分析器的方框圖。
圖2是根據(jù)本教導的定序器的電路圖。
圖3是根據(jù)本教導的定序元件的電路圖。
圖4是根據(jù)本教導的方法的流程圖。
圖5和圖6分別示出根據(jù)本教導的定序器和定序元件的另一實施方式。
圖7、8和9示出了根據(jù)本教導的定序器和定序元件的另一實施方式。
圖10到15示出了根據(jù)本教導的定序器和定序元件的另一實施方式。
圖16是根據(jù)本教導的方法實施方式的流程圖。
具體實施例方式
具體參照圖1,其示出了根據(jù)本發(fā)明教導的、包括定序器102的邏輯分析器的基本構造方框圖。邏輯分析器接受來自DUT 108的進入數(shù)字數(shù)據(jù)106,該進入數(shù)字數(shù)據(jù)106由DUT時鐘110鎖存在狀態(tài)捕獲寄存器104中。解復用器122接受捕獲寄存器的輸出107,并對其進行8比1的解復用,以將解復用后的數(shù)據(jù)126同時提供給資源發(fā)生器123和等待時間匹配寄存器112。資源發(fā)生器123接受解復用后的數(shù)據(jù)126,并將其與用戶所建立的樣式125進行比較。資源發(fā)生器123中的樣式匹配結果生成了資源124。由于資源124是解復用的,因此可以以比進入數(shù)據(jù)速率慢的速度進行進一步的數(shù)據(jù)處理。定序器102接受資源124,并生成一個或多個控制信號114、116,以用于數(shù)據(jù)存儲。來自定序器102的控制信號114、116被稱為觸發(fā)114和存儲116,它們連接到軌跡格式化器(trace formatter)118。軌跡格式化器118接受等待時間匹配寄存器112的輸出128,并選擇性地在存儲器120中存儲一個或多個周期的進入數(shù)字數(shù)據(jù)樣式130,以最終提供給邏輯分析器的用戶。在具體實施方式
中,觸發(fā)控制信號114及時地控制(anchor)邏輯分析器測量。存儲控制信號116控制是否在存儲器120中存儲任何一個周期的數(shù)字數(shù)據(jù)。
具體參照圖2,其示出了包括多個定序元件200的根據(jù)本教導的定序器102的第一實施方式。在具體實施方式
中,解復用器122對狀態(tài)捕獲寄存器104的輸出進行8比1解復用。其它實施方式可具有不同的解復用倍數(shù)。由于在本具體實施方式
中采用8比1復用,因此進入數(shù)據(jù)106的每8個周期對應于一個資源周期。在使用8比1解復用的具體實施方式
中,有8個定序元件200a到200h,每個定序元件處理一個數(shù)據(jù)周期。定序元件200以并行依次連接組合的形式連接,即通過實際下一狀態(tài)218信號和實際前一狀態(tài)219信號而互連。來自第一定序元件200a的實際下一狀態(tài)輸出218變?yōu)榈诙ㄐ蛟?00b的實際前一狀態(tài)輸入219。所有的定序元件200都類似地互連。第八定序元件200h的實際下一狀態(tài)218被鎖存在狀態(tài)鎖存器302中。狀態(tài)鎖存器輸出304連接到第一定序元件200a的實際前一狀態(tài)輸入219。因此,最后一個定序元件200h的實際下一狀態(tài)218在下一資源周期中通知第一定序元件200a。因此,定序元件200在接收下一資源周期之前,使得8個進入數(shù)據(jù)周期適當?shù)靥幚硪粋€當前的資源周期。每個定序元件200生成觸發(fā)和存儲控制信號114、116,以提供給軌跡格式化器118。通過等待時間匹配寄存器112和軌跡格式化器118的數(shù)據(jù)路徑被類似地解復用,并且與定序器102中進行的處理并行進行。從定時的角度來看,來自第一定序元件200a的控制信號114、116與對進入數(shù)據(jù)106的每8個周期中的第一周期的控制有關,來自第二定序元件200b的控制信號114、116與對進入數(shù)據(jù)106的每8個周期中的第二周期的控制有關,來自第八定序元件200h的控制信號114、116與對進入數(shù)據(jù)106的每8個周期中的最后一個周期的控制有關。因此在具體實施方式
中,軌跡格式化器118接收8個觸發(fā)控制信號114和8個存儲控制信號116。
具體參照圖3,其示出了根據(jù)本教導的第一定序元件200a的實施方式,其中有4個存儲器,分別用作第一、第二、第三和第四查找表201~204。每個查找表201~204都被配置為基于其輸入124a來確定四個可能的前一狀態(tài)中每一個的下一可能狀態(tài)205~208。第一查找表201假設前一實際狀態(tài)是狀態(tài)0,基于輸入124a來確定下一可能狀態(tài)205;第二查找表202假設前一實際狀態(tài)是狀態(tài)1,基于相同的輸入124a來確定下一可能狀態(tài)206;第三查找表203假設前一實際狀態(tài)是狀態(tài)2,基于相同的輸入124a來確定下一可能狀態(tài)207;第四查找表204假設前一實際狀態(tài)是狀態(tài)3,基于相同的輸入124a來確定下一可能狀態(tài)208。所示示例討論了4狀態(tài)的狀態(tài)機。具有多于4個狀態(tài)的狀態(tài)機的定序元件的其它實施方式可以具有額外的查找表以容納額外的狀態(tài)。每個查找表201~204接受資源124的子集作為自己的輸入124a。由于資源子集124a被提供給查找表201~204,因此分別在查找表201~204的輸出處提供可能的下一狀態(tài)205~208。因為本教導的定序器是狀態(tài)機,因此實際下一狀態(tài)基于進入數(shù)據(jù)106以及實際前一狀態(tài)。對下一狀態(tài)的多個確定結果為所有的前一狀態(tài)的可能性提供了有條件的下一狀態(tài),并且這些確定結果在查找表處理階段獨立于實際前一狀態(tài)219??赡艿南乱粻顟B(tài)205~208被鎖存在第一、第二、第三和第四定序器寄存器209~212中。用于第一到第四定序寄存器209~212的定序元件時鐘信號220包括DUT時鐘110的派生信號。在使用8比1解復用的實施方式中,時鐘信號220等于DUT時鐘110的頻率的1/8,并與之同步。各定序器寄存器209~212的輸出213~216反映了各個下一可能狀態(tài)205~208,并且被提供給定序器復用器217。定序器復用器217(所有可能的下一狀態(tài)對其可用)基于實際前一狀態(tài)219,從下一可能狀態(tài)205~208中選擇實際下一狀態(tài)218。有利的是,對可能的下一狀態(tài)205~208的確定能夠發(fā)生在對實際前一狀態(tài)219的確定之前,或與其并行發(fā)生。因此,對實際下一狀態(tài)218的最終確定是一種復用器選擇事件,它是比查找表操作更快的過程。查找表的輸出205~208還包括與正被處理的資源子集124a有關的觸發(fā)控制信號114和存儲控制信號116的值。圖2中的每個定序元件200都具有圖3所示的定序元件的結構。當?shù)谝欢ㄐ蛟?00a根據(jù)第一資源子集124a確定了實際下一狀態(tài)218時,實際下一狀態(tài)218作為實際前一狀態(tài)而被提供給第二定序元件200b。然后,第二定序元件200b的定序器復用器217能夠根據(jù)第二資源子集124b選擇實際下一狀態(tài)218,并將其提供給第三定序元件200c。因此,實際下一狀態(tài)218依次連續(xù)傳遞通過定序元件200a到200h。因為所有可能的下一狀態(tài)都已對定序器復用器217可用,因此對實際下一狀態(tài)218的確定能夠很迅速地依次連續(xù)傳遞。當?shù)诎硕ㄐ蛟?00h作出確定后,當前資源周期的所有資源124都被處理了。然后,第八定序元件200h從最后的資源周期得到的實際下一狀態(tài)218被存儲在狀態(tài)鎖存器302中。因此,用于下一定序周期的實際前一狀態(tài)219被保持在狀態(tài)鎖存器輸出304中,從而為下一資源周期作準備。本領域的普通技術人員將從圖2和圖3認識到,對每個資源子集124a到124h的查找表操作是并行發(fā)生的,并且在各個輸入213到216向每個定序器復用器217提供所有可能的下一狀態(tài)。
具體參照圖4,其示出了根據(jù)本教導的方法流程圖。在使用根據(jù)本教導的定序器的邏輯分析器的具體示例中,存在來自DUT 108的N位進入數(shù)據(jù)106、DUT時鐘110以及6個用戶規(guī)定的樣式匹配(pattern match)。資源發(fā)生器123將8個解復用后的數(shù)據(jù)狀態(tài)中的每一個與6個樣式匹配進行比較,以在每個數(shù)據(jù)周期基礎上生成6個比較結果位。因此,對于8比1解復用402,資源發(fā)生器123生成6×8=48位的資源124,以提供給定序器102。8個定序元件200中的每一個分別接收6位資源子集124a到124h。在步驟404,資源子集124a到124h分別被同時提供給相應的定序元件200a到200h。在步驟406,每個定序元件200a到200h中的查找表201到204分別對每個資源子集124a到124h確定所有可能的下一狀態(tài)205到208。每個可能的下一狀態(tài)205到208被鎖存在每個定序元件200a到200h的定序寄存器209~212中,從而使得它們在定序器復用器217的輸入處是可用的。在使得實際前一狀態(tài)219從前一定序元件可用之后,在步驟408中,定序器復用器217選擇在其輸入處可用的可能的下一狀態(tài)之一作為實際下一狀態(tài)218。在步驟410中,在來自前一定序元件200的每個實際下一狀態(tài)218被傳輸?shù)较乱欢ㄐ蛟?00之后,定序復用器217選擇適當?shù)膶嶋H下一狀態(tài),并且將實際下一狀態(tài)218作為實際前一狀態(tài)219依次連續(xù)傳遞通過定序器102。第八定序元件200h的實際下一狀態(tài)218被鎖存到狀態(tài)鎖存器302中,并且作為實際前一狀態(tài)219被提供給第一定序元件200a,以在下一資源周期中使用。在412中,重復確定所有可能下一狀態(tài)、選擇實際下一狀態(tài)和將實際下一狀態(tài)218作為實際前一狀態(tài)219傳輸?shù)较乱欢ㄐ蛟?00的過程。
作為定序器處理的一部分,邏輯分析器計數(shù)器開始于某一可編程值,并且可以基于資源子集124a到124h的值而被任意定序元件200a到200h減少。例如,邏輯分析器可被編程為在匹配某一特定樣式或范圍一定次數(shù)之后觸發(fā)。為了執(zhí)行這種功能,計數(shù)器被加載某一值,并且每次匹配都減少該值,直到該計數(shù)器達到最終計數(shù),此時,它就執(zhí)行編程的功能。當計數(shù)器達到最終計數(shù)時,定序器102就根據(jù)針對最終計數(shù)條件編程的功能執(zhí)行動作。為了實現(xiàn)根據(jù)本發(fā)明教導的定序器實施方式中的計數(shù)器,每個定序元件200處理用于各個資源子集的計數(shù)器。邏輯分析器計數(shù)器最好有較大的寬度。然而,計數(shù)器越寬,計數(shù)器處理需要的時間就越多。在具體的實施方式中,計數(shù)器是一種24位的元件。為了減少電路數(shù)量和處理計數(shù)器的處理時間,24位的計數(shù)器被簡化為在每個定序元件200中使用的4位的計數(shù)器代理。計數(shù)器代理是通過以下方法建立的對計數(shù)器的高21位進行簡化“或”運算而將其簡化為計數(shù)器的第四位,而計數(shù)器的最低3位不變。因為在具體實施方式
中的定序器102在單個資源周期中對8個數(shù)據(jù)周期進行操作,所以4位的計數(shù)器代理的信息足以來確定在8個數(shù)據(jù)周期中計數(shù)器是否達到最終計數(shù),并通過所有定序元件200進行處理而不丟失計數(shù)器一致性。
具體參照圖5,其示出了包括用于處理計數(shù)器和計數(shù)器代理的電路的定序器102的另一種實施方式。定序元件200a到200h中的每個把計數(shù)器代理作為簡單的4位計數(shù)器處理。在所有八個定序元件200都已處理過資源124和計數(shù)器代理之后,計數(shù)器清理(clean-up)電路550恢復整個24位計數(shù)器的一致性,為處理下一資源周期作準備。在資源處理期間,存在某些可能導致定序元件200重置計數(shù)器的條件。例如,計數(shù)器可能正對數(shù)據(jù)中的樣式或范圍匹配進行計數(shù),但是也被編程為在發(fā)現(xiàn)另一種樣式時被重置。如果重置,則該計數(shù)器就被加載了重置值。在具體的邏輯分析器實現(xiàn)方式中,第一、第二、第三和第四24位計數(shù)器重置值510、511、512和513由每個定序元件200接收到。如果出現(xiàn)重置條件,則定序元件200根據(jù)定序器102的當前狀態(tài)選擇計數(shù)器重置值510到513之一。每個定序元件(例如200b)從前一定序元件(例如200a)接收4位的前一計數(shù)器代理501。每個定序元件200基于各自的資源子集124和前一計數(shù)器代理值501來計算下一計數(shù)器代理503。下一計數(shù)器代理503作為前一計數(shù)器代理501被提供給下一定序元件200。計數(shù)器寄存器505存儲當前計數(shù)器值,以在下一資源周期中提供給第一定序元件200a。因為定序元件200處理計數(shù)器代理,所以在第八定序元件200h的輸出處布置有計數(shù)器清理電路,用于恢復在計數(shù)器寄存器505中維護的24位值的一致性。因此,計數(shù)器寄存505維護每個資源周期的正確計數(shù)器值。
基于資源124重置定序器102會導致計數(shù)器重置。取決于定序器102的當前狀態(tài),計數(shù)器可能被重置為不同的重置值。因此,在4狀態(tài)定序器中,存在四個各自的計數(shù)器重置值510到513。1位重置和2位重置狀態(tài)被依次連續(xù)傳遞通過八個定序元件200,以維護用于計數(shù)器清理電路550在資源周期中的重置信息。資源周期的開始沒有重置,所以邏輯“0”被建立為第一重置入514a和重置狀態(tài)入515a。在信號被依次連續(xù)傳遞通過每個定序元件200之后,每個定序元件200從前一定序元件200接受重置入514和重置狀態(tài)入515信號。如果在定序元件200中沒有重置發(fā)生,則重置入514和重置狀態(tài)入515未加改變地作為重置出516和重置狀態(tài)出517被傳遞至下一定序元件200。在當前資源周期中,取決于資源124a,前一計數(shù)器值501被減少或者不被減少,然后作為下一計數(shù)器值503被傳遞到至下一定序元件200,并且作為前一計數(shù)器值501而被下一定序元件200接收到。如果由于各個資源子集124a到124h而導致重置發(fā)生,則定序元件200設置重置出516,以作為重置514提供給下一定序元件200,指示在當前資源周期中已發(fā)生了重置。如果發(fā)生了重置,定序元件200也設置重置狀態(tài)出517,指示在其中發(fā)生了重置的狀態(tài)。重置狀態(tài)出517作為重置狀態(tài)入515被提供給下一定序元件200。定序元件200基于由定序元件下一狀態(tài)所確定的計數(shù)器重置值510到513之一,進一步將計數(shù)器代理出503重置為適當?shù)挠嫈?shù)器代理重置值。在所有定序元件200都處理了重置狀態(tài)517和重置信號514之后,計數(shù)器清理電路550恢復計數(shù)器值的一致性,用于下一資源周期。因為定序元件200將4位計數(shù)器代理作為簡單計數(shù)器處理,所以來自最后一個定序元件200h的4位計數(shù)器代理出503的最高位是這樣的指示,其指出在最后的資源周期中,是否發(fā)生了對最高的第四位是代理的計數(shù)器的高21位的借位。具體地說,當最后一個定序元件的計數(shù)器代理出503的第四位為“0”時,發(fā)生了對4位計數(shù)器代理的最高位的借位。因此,最后一個定序元件的計數(shù)器代理出503的第四位的0值指示為下一資源周期作準備的計數(shù)器的高21位的減。如果未對4位計數(shù)器代理出503的最高位作出借位,即,當計數(shù)器代理出的第四位的值為“1”時,則未指示計數(shù)器的高21位的減。當發(fā)生重置時,計數(shù)器清理電路通過接受每個計數(shù)器重置值510~513的較高21位、將每個值減一549、并且將減少后的值提供給4∶1第一狀態(tài)計數(shù)器復用器551,來計算該計數(shù)器的高21位的正確值。每個計數(shù)器重置值的相同的高21位也未減少地被提供給4∶1第二狀態(tài)計數(shù)器復用器552。通過使用重置狀態(tài)出517,選擇輸入減少后重置計數(shù)器復用器551中的四個可能輸入之一并選擇輸入重置計數(shù)器復用器552中的四個可能的輸入之一。因此,如果代理指示了重置和借位,以及如果代理指示了重置但是未指示借位,則在代表計數(shù)器的高21位的第一狀態(tài)計數(shù)器復用器551和第二狀態(tài)計數(shù)器復用器552的輸出處有兩個可能的計數(shù)器高21位可用。而且在計數(shù)器清理電路中預先計算的是當前計數(shù)器的減少后的值和未減少的值。當前計數(shù)器的減少后的值和未減少的值作為輸入分別被提供給第一和第二重置復用器553、554。到第一和第二重置復用器553、554的另一輸入分別是第一和第二狀態(tài)計數(shù)器復用器551、552的輸出?;谧詈笠粋€定序元件200h的重置出514來選擇在第一和第二重置復用器553、554的輸出處提供何值。因此,第一和第二重置復用器的輸出提供已處理了任何重置條件的減少后的和未減少的條件下的計數(shù)器的正確高21位。第一和第二重置復用器553、554的輸出被提供給借位選擇復用器555。來自最后一個定序元件200h的計數(shù)器代理出503的代理位556從提供給借位選擇復用器555的輸入中選擇哪個輸入在該借位選擇復用器的輸出處提供。如果代理位556具有值0,則在上一資源周期中的某點處發(fā)生了借位,并且選擇了減少后的正確的計數(shù)器高21位。如果代理位556具有值1,則未發(fā)生借位,并且選擇了未減少的正確的計數(shù)器高21位。因此,借位選擇復用器555的輸出代表在重置和借位處理之后的正確的計數(shù)器高21位。借位選擇復用器555的輸出與計數(shù)器出503的低3位重新組合,以存儲在計數(shù)器寄存器505中,其在下一時鐘邊沿被鎖存。因此,計數(shù)器寄存器505中的值反映了正確的計數(shù)器值。然后,在下一資源周期中,計數(shù)器寄存器505的低3位作為第一定序元件200a的前一計數(shù)器代理值501的低3位被反饋回去。在下一資源周期中,計數(shù)器寄存器505的高21位通過簡化“或”運算而簡化為第一定序元件200a的前一計數(shù)器代理值501的計數(shù)器代理位。高21位也被提供給清理電路550,以在下一資源周期中的計數(shù)器處理中使用。
具體參照圖6,其示出了根據(jù)本教導的定序元件200的實施方式。圖6的實施方式被配置為實現(xiàn)與圖3所示的相同4狀態(tài)狀態(tài)機,但是也被配置為處理參考圖5討論的計數(shù)器處理。在圖6的實施方式中,在每個定序元件200中存在第一和第二兩組查找表,每組4個。當最終計數(shù)條件為假時,第一組查找表201a到204a基于資源子集124a確定四個可能的下一狀態(tài)213a到216a。當最終計數(shù)條件為真時,第二組4個查找表201b到204b基于資源子集124a確定四個可能的下一狀態(tài)213b到216b。每組查找表201a到204a和201b到204b分別具有與其相關聯(lián)的定序器復用器217a和217b。每個定序器復用器217a和217b接收實際前一狀態(tài)219來控制每個定序器復用器輸出的選擇。圖6的實施方式還具有計數(shù)器查找表622,該計數(shù)器查找表接受與提供給查找表201a到204a和201b到204b的相同資源子集124a。對于每個可能狀態(tài),計數(shù)器查找表622基于資源子集124a確定4個可能的1位減信號623,該減信號指示計數(shù)器是否要被減少。四個可能的減信號623被存儲在4位減鎖存器624中。計數(shù)器復用器626接受四個可能的減信號623,并且基于實際前一狀態(tài)219選擇實際減信號628。定序元件200從前一定序元件200接收到前一計數(shù)器代理501。在計數(shù)器比較636中,前一計數(shù)器代理501與值1相比較,如果前一計數(shù)器代理501等于1,則計數(shù)器比較636在計數(shù)器比較輸出638處提供1。如果前一計數(shù)器代理值等于除了1之外的任何值,則計數(shù)器比較636在其輸出638處提供“0”。計數(shù)器比較輸出638和實際減控制信號628被輸入到2輸入“與”最終計數(shù)門643中。最終計數(shù)門643的輸出提供指示計數(shù)器是否處于其最終計數(shù)處的最終計數(shù)狀態(tài)645。如果是,則最終計數(shù)復用器642選擇涉及最終計數(shù)狀態(tài)為真的定序器復用器217b的輸出。如果不是,則最終計數(shù)復用器642選擇涉及最終計數(shù)狀態(tài)為假的定序器復用器217a的輸出。
作為定序元件200中的計數(shù)器處理的一部分,定序元件200接受每個包括對高21位進行簡化“或”運算的結果的計數(shù)器重置值510到513的低3位,作為第一到第四計數(shù)器重置代理610~613。每個查找表201到204都具有與其相關聯(lián)的各自的計數(shù)器重置代理復用器614a到617a和614b到617b。利用每個查找表201a到204a和201b到204b的下一狀態(tài)輸出618為每個可能狀態(tài)選擇合適的可能計數(shù)器重置代理619。可能計數(shù)器重置代理值619與各個查找表201a到204a和201b到204b的輸出進行組合,其包括2位的下一狀態(tài)信息、存儲信息、觸發(fā)信息和重置信息,共計9位信息。因此,定序器復用器217a和217b選擇最終計數(shù)假619a條件和最終計數(shù)真619b條件下的適當?shù)挠嫈?shù)器重置代理,作為實際下一狀態(tài)218、觸發(fā)114、存儲116和重置確定的一部分。兩個可能計數(shù)器重置代理619a、619b以及由查找表201a~204a和201b~204b計算出的兩個可能下一狀態(tài)被提供給第一和第二代理/重置復用器620、621。第一和第二代理/重置復用器620、621的其他輸入是實際計數(shù)器代理503。定序元件200通過接受前一計數(shù)器代理值501、在標號632處將其減1、并且然后將減少后的值提供給減復用器634,從而處理了實際計數(shù)器代理503。未減少的計數(shù)器代理501也提供給減復用器634。利用實際減信號628在來自632的減少后的計數(shù)器代理值和未減少的計數(shù)器代理值之間作出選擇。如上所述,減少后/未減少的計數(shù)器代理與最終計數(shù)條件為真的計數(shù)器重置代理619a之間的選擇在第一代理/重置復用器620處利用當前重置640a作出,減少后/未減少的計數(shù)器代理與最終計數(shù)條件為假的計數(shù)器重置代理619b之間的選擇在第二代理/重置復用器621處利用當前重置640b作出。第一和第二代理/重置復用器620、621的輸出提供最終計數(shù)條件為假和為真的兩種可能計數(shù)器代理、存儲、觸發(fā)、下一狀態(tài)和重置。使用最終計數(shù)復用器642選擇這兩種可能組來確定實際計數(shù)器代理503、觸發(fā)114、存儲116、實際下一狀態(tài)218和當前重置644。當前重置644在作為重置出516而被提供之前在重置“與”門650中被邏輯乘組合(conjunctively combined)。
具體參照圖7,其示出了根據(jù)本教導的定序器102的另一種實施方式,其中對觸發(fā)114和存儲116的確定被從下一狀態(tài)、計數(shù)和重置確定中移除,并被置于并行的功能塊中。在圖7的實施方式中,存在通過定序元件接口702進行通信的主定序元件200和副定序元件700。在使用8:1數(shù)據(jù)到資源解復用的實施方式中,八個主定序元件200a到200h分別通過定序元件接口702a到702h與八個副定序元件700a到700h進行通信。每個定序元件接口702包括狀態(tài)開啟719,其是實際前一狀態(tài)219的鎖存值;存儲數(shù)組703,包括最終計數(shù)真條件下的每個可能下一狀態(tài)的存儲信號和最終計數(shù)假條件下的每個可能狀態(tài)的存儲信號;觸發(fā)數(shù)組704,用于最終計數(shù)真條件下的每個可能下一狀態(tài)和最終計數(shù)假條件下的每個可能狀態(tài)的觸發(fā)信號;和最終計數(shù)狀態(tài)645。存儲數(shù)組703和觸發(fā)數(shù)組704每個都是8位。副定序元件700a接受狀態(tài)開啟719、存儲數(shù)組703、觸發(fā)數(shù)組704和最終計數(shù)645,并且針對每個定序元件200/700確定觸發(fā)114和存儲116。輸入到每個定序元件和計數(shù)器清理電路的輸入與在圖5和圖6中圖示并描述的相同。
具體參考圖8,圖8示出了根據(jù)本教導的主定序元件200的實施方式,其中通過從每個查找表的輸出引出可能存儲703和觸發(fā)704,并將其鎖存到存儲/觸發(fā)存儲器元件705中,從而對圖6的定序元件進行了修改。每個查找表都分別與存儲/觸發(fā)存儲器元件703/704相關。在具有真和假最終計數(shù)條件下的兩組不同查找表的具體實施方式
中,還存在這兩種最終計數(shù)條件下的可能存儲703和可能觸發(fā)704。因此,在圖示的實施方式中,查找表201a與可能存儲位703a和可能觸發(fā)位704a相關,查找表202a與可能存儲位703b和可能觸發(fā)位704b相關,并且查找表204b與可能存儲位703h和可能觸發(fā)位704h相關。
具體參考圖9,副定序元件700最終確定每個主定序元件200/副定序元件700組合的觸發(fā)114和存儲116。每個副定序元件700通過定序元件接口702接受存儲703和觸發(fā)704數(shù)組。最終計數(shù)條件為假的可能存儲位和觸發(fā)位被提供給第一副定序元件復用器901。類似地,最終計數(shù)條件為真的可能存儲位和觸發(fā)位被提供給第二副定序元件復用器902。使用狀態(tài)開啟719信號來選擇最終計數(shù)假條件和最終計數(shù)真條件下的可能存儲位和可能觸發(fā)位中適當?shù)囊粋€。通過將最終計數(shù)條件為假和為真的適當?shù)拇鎯ξ缓陀|發(fā)位提供給第三副定序元件復用器903,并且使用最終計數(shù)645作出選擇,從而確定最終的觸發(fā)114和存儲116。第三副定序元件復用器903的輸出是主定序元件200和副定序元件700組合的觸發(fā)114/存儲116。
具體參考圖10,其示出了定序器12的實施方式,在該定序器12中,實現(xiàn)了16位“一熱”(one-hot)計數(shù)器代理,而不是4位計數(shù)器代理。圖10示出了基于圖5所示的定序器的非流水線型(unpipelined)定序器。但是,16位一熱計數(shù)器代理也可與流水線型定序器一起使用。根據(jù)本教導的流水線型定序器的具體實施方式
如圖7到圖9所示。在圖10~14中,與圖1~9具有相同編號的標號代表相同的元件。在圖10~14中發(fā)現(xiàn)的圖1~9中所沒有的標號是被示為一熱計數(shù)器代理實現(xiàn)的一部分的元件。
在所示具有8個定序元件200的實施方式中,在通過8個定序元件200的8個周期中,最多能進行8次減少。這樣,僅24位定序器計數(shù)器的最低3位加上有關是否在高21位上發(fā)生了借位的一位信息需要被傳遞通過定序元件200,以維護所有有關定序器計數(shù)器的信息。在一熱計數(shù)器代理實施方式中,定序器代理的低3位加上代表定序器計數(shù)器的高21位的代理位作為一熱表示法的16位而被傳遞通過定序元件200。與4位計數(shù)器實施方式相比,計數(shù)器等待時間減少了,因為對最終計數(shù)條件的檢測由最低有效位中的簡單邏輯檢測執(zhí)行。另外,計數(shù)器減少操作被簡化為移位操作。如果計數(shù)器操作是定序器102的關鍵路徑的一部分,則減少計數(shù)器操作的等待時間提高了定序器102的操作速度。本領域的普通技術人員將理解,等待時間減少,其代價是需要更大的邏輯區(qū)域來將更大數(shù)量的位依次連續(xù)傳遞通過定序器200以維護計數(shù)器一致性。
8個周期之后,一熱計數(shù)器結果通過下述操作而與24位計數(shù)器同步并為通過定序器102的下面的8個周期作準備,其中所述操作是減少、維護或重置高位計數(shù)器子集1007,其中計數(shù)器子集1007在本實施方式中是計數(shù)器的高21位;以及如前面8個周期的結果所指示的那樣來減少、維護或重置16位一熱表示。具體參照圖10,其示出了用于24位定序器計數(shù)器和16位一熱計數(shù)器代理實施方式的計數(shù)器同步邏輯。在圖10的實施方式中,計數(shù)器代理被表示為16位,其中在任何時刻,只有1位是邏輯1,并且每一位的位置都表示計數(shù)器的一個不同的值。16位代理計數(shù)器代表了對定序器計數(shù)器值的低3位和第4位代理位的一熱表示,其中第4位代理位如上所述代表了在8個周期中是否發(fā)生了高21位上的借位。16位一熱代理計數(shù)器取代了3位計數(shù)器加上表明借位的一位,如圖10所示。在一熱表示中,一熱代理的位0位置的邏輯1代表值1。一熱代理的位1位置的邏輯1代表值2,一熱代理的位7位置的邏輯1代表值8,一熱代理的位15位置的邏輯1代表值16。圖10分別示出了第一和第八定序元件200a和200h,為了清楚起見,沒有示出中間6個定序元件200b到200g。6個中間定序元件200b到200g中每一個的配置和互連關系如第一和第八定序元件200a和200h所示。在圖10中,一熱代理的16位被傳播通過每個定序元件200。因此,每個定序元件200在1004接受來自計數(shù)器同步邏輯或前一定序元件200的計數(shù),并將計數(shù)出1005傳遞到下一定序元件200或同步邏輯。另外,1002的借位由前一定序元件200接收,并且借位出1003被傳遞到下一定序元件200。因為借位入1002代表了前一定序元件200是否執(zhí)行了對定序器計數(shù)器的高21位有借位的減法,而且因為借位不可能發(fā)生在8個定序器周期的第一周期前,所以用于第一定序元件200a的借位入1002被硬連線到邏輯0。本領域的普通技術人員應當理解,在構成定序器102的重復邏輯陣列包括多于8個定序元件200時,代理計數(shù)器中的位數(shù)可以被相應地調(diào)節(jié)。例如,如果有16個定序元件,則計數(shù)器代理可以被表示為4位加一個代理位,其可進一步被表示為32位一熱代理計數(shù)器。
每個定序元件200對計數(shù)器代理執(zhí)行3種可能操作中的一種(1)將代理計數(shù)減1;(2)將代理計數(shù)重置為計數(shù)器重置值以及(3)維持相同的代理計數(shù)。每個定序元件200還檢測計數(shù)器值是否為0,如果為0,則意味著計數(shù)器到達了最終計數(shù)。在一熱實施方式中,減1操作作為將代理計數(shù)器移動1位而被快速執(zhí)行,而且通過識別進行了減操作的代理計數(shù)器的位0位置的邏輯1來執(zhí)行對0的檢測。
定序器計數(shù)器的高21位被保存在計數(shù)器鎖存器1006中。在通過定序元件200的8個周期的末尾,計數(shù)器鎖存器1006被加載了根據(jù)一熱代理計數(shù)器和借位出1003而更新的計數(shù)。定序器計數(shù)器的高位子集的未減少的值1007和高位子集的被減1的定序器計數(shù)器值1008被分別提供給第一和第二重置2∶1復用器1009、1010。減少功能塊僅當輸入減法器的值大于或等于1時才執(zhí)行減法。如果該值為0,則不發(fā)生減少。未減少的所選擇的計數(shù)器重置值1011和減少后的所選擇的計數(shù)器重置值1012也被分別提供給第一和第二重置復用器1009、1010。所選擇的計數(shù)器重置值1011、1012分別是第一和第二狀態(tài)選擇重置4∶1復用器1013、1014的輸出。被提供給第一狀態(tài)選擇重置復用器1013的輸入是4個計數(shù)器重置值510到513的未減少值。被提供給第二狀態(tài)選擇重置復用器1014的輸入是4個計數(shù)器重置值510到513的減少后的值。狀態(tài)重置出信號517選擇計數(shù)器重置值510到513中的哪一個在第一和第二狀態(tài)選擇重置復用器1013、1014的輸出處被提供。重置出516信號選擇哪個值在第一和第二重置復用器1009、1010的輸出處被提供。第一和第二重置復用器1009、1010的輸出被提供給借位復用器1014。借位出1003的邏輯1表明當前計數(shù)器值的高21位被減1。因此,來自第八定序元件200h的借位出1003選擇提供計數(shù)器值的減少后或未減少的值作為新計算的定序器計數(shù)器的高21位,以將其鎖存在計數(shù)器鎖存器1006中,從而為下面的8個定序器周期作準備。
當為下面的8個定序器周期作準備時,定序器計數(shù)器的低3位與代理位的組合在被提供給第一定序元件200a之前,在16位一熱配置中被同步。在所示實施方式中,16位一熱配置在用于定序器計數(shù)器的低3位的同步處理期間被保留。在定序器102的最近8個周期內(nèi),定序器計數(shù)器有可能被重置。因此,同步處理包括容納重置功能。四個計數(shù)器重置值510到513中每一個的高21位都通過以下處理而進行簡化,所述處理是將所述高21位使用不連續(xù)的“或”函數(shù)進行組合,以生成分別用于狀態(tài)0到狀態(tài)1的第一到第四計數(shù)器重置值代理位1020到1023。本領域的普通技術人員將理解,如果任意高21位是邏輯1,則所得到的代理位也是邏輯1。因此,代理位對代理功能塊提供了有關定序器計數(shù)器是否大于8的指示。第一到第四計數(shù)器重置值代理位1020到1023被提供給4∶1代理位重置復用器1024。對在代理復用器1024的輸出處提供計數(shù)器重置值代理位1020到1023中的哪一個的選擇是使用狀態(tài)重置出517來作出的。如果所選擇的計數(shù)器重置值代理位1025是邏輯0,則相應的計數(shù)器重置值可以全部由當前16位一熱計數(shù)出1005的低8位代表。因此,8個0被載入16位一熱代理計數(shù)器的高8位,而低8位保持為一熱代理計數(shù)器的低8位不變。如果所選擇的計數(shù)器重置值代理位是邏輯1,則用8加當前16位一熱計數(shù)出1005的低8位來表示用于下面的8個定序器周期的處理的定序器計數(shù)器的當前值。在一熱配置中,加8功能被執(zhí)行為將一熱表示的低8位移動8位。因此,8個0被載入16位一熱代理計數(shù)器的低8位,而計數(shù)出1005的低8位被載入16位一熱代理計數(shù)器的高8位,從而為下面的8個周期作準備。對計數(shù)器重置值1027的確定是使用計數(shù)器重置值代理復用器1024和一熱重置計算復用器1026執(zhí)行的。為了計數(shù)器同步的目的,使用減1的定序器計數(shù)器高21位來作出類似確定,其中計數(shù)器同步涉及計數(shù)器重置事件但涉及對計數(shù)值的高21位的借位。減1的定序器計數(shù)器值1008的高21位在“或”函數(shù)中進行組合,以生成用于減少后的值的計數(shù)器代理位1028。計數(shù)器減少復用器1029接收16位的2個輸入,其中第一輸入在計數(shù)器代理值的高8位中包括計數(shù)出1005的低8位,而第二輸入在計數(shù)器代理值的低8位中包括計數(shù)出1005的低8位。減少后計數(shù)器值的計數(shù)器代理位1028選擇計數(shù)器減少復用器1029的哪個輸入在其輸出處被提供作為減少后的計數(shù)器值1030。在重置復用器1031中,來自第八定序元件200h的重置出516在計數(shù)器重置值1027和減少后的計數(shù)器值1030之間進行選擇。然后,來自第八定序元件200h的借位出1003控制通過借位復用器1032對計數(shù)出1005或重置復用器1031的輸出的選擇。借位復用器的輸出是新的一熱計數(shù)器代理1034,其被鎖存入代理鎖存器1035,以作為計數(shù)入1004被提供給第一定序元件200a。
具體參照圖11,其示出了每個定序元件200中存在的16位一熱計數(shù)器邏輯的表示。為了清楚起見,定序元件200中存在的與一熱計數(shù)器減少操作無關的邏輯被示為復用器和邏輯暗影(logic cloud),而一熱計數(shù)器邏輯和定序元件之間的交互被更詳細地示出。每個定序元件200接收16位計數(shù)入1004。一熱位邏輯單元1110到1125包括相同的邏輯,并且每個單元分別接收計數(shù)入1004的一位和下一有效位。具體地說,一熱邏輯單元1110接收計數(shù)入1004的位0和位1,一熱邏輯單元1111接收位1和位2,一熱邏輯單元1112接收位2和位3,依此類推。一熱邏輯單元1125是最高有效位,并且因為沒有更多的有效位了,因此它僅接收位15。計數(shù)入1004的減少包括從最高有效位到下一較低有效位的移位操作,然后將移位值作為計數(shù)出1005而傳遞。計數(shù)出1005作為計數(shù)入1004而被下一定序元件200接收。當在定序器102的8個周期上發(fā)生減少時,邏輯1向著重復邏輯陣列的最后一個定序元件200h的最低有效位的方向,被依次連續(xù)傳遞通過所述重復邏輯陣列。
具體參照圖12,其示出了3個相鄰的一熱邏輯單元,其例示了構成8個定序元件200的一熱計數(shù)器處理邏輯部分的128個一熱邏輯單元。一熱邏輯單元1110到1124中的每一個(除了位15一熱邏輯單元1125之外),接收2位計數(shù)入1004,并將計數(shù)出1005的一位傳輸?shù)较乱欢ㄐ蛟?00。圖12示出了用于計數(shù)入1004的位0和位1的一熱邏輯單元1110,其中位0被示為1004(0),位1被示為1004(1)。對位0一熱邏輯單元的描述足以描述位1到位15一熱邏輯單元。因此,僅位0一熱邏輯單元被詳細描述。減少復用器1201接收計數(shù)入1004的位01004(0)和下一有效位1004(1)。來自定序元件200的減少信號628選擇哪個位在減少復用器1201的輸出處被提供。對應于同一計數(shù)入1004的并行的減少復用器1201響應同一減少信號628,因此它們響應于肯定減少628來執(zhí)行并行移位操作,而響應于否定減少628來維持計數(shù)入1004。下一級并行復用器包括第一和第二重置復用器1202、1203。重置復用器1202、1203都接收減少復用器1201的輸出,以及第一和第二重置計數(shù)器值1204(0)和1205(0)的一熱表示的相應位。在具體實施方式
中,存在依賴于定序元件200是否處于最終計數(shù)條件的兩個重置條件640a、640b。當在最終計數(shù)條件下重置時,第一重置計數(shù)器值1204被載入定序器計數(shù)器。當在非最終計數(shù)條件下重置時,第二重置計數(shù)器值1205被載入定序器計數(shù)器。第一重置復用器1202響應最終計數(shù)條件640b下的重置信號。第二重置復用器1203響應非最終計數(shù)條件640a下的重置信號。對于減少復用器1201來說,每個一熱邏輯單元1110到1125中的第一和第二重置復用器1202、1203都響應于并行一熱邏輯單元中相同的選擇信號。第一和第二重置復用器1202、1203的輸出1206、1207被提供為到最終計數(shù)復用器1208的輸入。對到最終計數(shù)復用器1208的輸入的選擇是使用來自定序元件200的減少628和計數(shù)入1004(0)的邏輯乘組合(conjunctive combination)而作出的。來自最終計數(shù)入復用器1208的輸出包括計數(shù)出1005的位0。來自并行一熱邏輯單元1111到1125中的最終計數(shù)復用器1208的輸出與一熱邏輯單元1110并行工作,并提供計數(shù)出1005的位1到位15。
借位出1003表明在定序器102的8個周期內(nèi),是否發(fā)生了對定序器計數(shù)器的高21位的借位。借位入1002被每個定序元件200接收,而斷言借位出1003被傳播通過定序器102的其余所有定序元件200,除非其在借位出1003被斷言后被重置。對是否發(fā)生了對計數(shù)器的高21位的借位的確定是在下述時候作出的,所述時候是當在任意一個定序元件200中的計數(shù)器處理期間,在16位一熱計數(shù)器表示的位7中發(fā)現(xiàn)邏輯1時。具體參照圖13,其示出了存在于所有定序元件200中的邏輯,用于檢測借位事件、處理重置事件(如果有的話),并將借位事件作為借位出1003傳播到下一定序元件200。每個定序元件200接收借位入1002。在下一計數(shù)被計算之后和作為計數(shù)出1005被傳輸?shù)较乱欢ㄐ蛟?00之前,借位入1002與借位出1005的第七位1007進行“或”運算。因為一熱計數(shù)器功能,定序元件200中計數(shù)的第七位1007中存在的邏輯1表明在定序元件200的任意一個先前的周期中,邏輯1越過了第八位到第七位的邊界。“或”功能塊的輸出被提供作為斷言借位1101。因此,當斷言借位入1002被接收或者如果第七位1107包含邏輯1時,斷言借位1101是邏輯1。斷言借位1101與重置位644的反進行“與”運算。如果未接收到重置,則斷言借位1101被提供作為定序元件200的借位出1003,其作為下一定序元件200的借位入1002而被接收。如果發(fā)生了重置,則斷言借位1101不被提供作為借位出1003,并且借位出1003作為邏輯0被提供給下一定序元件200。
圖14示出了對圖6或圖8的邏輯的修改,用于利用確定最終計數(shù)和非最終計數(shù)條件下的重置計數(shù)器值的定序元件200的實施方式之一來實現(xiàn)一熱代理計數(shù)器。具體參照圖14,其示出了定序元件200的一部分,該部分用于接收資源124,并將資源124提供給兩組每組4個查找表201a到204a和201b到204b。每個查找表的下一狀態(tài)輸出618選擇四個可能的計數(shù)器重置值中哪一個在計數(shù)器重置代理復用器614a到617a和614b到617b的輸出處被提供。所選擇的計數(shù)器重置代理復用器614a到617a和614b到617b的輸出包括用于重置最終計數(shù)619a和重置非最終計數(shù)619b條件的可能的計數(shù)器重置代理619。實際前一狀態(tài)219選擇用于重置最終計數(shù)1204和重置非最終計數(shù)1205條件的合適的計數(shù)器重置值。重置最終計數(shù)值1204的16位和重置非最終計數(shù)值1205的16位被分別提供給一熱邏輯單元1110和1125中的第一和第二重置復用器1202、1203。
具體參照圖15,其所示出的邏輯向計數(shù)器重置代理復用器614a到617a和614b到617b提供輸入。因此,圖15的邏輯對于每個計數(shù)器重置代理復用器614a到617a和614b到617b重復。所示邏輯將用于狀態(tài)0到狀態(tài)3的24位計數(shù)器重置值613、612、611、610分別轉換為16位一熱表示。每個重置值610到613的3位(位0到位2)分別被示為計數(shù)器重置值低子集1510到1513。每個計數(shù)器重置值低子集1510到1513被分別提供給存儲器1502。每個存儲器1502具有下面的真值表
存儲器的輸出1520到1523包括對應的3位輸入的8位寬1熱表示。每個8位一熱表示形成了到各個加8復用器1540到1543的兩個不同輸入。到每個加8復用器1540到1543的第一輸入1550包括被載入16位一熱計數(shù)器表示的8個高位的邏輯0,以及被載入16位計數(shù)器表示的8個低位的8位一熱表示。因此,第一輸入1550包括16位一熱計數(shù)器表示,其中代理位是0。到每個加8復用器1540到1543的第二輸入1551包括被載入16位計數(shù)器表示的8個低位的邏輯0,以及被載入16位一熱計數(shù)器表示的8個高位的8位一熱表示。計數(shù)器重置值高子集1530到1533的所有位(本例中是21位)被邏輯和組合(disjunctive combine),以生成代理位。如果計數(shù)器重置值高子集中任意一位是邏輯1,則代理位是邏輯1,并且到加8復用器1540到1543的第二輸入1551在輸出處被提供。如果計數(shù)器重置值高子集中所有位都是邏輯0,則代理位是邏輯0,并且到加8復用器1540到1543的第一輸入1550在輸出處被提供。本領域的普通技術人員將理解,來自計數(shù)器重置值610到613的代理位對計數(shù)器重置值低子集1510到1513的8位一熱表示執(zhí)行加8或不加8。
具體參照圖16,其示出了根據(jù)本教導的用于處理一熱計數(shù)器代理的方法流程圖,其中第一步1601是生成24位定序器計數(shù)器的一熱表示,從而為通過定序元件200的處理作準備。在1602,計數(shù)器代理依次連續(xù)傳遞通過每個定序元件200。每個定序元件200對計數(shù)器代理執(zhí)行3種可能功能之一(1)將計數(shù)減1;(2)保持計數(shù);以及(3)將計數(shù)重置為計數(shù)重置值。在1603,當所有定序元件200完成處理后,使用包含在代理計數(shù)器和狀態(tài)重置出517、重置出516以及借位出1003中的信息來對定序器計數(shù)器進行同步。
這里通過圖示描述了根據(jù)本教導的實施方式。通過本教導,本領域的普通技術人員將清楚在權利要求范圍內(nèi)但未具體公開的其他實施方式。例如,前面提到本教導適于許多不同的解復用系數(shù)。大于8∶1的解復用系數(shù)導致需要較大的電路面積來實現(xiàn)電路,但是,它們可以產(chǎn)生更快的運行速度。隨著解復用系數(shù)增大,電路最終會遇到太多的布圖寄生阻抗,因此降低了運行速度。就當前技術來看,可以發(fā)現(xiàn)當前8∶1解復用是優(yōu)選的。在替換實施方式的另一實施例中,可以用4位的一熱編碼,而不是所公開的2位二進制編碼來代表前一和下一狀態(tài)。在此情形下,所示復用器可被一熱編碼復用器所取代。4位一熱編碼可使得速度增加,因為處理前一狀態(tài)信息的二進制輸入復用器217可被每個定序元件200中的邏輯取代。根據(jù)本教導的上述方式的細節(jié)是成比例的。例如,此處所述的一熱計數(shù)器代理被描述位16位一熱編碼值。如果定序器具有小于或大于8的復用系數(shù),則一熱編碼計數(shù)器代理可使用使少于或多于16位。一熱編碼計數(shù)器可在定序器102的流水線或非流水線型實施方式中實現(xiàn)。
權利要求
1.一種定序器,包括依次連續(xù)組合的至少兩個定序元件,每個定序元件在單個的資源周期上處理解復用后的進入數(shù)據(jù)的子集,每個定序元件還處理計數(shù)器代理,所述計數(shù)器代理代表定序器計數(shù)器,并且如果高位計數(shù)器子集至少是1,則所述計數(shù)器代理包括加8的低位計數(shù)器子集的一熱表示,如果高位計數(shù)器子集是0,則所述計數(shù)器代理包括低位計數(shù)器子集,所述定序元件接受計數(shù)入并將計數(shù)出依次連續(xù)傳遞到下一定序元件。
2.如權利要求1所述的定序器,其中所述定序元件通過執(zhí)行以下處理所組成的組中任意一種處理來處理所述計數(shù)器代理,所述處理即將計數(shù)值減1、維持所述計數(shù)值以及將所述計數(shù)值重置為重置計數(shù)器值。
3.如權利要求2所述的定序器,其中所述減少處理包括將一熱計數(shù)器代理從較高有效位移位到較低有效位。
4.如權利要求3所述的定序器,其中通過檢測所述一熱計數(shù)器代理的最低有效位中的邏輯1和減少的邏輯乘組合來確定最終計數(shù)條件。
5.如權利要求3所述的定序器,其中所述計數(shù)出被依次連續(xù)傳遞到所述下一定序元件的所述計數(shù)入。
6.如權利要求1所述的定序器,其中借位出被依次連續(xù)傳遞通過所述定序元件,并且還包括計數(shù)器清理邏輯,所述計數(shù)器清理邏輯基于通過所有所述定序元件的所述處理的末尾處的所述一熱表示的值和所述借位出,將所述一熱表示與所述高位計數(shù)器子集進行同步。
7.如權利要求6所述的定序器,其中所述借位出是由所述計數(shù)器代理的單個位置中的邏輯1確定的。
8.如權利要求7所述的定序器,其中所述借位出是由所述一熱計數(shù)器代理的位7確定的。
9.如權利要求1所述的定序器,其中每個所述定序元件選擇性地減少所述計數(shù)器代理。
10.如權利要求9所述的定序器,其中每個所述定序元件基于所述解復用后的進入數(shù)據(jù)的所述子集而選擇性地減少。
11.如權利要求1所述的定序器,其中所述計數(shù)器代理能夠完全代表所述定序元件中每一個的減少。
12.如權利要求11所述的定序器,其中所述低位計數(shù)器子集的位數(shù)至少能夠在數(shù)字上代表所述定序元件的數(shù)量。
13.如權利要求12所述的定序器,其中有8個定序元件,并且所述一熱計數(shù)器代理包括至少16位。
14.如權利要求1所述的定序器,還包括至少一個被所述定序元件和所述計數(shù)器清理邏輯處理的計數(shù)器重置值。
15.一種定序方法,包括以下步驟從計數(shù)器生成計數(shù)器代理,所述計數(shù)器包括低位計數(shù)器子集和高位計數(shù)器子集,如果所述高位計數(shù)器子集至少是1,則所述計數(shù)器代理包括加8的所述低位計數(shù)器子集的一熱表示,如果所述高位計數(shù)器子集是0,則所述計數(shù)器代理包括所述低位計數(shù)器子集,將所述計數(shù)器代理依次連續(xù)傳遞通過所述多個定序元件,在所述依次連續(xù)傳遞的步驟之后,從所述計數(shù)器代理恢復所述計數(shù)器的一致性,以及重復所述生成、依次連續(xù)傳遞和恢復的步驟。
16.如權利要求15所述的定序方法,還包括處理所述定序器代理的步驟,其中每個定序元件執(zhí)行以下步驟所組成的組中的任意一種處理,即將計數(shù)值減1、維持所述計數(shù)值以及將所述計數(shù)值重置為重置計數(shù)器值。
17.如權利要求16所述的定序方法,其中所述減少步驟包括將一熱計數(shù)器代理從較高有效位移位到較低有效位。
18.如權利要求17所述的定序方法,還包括通過檢測所述一熱計數(shù)器代理的最低有效位中的邏輯1和減少操作的邏輯乘組合來確定最終計數(shù)條件的步驟。
19.如權利要求16所述的定序方法,其中所述計數(shù)出被依次連續(xù)傳遞到所述下一定序元件的所述計數(shù)入。
20.如權利要求1所述的定序方法,還包括將借位出依次連續(xù)傳遞通過所述定序元件的步驟。
21.如權利要求20所述的定序方法,所述恢復一致性的操作還包括基于所述一熱表示的值和所述借位出,將所述一熱表示與所述高位計數(shù)器子集進行同步。
22.如權利要求20所述的定序方法,其中所述借位出是由所述計數(shù)器代理的單個位置中的邏輯1確定的。
23.如權利要求22所述的定序方法,其中所述借位出是由所述一熱計數(shù)器代理的位7確定的。
24.如權利要求15所述的定序方法,其中所述依次連續(xù)傳遞所述計數(shù)器代理的步驟還包括在至少一個所述定序元件中選擇性地減少所述計數(shù)器代理。
25.如權利要求24所述的定序方法,其中所述選擇性地減少的步驟基于所述解復用后的進入數(shù)據(jù)的所述子集。
26.如權利要求15所述的定序方法,其中所述計數(shù)器代理完全代表所述定序元件中每一個的減少以及在所述高位計數(shù)器子集上的借位。
27.如權利要求26所述的定序方法,其中所述生成的步驟還包括用至少能夠在數(shù)字上代表所述定序元件數(shù)量的位數(shù)來在數(shù)字上代表所述低位計數(shù)器子集。
28.如權利要求26所述的定序方法,其中有8個定序元件,并且所述一熱計數(shù)器代理包括至少16位。
29.如權利要求15所述的定序方法,其中所述依次連續(xù)傳遞的步驟還包括在重置條件下,向所述計數(shù)器代理指定計數(shù)器重置值。
30.如權利要求15所述的定序方法,還包括接受進入數(shù)據(jù)和解復用所述進入數(shù)據(jù)以創(chuàng)建資源的步驟,其中所述處理的步驟還包括處理所述資源的步驟。
31.如權利要求30所述的定序方法,其中每個所述定序元件處理所述資源的子集。
全文摘要
本發(fā)明公開了一種用于定序的方法和裝置,包括依次連續(xù)組合的定序元件,每個定序元件在單個資源周期上處理解復用后的進入數(shù)據(jù)的子集。每個定序元件處理代表定序器計數(shù)器的一熱計數(shù)器代理。
文檔編號G06F7/00GK1916865SQ20051010307
公開日2007年2月21日 申請日期2005年9月19日 優(yōu)先權日2005年1月21日
發(fā)明者格倫·伍德, 邁克爾·瑞廷 申請人:安捷倫科技有限公司