TW202029649A - 能夠選擇性啟動處理路徑之微電子電路及用於啟動微電子電路中之處理路徑的方法 - Google Patents

能夠選擇性啟動處理路徑之微電子電路及用於啟動微電子電路中之處理路徑的方法 Download PDF

Info

Publication number
TW202029649A
TW202029649A TW108140097A TW108140097A TW202029649A TW 202029649 A TW202029649 A TW 202029649A TW 108140097 A TW108140097 A TW 108140097A TW 108140097 A TW108140097 A TW 108140097A TW 202029649 A TW202029649 A TW 202029649A
Authority
TW
Taiwan
Prior art keywords
circuit
register
processing path
register circuit
logic unit
Prior art date
Application number
TW108140097A
Other languages
English (en)
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 TW202029649A publication Critical patent/TW202029649A/zh

Links

Images

Classifications

    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/1774Structural details of routing resources for global signals, e.g. clock, reset
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/28Modifications for introducing a time delay before switching
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/15013Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs
    • H03K5/1506Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with parallel driven output stages; with synchronously driven series connected output stages
    • H03K5/15093Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with parallel driven output stages; with synchronously driven series connected output stages using devices arranged in a shift register
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/153Arrangements in which a pulse is delivered at the instant when a predetermined characteristic of an input signal is present or at a fixed time interval after this instant
    • H03K5/1534Transition or edge detectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • 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/01Details
    • H03K3/013Modifications of generator to prevent operation by noise or interference
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Nonlinear Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Logic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

微電子電路,包含配置成複數處理路徑的複數邏輯單元和暫存器電路。至少一個監視器電路(404)是關聯於第一暫存器電路(301),該監視器電路(404)經組構以生產時序事件觀察訊號,以響應該第一暫存器電路(301)的輸入(D)處的數位數值的改變,該改變晚於至該第一暫存器電路(301)的觸發訊號(CP)所定義的允許時間限制舉行。第一處理路徑行經第一邏輯單元(501)至該第一暫存器電路(301),並且是因為可能產生之數量知延遲的延遲關鍵處理路徑。該微電子電路包含可控制資料事件注入點(503),用來可控制地產生行進至該第一邏輯單元(501)的數位數值的改變,不論在該第一處理路徑上處理什麼其它資料。該微電子電路經組構以凍結儲存在該第一暫存器電路(301)中的第一數位數值達一時間,在該時間期間,透過該可控制資料事件注入點(503)所產生的該改變行進至該第一暫存器電路。

Description

