TW202038053A - 基於覆蓋率之微電子電路及用於提供微電子電路之設計的方法 - Google Patents

基於覆蓋率之微電子電路及用於提供微電子電路之設計的方法 Download PDF

Info

Publication number
TW202038053A
TW202038053A TW108140096A TW108140096A TW202038053A TW 202038053 A TW202038053 A TW 202038053A TW 108140096 A TW108140096 A TW 108140096A TW 108140096 A TW108140096 A TW 108140096A TW 202038053 A TW202038053 A TW 202038053A
Authority
TW
Taiwan
Prior art keywords
circuit
register
delay
microelectronic
processing path
Prior art date
Application number
TW108140096A
Other languages
English (en)
Other versions
TWI824055B (zh
Inventor
納夫尼特 古普塔
Original Assignee
芬蘭商米尼碼處理器公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 芬蘭商米尼碼處理器公司 filed Critical 芬蘭商米尼碼處理器公司
Publication of TW202038053A publication Critical patent/TW202038053A/zh
Application granted granted Critical
Publication of TWI824055B publication Critical patent/TWI824055B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/007Fail-safe circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/19Monitoring patterns of pulse trains
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Nonlinear Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Architecture (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Internal Circuitry In Semiconductor Integrated Circuit Devices (AREA)

Abstract

微電子電路包含佈置在複數個處理路徑中的複數個邏輯單元及暫存器電路、以及與該處理路徑中的個別該處理路徑相關聯的複數個監視單元。各該監視單元配置為響應於該個別處理路徑的異常運作,以產生觀察訊號。依據可能產生的延遲量,各該複數個邏輯單元屬於複數個延遲等級的一者。該延遲等級包含第一、第二和第三等級,其中,該第一等級覆蓋可能產生最長延遲的邏輯單元,該第二等級覆蓋可能產生相較於該第一等級較短的延遲的邏輯單元,而該第三等級覆蓋可能產生相較於該第二等級較短的延遲的邏輯單元。至少一些該複數個處理路徑包含屬於該第二等級但沒有監視單元的邏輯單元。至少一些該複數個處理路徑包含屬於該第三等級但具有與它們相關聯的監視單元的邏輯單元。

Description

基於覆蓋率之微電子電路及用於提供微電子電路之設計的方法
該發明是關於包含多個處理路徑的微電子電路的科技。特別地,該發明涉及一種方式,在該方式中,該處理路徑的不同等級的延遲關鍵性可列入考慮。
微電子電路中的處理路徑行進通過邏輯單元及暫存器電路,以致於暫存器電路在觸發訊號的上升或下降邊緣(如果暫存器電路是正反器)或在觸發訊號的高或低位準(如果暫存器電路是閂鎖器)儲存前一個邏輯單元的輸出值。觸發訊號的觸發邊緣或一些其它控制事件定義允許時間限制,在允許時間限制之前,數位數值必需出現在暫存器電路的資料輸入處,以變成適當地儲存。允許時間限制不必然是觸發邊緣的確切瞬間,而是由於諸如電壓位準可以變化的有限速率等物理效應而以某種關係定義的。
微電子電路中的時間借用意指電路元件暫時地允許借用來自接續階段的時間,也就是比預期晚變化數位數值,如果相同處理路徑上 的接續電路元件可處理它,而沒有破壞被處理的資料。時間借用的事例的發生應偵測成時序事件。
監視器電路是偵測時序事件的一種方式。監視器電路是添加至或與暫存器電路相關聯的電路元件或功能性,並且配置為產生時序事件觀察(timing event observation,TEO)訊號,以作為晚於允許時間限制發生的輸入數位數值中的變化的響應。除了實際監視器電路外,微電子電路必需包含OR樹及/或其它結構,用於收集、處理及分析來自監視器電路的TEO訊號。
存在其它種類的監視單元及方法。一個範例是使用模擬實際處理路徑上的延遲量的複製路徑。已知輸入訊號可饋入至複製路徑;複製路徑的已知建構意指已知種類的輸出訊號應該出來。如果複製路徑的輸出不是應有的輸出,則非常有可能某些數位數值在實際處理路徑也變化的較晚。
以一種或另一種方式進行的監視可以與舉例來說先進電壓調節(Advanced Voltage Scaling,AVS);有時也是適配性電壓調節(Adaptive Voltage Scaling)組合,以致於在監視中增加數量的事件引發運作電壓升高,反之亦然。偵測事件的數量也可觸發其它補償動作,通常涉及電路的其它運作參數的數值中的變化,舉例來說,或者暫時地改變時脈波形。
使用監視的電路單元的主要缺點是在於它們消耗電路面積及運作功率。放置監視器電路、複製路徑及/或其它監視單元至設計的微電子電路內涉及折衷。越多監視單元,用於偵測時序事件的覆蓋率就越佳,但與其他目的相比,與最初設計的微電子電路的電路面積及運作功率相比,它消耗越多電路面積及運作功率。
關於電路元件如何工作的知識允許微電子電路的設計者作出延遲分佈分析,其判定各電路元件將會對資料引發多少延遲,資料通過電路元件而進行。用來放置監視單元的直接指南將涉及將電路元件依據它們將引發多長延遲而分類成延遲等級,並且決定僅監視在處理路徑上屬於最長延遲等級的那些電路元件。然而,由於許多原因,那將僅提供該問題的一部分解決方案。
首先,製造的微電子電路之間的個別差異使得哪個電路元件將實際是關鍵者不確定。依據延遲分佈分析而僅屬於第二或第三最長延遲等級的電路元件有可能實際是真實生活製造的電路中的最關鍵電路元件。其次,執行的軟體有可能使得(至少在特定情況下)它沒有使用行進通過該最關鍵電路元件那些處理路徑,用於延伸的時間週期,以致於應該實際地被偵測到的事件在延遲分佈分析中在不被認為是關鍵的那些處理路徑上發生。第三、即使資料正在流經關鍵處理路徑,也可能發生資料在瞬間含有延伸序列的常數(不變)的數位數值,其自然地使得在那些路徑上偵測任何例外事件成為不可能,因為這種事件僅發生於數位數值在暫存器電路的輸入處變化時。
對於設計微電子電路的任務的額外複雜性來自於測試的需求。可測試性設計(Designed For Testability,DFT)、測試設計(Design-For-Test))的概念已經成為事實上的工業標準,其定義用於測試微電子電路的某些程序。例如,應該有可能選擇地耦接微電子電路中所含有的暫存器電路至主要地作為移位暫存器而運作的長鏈(long chain)中;一串數位數值可從一端饋入,並從另一端讀出。通過已知測試圖案通過這種鏈的暫存器電路並且在輸出處核對其形式,決定該鏈中的所有暫存器電路是否正在如期望的變化它們的狀態,或者是否有暫存器電路固定在一些特別數值(固定型 故障測試(stuck-at fault test))。快速故障測試(at-speed fault test)涉及以低時脈速度緩慢地饋入測試圖案,之後以完全運作速度給出一個或多個時脈脈波,以致於測試圖案在該鏈中以功能性邏輯速度進行與時脈脈波一樣多的步驟,並且最終再次以低時脈速度結束(clock out)該測試圖案。快速測試可給出關於暫存器電路是慢於預期的資訊。如果涉及監視器電路及時間借用能力、或其它種類的監視單元,則這些也應該是可測試的。
此處的目的是提出微電子電路,其打破在監視單元的數量與因此獲得的覆蓋率之間的最佳平衡。覆蓋率意指處理路徑可被監視用於時序事件的發生的比率。
另一個目的是提出用來產生具有上方提到的該特性的微電子電路的設計的方法。
又另一個目的是確保該微電子電路與標準DFT方法學相容,並且能夠進行AVS。
藉由考慮行進經過暫存器電路之間的兩個或多個邏輯單元階段的一條處理路徑的延遲關鍵性而至少決定用來放置監視單元的一些位置,以達成這些目的。
依據第一態樣,提供一種包含複數個邏輯單元及暫存器電路的微電子電路,該邏輯單元及該暫存器電路佈置成複數個處理路徑。該微電子電路包含與個別該處理路徑相關聯的複數個監視單元,各該監視單元配置為響應於該個別處理路徑的異常運作,以產生觀察訊號。依據可能產生的延遲量,各該複數個邏輯單元屬於複數個延遲等級的一者。該延遲等級包含第一、第二和第三等級,其中,該第一等級覆蓋可能產生最長延遲 的邏輯單元,該第二等級覆蓋可能產生相較於該第一等級較短的延遲的邏輯單元,而該第三等級覆蓋可能產生相較於該第二等級較短的延遲的邏輯單元。至少一些該複數個處理路徑包含屬於該第二等級但沒有監視單元的邏輯單元。至少一些該複數個處理路徑包含屬於該第三等級但具有與它們相關聯的監視單元的邏輯單元。
依據實施例,該監視單元包含與個別該複數個暫存器電路相關聯的複數個監視器電路,該監視器電路配置為響應於該個別暫存器電路的輸入處的數位數值的改變,以產生個別時序事件觀察訊號,該改變晚於由至該個別暫存器電路的觸發訊號所定義的允許時間限制而發生。在該處理路徑上接著屬於該第二等級的邏輯單元的至少一些該暫存器電路沒有監視器電路,並且至少一些該監視器電路與在該處理路徑上接著屬於該第三等級的邏輯單元的暫存器電路相關聯。監視器電路的使用包含可以使該微電子電路的控制單元知道發生的時序事件、並且採取適當措施的優點。
依據實施例,至少一些該處理路徑為適配性處理路徑,其效能可藉由使該微電子電路的運作參數假定(assume)為運作參數值來配置。這種處理路徑的適配性使得可以將監視用於時序事件以達成節省所需的運作功率成為可能。
依據實施例,該微電子電路包含第一訊號收集電路,其配置為至少收集與在該處理路徑上接著屬於該第一等級的邏輯單元的暫存器電路相關聯的該監視器電路產生該時序事件觀察訊號。此包含有效地和及時地將關於該發生的時序事件的資訊傳達給控制單元知道的優點。
依據實施例,該第一訊號收集電路配置為也收集與在該處理路徑上接著屬於除了該第一等級外的其它等級的邏輯單元的暫存器電路相 關聯的該監視器電路產生的該時序事件觀察訊號。此包含可以獨立於該電路的哪一部分對時序事件進行反應的優點。
依據實施例,該微電子電路包含第二訊號收集電路,其配置為收集與在該處理路徑上接著屬於該第二和第三等級的至少一者的邏輯單元的暫存器電路相關聯的該監視器電路產生的該時序事件觀察訊號。此包含取決於觀察時序事件的部分可以使該微電子電路以不同方式反應的優點。
依據實施例,該微電子電路配置為透過該第一訊號收集電路收集時序事件觀察訊號、透過該第二訊號收集電路收集時序事件觀察訊號、藉由依據第一適配性規則使該微電子電路的運作參數假定為運作參數值以響應透過該第一訊號收集電路所收集的該時序事件觀察訊號而適配該微電子電路的至少一部分的運作、以及藉由依據第二適配性規則使該微電子電路的運作參數假定為運作參數值以響應透過該第二訊號收集電路所收集的該時序事件觀察訊號而適配該微電子電路的至少一部分的運作。此包含取決於觀察時序事件的部分來調整該微電子電路的運作的特定方式的優點。
依據實施例,該第一適配性規則是基於每單位時間透過該第一訊號收集電路所收集的第一數量的時序事件觀察訊號,而該第二適配性規則是基於每單位時間透過該第二訊號收集電路所收集的第二、不同數量的時序事件觀察訊號。此涉及可能有不同方式的反應的優點,視時序事件在多少有點延遲關鍵的部分中被觀察的頻率而定,
依據實施例,該微電子電路包含測試輸入佈置,配置為控制地饋入由測試輸入值所組成的測試輸入訊號進入該處理路徑的至少一者的複數個電路元件內;以及測試輸出佈置,配置為控制地收集來自該處理路徑的該至少一者的該複數個電路元件的測試輸出值。此包含可以使該微電子電路與標準DFT方法學兼容的優點。
依據實施例,該微電子電路包含配置為基於收集的測試輸出值選擇該運作參數值的運作參數值選擇器。此包含可以使測試結果以影響至少一部份該電路的AVS行為的優點。
依據實施例,該測試輸出佈置配置為選擇地收集來自該複數個暫存器電路的資料輸出、該複數個監視器電路的時序事件觀察訊號輸出的至少一者的該測試輸出值。此包含可以將測試針對該微電子電路的期望部分的優點。
依據實施例,該測試輸出佈置配置為控制地收集來自一條處理路徑的測試輸出值,在該條處理路徑上,中間階段包含與個別監視單元不相關聯的暫存器電路,而接續階段包含與個別監視電路相關聯的暫存器電路。此包含可以測試多週期關鍵路徑的運作的優點。
依據實施例,該測試輸出佈置配置為控制地收集來自一條處理路徑的測試輸出值,在該條處理路徑上,至少一個中間階段包含能夠時間借用的暫存器電路。此包含可以測試多週期關鍵路徑的運作的優點,而不論是否存在與其中間階段相關聯的監視器。
依據實施例,至少一些該監視單元包含複製路徑,其配置為用已知輸入資料模擬該複數個處理路徑中的相應一者的運作。此包含存在替代方式用於檢查用於時序事件的該電路的運作的優點。
依據第二態樣,提供一種用於產生微電子電路的設計的方法。該方法包含:
a)提供該微電子電路的第一、預先設計,該第一設計定義通過該微電子電路內的邏輯單元和暫存器電路的處理路徑,
b)實施該第一設計的延遲分佈分析,以將該邏輯單元依據可能產生的延遲量分類成延遲等級,
c)基於該邏輯單元的第一子集在該延遲分佈分析中的一個或多個最長延遲等級的出現將它們區分成延遲關鍵邏輯單元,
d)藉由將監視單元與包含該延遲關鍵邏輯單元相關聯的處理路徑,以產生該微電子電路的第二、中間設計,
e)藉由將監視單元與處理路徑相關聯來產生該微電子電路的第三、另外設計,該處理路徑包含未在步驟c)中被區分為延遲關鍵邏輯單元的邏輯單元,並且至少含有沒有相關聯的監視單元的一臨界數目的處理路徑,以及
f)輸出該第三設計作為該微電子電路的該設計。
依據實施例,該臨界數目的處理路徑是定義為沒有相關聯的監視單元的暫存器電路的數量,該個別處理路徑暫存器電路通過相關聯的該監視單元。此包含使用一種堅實極直接的方式來識別此種類的延遲關鍵路徑的優點。
依據實施例,該臨界數目的處理路徑是定義為該個別處理路徑的電路元件依據該延遲分佈分析可能產生的總延遲。此包含非常彈性及精確的方式用於識別延遲關鍵路徑的優點。
依據實施例,步驟d)包含放置監視器電路至在該處理路徑上緊跟在該延遲關鍵邏輯單元之後出現的暫存器電路,而步驟e)包含放置監視器電路至暫存器電路,該暫存器電路在該處理路徑上緊跟在未在步驟c)中被區分為延遲關鍵邏輯單元的邏輯單元之後出現,但在該處理路徑上前有至少該臨界數目的處理路徑,該處理路徑沒有配備監視器的暫存器電路。此包含可以為監視器電路找到最佳位置的優點。
依據實施例,步驟e)包含添加一個或多個訊號收集電路,以收集來自該監視器電路的訊號,該監視器電路是放置至在該處理路徑上在 未在步驟c)中被區分為延遲關鍵邏輯單元的邏輯單元之後出現的暫存器電路。此包含可使該微電子電路的控制單元知道時序事件的發生並且採取適當措施的優點。
依據實施例,步驟e)包含:將監視單元與處理路徑相關聯,該處理路徑包含未在步驟c)中被區分為延遲關鍵邏輯單元的邏輯單元的第二子集,並且至少含有第一臨界數目的處理路徑,該處理路徑沒有相關聯的監視單元,以及將監視單元與處理路徑相關聯,該處理路徑包含未在步驟c)中被區分為延遲關鍵邏輯單元的邏輯單元的第三子集,並且至少含有不同於該第一數目的第二臨界數目的處理路徑,該處理路徑沒有相關聯的監視單元。此包含可以找到最佳位置放置監視單元的優點。
依據實施例,將監視單元關聯於處理路徑包含放置監視器電路至那個處理路徑上的暫存器電路,並且步驟e)額外地包含:添加第一訊號收集電路,以收集來自放置至接著該第二子集的邏輯單元的暫存器電路的監視器電路的輸出的訊號,以及添加第二訊號收集電路,以收集來自放置至接著該第三子集的邏輯單元的暫存器電路的監視器電路的輸出的訊號。此包含取決於觀察時序事件的部分可以使該微電子電路而以不同方式對時序事件作出反應的優點。
101:第一子暫存器階段
102:第二子暫存器階段
103:多工器
105:監視器電路
106:多工器
107:AND閘
108:NOR閘
301:第一子暫存器階段
302:第二子暫存器階段
303、304:多工器
401、402:子暫存器階段
403:多工器
501:處理路徑
502:複製路徑
601、603、604、612、613、623、624、631、632、641、651:電路元件
602、622、641、642、661、662:暫存器電路
611、631、632、651、652:邏輯單元
701-707:步驟
801:第一訊號收集電路
802:第二訊號收集電路
803:區塊
該附圖包括提供該發明的進一步理解以及構成本說明書的一部分,附圖例示該發明的實施例,並且連同該描述一起有助於解釋該發明的原理。在該圖式中:
第1圖示意地例示暫存器電路,
第2圖例示第1圖所示的種類的暫存器電路中的一些訊號的波形,
第3圖示意地例示暫存器電路,
第4圖示意地例示暫存器電路,
第5圖示意地例示複製路徑的使用,
第6圖示意地例示微電子電路的一部分,
第7圖示意地例示方法,以及
第8圖示意地例示使用訊號收集電路來適應該微電子電路的運作的原理。
在下文中,將描述微電子電路及其設計和運作的方法。典型的微電子電路包含佈置在複數個處理路徑中的複數個邏輯單元及暫存器電路。處理路徑是一序列的電路元件,數位資料可通過該序列的電路元件,以致於它在邏輯單元中進行處理,並且暫時地儲存在位於該處理路徑上的接續邏輯單元之間的暫存器電路中。該微電子電路執行的軟體定義在任何給定時間使用哪個處理路徑並且以哪個方式使用。
為了提供更好的理解後面解釋的一些細節,參考第1圖描述暫存器電路的範例。第1圖的暫存器電路包含第一子暫存器階段101及第二子暫存器階段102。第一子暫存器階段101的資料輸入及資料輸出分別標記為i1和q1,而第二子暫存器階段102的資料輸入籍資料輸出分別標記為i2和q2。暫存器電路的資料輸入D是經由多工器103耦接至第一子暫存器階段101的資料輸入i1,以致於控制訊號SE的高位準引發測試輸入SI被耦接至第一子暫存器階段101的資料輸入i1。第二子暫存器階段102的資料輸出q2是耦接至暫存器電路的資料輸出Q。
暫存器電路包含用於觸發訊號CP和CPD的兩個觸發訊號輸入。第一提到的在此處可稱為時脈訊號。為了在下方詳細解釋的原因,其他觸發訊號CPD是時脈訊號CP的延遲版本,較佳地以致於使延遲不超過CP的一半週期(cycle),並且因此可以被稱為延遲時脈訊號。取決於控制訊號TTBEN數值(低/高)而定,延遲時脈訊號CPD或時脈訊號CP被耦接至第一子暫存器階段101的觸發訊號輸入。時脈訊號CP被耦接至第二子暫存器階段102的觸發訊號輸入。
暫存器電路包含或與監視器電路105相關聯,其配置為以產生時序事件觀察(timing event observation,TEO)訊號,以作為在暫存器電路的資料輸入D處的數位數值中的改變的響應,該改變是晚於允許時間限制發生。時間限制是由時脈訊號CP並由適當電路元件的實體特性定義。簡單言之,在資料輸入D處的數位數值應該剛好在時脈訊號CP的觸發邊緣之前假定其適當的值,以致於如果應該在觸發邊緣之前進行變化,則該變化就晚了。實際上,存在諸如有限上升即下降時間的因素,其意指允許的時間限制不是剛好是觸發邊緣的瞬間,而是通常稍微較早些。在某些特殊情況下,它甚至可能會稍微較晚一些。
監視器電路105的資料輸入DM接收進入第一子暫存器階段101的資料輸入i1的副本。監視器電路105的時脈脈波輸入CPP接收定義允許的時間限制的觸發訊號,在允許的時間限制後,在暫存器電路的資料輸入處的該數位數值的變化是晚的。在時脈脈波輸入CPP處所接收的觸發訊號可定義所謂的TEO窗口,以致於它也定義結束限制,在該結束限制後,監視器電路105不再對輸入資料中的變化做出反應。
在其時序事件輸出TE處,監視器電路105配置為產生TEO訊號。此處我們可以假定一個訊號位準協定,依據該訊號位準協定,該TEO 訊號是正常地低,但在觀察時序事件的瞬間變為高位準,並且保持高位準直到觀察到時序事件的時脈週期結束為止。利用控制訊號TMTEOH的適合數值,可以使監視器電路105將TEO訊號的高數值(一旦發生)保持比直到時脈週期結束時更長的時間。此功能例如在測試模式下很有用,在測試模式下,該TEO訊號的保持的高數值可被收集以用於進行進一步的處理及分析。
使用延遲的時脈訊號CPD作為第一子暫存器階段101的觸發訊號史的暫存器電路能夠借用時間。換言之,暫時地允許在此種類的暫存器電路之前的邏輯單元或處理路徑的其他部分引發時序事件,也就是數位數值的較晚變化,因為第1圖的暫存器電路可處理它,而不會破壞正在處理的資料。只要在資料輸入D處的數位數值的晚到達變化在延遲的時脈訊號CPD中的觸發邊緣之前發生,它就會被正確地儲存在暫存器電路中。(確切地說,此處也涉及上升及下降時間,因此該最終限制是由延遲的時脈訊號CPD所定義的一些允許的時間限制,而不必然是其該觸發邊緣的確切瞬間。)可以通過將控制訊號TTBEN的值設為高來失能時間借用,在這種情況下,時脈訊號CP是用作第一子暫存器階段101的觸發訊號。
第二子暫存器階段102的資料輸入i2接收該第一子暫存器階段101的資料輸出q1處的值或監視器電路105的TE輸出處的值,這取決於控制多工器106的控制訊號TMSE的值而定。此處假定微電子電路包含所謂的一般掃描鏈(common scan chain),其是用於收集測試的電路元件於測試模式期間所生產的數位數值。控制訊號TMSE的高數值引發監視器電路105的輸出值被導向至一般掃描鏈,但TMSE的低數值導引第一和第二子暫存器階段的實際、暫時地儲存的數位數值至一般掃描鏈。至該第二子暫存器電路102的控制訊號CDN是非同步重置訊號。
第1圖例示一種產生進入監視器電路的時脈脈波輸入CPP的觸發訊號CKP的可能方式。相關聯的波形如第2圖所示。正常地,訊號TCPDG是低位準,因此其反相是高位準,故延遲的時脈訊號CPD會經過AND閘107至NOR閘108的一個輸入。NOR閘的另一個輸入接收時脈訊號CP的反相CPN。進入監視器電路105的觸發輸入CPP的觸發訊號CKP在時脈的上升邊緣與延遲的時脈訊號CP和CPD之間的持續時間是高的。當訊號TCPDG變為高位準時,其反相變為低位準,並且AND閘107的輸出保持低位準。這使得觸發訊號CKP及反相的時脈訊號CPN的反相也就是等於時脈訊號CP。
監視器電路105內部地實施的確切方式沒有那麼重要了,只要它能夠實施本文中所描述的功能即可。監視器電路的實體實作的範例可在例如第PCT/FI2017/050290號專利申請案中找到。
為了提供對於之後解釋的一些細節的一些進一步理解,參考第3圖描述暫存器電路的另一個範例。第3圖的暫存器電路能夠時間借用,但不包含監視器電路或與監視器電路不相關聯。它與第1圖的暫存器電路共享在資料輸入D及資料輸出Q之間串聯的第一子暫存器階段301及第二子暫存器階段302,並連同兩個多工器303和304。取決於控制訊號SE的數值而定,第一多工器303是用來耦接資料輸入D或測試輸入SI至第一子暫存器階段的資料輸入i1。取決於控制訊號TTBEN的數值而定,第二多工器304是用來耦接時脈訊號CP或延遲的時脈訊號CPD至第一子暫存器階段301的(反相)觸發訊號輸入。時脈訊號CP是耦接至第二子暫存器階段302的觸發訊號輸入,並且非同步重置訊號CDN是耦接至該第二子暫存器階段302的控制輸入。
在第二多工器304處的極性使得控制訊號TTBEN的高數值藉由使時脈訊號CP成為第一次暫存器階段301的觸發訊號而失能時間借用,但其低數值藉由使延遲的時脈訊號CPD成為第一子暫存器階段301的觸發訊號而致能時間借用。由於沒有監視器,因此,任何實際使用時間借用功能的情況都不會引發任何偵測時序事件。此種類的暫存器電路可能仍然具有特殊的使用,這將在下文中更詳細地描述。
為了比較的緣故,第4圖例示可測試但不支援時間借用的暫存器電路。相同的觸發訊號CP提供時脈給兩個子暫存器階段401和402。如果資料輸入D處的數位數值變化較晚,也就是僅在該觸發訊號CP所定義的允許時間限制之後,則它不會被適當地儲存在第4圖的暫存器電路中。多工器403可以用於耦接測試輸入SI,而不是資料輸入D。
第3及4圖的任何暫存器電路均可與監視器電路相關聯;作為替代特性,監視器電路可放置在第3或4圖的任何暫存器電路上。在此意義上,監視器電路是一種電路,其配置為產生個別時序事件觀察訊號,以作為對個別暫存器電路的輸入處的數位數值的變化的響應,該變化晚於由至個別暫存器電路的觸發訊號所定義的允許時間限制發生。時序事件是個別處理路徑的異常運作的範例,因為正常來說,在處理路徑上的所有電路元件都應該確保數位數值中的任何變化都依據由適當的觸發訊號所定義的時序在處理路徑中進行。
使用監視器電路偵測時序事件不是偵測處理路徑的異常運作的唯一方式。另一種方式的範例是示意地顯示在第5圖中。此處假定微電子電路包含複數個處理路徑,其中一者是顯示如第5圖中的處理路徑501。微電子電路包含所謂的複製路徑502,其任務是用已知的輸入資料來模擬該處理路徑501的運作。複製路徑502中的已知輸入資料的處理應該引起 從複製路徑502的測試資料的已知形式。如果輸出的測試資料與其應有的內容不同,則複製路徑將以一些異常方式運作。因此,可以以合理的機率假定「實際」處理路徑501在相同的運作條件下也異常地運作,也就是,在像運作電壓、時脈頻率及類似者的運作參數的相同數值的影響下。
可大致地描述關聯於暫存器電路的監視器電路的使用、複製路徑的使用、以及其它類似佈置,以致於與處理路徑中的個別相關聯的監視單元。每個這種監視單元被配置為產生觀察訊號,以作為個別處理路徑的異常運作的響應。在配備有監視器的暫存器電路的情況下,監視單元是監視器電路,並且觀察訊號是時序事件觀察訊號。在複製路徑的情況下,監視單元是複製路徑連同分析其輸出的電路元件,並且觀察訊號是一個訊號,觀察訊號指示複製路徑的輸出不是它本來應該的輸出。
監視器電路的使用(如第1圖所示)不需要相應的暫存器電路能夠時間借用。在某些情況下,產生的TEO訊號可使用在微電子電路中的其他地方,以忽略或過濾來自暫存器電路的輸出資料,暫存器電路過晚接收其輸入資料,如由TEO訊號所指示的。甚至在某些應用中,其中,輸出資料可被允許通過,而無論輸出資料是否適當地儲存(儘管其晚到達)的一些不確定性。舉例來說,如果處理的資料表示供人類使用者觀看的視訊訊號,則可接受資料中的一些雜訊,因為它在重製的視訊影像中幾乎注意不到。
第6圖是微電子電路的一部分的示意圖。它包含顯示成圓角矩形的複數個邏輯單元、以及顯示成尖角矩形的複數個暫存器電路。這些被佈置成複數個處理路徑,在第6圖中顯示為從左至右行進的線。舉例來說,在左方上經過暫存器電路602而來的處理路徑繼續經過該邏輯單元611、 暫存器電路622、邏輯單元631、暫存器電路641、邏輯單元651及暫存器電路661。
微電子電路包含與個別該處理路徑相關聯的複數個監視單元。各監視單元被配置為產生觀察訊號,以作為個別處理路徑的異常運作的響應。在上方所列出的可能的替代方案中,第6圖例示與個別複數個暫存器電路相關聯的監視器電路的使用。用語「與...相關聯」涵蓋所有可能方式,其中,討論中的該監視器電路被配置為只監視暫存器電路用於時序事件的發生。
並非第6圖的微電子電路的所有暫存器電路均具有與其關聯的監視器電路。具有的那些在第6圖中以文字MON標記;這些是暫存器電路622、642及661。各監視器電路配置為產生個別時序事件觀察訊號,以作為個別暫存器電路的輸入處的數位數值的變化的響應,該變化晚於由至個別暫存器電路的觸發訊號所定義的允許的時間限制發生。
第6圖中所顯示的各邏輯單元依據可能產生的延遲量屬於複數個延遲等級的一者。該延遲是邏輯單元的輸出於個別輸入值已經變成可用於邏輯單元之後假設成適當數值所花費的時間的總量。微電子電路的設計者可使用各種分析工具中的任何一者來產生邏輯單元預期產生的延遲量的計算得出的估計值。估計延遲的程序可稱為延遲分佈分析。
延遲等級可包含至少第一、第二及第三等級。實際上,可有任意數量的這種等級,但這些等級在此處是作為範例。第一等級包含依據分析有可能產生最長延遲的邏輯單元。第二等級包含有可能產生相較於第一等級較短延遲的邏輯單元,而第三等級包含相較於該第二等級較短延遲的邏輯單元。
延遲等級的概念在此處是用作一個籠統的概念,其涵蓋所有方式,分析的電路元件可以所有方式而依據它們可能產生的延遲量被分割、或分配、或劃分。有鑑於在運作期間可能產生的時序事件,第一等級中的邏輯單元,也就是那些預期產生最長延遲的邏輯單元是最關鍵的。因此,當考慮監視器電路的放置時,在至少一個處理路徑上接著屬於該第一等級的邏輯單元的任何暫存器電路均應該是最有可能獲到與其相關聯的監視器電路的候選電路。此處「接著」意指立即接著,也就是,討論中的暫存器電路是第一等級的邏輯單元的輸出值在觸發訊號的下一個觸發邊緣應該被暫時地儲存在暫存器電路的關係。
微電子電路顯示在第6圖中的一部分僅包含屬於第一等級的一個邏輯單元,亦即邏輯單元611。通過邏輯單元611的所有處理路徑緊接著暫存器電路622行進。換言之,暫存器電路622接著所有處理路徑上的邏輯單元611。因此,監視器電路與暫存器電路622相關聯,
第6圖的微電子電路的特徵在於至少一些處理路徑包含屬於第二等級但沒有監視單元的邏輯單元,而至少一些處理路徑包含屬於第三等級但具有與它們相關聯的監視單元的邏輯單元。此特徵在下文中更詳細地描述。
監視器電路也與接著在行進經過該邏輯單元的所有那些處理路徑上的邏輯單元632的暫存器電路642相關聯,儘管邏輯單元632屬於第三等級,並且儘管在個別處理路徑上接著屬於第二等級的邏輯單元的至少一些暫存器電路沒有監視器電路(參見邏輯單元631和652,其接著暫存器電路641和662)。對於此的邏輯解釋是在於藉由考慮在各暫存器電路之前的處理路徑數量,監視器電路已經被放置在微電子電路的該設計中。處理路徑的數量可定義為個別處理路徑經過的暫存器電路的數量。額外地 或可替代地,處理路徑的數量可定義為沿著該個別處理路徑的電路元件依據延遲分佈分析可能產生的總延遲。
第7圖示意地例示用於產生微電子電路的設計的方法,該方法遵循上方列出的原理。步驟701表示提供微電子電路的第一、預先設計。此第一設計定義經過微電子電路內邏輯單元及暫存器電路的處理路徑。
步驟702表示實施第一設計的延遲分佈分析。延遲分佈分析的目標是將微電子電路的邏輯單元依據它們可能產生的延遲量分類成延遲等級。步驟702的結果,微電子電路中將已知要設計的邏輯單元屬於特定的延遲等級。
步驟703表示將要設計為延遲關鍵邏輯單元的微電子電路的邏輯單元的子集區分。此子集為了命名的一致性可被稱為第一子集,並且區分是基於它們在延遲分佈分析中的一個或多個最長延遲等級中的出現。該表述「一個或多個最長延遲等級」是指雖然在上方第6圖的描述中建議只有第一等級的邏輯單元會被自動地視為關鍵的,但微電子電路的設計者可以決定屬於N最長延遲等級的所有邏輯單元均是關鍵的,其中,N是一正整數。相較於第6圖,我們可假定此處N=1。
步驟704表示藉由將監視單元與包含延遲關鍵邏輯單元的處理路徑相關聯來產生微電子電路的第二、中間設計。在第6圖的方案中,此意指放置監視器電路至步驟703中所發現的延遲關鍵暫存器電路:在步驟704中放置與暫存器電路622相關聯的監視器電路。
步驟705表示找到在上方不是被區分為延遲關鍵但卻是位在處理路徑上至少含有臨界數量的處理路徑而沒有相關聯的監視單元的邏輯單元。在第6圖的方案中,這是等同於找到(立即地)接著等級2或3的邏輯單元的暫存器電路,其後至少含有臨界數量的處理路徑而沒有配備監 視器電路的暫存器電路。步驟706表示藉由將監視單元與以此種方式找到的處理路徑相關聯來產上微電子電路的第三、另外設計。再次參考第6圖,此意指放置監視器電路至接著等級2或3的邏輯單元的暫存器電路,其後至少含有臨界數量的處理路徑而沒有配備監視器電路的暫存器電路。換言之,此意指放置監視器電路至暫存器電路642及661。步驟707表示輸出第三設計,作為該方法的結果。
上面已經指出定義什麼是關鍵數量的先前處理路徑的一種方式是將其定義為一數量的暫存器電路(而沒有相應的處理路徑通過的監視單元)。相較於第6圖,我們可假定此所謂的步驟尺寸是二。因此,舉例來說,監視器電路已經被放置至暫存器電路642,因為有行進經由它的處理路徑行進經由兩個先前暫存器電路(沒有監視器):舉例來說,經由電路元件601、612、623及632的處理路徑;或經由電路元件604、613、624及632的處理路徑。監視器已經被放置至暫存器電路661,因為有經過它的一個處理路徑(經由電路元件612、631、641及651而來)行進經過沒有監視器的兩個先前暫存器電路。
定義什麼是關鍵數量的先前處理路徑的另一種方式是將其定義為沿著個別處理路徑的電路元件依據延遲分佈分析可能產生的總延遲。並且此種的定義也可產生如第6圖中的微電子電路的設計。舉例來說,即使邏輯單元612及632皆足夠快以屬於第三延遲等級,它們預期產生的延遲的總和也可能大於變得關鍵的臨界數量的延遲。因此,例如沿著處理路徑603-612-623-632的電路元件的總延遲可能足夠大,足以正當化放置監視器至該暫存器電路642。
定義關鍵數量的處理路徑為總延遲、而不只是經由沒有監視器的先前電路的數個步驟,可稱為找到多週期關鍵路徑(MultiCycle Critical Path,MCCP)。MCCP是行進經過特定電路元件的一條處理路徑,以致於一段數位資料通過經由這些電路元件所花費的時間是兩個或多個時脈週期。特別地,該字「關鍵」指示這些電路元件沿著MCCP可能產生的總延遲是長於臨界值。
應該注意到的是,MCCP的定義不限於上升或下降邊緣是如何發生在觸發(時脈)訊號中。暫存器電路(像第1、3和4圖中的那些)是單邊緣觸發的:數位資料在輸入處的實際數值是於觸發訊號的各個上升邊緣處儲存在暫存器電路中。如果討論中的處理路徑中的所有暫存器電路均是這種類型,則所有延遲均表示為一個時脈週期的倍數。如果有其它種類的暫存器電路,例如雙邊緣觸發正反器、閂鎖器、脈波式閂鎖器及/或類似者,延遲的評估必需將那列入評估。
MCCP的更一般情況可以特性化成多控制事件關鍵路徑(Multiple Control Event Critical Path),其中,延遲的評估也必需將處理路徑列入考慮,在該處理路徑上,電路元件之間的行進時間可為時脈週期的非整數倍。舉例來說,如果暫存器電路是單邊緣觸發的正反器,則經由為三個控制事件長的MCCP通過資料需要三個時脈週期。如果暫存器電路是雙邊緣觸發的正反器或閂鎖器,則經由為三個控制事件長的MCCP通過資料需要一個半時脈週期。
為了利用監視器電路可在使用監視器電路的那些實施例中產生的TEO訊號,應該添加訊號收集電路。遵循第8圖中示意地顯示的原理,第一訊號收集電路801可以被配置為至少收集由與延遲關鍵暫存器電路相關聯的監視器電路產生的TEO訊號。這些是在處理路徑上接著屬於第一等級的邏輯單元(也就是預期產生最長延遲的邏輯單元)的暫存器電路。第二訊號收集電路802可以被配置為至少收集由與其它暫存器電路相關聯 的監視器電路的產生的TEO訊號。這些是在處理路徑上接著屬於第二及/或第三等級的邏輯單元的暫存器電路。訊號收集電路的範例是OR樹,其產生時序事件已經被偵測的指示,如果至少一個TEO訊號在連接至那個OR樹的任何監視器電路變為高。
可有單一、一般訊號收集電路,其配置為收集不僅與處理路徑上接著屬於第一等級的邏輯單元的暫存器電路相關聯的監視器電路產生的TEO訊號,也收集由接著屬於除了該第一等級外的任何其它等級的邏輯單元的暫存器電路相關聯的監視器電路產生的TEO訊號。然而,可有利地具有至少一些分別偵測能力用於發生在延遲關鍵暫存器電路的時序事件(訊號收集電路801)、以及用於發生在那些暫存器電路(其前僅有一關鍵數量的處理路徑(訊號收集電路802))中的時序事件。可利用偵測的時序事件來適配微電子電路或其部件的運作,並且這種適配可依據不同適配規則來進行,不同適配規則是基於在延遲關鍵暫存器電路中每單位時間所觀察的數量的時序事件(如果有的話)以及在其它暫存器電路中每單位時間所觀察的數量的時序事件(如果有的話)。
為了適配性,微電子電路必需包含一個或多個適配性處理路徑。處理路徑是適配性處理路徑,如果其一個或多個電路元件是適配性的,以致於處理路徑變成適配地響應對於一個或多個電路元件現有的運作參數的值。
在第8圖中,區塊803示意地表示微電子電路適應其至少一部分的運作的能力。此藉由使微電子電路的運作參數依據第一適配性規則以響應透過第一訊號收集電路801而收集的時序事件觀察訊號、並且依據第二適配性規則以響應透過該第二訊號收集電路802而收集的時序事件觀察訊號,假定運作參數值而作成。
適配微電子電路及其部件的運作也可在那些實施例中完成,其中,監視單元不是配備有監視器的暫存器電路,而是舉例來說複製路徑。例如,此可包含使微電子電路的運作參數依據第一適配性規則以響應經由第一群組的複製路徑所偵測的異常運作、以及依據第二適配性規則以響應經由第二群組的複製路徑所偵測的異常運作,假定運作參數值。
可能有放置暫存器電路或其它監視單元及收集TEO訊號或異常運作的其它指示的更精細策略。作為範例,我們可考慮一種案例,其中,第7圖中的步驟706包含基於兩個不同臨界數量的先前處理路徑放置監視器電路。首先,監視器電路可放置至暫存器電路的一個子集,該子集沒有在步驟703中被區分為延遲關鍵,但在處理路徑上前有至少第一臨界數量的處理路徑(其沒有配備監視器電路的暫存器電路)。之後,監視器電路可放置至暫存器電路的另一個子集,另一個子集沒有在步驟703中被區分為延遲關鍵暫存器電路,但在處理路徑上前有至少第二臨界數量(不同於該第一數量)的處理路徑(其沒有配備監視器電路的暫存器電路)。該方法可包含添加第一訊號收集電路以收集來自放置至第一提到的子集的暫存器電路的監視器電路的輸出的訊號、以及第二訊號收集電路以收集來自放置至接續原提到的子集的暫存器電路的該監視器電路的輸出的訊號。
從不同監視器電路收集TEO訊號的訊號收集電路越多,基於偵測的時序事件而適配微電子電路的運作的可能性就越多樣化。適配微電子電路的運作的範例是先進(或適配性)電壓調節,已知為AVS。基本上,它意指如果偵測到更多時序事件或異常運作的其它指示,則微電子電路的適配性部件的運作電壓也會增加,反之亦然。如果有不同的訊號收集電路(像上面所描述的那些),則可依據在何處觀察到不正常,而對於每單位時間可接受數量的時序事件或異常運作的其它指示的不同臨界值。並且,微電 子電路的運作模式可具有效應:舉例來說,AVS控制配置可能會決定不降低運作電壓,即使在延遲關鍵暫存器電路中沒有觀察到時序事件並且在其它暫存器電路非常少,如果微電子電路是在待機模式。這是因為待機模式意指有非常少的資料處理正在進行,因此,低數量的偵測的時序事件可能無法獨自決定整個情況。
上面參考第1圖,已經提到微電子電路可為DFT,也就是可測試性設計或測試設計(Design-For-Testing)。為了此目的,微電子電路可包含測試輸入佈置,其配置為控制地饋入由測試輸入值所組成的測試輸入訊號至該處理路徑的至少一者的複數個電路元件內。在像第1和3圖中的那些的暫存器電路中,測試輸入訊號將經由測試輸入SI而來。微電子電路可之後包含測試輸出佈置,其配置為控制地收集來自該處理路徑的該至少一者的複數個電路元件的測試輸出值。該測試輸出配置將包含早先提到的掃描鏈。
可實施快速測試於處理路徑,其包含具有監視器電路的暫存器電路(像在第1圖中)及沒有監視器電路的暫存器電路(像在第3圖中)兩者。測試輸入訊號(也就是,一系列的測試輸入值)可緩慢地時脈化,但維持TTBEN訊號為高位準,這將失能時間借用。之後,TTBEN訊號可設為低位準,致能時間借用,並且多個時脈週期可以功能性邏輯速度提供。此完成以擷取時序事件;提供至少像來自處理路徑上的未提到的暫存器電路直到那處理路徑上的下一個配備監視器的暫存器電路的步驟一樣多的時脈週期。測試輸出訊號的收集可之後包含收集已經由時序事件所引發的TEO訊號,時序事件於時脈週期期間以功能性邏輯速度發生。
可描述一種致能MCCP的快速測試的測試輸出佈置,以致於將其配置為可控制地收集來自一條的處理路徑,在該條處理路徑上,中 間階段包含與個別監視單元不相關聯的暫存器電路,並且接續階段包含與個別監視電路相關聯的暫存器電路。換言之,可進行MCCP的快速測試,以致於首先緩慢地將測試輸入訊號輸入到MCCP的起點。之後,像行進測試輸入訊號經由MCCP所花費一樣多的時脈週期以完全功能性速度給定,在時脈週期後,MCCP的輸出被擷取為測試輸出值。
可描述致能MCCP的快速測試的另一種測試輸出佈置,以致於將其配置為可控制地收集來自一條處理路徑的測試輸出值,在該條處理路徑上,至少一個中間階段包含能夠時間借用的暫存器電路。此處,時間借用的定義是上面已經使用的一者,也就是電路元件暫時性允許數位數值晚於預期變化的能力,而沒有破壞被處理的資料。能夠時間借用的暫存器電路因此允許處理路徑上在它前面的邏輯單元暫時地關於觸發訊號晚點提供其輸出值。
可組合DFT及適配性的概念。在系統層次上,也就是關於整個微電子電路,此意指可使用測試結果來選擇並設定用於適配性微電子電路及其部件的一個或多個運作參數的一個或多個新值。在電路元件的層級,該相同的也應用,以致於測試電路元件或一數量的電路元件可致能選擇並設定用於電路元件的一個或多個運作參數的一個或多個新值。
作為範例,執行MCCP的快速測試給出有關它是否可以此時脈速度及測試期間所使用的運作電壓適當地運作的資訊。如果是的話,特別地如果測試的結果在可接受的範圍內,則時脈頻率可提高及/或運作電壓可降低。在電路元件的層級上,參數(其數值可基於測試結果而改變)的額外範例是時間窗口的長度,時序事件於時間窗口期間被偵測。適配時間窗口的長度可藉由改變CP與CPD訊號之間的延遲而作成。
如果找到了微電子電路的MCCP,並且將其作為放置那個微電子電路的至少一些監視器電路的基礎,以及如果這些MCCP是額外地DFT,則可能會使用這些特徵用於特性化。從概念上說,特性化微電子電路、處理路徑或電路元件意指識別及量化其在與目標效能有關的不同運作條件下的效能。可使用特性化MCCP例如識別,依據第7圖中的步驟706所放置的監視器電路的數量及位置是否足以使處理路徑按期望運作。
特性化可舉例來說以接下來的方式進行。微電子電路是置於測試模式,並且依據該DFT方法學執行一數量的測試,以更改運作參數的值(像監視窗口的尺寸(也就是時間的長度))或在一個或多個處理路徑的一個或多個中間階段中所需要的該數量的時間借用。可以此方式找到用於運作參數的最佳值;最佳值是在測試中引發不超過可接受數量的事件但同時地最小化運作功率或其它資源的數量及/或最大化效能(就時脈速度或其它測量而言)的值。當已經找到最佳值時,將其儲存以用於正常運作模式,並且微電子電路是從DFT模式返回到正常運作模式。
對於具有先進技術的本領域中熟習技術者而言,該發明的基本想法可以各種方式實作是明顯的。該發明及其實施例因此不應限制至上方所描述的範例,而是它們可在申請專利範圍的範疇內變化。
601、603、604、612、613、623、624:電路元件
602、622、641、642、661、662:暫存器電路
611、631、632、651、652:邏輯單元

