專利名稱:帶有mux-d掃描功能的脈沖動態邏輯門的制作方法
技術領域:
本發明涉及處理器實現領域,更具體而言,涉及用于實現帶有掃描功能的脈沖動態邏輯門的技術。
背景技術:
處理器及其他類型的集成電路,通常包括由在半導體襯底上制造的互連的晶體管構成的若干個邏輯電路。這樣的邏輯電路可以根據若干個不同的電路設計樣式來構建。例如,組合邏輯可以通過位于諸如觸發器或R鎖之類的鐘控狀態器件(clocked statedevice)之間的無時鐘的靜態互補金屬氧化物半導體(CMOS)門的集合來實現。可另選地,取決于設計要求,某些組合功能可以通過諸如多米諾邏輯門之類的鐘控動態門(clockeddynamic gate)來實現。
對于可測試性,集成電路常常包括掃描功能,通過該功能,可以將測試圖案插入到電路中,并可以讀出測試結果。基于掃描的測試可以比功能測試實現給定設計的更大的測試覆蓋度,因為基于掃描的測試可以便于對邏輯的直接訪問,否則通過正常的集成電路操作可能需要評估數百或數千執行周期。在某些情況下,基于掃描的測試可以允許測試電路元件,這些電路元件可能是不切實際或者甚至不可能通過功能測試來進行測試的。然而,大多數現有的用于設計和插入掃描功能的方法是靜態邏輯系列所特定的。通常,在其中使用了動態邏輯門的電路中,這樣的門常常被接受為簡單地當作通過掃描技術非可測試的。
發明內容
在某些實施例中,可掃描的脈沖動態邏輯門可包括響應于評估脈沖的有效而評估動態輸入的評估網絡。可以從時鐘信號生成評估脈沖,使得其時長比時鐘信號短。例如,脈沖的上升沿可以在時鐘信號的上升沿之后發生,以及脈沖的下降沿可以在時鐘信號的下降沿之前發生。在正常操作模式期間,當評估脈沖有效時,評估網絡可以取決于動態輸入的狀態而使動態節點放電。動態節點的所產生的狀態可以被閂鎖在輸出存儲元件內。當評估脈沖被取消有效時,動態節點可以被預先充電。在掃描操作模式期間,動態節點可以保持預先充電。在掃描相關的控制信號的控制下,掃描數據可以被傳輸到輸出存儲元件。
下面的詳細描述參考了將簡要描述的各個附圖。圖I示出了使用動態邏輯的邏輯路徑的一部分的示例。圖2示出了使用可掃描的脈沖動態門的邏輯路徑的一部分。圖3示出了可掃描的脈沖動態門的實施例。
圖4示出了可掃描的脈沖動態門的操作方法的實施例。圖5示出了可以被用來實現可掃描的脈沖動態門的閂鎖功能的電路的示例。圖6示出了脈沖發生器電路的實施例。圖7示出了使用可掃描的脈沖動態門來實現特定邏輯功能的示例。圖8示出了可掃描的脈沖動態門的另一實施例。圖9示出了圖8的門的操作方法的實施例。圖10示出了可包括一個或多個可掃描的脈沖動態門的處理器的實施例。圖11示出了可包括處理器的系統的實施例。 盡管本發明可以具有各種修改和替代形式,但是此處將通過附圖中的示例顯示特定實施例,并進行詳細描述。然而應了解,附圖和詳細描述不打算將本發明只限于所公開的特定形式,相反地,可以涵蓋如所附權利要求所限定的本公開的精神和范圍內的所有修改、等效內容和替代方案。此處所使用的標題只用于組織目的,不用于限制描述的范圍。如在本申請全篇中所使用的,詞語“可以”用于許可的意義(即,表示具有可能性做某事),而不是強制性的意義(即,表示必須)。類似地,詞語“包括”表示包括但不僅限于。各種單元、電路或其他組件都可以被描述成“被配置成”執行一個或多個任務。在這樣的上下文中,“被配置成”是結構的廣泛的講述,一般而言意思指“具有在操作期間執行一個或多個任務的電路”。如此,單元/電路/組件可以被配置成甚至在單元/電路/組件當前不在接通的情況下執行任務。一般而言,構成對應于“被配置成”的結構的電路可包括硬件電路。類似地,在描述中,為了方便起見,各種單元/電路/組件可以被描述成執行一個或多個任務。這樣的描述應該解釋為包括短語“被配置成”。列舉被配置成執行一個或多個任務的單元/電路/組件明確地意圖對于該單元/電路/組件,不違反35U.S.C. § 112,段落6解釋。更一般地,對任何元件的列舉明確地意圖對于該元件,不違反35U. S. C. § 112,段落6解釋,除非專門列舉了語言“用于……的裝置”或“用于……的步驟”。
具體實施例方式圖I示出了使用動態邏輯(諸如多米諾邏輯)的邏輯路徑的一部分的示例。在所示出的實施例中,可掃描的觸發器110耦合到邏輯門120,而邏輯門120又耦合到邏輯門130。邏輯門130耦合到脈沖多米諾閂鎖140。一般而言,可掃描的觸發器110可以對應于諸如靜態觸發器之類的任何合適的可掃描的狀態兀件。可掃描的觸發器110可以響應于時鐘信號來操作,以捕捉和存儲輸入數據。例如,可掃描的觸發器110可以是電平觸發的或邊緣觸發的狀態元件。邏輯門120和130可以被配置成實現任何合適的類型(例如,AND( “與”)、OR(“或,,)、NAND (“非與”)、N0R (“非或”)、X0R( “異或”)、XN0R (“異或非”),或任何合適的布爾表達式)的組合邏輯功能。脈沖多米諾閂鎖140可以實現組合邏輯和狀態元件的組合。例如,響應于時鐘信號,脈沖多米諾閂鎖140可以操作以評估其輸入并捕捉和存儲結果。相比之下,典型的靜態組合邏輯門不保留其狀態,相反可以異步地評估其輸入,并且每當輸入改變時就改變其輸出。脈沖多米諾門140可以縮短邏輯路徑相對于使用耦合到離散狀態元件的離散靜態邏輯門的總延遲,如此潛在地提高邏輯路徑的性能。值得注意的是,圖I所示出的邏輯門的數量以及連接性只是說明性示例,在其他實施例中,可以使用其他數量和配置的門以及狀態元件。在所示出的實施例中,脈沖多米諾閂鎖140不是可掃描的。如此,可能不能直接確定邏輯門120和130的結果,與耦合可掃描的狀態元件代替脈沖多米諾閂鎖140的情況相同。相反,為觀察邏輯門120和130,在邏輯門120和130的輸出與其他邏輯相結合之后,需要沿著邏輯路徑向下捕捉結果。這可能使測試更困難。圖2示出了使用可掃描的脈沖動態門240來代替圖I所示出的非可掃描的脈沖多米諾閂鎖140的邏輯路徑的一部分。就在正常操作模式期間其功能特點而言,可掃描的脈沖多米諾門240可以類似于非可掃描的脈沖多米諾閂鎖140。例如,兩種類型的門都可以實現可以比相當的靜態邏輯表現出較短的評估延遲的鐘控動態邏輯。然而,在掃描模式期間,可以讀和/或寫可掃描的脈沖多米諾門240的狀態,這可以便于對可掃描的脈沖多米諾門240的上游和/或下游的邏輯的測試。圖3示出了可掃描的脈沖動態門240的實施例。在所示出的實施例中,輸入數據330耦合到評估網絡302,該評估網絡302又耦合到預先充電器件301和評估器件303。預 先充電器件301由脈沖信號319來控制,而評估器件303由pulse_no_scan (脈沖_無_掃描)信號321來控制。動態節點325耦合到評估網絡302和預先充電器件301,并進一步耦合到保持器倒相器(keeper inverter)304和305。動態節點325進一步稱合到由器件306和307所形成的倒相器,并進一步由脈沖319 (通過器件308)和限定掃描信號SEIX 323 (通過器件309)進行控制。由器件306和307所形成的倒相器的輸出耦合到通過倒相器312驅動輸出324的閂鎖節點326。閂鎖節點326另外耦合到存儲元件332 (還可被稱為閂鎖臺)并由SEIX 323 (通過上拉器件310)和脈沖#320 (通過上拉器件311)控制。閂鎖臺332包括一對交叉耦合的倒相器313和314,其中倒相器313被脈沖319和脈沖#320有選擇地控制。值得注意的是,諸如此處所示出和所描述的那些靜態CMOS反相器可以是可以在此處所描述的電路中使用的倒相放大器的特定實施例。然而,在其他實施例中,可以使用能夠顛倒信號的邏輯意義的任何合適配置的倒相放大器,包括使用除CMOS以外的技術構建的倒相放大器。此外,值得注意的是,雖然預先充電器件、上拉器件、下拉器件,和/或評估器件可以被示為單個晶體管,但是在其他實施例中,這些器件中的任何器件都可以使用多個晶體管或其他合適的電路來實現。即,在各實施例中,“器件”可以對應于任何合適的類型(例如,FET)的單個晶體管或其他開關元件、晶體管或開關的集合、邏輯門或電路等等。在某些實施例中,評估網絡302可包括耦合以實現邏輯功能的諸如N型器件(例如,NFET)之類的器件樹。例如,響應于特定的輸入組合,評估網絡302內的某些相應的器件可以被激活,創建到地線的一個或多個路徑。然后,評估網絡302可以通過這樣的路徑來使動態節點325放電。即,響應于滿足由評估網絡302所實現的邏輯功能的一個或多個輸入,在評估脈沖的有效期間,可以在器件之間生成通過評估網絡302的一個或多個放電路徑。在某些實施例中,評估網絡302可以耦合以接收以N取l(l-of-N)格式編碼的輸入。一般而言,在N取I格式中,輸入信號可以具有N個單個分量,在某一給定時間,其中至多一個可以有效或邏輯真。N取I信號的單個分量可以通過耦合到評估網絡302內的一個或多個相應的器件的相應的線路或金屬跡線來實現。例如,4取I輸入信號可以實現為布線到可掃描的脈沖動態門240的一捆四個線路,其中至多有I條線路可以在某一給定時間被驅動到高電壓(對應于有效)。當特定線路被以這樣的方式置于有效時,評估網絡302內的一個或多個相應的器件可以被激活。取決于由評估網絡302所實現的邏輯功能,這樣的激活可能或可能不影響可掃描的脈沖動態門240的輸出狀態。在所示出的實施例中,時鐘發生器317可以被配置成從輸入時鐘360和掃描啟用信號318生成多種變體的脈沖信號。在某些實施例中,脈沖可以對應于從時鐘信號生成的但是有效時間長度比從其生成脈沖的時鐘信號的時間長度較短的信號。即,脈沖可以被理解為同步信號,如時鐘信號,但是可以具有不同于時鐘信號但取決于時鐘信號的時間選擇特征。在各實施例中,可以基于特定門或路徑的計時要求,來調節脈沖相對于時鐘信號的上升沿和下降沿的發生。脈沖的時長以及其邊緣相對于時鐘信號的位置可以是變化的。例如,脈沖可以這樣生成,以便其上升沿在時鐘信號的上升沿之后發生,其下降沿在時鐘周期的下降沿之前發生。使用脈沖而并非時鐘可以幫助提高電路性能。在動態邏輯的上下文中,同步信號通常確定輸入被評估的時間段。例如,當時鐘信號是高(還被稱為電路的“評估階段”)時,由時鐘信號控制的動態邏輯電路可以評估其輸入。當時鐘信號是低(還被稱為電路的“預先充電階段”)時,動態邏輯電路可能對其輸入的變化不敏感。一般而言,常常需要確保動態邏輯 電路的輸入信號在電路的評估階段和/或之后的某一時間長度(也被稱為“保持時間”)是穩定的。例如,如果保持時間要求不被特定門的輸入滿足(即,如果輸入開始過早地過渡),則輸入可能不能被門捕捉,可能導致門不能正確地評估。可另選地,早熟的過渡可能會導致門虛假地評估(例如,通過在評估網絡302內創建導致動態節點325放電的路徑,如果沒有的話)。這樣的行為可能會導致不正確的電路操作。為減輕由于違犯保持時間所導致的失敗,設計者可以采用為各種信號指定最小保持時間的電路設計規則。然而,這樣的保持時間要求可能會限制電路操作的速度,因為對于為另一門生成給定輸入信號的門,給定輸入信號的較長的保持時間通常為生成方便的門留下較少的時間來執行有用的工作。在動態門中,保持時間要求常常取決于評估階段的長度。即,一般不需要將輸入信號保持到評估階段的結束以外,因為正確地操作動態門應該對在評估階段以外發生的輸入變化不敏感。通過使用脈沖而不是時鐘信號來控制對動態門的評估,門的評估階段的長度可以縮短(因為,如上文所討論的,脈沖比它們的相對應的時鐘具有較短的有效時長)。通過縮短評估階段,可能允許輸入信號早于使用時鐘信號時的過渡。即,使用脈沖可以降低輸入信號保持時間要求。這又可以提高電路能夠操作的頻率。如圖3所示,脈沖發生器317可以生成脈沖輸出319以及具有和脈沖319相反的邏輯意義的脈沖#輸出320。(即,當脈沖319是高時,脈沖#320是低,反之亦然。)脈沖發生器317還可生成利用掃描啟用318限定的pulse_n0_scan輸出321,以便當掃描啟用318有效時(例如,高或邏輯真,指出掃描操作模式是有效的),pulse_no_scan321被取消有效(例如,低或邏輯假),防止動態節點325放電。如此,在所示出的實施例中,脈沖發生器317可以生成每當時鐘360正在運行時就有效的自由運轉的脈沖319,以及取決于電路是否在掃描模式下進行操作而有效的限定的pulse_no_scan 321。值得注意的是,在其他實施例中,脈沖發生器317可以被配置成生成不同數量或配置的脈沖。所生成的脈沖的時間選擇特性可以隨著電路的特定實現約束而變化。
在所示出的實施例中,NAND門315可以被配置成組合掃描啟用SE 318與掃描數據SI 322以創建信號SEIX 323。就功能而言,SEIX323可以表示利用掃描啟用信號限定的顛倒的掃描數據。即,如果SE318被取消有效(例如,低),則SEIX 323可以是高,不管掃描數據SI 322上的值如何。S卩,如果SE 318有效(例如,高)以指出掃描模式操作,那么SEIX323可以輸出SI 322的補碼(complement)。在某些實施例中,所示出的可掃描的脈沖動態門可以按如下方式進行操作。共同地參考圖3以及圖4中所示出的流程圖,操作可以取決于門是否在掃描模式進行操作(框400)。首先考慮普通的非掃描操作模式,操作還可以進一步取決于時鐘360的狀態(框402)。當時鐘360無效(低)時,脈沖319也可以是低,導致動態節點325通過器件301被預先充電到高(框404)。在正常模式操作期間,掃描啟用SE 318是低,導致SEIX 323為高,如上文所討論的。這又激活器件309。當時鐘360有效(高)并且掃描啟用SE 318保持低時,脈沖發生器317生成脈沖319、脈沖#320,以及pulse_no_scan 321(框406)。在這些脈沖的時長內,器件301以及器 件303、308和311都是無效的。可以評估到評估網絡302的輸入330的狀態(框408),在此期間,動態節點325可能或者也可能不通過評估網絡302和器件303放電。如果動態節點325不用這種方式放電,則保持器網絡(K^per Network)(示為保持器倒相器304以及305)可以在脈沖的時長內保持動態節點325的預先充電的狀態。然后,可以將動態節點325上的值呈現給閂鎖節點(框410)。如果動態節點325放電,那么動態節點325上的低電壓導致高電壓通過器件306傳輸到閂鎖節點326。如果動態節點325不放電,那么當脈沖319有效時,動態節點325上的高電壓導致低電壓通過器件307,308以及309傳輸到閂鎖節點326。(如上文所指出的,SEIX 323在正常模式操作期間是高,導致器件309被激活。)然后,閂鎖節點326的值被顛倒,并呈現為輸出324,但是在其他實施例中,可以另選地或另外地提供非顛倒的輸出。當脈沖319以及脈沖#320處于它們的有效狀態(例如,分別是高和低)時,三態倒相器313可以被置于防止閂鎖節點326上的爭用的高阻狀態。當脈沖319以及脈沖#320返回到不活動狀態(例如,分別是低和高)時,三態倒相器313可以激活并驅動閂鎖節點326,導致閂鎖節點326的值通過三態倒相器313和倒相器314的反饋環被捕捉和存儲(框412)。在掃描操作模式期間,如上文所提及的,pulse_no_scan 321將保持無效,導致動態節點325保持預先充電,不管呈現給評估網絡302的輸入30是什么(框414)。在掃描模式期間,閂鎖節點326的值可以取決于SEIX 323的狀態(框416)。如果掃描輸入數據SI322是低,則SEIX 323將是高。與動態節點325的高狀態相結合,當脈沖319是有效時,此配置可以導致低電壓被傳輸到閂鎖節點326。(對于輸入的此組合,SEIX 323的高狀態導致器件310無效。)如果掃描輸入數據SI 322在掃描模式期間是高,則SEIX 323將是低,導致器件309關閉,而器件310接通。當脈沖#320有效(低)時,器件311也將是有效。此配置可以導致高電壓被傳輸到閂鎖節點326。三態倒相器313和倒相器314的閂鎖置于閂鎖節點326上的掃描數據值的操作可以類似于上文對于正常操作模式所描述的操作(框418)。圖5示出了可以被用來實現圖3的可掃描的脈沖動態門240的存儲功能的電路的一個特定示例。在所示出的實施例中,在電路的左上方部分示出了實現NAND 315的晶體管。D輸入可以耦合到動態節點325,而P輸入可以耦合到脈沖319。(在圖5中,互補的脈沖#信號被示為從脈沖319的逆本地生成的,雖然此信號也可以由外部源生成。)如圖5所示,器件306、307、308以及309的順序可以隨著實現選擇而變化(例如,將時間選擇關鍵性輸入與門的輸出更靠近)。如前面所指出的,在某些實施例中,可以省略輸出倒相器。值得注意的是,雖然圖5 —般性地示出了電平敏感的閂鎖,但是在其他實施例中,可以使用任何其他合適類型的存儲元件來將值存儲在此處所討論的各實施例中的任何一種內,包括其中包括邊緣觸發電路、動態電路、非易失性存儲器等等的存儲元件。圖6示出了可以被用來實現脈沖發生器317的電路的示例。在所示出的實施例中,輸入時鐘CK穿過可包括多種不同類型的器件的延遲鏈帶有冗余器件的倒相器,耦合到信號通路的電容性負載,和/或線路延遲。取決于要被驅動的門的時間選擇特性,延遲鏈的特定配置可以對于脈沖發生器317的每一個給定實例而變化。例如,較長的延遲鏈可以產生較長的脈沖,反之亦然。此外,從兩種時鐘路徑中添加或刪除延遲可以改變輸入時鐘的上升沿和所產生的脈沖的上升沿之間的相對延遲。CK的延遲版本通過NAND門耦合到輸入時鐘CK,以生成表示為PB的逆脈沖。然后, 此脈沖穿過倒相器以生成正的意義的脈沖P。PB也通過NOR門與掃描啟用信號相結合以生成掃描限定的脈沖PS。在圖6的實施例中,信號P、PB以及PS可以分別對應于圖3的信號脈沖 19、脈沖 #20、以及 pulse_no_scan 21。圖7示出了使用可掃描的脈沖動態門來實現特定邏輯功能的示例。在所示出的實施例中,門的組合可以被配置成實現8取I多路復用器(S卩,有選擇地輸出八個輸入值中的任何一個的電路)。在所示出的實施例中,脈沖發生器電路PG 720被示為耦合以接收時鐘輸入CK和掃描啟用信號SE,并產生脈沖信號P、PB以及PS。例如,圖6所示出的脈沖發生器電路317或合適的替代方案可以用于圖7中。在圖7的電路中,圖3中所示出的一般性評估網絡被替換為兩晶體管疊層的八個實例,其中,頂部晶體管被SO到S7所表示的八個可能的選定信號中的一個來控制,以及其中,底部晶體管被DO到D7所表示的八個可能的數據值中的一個來控制。(為簡明起見,此示例的評估樹的所有十六個器件沒有分別地示出。)兩晶體管疊層的頂部連接到被脈沖P控制的一個或多個預先充電器件701,而疊層的底部連接到也被脈沖P控制的一個或多個評估器件702。圖7所示出的保持結構705在某種程度上不同于圖3所示出的倒相器304和305,但是當它不通過評估網絡放電時可以執行保留動態節點710上的值的類似的功能。動態節點耦合到閂鎖715,該閂鎖715可以對應于圖5所示出的閂鎖電路,或另一種合適類型的閂鎖電路。在普通非掃描操作期間,當信號PS有效時,圖7的電路評估輸入SO到S7和DO到D7。在所示出的實施例中,選擇輸入SO到S7中的至多一個可以有效。如果有效的選擇輸入的相對應的數據輸入也有效,則動態節點可以放電,導致低電壓被呈現給閂鎖電路715。如果有效的選擇輸入的相對應的數據輸入不有效,則動態節點可以保持預先充電,導致高電壓被呈現給閂鎖電路715。如上文參考圖3-5所討論的,動態節點上的值可以被存儲在閂鎖內,并以實代碼或補碼形式從閂鎖驅動。在掃描操作期間,脈沖發生器電路PG 720可以導致脈沖信號PS保持無效,防止動態節點通過評估網絡放電。相反,可以以類似于上文參考圖3和4所討論的方式由掃描數據輸入SI來確定寫入到閂鎖電路715中的值。
雖然圖3示出了一般性評估網絡,圖7示出了實現多路復用器的評估網絡,但是可以構想,可以通過可掃描的脈沖動態門的評估網絡來實現任何類型的布爾函數。進一步構想,可以使用若干種輸入編碼中的任何一種,包括單端的動態輸入(例如,使用歸零或RTZ編碼),雙軌道動態輸入,或N取I動態輸入,其中,N可以是任何數量。圖3中所示出的脈沖動態門可以被理解實現掃描的多路復用的數據樣式,也可以被稱為MUX-D。一般而言,在MUX-D掃描中,在在普通功能模式(即,非掃描)操作期間所使用的相同的時鐘控制之下,掃描數據可以被多路復用到與在功能上生成的數據相同的路徑上。掃描實現的另一種樣式是電平敏感掃描設計(LSSD),這會可以使用不同于功能模式時鐘的掃描時鐘。使用單獨的掃描時鐘可以啟用更健壯的掃描時間選擇性能(例如,通過縮短與掃描相關聯的保持時間問題),但是,LSSD門可能需要比類似的MUX-D門更大的區域。圖8示出了實現LSSD樣式掃描功能的脈沖動態門的示例。在所示出的實施例中,LSSD脈沖動態門800接收耦合到評估網絡810的一個或多個數據輸入信號802,以及各種時鐘信號。脈沖輸入803可以對應于以類似于上文參考圖3-5所討論的方式生成的脈沖信 號。信號elk 801可以對應于從其生成脈沖的時鐘,或者相當的時鐘(例如,在不直接從elk801生成,而是從elk 801上游或下游的時鐘信號生成脈沖803的情況下)。信號sclk_m804和sclk_s 808分別表示主掃描時鐘和從屬掃描時鐘,而xclk_m 805和xclk_s 809表示這些掃描時鐘的逆。所示出的LSSD脈沖動態門的主數據輸出被表示為out 850,而掃描數據輸入和掃描數據輸出被分別表不為sdi 806和sdo 810。在某些實施例中,LSSD脈沖動態門800可以按如下方式進行操作。共同地參考圖8以及圖9中所示出的流程圖,操作可以取決于門是否在掃描模式進行操作(框900)。首先考慮普通的非掃描操作模式,sclk_m 804和sclk_s 808可以被設置為低狀態,而它們的逆xclk_m 805和xclk_s 809可以設置為高狀態(框902)。操作還可以進一步取決于elk 801和脈沖803的狀態。一開始,elk 801和脈沖803可以被設置為低狀態(例如,通過低電壓來表示的邏輯O足以接通PFET器件和關閉NFET器件),將門800置于預先充電狀態(框904)。在所示出的實施例中,晶體管819可以是關閉,820可以是接通,導致動態節點815被預先充電到高狀態(例如,通過高電壓來表示的邏輯I足以關閉PFET器件并接通NFET器件),又導致晶體管821關閉,晶體管822接通。另外,在此狀態下,晶體管826和831可以是接通(通過sclk_m 804和elk 801分別是低和高)。這可以導致節點RTZ 816是高,啟用晶體管825并禁用晶體管824。(節點RTZ 816也可以作為反饋節點更一般地被引用)通過晶體管822和825接通,存在從輸出850到地線的路徑,導致輸出850為低。為開始從預先充電過渡到評估模式,elk 801可以過渡到高狀態(框906)。在所示出的實施例中,在elk 801上的過渡可以導致晶體管831關閉,晶體管829接通。節點RTZ816的狀態此時可能不變化,因為只要輸出850仍保持為低,預先充電模式狀態,晶體管827將保持接通,晶體管828將保持關閉,使RTZ 816保持為高。在elk 801過渡為高之后,脈沖803可以過渡為高,而門800可以進入評估模式(框908)。在所示出的實施例中,此在脈沖803上的過渡可以接通晶體管819和823,關閉晶體管820。取決于輸入802的狀態,評估樹810可以或者也可以不使動態節點815放電(框910)。例如,輸入信號的狀態可能或可能不通過評估樹810和晶體管819創建從動態節點815到地線的路徑。假設動態節點815不放電,在評估模式期間,節點RTZ 816和輸出850可以仍保持在它們的預先充電狀態(框912)。最終,脈沖803和elk 801可以過渡回到低狀態,而門800可以響應地返回到上文所描述的預先充電狀態。假設動態節點815確實放電,輸出850可以過渡到高狀態(框914)。在所示出的實施例中,動態節點815的放電可以將晶體管822關閉,將晶體管821接通,而后一器件可以上拉輸出850。輸出850上的高狀態可以導致晶體管827關閉,導致晶體管828接通。由于晶體管829和830已經接通(由于elk 801和xsclk_m 805兩者都是高),因此節點RTZ816可以響應于輸出850上的上升過渡,放電到接地。這又可以接通晶體管824,關閉晶體管825,創建導致輸出850繼續通過晶體管824被拉高的反饋環,而不管動態節點815的狀態是什么。器件826-831可以分別地或共同地被稱為反饋器件。在其他實施例中,門800的反饋器件可包括晶體管、門、電路等等的不同的布局。 在動態節點815放電之后,脈沖803可以返回到低狀態(框916)。在所示出的實施例中,晶體管819和823響應地關閉,而晶體管820響應地接通,導致動態節點815開始預先充電。然而,上文所討論的反饋環可以在脈沖803的下降沿和clkSOl的下降沿之間的時間段內使輸出850保持為高。更具體而言,在所示出的實施例中,輸出850是以歸零格式來實現的,其中如果輸出850處于非零狀態,它被保持直到elk 801的下降沿,以及然后重置到零。例如,如上文所討論的,當輸出850是低時,節點RTZ 816可以是高,不管elk 801的狀態是什么,導致輸出850在elk 801的整個時長內保持為低,如果動態節點815保持預先充電。如果評估樹810使動態節點815放電,則輸出850可以在評估階段(例如,當脈沖803是高時)變為高。在這種情況下,只要輸出和elk兩者都保持為高,RTZ節點將是低,導致輸出通過由RTZ節點所控制的上拉器件而保持為高。最終,elk 801將返回到低狀態(框918)。當它確實這樣時,驅動RTZ節點(例如,晶體管827、828、829以及831)的NAND結構可以導致節點RTZ 816上升,這又可以導致輸出850通過晶體管825和822過渡到低。S卩,elk 801的下降沿可以導致輸出850復位到低狀態,如果它處于高狀態,或仍保持低狀態,如果已經是低。值得注意的是,盡管RTZ輸出可以對將動態門連接到其他類型的邏輯(例如,靜態邏輯)有用,但是這種樣式的輸出是可選的,以及在其他實施例中,LSSD脈沖動態門可以利用任何合適類型的輸出來實現。一個elk 801返回到低狀態,則循環完成,以及另一個預先充電評估循環可以發生。在門800的掃描模式操作期間,外部掃描數據可以被加載到輸出850上,或可以捕捉輸出850的當前狀態,并通過sdo 810輸出到掃描鏈。雖然這些在圖9中被示為單獨的操作,但是取決于主掃描時鐘sClk_m 804和從屬掃描時鐘sclk_s 808的序列,在某些實施例中,可以捕捉輸出850的當前狀態并將外部掃描數據加載到輸出850上,或將外部掃描數據加載到輸出850,導致此外部數據也被輸出到掃描鏈。可以通過sdi 806輸入將外部數據加載到所示出的門的輸出節點上(框920)。在所示出的實施例中,sClk_m 804可以最初被設置為高,這可以通過去激活晶體管826來禁用RTZ NAND結構,并可以啟用耦合到sdi 806的時鐘限定的倒相器811。(倒相器811中所包括的器件可以分別地或共同地被稱為掃描輸入器件,在其他實施例中,可以使用掃描輸入器件的不同的布局。)這又可以導致Sdi 806的逆耦合到節點RTZ 816。S卩,如果sdi 806是低,則RTZ 816可以是高,導致輸出850通過晶體管825和822被驅動為低。相反,如果sdi 806是高,則RTZ 816可以是低,導致輸出850通過晶體管824被驅動為高。然后,在輸出850上存在的當前數據可以被閂鎖(框922)。如上文所指出的,當前數據可以是剛剛通過sdi 806加載的數據,或者作為評估樹810的評估的結果的輸出850的當前狀態。在所示出的實施例中,輸出850捕捉到從屬閂鎖812中可以通過將sclk_m 804返回到低狀態(如果有效)以及分別將sclk_s 808和xsclk_s 809設置為高和低狀態來啟動。這可以導致保存在脈沖動態門800的輸出850處的數據經過通晶體管808-809,被傳輸到掃描數據輸出端口 sdo 810。當由閂鎖812捕捉了輸出850的狀態時,clk_s 808可以變為低,以及xclk_s 809可以變為高。此時,通晶體管808-809可以關閉,輸出850的狀態可以保存在閂鎖812內的所示出的保持器倒相器中。在clk_s808變為低以及數據在 從屬閂鎖中被閂鎖之后,脈沖動態門800可以返回到預先充電狀態。在某些實施例中,一個脈沖動態門的sdo 810輸出可以耦合到另一個脈沖動態門的sdi 806輸入,以形成掃描鏈。值得注意的是,如果sclk_m 804和sclk_s 808以替換的方式按順序脈動,則掃描數據序列可以沿著掃描鏈傳播,以沿著掃描鏈將數據加載到門中和/或從那些門中讀取數據。值得注意的是,雖然上文討論了各種特定電路布局和器件類型,但是在其他實施例中,也可以使用其他類型的電路、設計樣式和/或器件類型。例如,雖然上文示出和描述了使用N型和P型場效應晶體管(分別是NFET和PFET ),但是在其他實施例中,也可以使用其他類型的器件(諸如,例如雙極結型晶體管或其他合適類型的開關器件)。處理器概述現在轉向圖10,該圖示出了處理器10的實施例的框圖。處理器10可包括引入上文所描述的某些或所有特征的一個或多個可掃描的脈沖動態門。在所示出的實施例中,處理器10包括獲取控制單元12、指令緩存14、解碼單元16、映射器18、調度器20、寄存器文件22、執行核24、以及接口單元34。獲取控制單元12耦合以提供用于從指令緩存14中獲取的程序計數器地址(PC)。指令緩存14耦合以向解碼單元16提供指令(帶有PC),解碼單元16耦合以向映射器18提供經解碼的指令操作(操作,也帶有PC)。指令緩存14進一步被配置成向獲取控制單元12提供命中指示以及ICache PC。映射器18耦合以向調度器20提供操作、調度器編號(SCH#)、源操作數編號(S0#s)、一個或多個依賴性矢量、以及PC。調度器20耦合以從執行核24接收重播、錯誤預測、以及異常指示,耦合以向獲取控制單元12以及映射器18提供重定向指示和重定向PC,耦合到寄存器文件22,并且耦合以向執行核24提供供執行的操作。寄存器文件耦合以向執行核24提供操作數,被耦合以從執行核24接收要向寄存器文件22寫入的結果。執行核24耦合到接口單元34,接口單元34又進一步耦合到處理器10的外部接口。獲取控制單元12可以被配置成為指令緩存14生成獲取PC。在某些實施例中,獲取控制單元12可包括一種或多種類型的分支預測器。例如,獲取控制單元12可包括被配置成預測間接分支指令的目標地址的間接分支目標預測器,被配置成預測條件分支的結果的條件分支預測器,和/或任何其他合適類型的分支預測器。在操作期間,獲取控制單元12可以基于選定的分支預測器的輸出來生成獲取PC。如果預測以后原來不正確,則獲取控制單元12可以重定向以從不同的地址獲取。當生成獲取PC時,在沒有非順序的分支目標的情況下(即,分支或到非順序的地址其他重定向,無論是投機性的還是非投機性的),獲取控制單元12可以生成獲取PC作為當前PC值的順序函數。例如,取決于在某一時間從指令緩存14獲取了多少字節,獲取控制單元12可以通過將已知偏移與當前PC值相加來生成順序的獲取PC。指令緩存14可以是用于存儲要由處理器10執行的指令的緩存。指令緩存14可以具有任何容量和結構(例如,直接映射,組相聯,完全相聯等等)。指令緩存14可以具有任何緩存線大小。例如,在一個實施例中,可以實現64字節緩存線。其他實施例可以使用更大或較小緩存線大小。響應于來自獲取控制單元12的給定PC,指令緩存14可以輸出最大數量的指令。可以構想,處理器10可以實現任何合適的指令集體系結構(ISA),諸如,例如,ARM 、PowerPC 或 x86ISA 或其組合。
在某些實施例中,處理器10可以實現地址轉換方案,其中,使一個或多個虛擬地址空間對執行軟件可見。虛擬地址空間內的存儲器訪問被轉換為對應于對系統可用的實際物理存儲器的物理地址空間,例如,使用一組頁表、段或其他虛擬存儲器轉換方案。在使用地址轉換的各實施例中,指令緩存14可以使用物理地址比特而并非虛擬地址比特來部分地或完全地尋址。例如,指令緩存14可以將虛擬地址比特用于緩存索引,以及將物理地址比特用于緩存標記。為了避免當執行緩存訪問時執行完全的存儲器轉換的成本,處理器10可以將一組最近的和/或頻繁地使用的虛擬到物理地址轉換存儲在諸如指令TLB (ITLB) 30之類的轉換后援緩沖器(TLB)中。在操作期間,ITLB 30 (可以實現為緩存、按內容尋址的存儲器(CAM),或使用任何其他合適的電路結構)可以接收虛擬地址信息并確定是否存在有效轉換。如果存在,則ITLB 30可以向指令緩存14提供相對應的物理地址比特。如果不,則ITLB30可以導致轉換被確定,例如,通過引發虛擬存儲器異常。解碼單元16可以一般被配置成將指令解碼為指令操作。一般而言,指令操作可以是執行核24中所包括的硬件能夠執行的操作。每一指令都可以轉換為一個或多個指令操作,當執行時,這些指令操作導致為該指令定義的操作根據通過處理器10來實現的指令集體系結構被執行。在某些實施例中,每一指令都可以解碼為單個指令操作。解碼單元16可以被配置成標識指令的類型、源操作數,等等,經解碼的指令操作可包括指令以及一些解碼信息。在其中每一指令都被轉換為單個操作的其他實施例中,每一操作都可以簡單地是相對應的指令或其一部分(例如,指令的一個或多個操作碼字段)。在其中在指令和操作之間有一一對應關系的某些實施例中,解碼單元16和映射器18可以被組合和/或解碼以及映射操作可以在一個時鐘周期發生。在其他實施例中,某些指令可以解碼為多個指令操作。在某些實施例中,解碼單元16可包括電路和/或微編碼的任何組合以便為指令生成操作。例如,相對簡單的操作生成(例如,每個指令一個或兩個操作)可以以硬件來處理,而比較費勁的操作生成(例如,指令的三個以上的操作)可以以微代碼來處理。由解碼單元16所生成的操作可以提供到映射器18。映射器18可以實現寄存器重命名,以將來自操作的源寄存器地址映射到標識重命名的源寄存器的源操作數編號(S0#s)o另外,映射器18可以被配置成指定調度器條目以存儲由SCH#所標識的每一操作。在一個實施例中,SCH#也可以被配置成標識指定給操作的目的地的重命名寄存器。在其他實施例中,映射器18可以被配置成指定單獨的目的地寄存器編號。另外,映射器18可以被配置成為操作生成依賴性矢量。依賴性矢量可以標識給定操作所依賴的操作。在一個實施例中,依賴性由相應操作的SCH#來指出,而依賴性矢量比特位置可以對應于SCH#s。在其他實施例中,依賴性可以基于寄存器編號來記錄,而依賴性矢量比特位置可以對應于寄存器編號。映射器18可以向調度器20提供操作,以及SCH#、S0#s, PC,以及每一個操作的依賴性矢量。調度器20可以被配置成將操作存儲在由相應的SCH#s以及S0#s和PC所標識的調度器條目中。調度器可以被配置成將依賴性矢量存儲在依賴性陣列中,依賴性陣列評估哪些操作有資格被調度。調度器20可以被配置成調度操作,供在執行核24中執行。當調度一個操作時,調度器20可以被配置成從寄存器文件22中讀取其源操作數,并可以向執行核24提供源操作數。執行核24可以被配置成將更新寄存器的操作的結果返回到寄存器文件22。在某些情況下,執行核24可以轉發將向寄存器文件22寫入代替從寄存器文件22中讀取的值的結果(例如,在依賴的操作的背對背調度的情況下)。 執行核24還可被配置成在執行操作期間檢測可以報告給調度器的各種事件。分支操作可能被錯誤預測,以及某些加載/存儲操作可能被重播(例如,對于正在被寫入/讀取的數據的基于地址的沖突)。可以檢測各種異常(例如,對于存儲器訪問或對于在非特權模式下執行的有特權的指令的保護異常,對于無地址轉換的異常等等。)。異常可以導致相應的異常處理例程被執行。執行核24可以被配置成執行預測的分支操作,并可以接收最初被提供到獲取控制單元12的預測的目標地址。執行核24可以被配置成從分支操作的操作數來計算目標地址,并將計算出的目標地址與預測的目標地址進行比較,以檢測正確的預測或錯誤預測。執行核24也可以評估對于分支操作進行的任何其他預測,諸如對分支操作的方向的預測。如果檢測到錯誤預測,則執行核24可以發出獲取控制單元12應該被重定向到正確的獲取目標的信號。諸如調度器20、映射器18、以及解碼單元16之類的其他單元可以從投機性的指令流中清空錯誤預測的分支之后的或取決于錯誤預測的分支的掛起操作/指令。處理核可包括數據緩存26,該數據緩存26可以是用于存儲要被處理器10處理的數據的緩存。類似于指令緩存14,數據緩存26可以具有任何合適的容量、結構或線大小(例如,直接映射,組相聯,完全相聯等等)。此外,數據緩存26可以在這些細節中的任何方面不同于指令緩存14。如同指令緩存14,在某些實施例中,數據緩存26可以使用物理地址比特部分地或完全地尋址。相應地,可以提供數據TLB(DTLB)32以緩存虛擬到物理地址轉換,用于以類似于上文參考ITLB 30所描述的方式來訪問數據緩存26。值得注意的是,雖然ITLB30和DTLB 32可以執行類似的功能,但是在各實施例中,它們可以以不同的方式實現。例如,它們可以存儲不同數量的轉換和/或不同的轉換信息。寄存器文件22可以一般包括可被用來存儲操作數以及在處理器10中執行的操作的結果的任何寄存器組。在某些實施例中,寄存器文件22可包括一組物理寄存器,以及映射器18可以被配置成將邏輯寄存器映射到物理寄存器。邏輯寄存器可包括通過處理器10來實現的指令集體系結構所指定的構建寄存器,以及可以被用作臨時結果(以及隨后的操作的源)的操作目的地的暫時寄存器。在其他實施例中,寄存器文件22可包括包含邏輯寄存器的提交狀態的構建寄存器組以及包含投機性的寄存器狀態的投機性寄存器組。接口單元24可以一般包括用于將處理器10連接到外部接口上的其他器件的電路。外部接口可包括任何類型的互連(例如,總線、數據包等等)。如果處理器10與一個或多個其他組件集成(例如,片上系統配置),則外部接口可以是芯片內互連。如果處理器10不與其他組件集成,則外部接口可以是外部電路的開關芯片互連。在各實施例中,處理器10可以實現任何指令集體系結構。 系統和計算機可訪問的存儲介質接下來參看圖11,該圖示出了系統150的實施例的框圖。在所示出的實施例中,系統150至少包括集成電路152的一個實例。集成電路152可包括處理器10的一個或多個實例(參見圖9)。在一個實施例中,集成電路152可以是片上系統,包括處理器10的一個或多個實例,以及各種其他電路,如存儲器控制器、視頻和/或音頻處理電路、芯片內外圍器件和/或耦合到片外外圍器件的外圍接口等等。集成電路152耦合到一個或多個外圍器件 154以及外部存儲器158。還提供了電源156,該電源156向集成電路152提供電源電壓以及向存儲器158和/或外圍器件154提供一個或多個電源電壓。在某些實施例中,可以包括集成電路152的一個以上的實例(也可以包括一個以上的外部存儲器158)。外圍器件154可包括任何所需的電路,取決于系統150的類型。例如,在一個實施例中,系統150可以是移動設備(例如,個人數字助理(PDA)、智能電話等等),外圍器件154可包括用于諸如wifi、藍牙、蜂窩式、全球定位系統等等之類的各種類型的無線通信的設備。外圍器件154也可以包括另外的存儲器,包括RAM存儲器、固態存儲器,或磁盤存儲器。外圍設備154可包括諸如顯示屏幕之類的用戶界面設備,包括觸摸顯示屏或多觸點顯示屏,鍵盤或其他輸入設備,麥克風,揚聲器等等。在其他實施例中,系統150可以是任何類型的計算系統(例如,臺式個人計算機、膝上型計算機、工作站,迷你電腦等等)。外部存儲器158可包括任何類型的存儲器。例如,外部存儲器158可包括SRAM、非易失性RAM (NVRAM,諸如“閃速”存儲器),和/或諸如同步DRAM (SDRAM)、雙倍數據速率(DDR、DDR2、DDR3等等)SDRAM、RAMBUS DRAM等等之類的動態RAM。外部存儲器158可包括存儲器設備安裝在其上的一個或多個存儲器模塊,如單列直插存儲器模塊(SIMM)、雙列直插存儲器模塊(DIMM)等等。根據某些實施例,諸如邏輯門之類的器件可包括耦合以響應于評估脈沖的取消有效,將動態節點預先充電到有效狀態的預先充電器件,其中,評估脈沖是從時鐘信號導出的,并且有效的時長比時鐘信號有效的時長短。設備也可以包括耦合以在評估脈沖的有效期間評估一個或多個輸入,并通過依賴于一個或多個輸入的評估器件來有選擇地使動態節點放電的評估網絡。設備還可以包括耦合以接收動態節點的值,并耦合以驅動閂鎖節點的反相放大器,其中反相放大器取決于評估脈沖的有效以及限定的掃描啟用信號的有效兩者而啟用,其中,限定的掃描啟用信號是取決于掃描啟用輸入信號和掃描數據輸入信號的邏輯NAND組合而變有效的。設備還可以包括耦合到R鎖節點的存儲元件,其中,存儲元件響應于評估脈沖的有效而有選擇地存儲閂鎖節點的值。設備也可以包括耦合到閂鎖節點的一個或多個上拉器件,其中,一個或多個上拉器件耦合以響應于限定的掃描啟用信號和評估脈沖兩者的取消有效而將閂鎖節點驅動到有效狀態。根據某些實施例,諸如邏輯門之類的設備可包括耦合以響應于評估脈沖的取消有效,將動態節點預先充電到有效狀態的預先充電器件,其中,評估脈沖是從時鐘信號導出的,并且有效的時長比時鐘信號有效的時長短。設備也可以包括耦合以在評估脈沖的期間評估一個或多個輸入,并通過依賴于一個或多個輸入的評估器件來有選擇地使動態節點放電的評估網絡。設備還可以包括耦合以接收動態節點的值并耦合以驅動輸出節點的反相放大器,其中,反相放大器是取決于評估脈沖的有效而啟用的。設備還可以包括耦合以響應于反饋節點的取消有效而將輸出節點驅動到有效狀態的一個或多個上拉器件,以及耦合以響應于反饋節點的有效而將輸出節點驅動到取消有效狀態的一個或多個下拉器件。設備也可以包括耦合以響應于主掃描時鐘的有效而通過反饋節點將掃描輸入數據加載到輸出節點上的一個或多個掃描輸入器件,以及I禹合以響應于從屬掃描時鐘的有效而接收和存儲輸出節點的值的閂鎖,其中,閂鎖進一步耦合以驅動掃描輸出數據節點。設備也可以包括由時鐘信號控制的耦合以接收輸出節點的值,并耦合以驅動反饋節點的一個或多個反饋器件。根據某些實施例,諸如邏輯門之類的設備可包括耦合以在評估脈沖的有效期間評估一個或多個輸入并取決于所述一個或多個輸入而有選擇地使動態節點放電的評估網絡,其中所述估脈沖是從時鐘信號導出的,并且有效的時長比時鐘信號有效的時長短。所述設備也可以包括耦合到所述動態節點的一個或多個輸出器件,其中在操作期間所述一個或多 個輸出器件取決于所述動態節點而驅動輸出節點。所述設備還可以包括耦合以在掃描操作模式期間響應于主掃描時鐘的有效而將掃描輸入數據加載到輸出節點上的一個或多個掃描輸入器件。設備也可以包括耦合以在掃描操作模式期間響應于從屬掃描時鐘的有效而接收和存儲輸出節點的值的存儲元件,其中,存儲元件進一步耦合以驅動掃描輸出數據。根據某些實施例,方法可包括檢測動態邏輯門的主掃描時鐘或者從屬掃描時鐘的有效,其中,動態邏輯門包括耦合以驅動輸出節點的動態節點,其中,在動態邏輯門的普通功能操作模式期間,在評估脈沖的有效期間,取決于一個或多個輸入,有選擇地使動態節點放電,其中,所述評估脈沖是從時鐘信號導出的,并且有效的時長比時鐘信號有效的時長短。該方法還可包括,響應于檢測到主掃描時鐘的有效,將掃描輸入數據加載到輸出節點中。該方法還可以包括,響應于檢測到從屬掃描時鐘的有效,將輸出節點的值存儲在存儲元件中,其中,存儲元件進一步耦合以驅動掃描輸出數據。一旦完全理解了上面的說明,很多變化和修改方案對于那些本領域的技術人員將變得顯而易見。下面的權利要求應被解釋為包括所有這樣的變化和修改方案。
權利要求
1.一種設備,包括 耦合以在評估脈沖的有效期間評估ー個或多個輸入并取決于所述ー個或多個輸入而有選擇地使動態節點放電的評估網絡,其中所述評估脈沖是從時鐘信號導出的,并且有效的時長比所述時鐘信號有效的時長短; 耦合到所述動態節點的輸出存儲元件,其中在操作期間,所述輸出存儲元件生成取決于所述動態節點的輸出;以及 耦合以在掃描操作模式期間響應于ー個或多個掃描輸入信號的有效,將掃描數據輸入到所述輸出存儲器元件的ー個或多個器件。
2.如權利要求I所述的設備,其中,所述ー個或多個器件被耦合以實現多路復用數據(MUX-D)掃描門,以及其中,所述評估脈沖的ー個或多個版本被耦合以控制所述MUX-D掃描門的正常功能模式操作和掃描模式操作。
3.如權利要求I所述的設備,其中,所述ー個或多個器件被耦合以實現電平敏感掃描設計(LSSD)掃描門,以及其中,不同于所述評估脈沖的掃描模式時鐘被耦合以控制所述LSSD掃描門的掃描模式操作。
4.如權利要求I所述的設備,其中,所述評估網絡包括被配置為實現所述ー個或多個輸入的邏輯功能的ー個或多個器件,其中,響應于在所述評估脈沖的有效期間滿足所述邏輯功能的所述ー個或多個輸入,在所述ー個或多個器件之間生成通過所述評估網絡的ー個或多個放電路徑。
5.如權利要求4所述的設備,其中,所述ー個或多個器件包括ー個或多個N型場效應晶體管(NFET)。
6.如權利要求I所述的設備,其中,所述ー個或多個輸入以N取I格式編碼。
7.如權利要求I所述的設備,其中,在所述掃描操作模式期間,所述評估脈沖無效。
8.如權利要求I所述的設備,其中,所述評估脈沖是從所述時鐘信號導出的,以便所述評估脈沖的上升沿在所述時鐘信號的上升沿之后發生,以及所述評估脈沖的下降沿在所述時鐘信號的下降沿之前發生。
9.如權利要求I所述的設備,還包括脈沖發生器,所述脈沖發生器在操作期間,組合所述時鐘信號與所述時鐘信號的延遲版本,以生成所述評估脈沖。
10.如權利要求I所述的設備,還包括由所述時鐘信號控制的一個或多個反饋器件,其中在所述動態節點放電以及評估器件的取消有效之后,所述ー個或多個反饋器件被配置成將所述輸出保持在有效狀態。
11.如權利要求10所述的設備,其中,響應于所述時鐘信號的取消有效,所述ー個或多個反饋器件被配置成將輸出重置到取消有效狀態。
12.—種方法,包括 檢測動態邏輯門的掃描操作模式,其中所述動態邏輯門包括動態節點,其中在所述動態邏輯門的正常功能操作模式期間,所述動態節點在評估脈沖的限定版本有效期間取決于ー個或多個輸入而有選擇地放電,其中所述評估脈沖是從時鐘信號導出的,并且有效的時長比所述時鐘信號有效的時長短,以及其中,所述評估脈沖的所述限定版本在所述掃描操作模式期間無效; 響應于檢測到所述掃描操作模式,獨立于呈現給所述動態邏輯門的所述ー個或多個輸入,將所述動態節點保持在預先充電的狀態; 在所述掃描操作模式期間,響應于所述評估脈沖的有效,將掃描數據存儲到所述動態邏輯門的存儲元件中,其中所述評估脈沖耦合以控制所述動態邏輯門的正常功能模式操作以及掃描模式操作。
13.如權利要求12所述的方法,其中,所述ー個或多個輸入以N取I格式編碼。
14.如權利要求12所述的方法,其中,所述評估脈沖是從所述時鐘信號導出的,以便所述評估脈沖的上升沿在所述時鐘信號的上升沿之后發生,以及所述評估脈沖的下降沿在所述時鐘信號的下降沿之前發生。
15.—種集成電路,包括 多個可掃描的脈沖動態邏輯門,每一可掃描的脈沖動態邏輯門都包括如權利要求I所述的設備的實例;以及 互連所述可掃描的脈沖動態邏輯門的掃描鏈。
16.—種系統,包括 存儲器;以及 耦合到所述存儲器的如權利要求15所述的集成電路。
全文摘要
本發明涉及帶有MUX-D掃描功能的脈沖動態邏輯門。可掃描的脈沖動態邏輯門可包括響應于評估脈沖的有效而評估動態輸入的評估網絡。可以從時鐘信號生成評估脈沖,使得其時長比時鐘信號的短。在正常操作模式期間,當評估脈沖有效時,評估網絡可以取決于動態輸入的狀態而使動態節點放電。動態節點的所產生的狀態可以被存儲在輸出存儲元件內。當評估脈沖被取消有效時,動態節點可以被預先充電。在掃描操作模式期間,動態節點可以保持預先充電。在掃描相關的控制信號的控制下,掃描數據可以被傳輸到輸出存儲元件。
文檔編號G06F11/267GK102844742SQ201180016003
公開日2012年12月26日 申請日期2011年2月15日 優先權日2010年2月16日
發明者M·R·賽寧根, M·E·魯納斯 申請人:蘋果公司