能夠選擇性啟動處理路徑之微電子電路及用於啟動微電子電路中之處理路徑的方法
本發明是關於包含用來偵測時序事件的內部監視器的微電子電路的科技。特別地,本發明考量一種方式,以該方式可確保從該監視器獲得相關結果,不論現在執行的酬載(payload)軟體如何。
時間借用在微電子電路意指電路元件被暫時地允許從接續階段借用時間,也就是晚於預期改變數位數值,如果在相同處理路徑上的該接續電路元件可掌控它,而沒有破壞正在處理的該資料。時間借用可舉例來說與AVS(Advanced Voltage Scaling;先進電壓調節)組合,以致於時間借用的發生可被偵測如時序事件,並且增加數目的偵測時序事件引發增加的運作電壓,反之亦然。該數目的偵測時序事件也可觸發其它補償動作,典型地涉及該電路的其它運作參數的數值的改變(像是時脈頻率舉例來說)、或暫時地改變時脈波形。
該微電子電路中的處理路徑行經邏輯單元和暫存器電路,以致於暫存器電路在觸發訊號的升或降緣(該暫存器電路是正反器)或該觸發訊號的高或低位準(如果該暫存器電路是閂鎖器)儲存先前邏輯單元的輸出數值。該觸發訊號的觸發緣或一些其它控制事件定義允許時間限制,在該允許時間限制前,數位數值必須出現在該暫存器電路的資料輸入處,以變成適當地儲存的。該允許時間限制不必然是該觸發緣的精確瞬間,但卻是因為實體效應(例如,有限速率(電壓位準以該有限速率改變))而定義在至它的一些關係中。該邏輯單元也可指組合式邏輯的片斷。
監視器電路是用來偵測時序事件。監視器電路是添加至或關聯於暫存器電路的電路元件或功能性,並組構以生產時序事件觀察(timing event observation;TEO)訊號,以響應該輸入數位數值的改變,該改變晚於該允許時間限制舉行。除了該實際監視器電路外,該微電子電路必須包含OR樹及/或用來收集、處理、以及分析來自該監視器電路的該TEO訊號的其它結構。
監視器電路的主要缺點是在於它們消耗電路面積和運作電能。放置監視器電路至正被設計的微電子電路內涉及妥協。相較於用於該微電子電路一開始設計時的電路面積和運作電能,監視器電路越多,則用來偵測時序事件的覆蓋性就越好,但同時地越多電路面積和運作電能被消耗用於其它目的
關於電路元件如何工作的知識允許微電子電路的設計者作出延遲分佈分析,其告訴各個電路元件將會對資料引發多少延遲,該資料通過該電路元件而進行。用來放置監視單元的簡單指南將涉及將該電路元件依據它們將引發多長延遲而分類成延遲等級,並將監視器僅放置在該處 理路徑上最長延遲等級的電路元件之後的那些暫存器電路中。然而,那將提供該問題的僅一部分解決方案,就許多原因而言。
第一、製造的微電子電路之間的個別變異讓哪個電路元件將實際地是該關鍵者不確定。依據該延遲分佈分析而僅屬於該第二或第三最長延遲等級的電路元件有可能實際地是真實生活製造的電路中的最關鍵電路元件。第二、執行的軟體有可能使得(至少在特定情況下)它沒有使用行進通過該最關鍵電路元件的那些處理路徑,用於延伸的時間周期,以致於應該實際地被偵測到的時序事件在該延遲分佈分析中在不被認為是關鍵的那些處理路徑上舉行。第三、即使資料(也)正在流動通過該關鍵處理路徑,可發生資料在瞬間含有延伸序列的常數(不改變)的數位數值,其自然地讓在那些路徑上偵測任何例外事件成為不可能,因為時序事件可僅發生於數位數值在暫存器電路的輸入處改變時。
對於設計微電子電路的任務的額外複雜性來自可測試性的需求。DFT(可測試性設計(Designed For Testability)、或測試設計(Design-For-Test))的概念已經變成事實上的工業標準,其定義用於測試微電子電路的特定步驟。作為一範例,應該可能選擇地耦接該微電子電路中所含有的該暫存器電路至主要地作為移位暫存器而運作的長鏈(long chain);一串數位數值可從一端饋入,並從另一端讀出。將已知測試圖案通過經由這種鏈的暫存器電路並且在該輸出處核對其形式,決定該鏈中的所有暫存器電路是否正在如希望的改變它們的狀態、或是否有暫存器電路固定在一些特別數值(固定型故障測試(stuck-at fault test))。快速故障測試(at-speed fault test)涉及以低時脈速度緩慢地饋入測試圖案,之後以完全運作速度給出一個或更多個時脈脈波,以致於該測試圖案在該鏈中以功能 性邏輯速度進行與時脈脈波一樣多的步驟,並且最終再次以低時脈速度結束(clock out)該測試圖案。該快速測試可給出關於暫存器電路是慢於意圖的資訊。如果涉及監視器電路和時間借用能力,則這些也應該是可測試的。
本發明的目的是提出微電子電路、微電子電路的電路元件、以及用來運作致能偵測在延遲關鍵處理路徑上的時序事件的可能發生的微電子電路的方法,即使於該微電子電路的正常運作將讓這種偵測不確定或不可能。另一個目的是允許實施這種偵測,而沒有干擾該微電子電路的正常運作。另外目的是致能上方描述的種類的偵測與先進電壓調節的組合。又另一個目的是組合此種類的功能與DFT匹配性。
本發明的該目的藉由可控制資料事件注入點的適當設計而達成,其用來可控制地產生在延遲關鍵處理路徑上行進的數位數值的改變,不論該處理路徑上是處理什麼其它資料。
依據第一態樣,有提供包含複數邏輯單元和暫存器電路的微電子電路。該邏輯單元和暫存器電路是配置成複數處理路徑。該微電子電路包含關聯於該複數暫存器電路的第一暫存器電路的至少一個監視器電路。該監視器電路經組構以生產時序事件觀察訊號,以響應在該第一暫存器電路的輸入處的數位數值的改變,該改變晚於由至該第一暫存器電路的觸發訊號所定義的允許時間限制舉行。該複數處理路徑的第一處理路徑行經該複數邏輯單元的第一邏輯單元至該第一暫存器電路。該第一處理路徑是因為可能產生之數量之延遲的延遲關鍵處理路徑。該微電子電路在引至 該第一邏輯單元的該第一處理路徑上包含可控制資料事件注入點,用來可控制地產生行進至該第一邏輯單元的數位數值的改變,不論該第一處理路徑上是處理什麼其它資料。該微電子電路經組構以凍結儲存在該第一暫存器電路中的第一數位數值達一時間,在該時間期間,透過該可控制資料事件注入點所產生的該改變行進至該第一暫存器電路。
依據實施例,該第一暫存器電路包含資料輸入、資料輸出、以及在該資料輸入與資料輸出之間的串聯連接的第一次暫存器階段(subregister stage)和第二次暫存器階段。該第一和第二次暫存器階段的各者具有個別觸發訊號輸入。該微電子電路經組構以藉由暫時地防止饋入至該第一和第二次暫存器階段的該觸發訊號輸入的訊號的改變,而實施該第一數位數值的該凍結。此具有利用簡單但可靠的機制用來凍結該第一數位數值的優點。
依據實施例,該微電子電路的控制單元經組構以藉由改變控制訊號的數值,而初始化行進至該第一邏輯單元的該數位數值的該改變的可控制的產生。該微電子電路包含閘控(gating)單元,用來以該控制訊號閘控將至該第一次暫存器階段的該觸發訊號輸入的訊號。此具有現在簡單但可靠的機制用來控制關於一個或更多個處理路徑的啟動的事件的優點。
依據實施例,該控制單元經組構以初始化行進至該第一邏輯單元的該數位數值的該改變的可控制的產生,以響應被執行的程式中的非運作指令的發生。此具有啟動一個或更多個處理路徑並不會對資料在該微電子電路中的處理方式引發任何干擾的優點。
依據實施例,該微電子電路在來到該第一邏輯單元的一個或更多個其它處理路徑上包含一個或更多個未阻擋(unblocking)單元。該一個或更多個未阻擋單元是組構以防止該一個或更多個其它處理路徑上的訊號 阻擋該數位數值的該產生的改變行進經過該第一邏輯單元至該第一暫存器電路。此具有可確保該可控制地注入的資料事件到達其預定目的地而沒有變成被阻擋的優點。
依據實施例,該微電子電路的至少一部分由適配性電路元件組成,該適配性電路元件的效能可藉由讓該微電子電路的一個或更多個運作參數各假定個別運作參數數值,而加以組構。此具有專屬處理路徑的可選擇啟動可組合至該微電子電路的運作的適配的優點。
依據實施例,該一個或更多個運作參數包含下列的一者或更多者:運作電壓、觸發訊號的頻率、以及時序事件偵測窗口的長度。此具有利用多變的可能性用來適配該微電子電路的運作的優點。
依據第二態樣,有提供用來暫時地儲存在微電子電路的處理路徑上的數位數值的暫存器電路。該暫存器電路包含資料輸入、資料輸出、以及沿著在該資料輸入與資料輸出之間的資料行進路徑串聯的第一次暫存器階段與和第二次暫存器階段。該暫存器電路包含用來接收觸發訊號的觸發事件輸入,該觸發訊號的觸發緣定義允許時間限制,在該允許時間限制前,數位數值必須出現在該第一次暫存器階段的資料輸入處,以變成暫時地儲存的。該暫存器電路包含時序事件觀察階段,耦接至該資料行進路徑並且組構以在該暫存器電路的輸出處輸出時序事件觀察訊號,以指示在該資料輸入處的該數位數值在時間窗口內已經改變,該時間窗口開始於該允許時間限制並且短於該觸發訊號的一個週期(cycle)。該暫存器電路包含耦接至該第一次暫存器階段的延遲觸發事件輸入,用來在該第一次暫存器階段接收延遲觸發訊號,該延遲觸發訊號的觸發緣定義該時間窗口的結束。該暫存器電路包含用來接收控制訊號的控制訊號輸入、以及用來以該控制 訊號閘控將至該第一次暫存器階段的該延遲觸發事件輸入的該延遲觸發訊號的閘控單元。
依據實施例,該暫存器電路是適配性暫存器電路,其效能可藉由讓該暫存器電路的一個或更多個運作參數各假定個別運作參數數值,而加以組構。此優點在於該暫存器電路可經由適配其運作參數的數值而在該微電子電路中貢獻電能節省。
依據第三態樣,有提供用來運作微電子電路的方法。該方法包含在該微電子電路的延遲關鍵處理路徑上的不啟動(inactivity)時期期間,藉由可控制地產生行進至該延遲關鍵處理路徑上的第一邏輯單元的數位數值的改變,可啟動該延遲關鍵處理路徑。該方法包含凍結儲存在該第一暫存器電路中的第一數位數值達一時間,在該時間期間,該可控制地產生的改變行進至位在該延遲關鍵處理路徑上的該第一邏輯單元後的第一暫存器電路。
依據實施例,該不啟動時期不是藉由失能(disable)用於一個或更多個時脈週期的時脈訊號而蓄意地產生的不啟動時期、就是該微電子電路中的非運作指令的發生。此具有多樣的可能性用來選擇處理路徑的啟動的執行的瞬時的優點。
依據實施例,藉由防止觸發訊號觸發該第一暫存器電路中的至少一個次暫存器階段,而作成該第一數位數值的該凍結。此具有利用簡單但可靠的機制用來凍結該第一數位數值的優點。
依據實施例,該方法包含防止來自其它處理路徑至該第一邏輯單元的數位數值阻擋該可控制地產生的改變行進經過該第一邏輯單元至該第一暫存器電路。此優點在於可確保該可控制地注入的資料事件到達其預定目的地而沒有變成被阻擋。
依據實施例,該方法包含使用該可控制地產生的改變,以偵測長於允許限制的延遲是否發生在該第一邏輯單元中,並且藉由讓運作參數假定運作參數數值,而適配該微電子電路的效能,視長於該允許限制的延遲是否被偵測到發生在該第一邏輯單元中而定。此優點在於可作出關於適配該微電子電路的效能的教育性和準確的決定。
依據第四態樣,有提供電腦可讀取媒體,具有電腦可讀取程式產品儲存於其上,該電腦可讀取程式產品包含一組或更多組的一個或更多個電腦可讀取指令,其於由一個或更多個處理器執行時,是組構以引發用來運作微電子電路的方法的執行。該方法在此處意指包含在該微電子電路的延遲關鍵處理路徑上的不啟動時期期間,藉由可控制地產生行進至該延遲關鍵處理路徑上的第一邏輯單元的數位數值的改變,而啟動該延遲關鍵處理路徑,以及凍結儲存在該第一暫存器電路中的第一數位數值達一時間,在該時間期間,該可控制地產生的改變行進至位在該延遲關鍵處理路徑上的該第一邏輯單元後的第一暫存器電路。
101:第一次暫存器階段
102:第二次暫存器階段
103:多工器
105:監視器電路
106:多工器
107:AND閘
108:NOR閘
301:暫存器電路
302:資料輸入
303:資料輸出
304:觸發事件輸入
305:延遲觸發事件輸入
306:輸出
307:控制訊號輸入
310:暫存器電路
401:第一次暫存器階段
402:第二次暫存器階段
403:時序事件觀察階段
404:監視器電路
405:NOR閘
406:閘控單元
501:邏輯單元
502:暫存器電路
503:可控制資料事件注入點、XOR閘
601、602:時脈週期
701至707:步驟
801:暫存器電路
802:邏輯單元
803、804:暫存器電路
901:OR閘
1001、1003、1004、1005:暫存器電路
1002:邏輯單元
1101、1102:AND閘
1103:第一多工器
1104:第二多工器
1201、1202、1203:多工器
1204:邏輯單元
1301:處理路徑
1302:控制單元
1303:訊號收集電路
1304:區塊
1305:測試輸入配置
1306:測試輸出配置
1401至1407:狀態
A、B、C:暫存器電路
CDN:控制訊號
CKP:觸發訊號
CP:觸發訊號、時脈訊號
CPD:觸發訊號、時脈訊號、延遲觸發訊號
CPN:時脈訊號、反向的時脈訊號
CPP:時脈脈波輸入、觸發輸入
CP_sys:訊號、系統時脈、系統時脈訊號
D、D1:資料輸入
DEG:控制訊號
DEG_sys:訊號
i1、i2:資料輸入
Q、q1、q2:資料輸出
Q0、Qx:輸出
R:暫存器電路、邏輯功能、數值
RP:數值
SE:控制訊號
SI:測試輸入
TCPDG:訊號
TE:時序事件輸出
TEO:時序事件觀察訊號
TTBEN、TMSE、TMTEOH:控制訊號
包括以提供進一步了解本發明並構成此說明書的一部分的伴隨圖式例示本發明的實施例,且連同該描述有助於解釋本發明的原理。在該圖式中:
第1圖例示允許時間借用的暫存器電路,
第2圖例示關聯於第1圖的該暫存器電路的一些訊號的波形,
第3圖例示允許啟動處理路徑的暫存器電路的兩個範例,
第4圖例示顯示在第3圖中的種類的一個暫存器電路的範例實作,
第5圖例示處理路徑的一部分,
第6圖例示關聯於第5圖的該處理路徑的一些訊號的波形,
第7圖例示產生DEG訊號的範例,
第8圖例示沒有未阻擋的處理路徑,
第9圖例示具有未阻擋的處理路徑,
第10圖例示沒有未阻擋的處理路徑,
第11圖例示具有未阻擋的處理路徑,
第12圖例示具有未阻擋的處理路徑,
第13圖例示微電子電路,以及
第14圖例示方法。
在下文中,將描述微電子電路和用於它們的設計和運作的方法。典型的微電子電路包含複數邏輯單元和暫存器電路,配置成複數處理路徑。處理路徑是一序列的電路元件,數位資料可通過經由該序列的電路元件,以致於它在邏輯單元被處理,並且暫時地儲存在位於該處理路徑上的連續邏輯單元之間的暫存器電路中。該微電子電路執行的軟體定義在任何給定時間哪個處理路徑以哪個方式使用。
為了提供之後解釋的一些細節的較佳了解,參考第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的該觸發訊號輸入。
第1圖的該暫存器電路包含或關聯於監視器電路105,其組構以生產時序事件觀察(TEO)訊號,以響應在該暫存器電路的該資料輸入D處的數位數值中的改變,該改變是晚於允許時間限制舉行。該時間限制是由該時脈訊號CP並由該適當電路元件的實體特性定義。簡單言之,在該資料輸入D處的該數位數值應該剛好在該時脈訊號CP的觸發緣前假定其適當數值,以致於如果假設在該觸發緣前來到的改變在它之後來到,它就是晚的。實際上,有像是有限上升和下降時間的因素,其意指該允許時間限制不是剛好該觸發緣的瞬間,而是典型地稍微較早。在一些特別案例中,它甚至是稍微較晚。
該監視器電路105的該資料輸入D1接收行進進入該第一次暫存器階段101的該資料輸入i1的副本(copy)。該監視器電路105的該時 脈脈波輸入CPP接收定義該允許時間限制的觸發訊號,在該允許時間限制後,在該暫存器電路的該資料輸入處的該數位數值的改變是晚的。在該時脈脈波輸入CPP處所接收的該觸發訊號可定義該所謂的TEO窗口,以致於它也定義結束限制,在該結束限制後,該監視器電路105不再對該輸入資料中的改變反應。
在其時序事件輸出TE處,該監視器電路105是組構以生產該TEO訊號。此處吾人假定訊號位準協定,依據該訊號位準協定,該TEO訊號是正常地低(low),但在觀察時序事件的瞬間行進至高(high)並保持高直到該時脈週期結束為止,在該時脈週期期間,觀察該時序事件。在該控制訊號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閘108的另一個輸入接收該時脈訊號CP的反向CPN。行進進入該監視器電路105的該觸發輸入CPP的該觸發訊號CKP在該時脈的升緣與延遲的時脈訊號CP和CPD之間的持續時間是高的。當該訊號TCPDG行進成高的,其反向行進成低的,並且該AND閘107的輸出保持低的。此讓該觸發訊號CKP和該反向的時脈訊號CPN的反向也就是等於該時脈訊號CP。
該監視器電路105內部地實施的精確方式不太重要,只要它能夠實施本文中所描述的功能即可。監視器電路的實體實作的範例是發現在舉例來說第PCT/FI2017/050290號專利申請案中。
不建議將微電子電路的各個和每一個暫存器電路均配備具有監視器電路,因為該監視器電路消耗該微電子電路內的電路面積和運作 電能。監視器電路最佳使用於被放置在最可能引發最長延遲的那些邏輯單元後。可於設計該微電子電路期間,以適合分析工具發現這些。來自該監視器電路的該TEO訊號可使用於舉例來說AVS(先進電壓調節),舉例來說以致於如果每單位時間偵測的時序事件的數目變得高於允許限制,則增加運作電壓。
然而,這種控制策略可能無法適當地工作,如果來自處理路徑的TEO訊號的缺少(或低數目)是由那處理路徑中的小數目的資料事件、而不是由足夠地快工作的該邏輯單元引發。資料事件是數位數值的故意改變。如果處理路徑目前沒有得到任何數位資料用以處理、或如果為了一些原因行經那處理路徑中的配備監視器的暫存器電路的該數位資料是由非常長序列的恒定、不變的數值組成,則將沒有TEO訊號,即使那處理路徑中的一個或更多個邏輯單元已經不允許地慢工作。此可引致一情況,在該情況中,該運作電壓是降低得非常多,以致於過多延遲甚至開始發生在這種處理路徑(其在設計該微電子電路時不被視為關鍵的,並且因此沒有配備監視器在它們的暫存器電路中)上。
因此,提供具有蓄意地啟動延遲關鍵處理路徑的能力的該微電子電路是有利的。在包含複數處理路徑的微電子電路中,特別處理路徑因為可能產生的數量的延遲而是延遲關鍵。找出各種處理路徑可能產生的延遲是一種如所知的技術,並且構成分析正在設計的微電子電路的例常部分。特別處理路徑可因為在那處理路徑上的單一、特別地傾向延遲的邏輯單元可能產生的該數量的延遲、及/或因為在那處理路徑上的連續邏輯單元總共可能產生的組合數量的延遲,而為延遲關鍵。藉由放置來自該產生延遲的電路元件(能夠時序事件偵測並且可額外地能夠時間借用的暫存器電路)於其中而將處理路徑的延遲關鍵性列入考慮是有利的。
啟動延遲關鍵處理路徑在本文中意指可控制地產生在討論中的該處理路徑上行進的數位數值的改變的動作。這種數位數值的可控制地產生的改變可發生,不論討論中的該處理路徑上現在處理的是什麼其它資料(如果有的話)。對於這種啟動的需求來自完全沒有數位數值正在行進在那處理路徑上的事實、及/或來自有長序列的恒定、不變的數位數值行進在那處理路徑上的事實。為了不破壞該「實際」數位資料,如果有這種的話,建議凍結儲存在該啟動的延遲關鍵處理路徑上的一個或更多個暫存器電路中的數位數值達該時間,在該時間期間,該「人工地」產生的改變行進至這種暫存器電路。
第3圖在左方例示暫存器電路301,用來暫時地儲存微電子電路的處理路徑上的數位數值。第4圖顯示一種方式的更詳細範例,以該種方式,該暫存器電路301可製作具有兩個次暫存器階段(此處:閂鎖器)和監視器電路。該暫存器電路301包含資料輸入302和資料輸出303,也分別以符號D和Q標記。第一次暫存器階段401和第二次暫存器階段402沿著在該資料輸入302與該資料輸出303之間的該資料行進路徑串聯耦接。
該暫存器電路301包含用來接收觸發訊號的觸發事件輸入304,該觸發訊號的觸發緣定義允許時間限制,在該允許時間限制前,數位數值應該出現在該第一次暫存器階段401的資料輸入i1處,以依據適當時序的規則而變成暫時地儲存的。該暫存器電路301也包含耦接至該資料行進路徑(此處:至該第一次暫存器階段401的該資料輸入i1)的時序事件觀察階段403。該時序事件觀察階段403經組構以在該暫存器電路301的輸出306處輸出時序事件觀察訊號TEO,以指示在該資料輸入處的數位數值 已經晚改變。「晚」的定義在此處是在時間窗口內,該時間窗口開始於該允許時間限制並且短於該觸發訊號的一個週期。
該時序事件觀察階段403此處是顯示包含監視器電路404和NOR閘405,該NOR閘405是用來形成觸發該監視器電路404的該觸發訊號CKP。
該暫存器電路301包含延遲觸發事件輸入305,其耦接至該第一次暫存器階段401並且提供用來在該第一次暫存器階段401中接收延遲觸發訊號CPD。該延遲觸發訊號CPD中的觸發緣定義上方提到的該時間窗口的結束。該觸發訊號CP和CPD的角色相同於上方關於第1圖和第2圖:用來允許和偵測該資料輸入中的晚改變的該時間窗口是在該觸發訊號CP的升緣與該延遲觸發訊號CPD的下一個升緣之間。至該NOR閘405的該輸入是該延遲觸發訊號CPD和該觸發訊號CP的反向CPN。
該暫存器電路301也包含控制訊號輸入307,用來接收控制訊號DEG、或資料事件產生。閘控單元406用來使用該控制訊號DEG,以閘控行進該第一次暫存器電路401的該延遲觸發事件輸入的該延遲觸發訊號。因為在該第一次暫存器電路401的該延遲觸發事件輸入處的該反相器,該閘控以接下來方式工作。當該控制訊號DEG是低時,該第一次暫存器階段401於該延遲觸發訊號CPD是低時致能,並且於它是高時失能。當該控制訊號DEG是高時,該閘控單元406的輸出保持高,並且該第一次暫存器階段401恒定地失能。該第一次暫存器階段401的這種失能凍結正在儲存在該暫存器電路301中的該數位數值,因為該第一次暫存器階段401當它是失能時無法讀進任何新數值。
第3圖在右方顯示另一個暫存器電路310,用來暫時地儲存微電子電路的處理路徑上的數位數值。與左方的該暫存器電路301不同的 是,右方的該暫存器電路310沒有支援時間借用。因此,它不需要具有該輸入CPD用於延遲的時脈訊號。第3圖也強調為了暫時地儲存數位數值,該暫存器電路301和310不需要包含正反器(flip-flop),但可取代地包含閂鎖器(latch)。
第5圖顯示微電子電路的延遲關鍵處理路徑的一部分。在第5圖中的右方是上方參考第3圖和第4圖描述的種類的暫存器電路301。在第5圖的中間是邏輯單元501,以致於此處所考慮的該處理路徑行經該邏輯單元501至該暫存器電路301。在該處理路徑上在該邏輯單元501前面的該電路元件是另一個暫存器電路502。
該微電子電路包含可控制資料事件注入點503在該處理路徑的那部分上,其引致該第一邏輯單元501。資料事件是數位數值的故意改變。因此,該可控制資料事件注入點503是提供用來可控制地產生行進至該邏輯單元501的數位數值的改變,不論該處理路徑上是處理什麼其它資料。在此範例實施例中,該可控制資料事件注入點503包含XOR閘,其輸入為該控制訊號DEG和該另一個暫存器電路502的輸出Q0。
第6圖顯示如何特定訊號可看起來像是在包含該延遲關鍵處理路徑的微電子電路中,第5圖顯示該延遲關鍵處理路徑的一部分。最頂部波形例示訊號CP_sys,其是定義主要時脈頻率的系統時脈並且提供遍及該微電子電路的一串流的觸發事件。該第二波形例示為系統層級控制訊號的訊號DEG_sys,一片斷的控制軟體可使用該為系統層級控制訊號以初始化一個或更多個延遲關鍵處理路徑的啟動。在第6圖的範例中,該訊號DEG_sys於稍微該時脈週期601的開始前行至高,但此僅為範例:該訊號DEG_sys應該在該時脈週期的哪個點改變其數值沒有特別規定。
第6圖中的第五波形例示該控制訊號DEG,其為該控制訊號,用來可控制地產生用來啟動該延遲關鍵處理路徑的數位數值的個別改變。該控制訊號DEG也用來凍結有關暫存器電路中的暫時地儲存的數位數值,以為了不允許該啟動破壞實際處理的資料。該控制訊號DEG中的該升緣同步於該系統時脈CP_sys中接著該訊號DEG_sys中的升緣的升緣。該控制訊號DEG中的接續降緣同步於該延遲觸發訊號CPD中接著該訊號DEG_sys中的降緣的升緣。該延遲觸發訊號CPD是顯示如第6圖中的第四波形,並且它是(如其名稱所說的)延遲版本的該系統時脈訊號CP_sys。
該訊號DEG的升緣是繪示成發生同步於該系統時脈訊號CP_sys中的對應升緣。實際上,可能有一些不可避免的實體延遲,但這個的時序態樣可在數位邏輯實作期間使用標準時序分析工具和限制列入考慮。類似地,該訊號DEG的降緣可於稍晚於該訊號CPD中的對應升緣舉行。
第6圖中的第三波形例示觸發訊號CP,其是以在該系統時脈訊號CP_sys與該控制訊號DEG之間的OR功能形成。此是觸發該暫存器電路301中的該第二次暫存器階段402、也是觸發該另一個暫存器電路502(討論中的該處理路徑從該另一個暫存器電路502來到該邏輯單元501)的該觸發訊號。如第6圖中所顯示的,該觸發訊號CP中的脈波是暫時地失能達一時間的時期,該控制訊號DEG於該時間是高的。當該控制訊號DEG行至低時,該觸發訊號CP繼續跟著該系統時脈訊號CP_sys。
該延遲關鍵處理路徑的啟動工作如下。當該訊號DEG_sys行至高時,該控制訊號DEG也行至高。此引發該暫存器電路301中的該第一次暫存器階段401被失能。同時地,該觸發訊號CP暫時地停止供應時脈至該第二次暫存器階段402。這些動作一起意指現在儲存在該暫存器電 路301的數位數值是凍結的。大致上,可特性化該微電子電路經組構以藉由暫時地防止饋入該第一和第二次暫存器階段401和402的該觸發訊號輸入的該訊號的改變,而實施儲存在該暫存器電路301中的該數位數值的該凍結。
在該另一個暫存器電路502與該邏輯單元501之間的該XOR閘503在其上輸入處接收高數值。此引發其輸出的改變,因為如果該另一個暫存器電路502的該輸出Q0是高,則該XOR功能的結果是低,並且如果該另一個暫存器電路502的該輸出Q0是低,則該XOR功能的結果是高。此數位數值的改變進行至該邏輯單元501並且復至該暫存器電路301的該資料輸入D。如果它及時到達那裏(也就是,在該時脈週期601內),則沒有事情發生,因為該第一次暫存器階段401是失能的,並且沒有讀入它,並且因為該監視器電路404沒有偵測時序事件。如果它晚到達(也就是,在該時脈週期602的第一部分內),則該CKP訊號中的脈波(其為至該監視器電路404的該觸發訊號)已經開啟該時序事件偵測窗口,並且該監視器電路404生產TEO訊號。
上方提到的那個成立,只要該時序事件偵測窗口是如在第5圖和第6圖中所定義的,也就是以致於它是真正並且唯一用來偵測時序事件。在一些案例中,如果監視器電路可用來額外地(或替換地)資料事件偵測,則是有利的。換言之,該監視器電路可組構以生產資料事件觀察訊號,其考量數位資料的改變到底有無發生。為了那個目的,有其它替換用來相對於該允許時間限制定位該偵測窗口,在該允許時間限制時或前,數位數值在該監視的暫存器電路的該輸入應該改變。在第6圖的範例中,該CKP訊號中的高脈波可位於分離該時脈週期601和602的線的左手側,或它可從時脈週期601的結束的一部分延伸至時脈週期602的開始的一部分。
第7圖例示產生控制訊號DEG的範例,以致於它符合上方參考第6圖已經說過的。依據步驟701,該方法於該訊號DEG_sys行至高時開始。步驟702中的環圈(loop)代表等待該系統時脈訊號CP_sys中的下一個升緣,在該升緣的發生處,該控制訊號DEG依據步驟703設定。步驟704和705的連續環圈代表首先等待該訊號DEG_sys行至低並且之後等待該延遲的時脈訊號CPD中的下一個升緣,在該下一個升緣的發生處,該控制訊號DEG依據步驟706重置。此範例方法在步驟707中結束。
該延遲關鍵處理路徑的該描述的啟動如意圖工作,只要可確保在該可控制資料事件注入點503處所產生的數位資料的改變的確進行至該暫存器電路301的該資料輸入D。在一些案例中,有可能此沒有發生,但所謂的阻擋發生。此可能性接著參考第8圖描述。
第8圖例示微電子電路中的處理路徑的一部分。暫存器電路801是提供用來暫時地儲存出現在邏輯單元802的輸出處的數位數值。另一個暫存器電路803在該處理路徑上的該邏輯單元802前面。該處理路徑803-802-801在此處是假定為該延遲關鍵處理路徑。
有又另一個暫存器電路804,其輸出是至該邏輯單元802的另一個輸入。該邏輯單元802基本上實作分別在該暫存器電路803和804的該輸出Q0和Qx之間的AND功能。此意指(還有其它)如果先前已經是低的該暫存器電路803的該輸出Q0行至高,則數位資料的改變沒有行進經過該邏輯單元802至該暫存器電路801的該資料輸入D,除非暫存器電路804的輸出Qx也是高。
如果有可控制資料事件注入點在暫存器電路803與該邏輯單元802之間,並且如果此可控制資料事件注入點產生資料事件(其中,行至該延遲關鍵處理路徑上的該邏輯單元802的數位數值行至高),則這種資 料事件將不會行進至該暫存器電路801,因為它被來自暫存器電路804的不匹配同時性其它訊號阻擋。
此種類的可能阻擋可藉由提供一個或更多個未阻擋單元在那個或那些其它處理路徑(其來到阻擋可能發生的該邏輯單元)加以防止。這些未阻擋單元應予以組構以防止該其它處理路徑上的訊號阻擋數位數值的改變行進經過該邏輯單元至接下來的暫存器電路。可選擇該未阻擋單元的精確實作,當那個邏輯單元的結構和運作已知何處阻擋可能發生時。
第9圖例示範例,其中來自第5圖和第8圖的元件已經組合。第5圖的該邏輯單元501在此處是假定基本上是像在第8圖中的AND功能,並且,在該延遲關鍵處理路徑上接著它的該暫存器電路301能夠時間借用和時序事件偵測,像在第5圖中。該可控制資料事件注入點503是XOR閘,其組合該控制訊號DEG和該延遲關鍵處理路徑的先前暫存器電路502的輸出Q0。
該未阻擋單元是OR閘901,其組合該控制訊號DEG和其它暫存器電路804的輸出Qx。已經選擇具有該DEG訊號作為一個輸入的OR閘作為此處的該未阻擋單元,因為該延遲關鍵處理路徑上的該邏輯單元501的該結構和運作:在此特別案例中,確保該延遲關鍵處理路徑上的該產生的資料事件的正確行進需要來自該其它處理路徑的該訊號是高的,每當該控制訊號DEG是高的,也就是,每當舉行該延遲關鍵處理路徑的啟動。
參考第10圖至第12圖顯示未阻擋的更一般性範例。第10圖例示微電子電路中的處理路徑的一部分。暫存器電路1001(在此處也標記為該暫存器電路R)是提供以暫時地儲存出現在邏輯單元1002的輸出處的數位數值。另一個暫存器電路1003(此處該暫存器電路A)在該處理路徑 上的該邏輯單元1002前面。該處理路徑1003-1002-1001在此處是假定為該延遲關鍵處理路徑。
有兩個其它暫存器電路1004和1005(此處該暫存器電路B和C),其輸出復輸入至該邏輯單元1002。該邏輯單元1002在來自第10圖的該暫存器電路的該線上所接收的該數位數值可以相同於該暫存器電路它們自身的字母標記。該邏輯單元1002實施邏輯功能R=C!A!B+!AB+A!B+AB,其中,驚歎號「!」意然該立即地接著的數值的反相。此功能的真值表是顯示在第10圖的右方。
啟動該延遲關鍵處理路徑意指如果暫存器電路1001中的最後儲存數值R是0,則它必須被改變成1,並且如果暫存器電路1001的最後儲存數值是1,則它必須被改變成0。有4種可能情節:
-如何作成R=0,當A=0時?
-如何作成R=1,當A=0時?
-如何作成R=0,當A=1時?
-如何作成R=1,當A=1時?
該真值表顯示當A=1時作出R=0是不可能的。啟動該延遲關鍵處理路徑的兩個可行方式是當A=0時作出R=0、或當A=1時作出R=1。兩者均可以B=0且C=0實現。因此,暫存器電路1003與該邏輯單元1002之間的可控制資料事件注入點(與涉及的其它處理路徑上有效的未阻擋單元組合),可以第11圖中所顯示的方式實作。
在第11圖的實施例中,相較於第10圖,兩個額外AND閘1101和1102分別出現在該暫存器電路1004與該邏輯單元1002之間以及在該暫存器電路1005與該邏輯單元1002之間。它們的各者接收該DEG訊號的反相作為一個輸入。該第一AND閘1101接收該暫存器電路1004 的輸出作為另一個輸入,而該第二AND閘1102接收該暫存器電路1005的輸出作為另一個輸入。AND閘1101和1102的輸出行至該邏輯單元1002。因此,每當該DEG訊號是在邏輯高時,該邏輯單元1002從該暫存器電路1004和1005的方向接收兩個0。當該DEG訊號是低時,該暫存器電路1004和1005的輸出像這樣行至該邏輯單元1002的個別輸入。
在該延遲關鍵處理路徑的該暫存器電路1003與該邏輯單元1002之間的第一多工器1103接收該DEG訊號作為其控制訊號。該DEG訊號的低數值讓該暫存器電路1003的輸出通過經過該邏輯單元1002的個別輸入。該DEG訊號的高數值取代地選擇該第一多工器1103的另一個輸入。它是耦接至第二多工器1104,其接收最近儲存的數值R作為其控制訊號。該第二多工器1104有效地運作成R的反相器,以致於R=0引發數值1,而R=1引發數值0,其被耦接至該第一多工器1103的個別輸入。R的反相器應該使用以取代該第二多工器1104。該多工器1103和1104實作該可控制資料事件注入點。
使用AND閘在該其它處理路徑上(以該訊號DEG的反相在一個輸入處)源自B=0和C=0是在啟動該延遲關鍵處理路徑的所有案例中至該邏輯單元1002的有效輸入的事實。第12圖顯示更一般性案例,其中,DEG控制的多工器1201、1202和1203出現在來到該邏輯單元1204的輸入的所有線上。該多工器1201、1202和1203的各者具有耦接至以DEG=0而變成被選擇的那個輸山的個別處理路徑的正常管道。該另一個輸入是耦接以接收直接地反映該數值R的數值RP、或其反相,視該邏輯單元1204的該真值表是什麼,並且因此至該邏輯單元1204的該輸入數值在該延遲關鍵處理路徑的啟動期間應如何選擇而定。
上方給定的範例很容易一般化成任何種類的處理路徑,具有至任何邏輯單元的任何任意數目的輸入。在各個案例中,知道該邏輯單元的功能性致能某人定義用來啟動該延遲關鍵處理路徑的適合配置(其上方是從該輸入A至R),其同時地確保未阻擋。該配置可意指選擇恒定數值「1」及/或「0」及/或依據該邏輯單元的實際輸出數值(此R)的數值的任何組合。
第13圖示意地例示包含複數處理路徑1301和控制單元1302的微電子電路。該處理路徑1301的一者或更多者可假定為延遲關鍵的,並且因此,配備有能夠時間借用和時序事件偵測的暫存器電路,也視需要配備有用來啟動該延遲關鍵處理路徑的一個或更多個可控制資料事件注入點。該控制單元1302可藉由給出適當的控制命令而啟動任何希望的延遲關鍵處理路徑。一個或更多個訊號收集電路1303是提供用來收集指示器訊號(例如,TEO訊號),並且用來提供關於它們的資訊至該控制單元1302。
第13圖的該微電子電路的至少一部分由適配性電路元件組成,該適配性電路元件的效能可藉由讓該微電子電路的一個或更多個運作參數的各者假定個別運作參數數值而加以組構。此種類的運作參數的範例為運作電壓、觸發訊號的頻率、以及時序事件偵測窗口的長度。運作參數數值的選擇是以運作參數區塊示意地顯示在第13圖中,其中區塊1304是範例。
舉例來說,暫存器電路可藉由確保它的效能可藉由讓該暫存器電路的一個或更多個運作參數的各者假定個別運作參數數值而加以組構,以作成適配性暫存器電路。像這樣,電路元件不需要是適配性的,以為了被包括在適配性系統或微電子電路中。範例可為適配性系統或微電子 電路,該供應電壓及/或能量消耗等級及/或其它參數可從外部設定,但內部電路仍保持固定的,並且無法進一步組構:舉例來說,監視窗口長度可為固定的,並且不允許改變。
適配性微電子電路的該控制單元1302經組構以基於從該微電子電路的一部分所獲得的效能測量的結果選擇用於運作參數的數值。效能測量的該結果可舉例來說指示每單位時間的偵測時序事件的數目,其透過一個或更多個訊號收集電路1303收集。
該控制單元1302可組構以降低運作電壓數值,以響應上方提到的結果,其指示偵測的時序事件的位準低於第一臨界值。為了避免低數目的偵測的時序事件是因為處理路徑上的低或不存在活動的情況,該控制單元1302可組構以啟動一個或更多個這種處理路徑。
第13圖的該微電子電路的該DFT能力是看能來如提供測試輸入配置1305和測試輸出配置1306。該測試輸入配置1305讓選擇地饋入測試訊號至該處理路徑1301的該電路元件成為可能,並且該測試輸出配置1306致能從該處理路徑1301的該電路元件選擇地收集測試輸出訊號。使用測試輸入訊號和測試輸出訊號的範例以及該控制單元1302可使用以選擇地設定該處理路徑1301中的該電路元件成測試模式的關聯控制命令,已經在上文中參考第1圖解釋過了。
大致上,依據實施例用來運作微電子電路的方法包含發現該微電子電路的延遲關鍵處理路徑上的不啟動時期、以及藉由可控制地產生行進至該延遲關鍵處理路徑上的第一邏輯單元的數位數值的改變,以啟動該延遲關鍵處理路徑。該方法也包含凍結儲存在該第一暫存器電路中的第一數位數值達一時間,在該時間期間,該可控制地產生的改變行進至位在該延遲關鍵處理路徑上的該第一邏輯單元後的第一暫存器電路。
如上方所解釋的,可藉由防止觸發訊號觸發該第一暫存器電路中的至少一個次暫存器階段,而作出該第一數位數值的該凍結。該方法也可包含防止從其它處理路徑至該第一邏輯單元的數位數值阻擋該可控制地產生的改變行進經過該第一邏輯單元至該第一暫存器電路。
特別地,第14圖例示用於先進電壓調節的方法的使用。該圖式可不同地解讀以例示電腦程式產品,其可儲存在電腦可讀取媒體上,並且包含如上文中所稱的機器可讀取指令。依據狀態1401,該先進電壓調節開始於讓該運作電壓在先前選擇的「安全」位準,在該「安全」位準,該微電子電路是視為適當地運作。經過狀態1402和1403的環圈意指以在其目前位準的該運作電壓施加時序事件偵測。
如果特定時間時期均沒有偵測的時序事件,或如果在該時間時期期間所偵測到的時序事件的數目低於預定臨界值,則有可能藉由降低該運作電壓而節省電能。然而,該微電子電路的該控制單元不會實際地知道缺少或低數目的時序時件是否是真的、或它是否依於延遲關鍵處理路徑上的現在的低活動。為了進行朝向可能降低該運作電壓,第14圖中所顯示的該範例方法進行至狀態1405,在DEG高訊號的發生時,該時脈被失能達一個時脈週期。此凍結該實際的系統功能性(也就是,使用該系統用於其意圖的主要目的)達時脈週期。有各種不同方式涉及這種實作。舉例來說,可依於DEG啟動,它總是在其實際的功能性跳過一個時脈週期,來實作該系統。
另一個可能性是該DEG訊號在NOP指令如在狀態1404中的發生時啟動,引至一個或更多個延遲關鍵處理路徑的啟動。
這種啟動的效應的一者是在適當的可控制資料事件注入點處產生數位數值的改變。依據狀態1406,該方法包含使用這種可控制地產 生的改變來偵測長於允許限制的延遲是否發生在一個或更多個延遲關鍵邏輯單元中。如果沒有,則該微電子電路的效能可藉由讓運作參數假定運作參數數值而在狀態1407中被適配。另一方面,如果該啟動引至時序事件的偵測,則可推論先前注意到的缺少或低數目的偵測的時序事件是因為延遲關鍵處理路徑上的低活動,所以發生回到狀態1402,而沒有減少該運作電壓。
不需要將延遲關鍵處理路徑的啟動關聯於僅NOP指令,因此,狀態1404在第14圖中應視為選擇性的。另一個可能性是錯過處理實際資料中的時脈週期,如上方已經解釋過的。
對於本領域中具有先進技術的熟習技術者而言,本發明的基本想法可以各種方式實作是明顯的。本發明及其實施例因此不應限制至上方所描述的範例,而是它們可在申請專利範圍的範疇內變化。
301:暫存器電路
401:第一次暫存器階段
402:第二次暫存器階段
404:監視器電路
501:邏輯單元
502:暫存器電路
503:可控制資料事件注入點
804:暫存器電路
901:OR閘
CDN:控制訊號
CKP:觸發訊號
CP:觸發訊號、時脈訊號
CPD:觸發訊號、時脈訊號、延遲觸發訊號
CPP:時脈脈波輸入、觸發輸入
CP_sys:訊號、系統時脈、系統時脈訊號
D、D1:資料輸入
DEG:控制訊號
i1、i2:資料輸入
Q、q1、q2:資料輸出
Q0、Qx:輸出
TE:時序事件輸出
TEO:時序事件觀察訊號