Claims (21)

  1. 一種微電子電路,包含:
    複數個邏輯單元及暫存器電路,該邏輯單元和暫存器電路佈置在複數個處理路徑中,以及
    複數個監視單元,係與該處理路徑中的個別處理路徑相關聯,各該監視單元配置為響應於該個別處理路徑的異常運作,以產生觀察訊號;
    其中,依據可能產生的延遲量,各該複數個邏輯單元屬於複數個延遲等級的一者,並且其中,該延遲等級包含第一、第二和第三等級,其中,該第一等級覆蓋可能產生最長延遲的邏輯單元,該第二等級覆蓋可能產生相較於該第一等級較短的延遲的邏輯單元,而該第三等級覆蓋可能產生相較於該第二等級較短的延遲的邏輯單元,
    其特徵在於:
    至少一些該複數個處理路徑包含屬於該第二等級但沒有監視單元的邏輯單元,以及
    至少一些該複數個處理路徑包含屬於該第三等級但具有與它們相關聯的監視單元的邏輯單元。
  2. 如申請專利範圍第1項所述之微電子電路,其中:
    該監視單元包含與個別該複數個暫存器電路相關聯的複數個監視器電路,該監視器電路配置為響應於該個別暫存器電路的輸入處的數位數值的改變,以產生個別時序事件觀察訊號,該改變是在晚於由該個別暫存器電路的觸發訊號所定義的允許時間限制而發生;
    在該處理路徑上接著屬於該第二等級的邏輯單元的至少一些該暫存器電路沒有監視器電路,以及
    至少一些該監視器電路與在該處理路徑接著屬於該第三等級的邏輯單元的暫存器電路相關聯。
  3. 如申請專利範圍第1或2項所述之微電子電路,其中,至少一些該處理路徑是適配性處理路徑,其效能可藉由使該微電子電路的運作參數假定為運作參數值來配置。
  4. 如申請專利範圍第2或3項所述之微電子電路,包含:
    第一訊號收集電路,係配置為至少收集與在該處理路徑上接著屬於該第一等級的邏輯單元的暫存器電路相關聯的該監視器電路產生該時序事件觀察訊號。
  5. 如申請專利範圍第4項所述之微電子電路,其中,該第一訊號收集電路配置為也收集與在該處理路徑上接著屬於除了該第一等級外的任何其它等級的邏輯單元的暫存器電路相關聯的該監視器電路產生的該時序事件觀察訊號。
  6. 如申請專利範圍第4項所述之微電子電路,包含:
    第二訊號收集電路,係配置為收集與在該處理路徑上接著屬於該第二和第三等級的至少一者的邏輯單元的暫存器電路相關聯的該監視器電路產生的該時序事件觀察訊號。
  7. 如申請專利範圍第6項所述之微電子電路,係配置為:
    透過該第一訊號收集電路收集時序事件觀察訊號,
    透過該第二訊號收集電路收集時序事件觀察訊號,
    藉由依據第一適配性規則使該微電子電路的運作參數假定為運作參數值以響應透過該第一訊號收集電路所收集的該時序事件觀察訊號,而適配該微電子電路的至少一部分的運作,以及
    藉由依據第二適配性規則使該微電子電路的運作參數假定為運作參數值以響應透過該第二訊號收集電路所收集的該時序事件觀察訊號,而適配該微電子電路的至少一部分的運作。
  8. 如申請專利範圍第7項所述之微電子電路,其中,該第一適配性規則是基於每單位時間透過該第一訊號收集電路所收集的第一數量的時序事件觀察訊號,而該第二適配性規則是基於每單位時間透過該第二訊號收集電路所收集的第二、不同數量的時序事件觀察訊號。
  9. 如申請專利範圍第1至8項中任一項所述之微電子電路,包含:
    測試輸入佈置,係配置為控制地饋入由測試輸入值所組成的測試輸入訊號進入該處理路徑的至少一者的複數個電路元件內,以及
    測試輸出佈置,係配置為控制地收集來自該處理路徑的該至少一者的該複數個電路元件的測試輸出值。
  10. 如申請專利範圍第9項所述之微電子電路,當依附於申請專利範圍第3項時,包含配置為基於收集的該測試輸出值選擇該運作參數值的運作參數值選擇器。
  11. 如申請專利範圍第9或10項所述之微電子電路,其中,該測試輸出佈置是配置為選擇地收集來自該複數個暫存器電路的資料輸出、該複數個監視器電路的時序事件觀察訊號輸出的至少一者的該測試輸出值。
  12. 如申請專利範圍第9至11項中任一項所述之微電子電路,其中,該測試輸出佈置是配置為控制地收集來自一條處理路徑的測試輸出值,在該條處理路徑上,中間階段包含與個別監視單元不相關聯的暫存器電路,而接續階段包含與個別監視電路相關聯的暫存器電路。
  13. 如申請專利範圍第9至11項中任一項所述之微電子電路,其中,該測試輸出佈置是配置為控制地收集來自一條處理路徑的測試輸出值,在該條處理路徑上,至少一個中間階段包含能夠時間借用的暫存器電路。
  14. 如申請專利範圍第1至13項中任一項所述之微電子電路,其中,至少一些該監視單元包含複製路徑,其配置為用已知輸入資料模擬該複數個處理路徑中的相應一者的運作。
  15. 一種用於產生微電子電路的設計的方法,包含:
    a)提供該微電子電路的第一、預先設計,該第一設計定義通過該微電子電路內的邏輯單元和暫存器電路的處理路徑,
    b)實施該第一設計的延遲分佈分析,以將該邏輯單元依據可能產生的延遲量分類成延遲等級,
    c)基於該邏輯單元的第一子集在該延遲分佈分析中的一個或多個最長延遲等級的出現將它們區分成延遲關鍵邏輯單元,
    d)藉由將監視單元與包含該延遲關鍵邏輯單元的處理路徑相關聯,產生該微電子電路的第二、中間設計,
    e)藉由將監視單元與處理路徑相關聯來產生該微電子電路的第三、另外設計,該處理路徑包含未在步驟c)中被區分為延遲關鍵邏輯單元的邏輯單元,並且至少含有沒有相關聯的監視單元的一臨界數目的處理路徑,以及
    f)輸出該第三設計作為該微電子電路的該設計。
  16. 如申請專利範圍第15項所述之方法,其中,該臨界數目的處理路徑是定義為沒有相關聯的監視單元的暫存器電路的數量,該個別處理路徑的暫存器電路通過相關聯的該監視單元。
  17. 如申請專利範圍第15或16項所述之方法,其中,該臨界數目的處理路徑是定義為該個別處理路徑的電路元件依據該延遲分佈分析可能產生的總延遲。
  18. 如申請專利範圍第15至17項中任一項所述之方法,其中:
    步驟d)包含放置監視器電路至在該處理路徑上緊跟在該延遲關鍵邏輯單元之後出現的暫存器電路,以及
    步驟e)包含放置監視器電路至暫存器電路,該暫存器電路在該處理路徑上緊跟在未在步驟c)中被區分為延遲關鍵邏輯單元的邏輯單元之後出現,但在該處理路徑上前有至少該臨界數目的處理路徑,該處理路徑沒有配備監視器的暫存器電路。
  19. 如申請專利範圍第18項所述之方法,其中,步驟e)包含添加一個或多個訊號收集電路,以收集來自該監視器電路的訊號,該監視器電路是放置至在該處理路徑上在未在步驟c)中被區分為延遲關鍵邏輯單元的邏輯單元之後出現的暫存器電路。
  20. 如申請專利範圍第15至19項中任一項所述之方法,其中,步驟e)包含:
    e1)將監視單元與處理路徑相關聯,該處理路徑包含未在步驟c)中被區分為延遲關鍵邏輯單元的邏輯單元的第二子集,並且至少含有第一臨界數目的處理路徑,該處理路徑沒有相關聯的監視單元,以及
    e2)將監視單元與處理路徑相關聯,該處理路徑包含未在步驟c)中被區分為延遲關鍵邏輯單元的邏輯單元的第三子集,並且至少含有不同於該第一數目的第二臨界數目的處理路徑,該處理路徑沒有相關聯的監視單元。
  21. 如申請專利範圍第20項所述之方法,當依附於申請專利範圍第18項時,其中,將監視單元與處理路徑相關聯包含放置監視器電路至那個處理路徑上的暫存器電路,並且步驟e)額外地包含:
    e3)添加第一訊號收集電路,以收集來自放置至接著該第二子集的邏輯單元的暫存器電路的監視器電路的輸出的訊號,以及
    e4)添加第二訊號收集電路,以收集來自放置至接著該第三子集的邏輯單元的暫存器電路的監視器電路的輸出的訊號。
TW108140096A 2018-11-27 2019-11-05 基於覆蓋率之微電子電路及用於提供微電子電路之設計的方法 TWI824055B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/FI2018/050857 WO2020109647A1 (en) 2018-11-27 2018-11-27 Coverage based microelectronic circuit, and method for providing a design of a microelectronic circuit
WOPCT/FI2018/050857 2018-11-27

Publications (2)

Publication Number Publication Date
TW202038053A true TW202038053A (zh) 2020-10-16
TWI824055B TWI824055B (zh) 2023-12-01

Family

ID=70852426

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108140096A TWI824055B (zh) 2018-11-27 2019-11-05 基於覆蓋率之微電子電路及用於提供微電子電路之設計的方法

Country Status (5)

Country Link
US (1) US11699012B2 (zh)
EP (1) EP3887957A4 (zh)
CN (1) CN113168495A (zh)
TW (1) TWI824055B (zh)
WO (1) WO2020109647A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI783310B (zh) * 2020-11-26 2022-11-11 華邦電子股份有限公司 計數方法以及計數裝置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020109647A1 (en) * 2018-11-27 2020-06-04 Minima Processor Oy Coverage based microelectronic circuit, and method for providing a design of a microelectronic circuit
EP3891893A4 (en) * 2018-12-05 2022-07-20 Minima Processor Oy REGISTER CIRCUIT WITH DATA EVENTS DETECTION AND METHOD OF DETECTING DATA EVENTS IN A REGISTER CIRCUIT

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101945301B1 (ko) 2009-10-16 2019-02-07 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치, 표시 장치 및 전자 장치
EP2662791A1 (en) * 2012-05-11 2013-11-13 Stichting IMEC Nederland A method and apparatus for monitoring timing of cricital paths
US10924098B2 (en) 2017-04-18 2021-02-16 Minima Processor Oy Sequential circuit with timing event detection and a method of detecting timing events
US10540463B1 (en) * 2018-02-13 2020-01-21 Xilinx, Inc. Placement of delay circuits for avoiding hold violations
US10503861B1 (en) * 2018-05-21 2019-12-10 Xilinx, Inc. Placing and routing an interface portion and a main portion of a circuit design
WO2020109647A1 (en) * 2018-11-27 2020-06-04 Minima Processor Oy Coverage based microelectronic circuit, and method for providing a design of a microelectronic circuit
US10963613B1 (en) * 2019-07-26 2021-03-30 Xilinx, Inc. Partial reconfiguration of integrated circuits using shell representation of platform design with extended routing region

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI783310B (zh) * 2020-11-26 2022-11-11 華邦電子股份有限公司 計數方法以及計數裝置