Claims (15)

  1. 一種微電子電路,包含:
    複數邏輯單元和暫存器電路,該邏輯單元和暫存器電路配置成複數處理路徑,以及
    至少一個監視器電路,關聯於該複數暫存器電路的第一暫存器電路,該監視器電路經組構以生產時序事件觀察訊號,以響應該第一暫存器電路的輸入處的數位數值的改變,該改變晚於由至該第一暫存器電路的觸發訊號所定義的允許時間限制舉行;
    其特徵在於:
    該複數處理路徑的第一處理路徑行經該複數邏輯單元的第一邏輯單元至該第一暫存器電路,
    該第一處理路徑為因為可能產生之數量之延遲的延遲關鍵處理路徑,
    該微電子電路在引至該第一邏輯單元的該第一處理路徑上包含可控制資料事件注入點,用來可控制地產生從進至該第一邏輯單元的數位數值的改變,不論該第一處理路徑上處理什麼其它資料,以及
    該微電子電路經組構以凍結儲存在該第一暫存器電路中的第一數位數值達一時間,在該時間期間,透過該可控制資料事件注入點所產生的該改變行進至該第一暫存器電路。
  2. 如申請專利範圍第1項所述的微電子電路,其中:
    該第一暫存器電路包含資料輸入、資料輸出、以及在該資料輸入與資料輸出之間的串聯連接的第一次暫存器階段和第二次暫存器階段,該第一次暫存器階段和第二次暫存器階段的各者具有個別觸發訊號輸入,以及
    該微電子電路經組構以藉由暫時地防止饋入至該第一次暫存器階段和第二次暫存器階段的該觸發訊號輸入的該訊號的改變而實施該第一數位數值的該凍結。
  3. 如申請專利範圍第2項所述的微電子電路,其中,
    該微電子電路的控制單元經組構以藉由改變控制訊號的數值,而初始化行進至該第一邏輯單元的該數位數值的該改變的可控制的產生,
    該微電子電路包含閘控單元,用來以該控制訊號閘控行將至該第一次暫存器階段的該觸發訊號輸入的訊號。
  4. 如申請專利範圍第3項所述的微電子電路,其中,該控制單元經組構以初始化行進至該第一邏輯單元的該數位數值的該改變的可控制的產生,以響應執行的程式中的非運作指令的發生。
  5. 如申請專利範圍第1至4項中任一項所述的微電子電路,包含在來到該第一邏輯單元的一個或更多個其它處理路徑上的一個或更多個未阻擋單元,該一個或更多個未阻擋單元經組構以防止該一個或更多個其它處理路徑上的訊號阻擋該數位數值的該產生的改變行進經過該第一暫存器電路的該第一邏輯單元。
  6. 如申請專利範圍第1至5項中任一項所述的微電子電路,其中,該微電子電路的至少一部分是由適配性電路元件組成,該適配性電路元件的效能可藉由讓該微電子電路的一個或更多個運作參數各假定個別運作參數數值而加以組構。
  7. 如申請專利範圍第6項所述的微電子電路,其中,該一個或更多個運作參數包含下列的一者或更多者:運作電壓、觸發訊號的頻率、以及時序事件偵測窗口的長度。
  8. 一種暫存器電路,用來暫時地儲存數位數值至微電子電路的處理路徑上,該暫存器電路包含:
    資料輸入、資料輸出、以及沿著在該資料輸入與該資料輸出之間的資料行進路徑串聯的第一次暫存器階段和第二次暫存器階段,
    觸發事件輸入,用來接收觸發訊號,該觸發訊號的觸發緣定義允許時間限制,數位數值在該允許時間限制前必須出現在該第一次暫存器階段的資料輸入處,以變成暫時地儲存的,
    時序事件觀察階段,耦接至該資料行進路徑並且組構以在該暫存器電路的輸出處輸出時序事件觀察訊號,以指示在該資料輸入處的該數位數值在時間窗口內已經改變,該時間窗口開始於該允許時間限制並且短於該觸發訊號的一個週期,
    延遲觸發事件輸入,耦接至該第一次暫存器階段,用來在該第一次暫存器階段接收延遲觸發訊號,該延遲觸發訊號的觸發緣定義該時間窗口的結束,
    控制訊號輸入,用來接收控制訊號,以及
    閘控單元,用來以該控制訊號閘控將至該第一次暫存器階段的該延遲觸發事件輸入的該延遲觸發訊號。
  9. 如申請專利範圍第8項所述的暫存器電路,其中,該暫存器電路是適配性暫存器電路,該適配性暫存器電路的效能可藉由讓該暫存器電路的一個或更多個運作參數各假定個別運作參數數值,而加以組構。
  10. 一種運作微電子電路的方法,該方法包含:
    在該微電子電路的延遲關鍵處理路徑上的不啟動時期期間,藉由可控制地產生行進至該延遲關鍵處理路徑上的第一邏輯單元的數位數值的改變,而啟動該延遲關鍵處理路徑,以及
    凍結儲存在該第一暫存器電路中的第一數位數值達一時間,在該時間期間,該可控制地產生的改變行進至位在該延遲關鍵處理路徑上的該第一邏輯單元後的第一暫存器電路。
  11. 如申請專利範圍第10項所述的方法,其中,該不啟動時期是下列一者:
    藉由失能用於一個或更多個時脈週期的時脈訊號而蓄意地產生的不啟動時期,以及
    在該微電子電路中的非運作指令的發生。
  12. 如申請專利範圍第10或11項所述的方法,其中,藉由防止觸發訊號觸發該第一暫存器電路中的至少一個次暫存器階段,而作成該第一數位數值的該凍結。
  13. 如申請專利範圍第10至12項中任一項所述的方法,包含:
    防止從其它處理路徑來到該第一邏輯單元的數位數值阻擋該可控制地產生的改變行進經過該第一邏輯單元至該第一暫存器電路。
  14. 如申請專利範圍第10至13項中任一項所述的方法,包含:
    使用該可控制地產生的改變以偵測長於允許限制的延遲是否發生在該第一邏輯單元中,以及
    藉由讓運作參數假定運作參數數值以適配該微電子電路的效能,視長於該允許限制的延遲是否被偵測到發生在該第一邏輯單元中而定。
  15. 一種電腦可讀取媒體,具有電腦可讀取程式產品儲存於其上,該電腦可讀取程式產品包含一組或更多組的一個或更多個電腦可讀取指令,其於由一個或更多個處理器執行時,是組構以引發用來運作微電子電路的方法的執行,其中,該方法包含:
    在該微電子電路的延遲關鍵處理路徑上的不啟動時期期間,藉由可控制地產生行進至該延遲關鍵處理路徑上的第一邏輯單元的數位數值的改變,而啟動該延遲關鍵處理路徑,以及
    凍結儲存在該第一暫存器電路中的第一數位數值達一時間,在該時間期間,該可控制地產生的改變行進至位在該延遲關鍵處理路徑上的該第一邏輯單元後的第一暫存器電路。
TW108140097A 2018-12-05 2019-11-05 能夠選擇性啟動處理路徑之微電子電路及用於啟動微電子電路中之處理路徑的方法 TW202029649A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
WOPCT/FI2018/050883 2018-12-05
PCT/FI2018/050883 WO2020115353A1 (en) 2018-12-05 2018-12-05 Microelectronic circuit capable of selectively activating processing paths, and a method for activating processing paths in a microelectronic circuit

Publications (1)

Publication Number Publication Date
TW202029649A true TW202029649A (zh) 2020-08-01

Family

ID=70974541

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108140097A TW202029649A (zh) 2018-12-05 2019-11-05 能夠選擇性啟動處理路徑之微電子電路及用於啟動微電子電路中之處理路徑的方法

Country Status (4)

Country Link
US (1) US20220021390A1 (zh)
EP (1) EP3891894A4 (zh)
TW (1) TW202029649A (zh)
WO (1) WO2020115353A1 (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633609A (en) * 1995-08-30 1997-05-27 National Semiconductor Corporation Clock system with internal monitor circuitry for secure testing
US7622961B2 (en) * 2005-09-23 2009-11-24 Intel Corporation Method and apparatus for late timing transition detection
US8132136B2 (en) * 2007-08-06 2012-03-06 International Business Machines Corporation Dynamic critical path detector for digital logic circuit paths
US9189014B2 (en) * 2008-09-26 2015-11-17 Intel Corporation Sequential circuit with error detection
CN102292912A (zh) * 2009-01-27 2011-12-21 艾格瑞系统有限公司 用于性能监视的关键路径电路
US9444440B2 (en) * 2011-06-30 2016-09-13 Stmicroelectronics International N.V. Transition detector
US9223327B1 (en) * 2012-11-26 2015-12-29 Marvell International Ltd. Universal adaptive voltage scaling system
CN106100617B (zh) * 2016-06-27 2017-11-07 东南大学 一种面向超宽电压的在线监测单元及其控制电路
CN106209060B (zh) * 2016-06-27 2019-04-19 东南大学 一种基于电流监测的时序错误监控系统
US10069486B1 (en) * 2016-06-29 2018-09-04 Xilinx, Inc. Multimode registers with pulse latches

Also Published As

Publication number Publication date
US20220021390A1 (en) 2022-01-20
WO2020115353A1 (en) 2020-06-11
EP3891894A4 (en) 2022-07-27
EP3891894A1 (en) 2021-10-13

Similar Documents

Publication Publication Date Title
US8127188B2 (en) Semiconductor integrated circuit and design automation system
KR102071853B1 (ko) 진단 데이터 경로 상에서의 홀드 시간을 증가시키기 위한 소자들을 갖는 순차 래칭장치
US8381051B2 (en) Testing of multi-clock domains
KR101293445B1 (ko) 스캔 시프트 동작 동안 ivd를 감소시키는 시스템 및 장치
US8775857B2 (en) Sequential on-chip clock controller with dynamic bypass for multi-clock domain testing
US20070022339A1 (en) Digital design component with scan clock generation
US7719315B2 (en) Programmable local clock buffer
US20080250288A1 (en) Scan Testing Methods
US11073552B2 (en) Design-for-test for asynchronous circuit elements
JP2008042367A (ja) 半導体装置
US20070061657A1 (en) Delay fault testing apparatus
TW202038053A (zh) 基於覆蓋率之微電子電路及用於提供微電子電路之設計的方法
McLaurin Periodic online lbist considerations for a multicore processor
US20110181331A1 (en) Integrated circuit with leakage reduction in static nets
TW202029649A (zh) 能夠選擇性啟動處理路徑之微電子電路及用於啟動微電子電路中之處理路徑的方法
US9600018B1 (en) Clock stoppage in integrated circuits with multiple asynchronous clock domains
US7499831B2 (en) Timing closure monitoring circuit and method
Anastasiou et al. On the reuse of existing error tolerance circuitry for low power scan testing
TW202038246A (zh) 偵測資料事件之暫存器電路及用於偵測暫存器電路中之資料事件的方法
US9651620B2 (en) Measurements circuitry and method for generating an oscillating output signal used to derive timing information
Jung et al. On diagnosing the aging level of automotive semiconductor devices
WO2016203491A2 (en) Asynchronous clock gating circuit
US20090217000A1 (en) Clock signals in digital systems
Badereddine et al. Minimizing peak power consumption during scan testing: Structural technique for don't care bits assignment
EP3867657B1 (en) Applications of adaptive microelectronic circuits that are designed for testability