Also Published As

Publication number Publication date
CN113168495A (zh) 2021-07-23
TWI824055B (zh) 2023-12-01
US20220027541A1 (en) 2022-01-27
EP3887957A4 (en) 2022-07-20
WO2020109647A1 (en) 2020-06-04
EP3887957A1 (en) 2021-10-06
US11699012B2 (en) 2023-07-11

Similar Documents

Publication Publication Date Title
TWI824055B (zh) 基於覆蓋率之微電子電路及用於提供微電子電路之設計的方法
US5737340A (en) Multi-phase test point insertion for built-in self test of integrated circuits
US8010856B2 (en) Methods for analyzing scan chains, and for determining numbers or locations of hold time faults in scan chains
US7853846B2 (en) Locating hold time violations in scan chains by generating patterns on ATE
Konemann et al. Delay test: The next frontier for LSSD test systems
Putman et al. Enhanced timing-based transition delay testing for small delay defects
US8230283B2 (en) Method to test hold path faults using functional clocking
EP3867657B1 (en) Applications of adaptive microelectronic circuits that are designed for testability
US7650550B2 (en) Over temperature detection apparatus and method thereof
Berg et al. SEU analysis of complex circuits implemented in Actel RTAX-S FPGA devices
Min et al. IDDT testing versus IDDQ testing
US11894848B2 (en) Register circuit with detection of data events, and method for detecting data events in a register circuit
US20060195737A1 (en) System and method for characterization of certain operating characteristics of devices
Wang et al. Diagnosis of hold time defects
Ebrahimi et al. Detecting intermittent resistive faults in digital CMOS circuits
JP2008076121A (ja) ディレイ不良解析方法およびその装置
US10690722B1 (en) Methods and systems for efficient identification of glitch failures in integrated circuits
US10018672B2 (en) Reducing power requirements and switching during logic built-in-self-test and scan test
Lin et al. Speed binning with high-quality structural patterns from functional timing analysis (FTA)
TWI843754B (zh) 可測試性設計之適應性微電子電路的應用
Fang et al. Reproduction and detection of board-level functional failure
US8319518B2 (en) Detecting transitions in circuits during periodic detection windows
Tenentes et al. Diagnosis of power switches with power-distribution-network consideration
US20220021390A1 (en) Microelectronic circuit capable of selectively activating processing paths, and a method for activating processing paths in a microelectronic circuit
Fang et al. Deterministic test for the reproduction and detection of board-level functional failures