TWI806340B - 用於包括待測試的時序器件的流水線級的測試電路、測試方法和包括測試電路的計算系統 - Google Patents
用於包括待測試的時序器件的流水線級的測試電路、測試方法和包括測試電路的計算系統 Download PDFInfo
- Publication number
- TWI806340B TWI806340B TW111100571A TW111100571A TWI806340B TW I806340 B TWI806340 B TW I806340B TW 111100571 A TW111100571 A TW 111100571A TW 111100571 A TW111100571 A TW 111100571A TW I806340 B TWI806340 B TW I806340B
- Authority
- TW
- Taiwan
- Prior art keywords
- clock
- tested
- sequential device
- paths
- test
- Prior art date
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 137
- 238000010998 test method Methods 0.000 title claims abstract description 8
- 238000012795 verification Methods 0.000 claims abstract description 13
- 238000013461 design Methods 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 16
- 230000003111 delayed effect Effects 0.000 claims description 13
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000011144 upstream manufacturing Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 29
- 239000000872 buffer Substances 0.000 description 11
- 230000001934 delay Effects 0.000 description 9
- 238000004088 simulation Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000000630 rising effect Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000005065 mining Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318522—Test of Sequential circuits
- G01R31/318525—Test of flip-flops or latches
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31725—Timing aspects, e.g. clock distribution, skew, propagation delay
- G01R31/31726—Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31727—Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318392—Generation of test inputs, e.g. test vectors, patterns or sequences for sequential circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318522—Test of Sequential circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318522—Test of Sequential circuits
- G01R31/31853—Test of registers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Advance Control (AREA)
Abstract
本發明涉及測試電路、測試方法和包括測試電路的計算系統。一種測試電路包括:測試序列提供模組,用於提供測試序列到待測試的時序器件;時鐘驅動模組,用於提供時鐘訊號到所述待測試的時序器件,其包括第一時鐘驅動電路,所述第一時鐘驅動電路包括:多個第一時鐘路徑,分別提供對應的時鐘訊號;以及邏輯單元,基於所述多個第一時鐘路徑提供的時鐘訊號中的至少一部分,產生脈寬調節的第一時鐘訊號以用於所述待測試的時序器件;以及驗證模組,用於對所述待測試的時序器件的輸出進行驗證。
Description
本發明要求於2021年1月14日提交的中國專利申請No.202110048109.2的優先權,並通過引用將其全部內容併入在此。
本發明涉及測試電路、測試方法和包括測試電路的計算系統。
近年來,數位貨幣受到越來越多的關注。在相關領域中,需要改進的處理器和計算系統。
礦機類處理器設計通常採用流水線的結構。根據演算法,將運算邏輯分成若干級流水線,每級流水線有相似的功能設計和運算結構。每級流水線都需要輸入工作時鐘,即脈衝時鐘。
由於比特幣晶片中的運算單元由多級流水線構成,且每級流水線主要由多比特觸發器構成,因此對於觸發器的優化設計是使比特幣晶片性能提升,功耗降低的核心方向之一。晶片內不同的流水線中,會根據其自身情況使用不同的觸發器。同時連接多級流水線之間的時鐘樹方向和時鐘樹內部結構,則是依賴經驗與分析
來選擇。由於考慮到觸發器的SPICE仿真,靜態時序分析和生產出的晶片之間有一定的差異,晶片所選擇的時鐘樹結構通常是偏保守,而未必是最優的。
此外,隨著礦機處理器的生產使用更加先進的製造工藝,工藝的複雜度和離散度也越來越高,導致處理器的實際工作條件和設計階段的仿真環境偏差較大。時鐘驅動電路在設計階段即使滿足仿真條件下對時鐘的要求,實際的處理器也往往因為與仿真環境的差異,導致某些處理器的流水線時鐘無法達到設計要求。
因此,需要改進的測試電路、測試方法和包括測試電路的處理器。
根據本發明的一個方面,提供了一種測試電路,包括:測試序列提供模組,用於提供測試序列到待測試的時序器件;時鐘驅動模組,用於提供時鐘訊號到所述待測試的時序器件,其包括第一時鐘驅動電路,所述第一時鐘驅動電路包括:多個第一時鐘路徑,分別提供對應的時鐘訊號;以及邏輯單元,基於所述多個第一時鐘路徑提供的時鐘訊號中的至少一部分,產生脈寬調節的第一時鐘訊號以用於所述待測試的時序器件;以及驗證模組,用於對所述待測試的時序器件的輸出進行驗證。
在一些實施例中,所述驗證模組包括:基準時序器件,所述測試序列被同步提供到所述基準時序器件和所述待測試的時序器件,以及所述第一時鐘驅動電路還提供第二時鐘訊號到所述基準時序器件;以及比較模組,其對所述基準時序器件的輸出和所述待測試的時序器件的輸出進行比較。
在一些實施例中,所述多個第一時鐘路徑接收共同的時鐘輸入,並基於所述時鐘輸入分別提供不同相位的時鐘訊號。
在一些實施例中,所述第一時鐘路徑中的至少一個還包括:第一選擇器,用於從對應的第一時鐘路徑的多個子路徑所提供的時鐘訊號中選擇時鐘訊號,並提供所選擇的時鐘訊號到所述邏輯單元。
在一些實施例中,所述時鐘驅動模組還包括第二時鐘驅動電路,其中所述第二時鐘驅動電路包括:多個第二時鐘路徑,其分別提供不同相位的時鐘訊號,所述多個第二時鐘路徑中的至少一個基於所述第一時鐘訊號提供時鐘訊號;以及第二選擇器,從所述多個第二時鐘路徑所提供的時鐘訊號中選擇時鐘訊號以用於所述待測試的時序器件。
在一些實施例中,所述時鐘驅動模組還包括第三時鐘驅動電路,其中所述第三時鐘驅動電路包括:多個第三時鐘路徑,其分別提供不同相位的時鐘訊號;以及第三選擇器,用於從所述多
個第三時鐘路徑所提供的時鐘訊號中選擇時鐘訊號,以用於所述多個第一時鐘路徑中的至少一個。
在一些實施例中,所述多個第一時鐘路徑至少包括第一路徑和第二路徑,所述第一路徑提供所述選擇的時鐘訊號到所述邏輯單元,以及所述第二路徑提供與所選擇的時鐘訊號的反相版本或反相並延時的版本到所述邏輯單元。
在一些實施例中,所述第二路徑包括:反相器,其接收所述選擇的時鐘訊號,並產生與所述選擇的時鐘訊號反相的時鐘訊號;一個或多個子路徑,用於分別提供所述反相的時鐘訊號的相應版本到第四選擇器;以及所述第四選擇器,從所述反相的時鐘訊號的不同的版本中選擇,並提供所選擇的版本到所述邏輯單元。
在一些實施例中,所述一個或多個子路徑分別提供所述反相的時鐘訊號的不同延時的版本到所述第四選擇器。
在一些實施例中,所述邏輯單元是與閘或或閘。
在一些實施例中,所述測試序列提供模組提供具有校驗碼的測試序列到所述待測試的時序器件,所述測試電路還包括校驗模組,其利用所述校驗碼對所述待測試的時序器件的輸出進行校驗。
在一些實施例中,所述時序器件是觸發器或鎖存器。
在一些實施例中,所述測試電路還包括與所述待測試
的時序器件關聯的另外的時序器件。
根據本發明的另一方面,還提供了一種計算系統,其包括如本發明任意實施例所述的測試電路。
根據本發明的另一方面,還提供了一種測試電路的測試方法,所述測試電路是如本發明任意實施例所述的測試電路,所述方法包括:通過所述時鐘驅動模組提供不同配置的時鐘訊號到所述待測試的時序器件;提供測試序列到所述待測試的時序器件的輸入;以及檢測在每種配置的時鐘訊號下所述待測試的時序器件的輸出是否滿足要求。
在一些實施例中,所述方法還包括:確定滿足要求的對應的時鐘配置或時鐘配置範圍;確定預先確定的被設計用於該待測試的時序器件的時序參數範圍與通過測試確定的滿足要求的對應的時鐘配置之間的差異;以及根據所述差異修改所述待測試的時序器件的電路設計和/或用於製備所述待測試的時序器件的工藝參數。
通過以下參照附圖對本發明的示例性實施例的詳細描述,本發明的其它特徵及其優點將會變得清楚。
300:測試電路
301:測試序列提供模組
303:時序器件
305:驗證模組
307:時鐘驅動模組
309:時序器件
311:時序器件
350:流水線級
300’:測試電路
400:測試電路
405:驗證模組
407:時鐘驅動模組
411:基準時序器件
413:比較模組
421:時鐘路徑
423:時鐘路徑
425:相位調節單元
427:邏輯單元
429:相位調節單元
500:測試電路
507:時鐘驅動模組
521:時鐘路徑
523:時鐘路徑
525:子路徑
527:子路徑
529:選擇器
600:測試電路
607:時鐘驅動模組
610:第一時鐘驅動電路
620:第二時鐘驅動電路
621:時鐘路徑
623:時鐘路徑
625:選擇器
700:測試電路
707:時鐘驅動模組
710:時鐘驅動電路
711:第一路徑
713:第二路徑
715:邏輯單元
717:反相器
719:子路徑
721:時鐘路徑
723:選擇器
750:時鐘驅動電路
751:時鐘路徑
753:時鐘路徑
755:基準時序器件
757:選擇器
759:時鐘訊號
763:緩衝器
800:測試電路
801:測試序列提供模組
805:驗證模組
807:時鐘驅動模組
構成說明書的一部分的附圖描述了本發明的實施例,並且連同說明書一起用於解釋本發明的原理。
參照附圖,根據下面的詳細描述,可以更加清楚地理解本發明,其中:圖1示出了一種示例性的流水線的示意圖;圖2A示出了一種示例性的包括時序器件-時序器件之間的路徑的電路的示意圖;圖2B示出了用於圖2A所示電路的建立時間的時序圖;圖2C示出了用於圖2A所示電路的保持時間的時序圖;圖2D示出了流水線的正向時鐘樹的示意時序圖;圖2E示出了流水線的反向時鐘樹的示意時序圖;圖3A示出了根據本發明一個實施例的測試電路的示意圖;圖3B示出了根據本發明另一實施例的測試電路的示意圖;圖4示出了根據本發明又一實施例的測試電路的示意圖;圖5示出了根據本發明再一實施例的測試電路的示意圖;圖6示出了根據本發明另一實施例的測試電路的示意圖;圖7示出了根據本發明又一實施例的測試電路的示意圖;以及圖8示出了根據本發明一個實施例的測試電路的示意圖。
注意,在以下說明的實施方式中,有時在不同的附圖之間共同使用同一附圖標記來表示相同部分或具有相同功能的部分,而省略其重複說明。在本說明書中,使用相似的標號和字母表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨後的附圖中不需要
對其進行進一步討論。
為了便於理解,在附圖等中所示的各結構的位置、尺寸及範圍等有時不表示實際的位置、尺寸及範圍等。因此,所揭露的發明並不限於附圖等所揭露的位置、尺寸及範圍等。
現在將參照附圖來詳細描述本發明的各種示例性實施例。應注意:除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對佈置、數字表達式和數值不限制本發明的範圍。另外,對於相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為授權說明書的一部分。
應理解,以下對至少一個示例性實施例的描述僅僅是說明性的,並非是對本發明及其應用或使用的任何限制。還應理解,在此示例性描述的任意實現方式並不必然表示其比其它實現方式優選的或有利的。本發明不受在上述技術領域、背景技術、發明內容或具體實施方式中所給出的任何所表述的或所暗示的理論所限定。
另外,僅僅為了參考的目的,還可以在下面描述中使用某種術語,並且因而並非意圖限定。例如,除非上下文明確指出,否則涉及結構或元件的詞語“第一”、“第二”和其它此類數字詞語並
沒有暗示順序或次序。
還應理解,“包括/包含”一詞在本文中使用時,說明存在所指出的特徵、整體、步驟、操作、單元和/或組件,但是並不排除存在或增加一個或多個其它特徵、整體、步驟、操作、單元和/或組件以及/或者它們的組合。
流水線(pipeline)技術是在程式執行時多條指令重疊進行操作的一種準並行處理實現技術。處理器的流水線級中往往具有一個或多個時序器件,例如觸發器。而選擇使用鎖存器作為流水線中的時序器件可以有效減少功耗和面積的開銷,提升礦機產品的競爭力。
在同步電路設計中,每個時序器件都會有一個對應的時鐘進行控制。晶片中有大量的時序器件,所有的時序器件不能由同一個時鐘進行控制(時鐘的負載能力不夠),需要用反相器(inv)或者緩衝器(buffer,簡寫為buf)來傳遞時鐘訊號。這些一級級傳遞的inv和buf組成了時鐘樹。
圖1示出了一種用於示例性的流水線處理器的示意圖。處理器中的流水線可以包括多個流水線級,各流水線級的工作時鐘通常都來自於同一時鐘源,通過用於流水線各級的各級時鐘驅動電路在流水線各級之間傳遞,如圖1所示。
以一個四級流水線處理器為例,執行一條指令需要四
個週期(取指,譯碼,取操作數,執行)。但從第四個週期之後,每個週期均有一條指令執行完成,看起來好像一條指令只需要一個週期就可以執行完成。流水線技術可以提高執行效率,獲得更高的吞吐率,提高處理器性能。
流水線技術可以應用於數位貨幣領域的處理器。例如,比特幣使用哈希(hash)SHA256演算法。可以根據對不同運算單位的切分,將SHA256演算法切分成若干個流水計算單元,從而組成運算流水線。通常的流水線可以劃分為32級,64級,128級等。
此外,在流水線的同步時序電路設計中,一般只在時鐘的上升沿或下降沿進行採樣。為了得到正確的採樣結果,需要確保採樣時刻數據有效,保證數據滿足建立時間(setup time)和保持時間(hold time)。因此設計工具會對綜合結果進行靜態時序分析,以判斷時鐘和數據之間的相對關係是否滿足要求。
下面以包含時序器件-時序器件以及二者之間的路徑的電路為例來進行說明。圖2A示出了一種示例性的包括時序器件-時序器件之間的路徑的電路的示意圖。該圖是數字系統設計常見的電路圖。這裡需要保證數據能夠正確的在兩個觸發器之間進行傳輸,由此確定中間組合邏輯電路Comb的傳輸延時的範圍。
圖2B示出了用於圖2A所示電路的建立時間的時序圖。D1表示到圖2A中的前邊的觸發器(稱之為發起(launch)觸發器)
的輸入。在時鐘CLK的第一個時鐘上升沿,圖2A中的發起觸發器採集D1訊號,高電平被輸入到該觸發器,經過觸發器輸出延時Tco到達組合邏輯電路Comb。又經過組合邏輯電路Comb的延時Tcomb(這裡,假定組合邏輯電路此時沒有改變訊號的高低,從而可以把它考慮為一個緩衝器)送到了D2接口上。在第二個時鐘上升沿到來之前,D2數據線上的訊號要滿足穩定時間>觸發器的建立時間Tsu,
即,要滿足時鐘週期Tclk-Tco-Tcomb>Tsu。
考慮最壞情況:觸發器的輸出延時最大(Tco-max),組合邏輯電路的延時(Tcomb-max)也最大,可得:Tclk-Tco-max-Tcomb-max>Tsu
接著之前的時序圖繼續說明保持時間。為了圖示的清晰,以圖2C示出了用於說明圖2A所示電路的保持時間的時序圖,其各訊號與圖2B所示的相同。在第二個時鐘上升沿,前邊的發起觸發器採集到D1上的低電平,經過Tco的延時在Q1上得到表達。這個低電平在經過組合電路延時Tcomb到達D2。經過Tco+Tcomb的延時,D2上原本的高電平在第二個時鐘上升沿到來之後的穩定時間需要大於第二個觸發器的保持時間Th。滿足了這個條件,後邊的觸發器才能穩定的接收到最初由D1傳過來的高電平。即,Tco+Tcomb>Th
考慮到最壞的情況:觸發器的輸出延時最小(Tcomb-min),組合邏輯電路的延時也最小(Tco-min):Tco-min+Tcomb-min>Th
同步時序電路正常工作的前提是觸發器的建立時間和保持時間都得到滿足。而保持時間是更重要的指標,必須滿足。保持時間如果不滿足,晶片可能無法正常工作。
另一方面,在同步電路設計中,每個時序器件都會有一個對應的時鐘進行控制。晶片中有大量的時序器件,所有的時序器件不能由同一個時鐘進行控制(時鐘的負載能力不夠),需要用反相器(inv)或者緩衝器(buffer,簡寫為buf)來傳遞時鐘訊號。這些一級級傳遞的inv和buf組成了時鐘樹。
在流水線設計中,如果與數據流傳遞方向相同,則稱為正向時鐘樹(如下圖)。反之則成為反向時鐘樹。
對於正向時鐘樹,考慮圖2A中所示的實例應用於前後兩個流水線級的情況。這就相當於時鐘連接到第一個觸發器後,經過一級時鐘驅動電路的延時後再到達第二個觸發器。時序圖如圖2D所示,其中示出了時鐘驅動電路的延時(Tclk延時,這裡以Tclklatency表示)。
這裡,對於Tsu,時序需要滿足Tclk+Tclklatency-Tco-max-Tcomb-max>Tsu,
也即,Tclk>Tsu+Tco-max+Tcomb-max-Tclklatency。
如果Tclk可以更小,週期更小,晶片的頻率可以更快,達到更高性能。但正向時鐘樹有一個缺點,保持時間不容易滿足。
對於保持時間Th,需要滿足:Tco-min+Tcomb-min>Th+Tclklatency,也即Tco-min+Tcomb-min-Tclklatency>Th。
對於反向時鐘樹,考慮圖2A中所示的實例應用於前後兩個流水線級的情況。這就相當於時鐘先連接到第二個觸發器後,經過一級時鐘驅動電路的延時後再到達第一個觸發器。時序圖如圖2E所示,其中示出了時鐘驅動電路的延時(Tclk延時,這裡以Tclklatency表示)。
對於Tsu,時序需要滿足:Tclk-Tclklatency-Tco-max-Tcomb-max>Tsu,也即,Tclk>Tsu+Tco-max+Tcomb-max+Tclklatency
如果Tclk變大,週期更大,晶片的頻率變慢,性能降低。反向時鐘樹的優點是觸發器的保持時間更容易滿足。
對於保持時間Th,時序需要滿足:
Tco-min+Tcomb-min>Th-Tclklatency,也即,Tco-min+Tcomb-min+Tclklatency>Th。
對於使用鎖存器的流水線設計,相鄰流水線之間的時鐘需要滿足一定的相位要求以滿足鎖存器特定的時序要求,例如,鎖存器保持(hold)時序的要求和鎖存器的最小脈衝寬度的要求,從而對時鐘相關電路的設計和製造工藝提出了更高的要求。
然而,隨著先進工藝的使用,工藝的複雜度和離散度也越來越高,導致處理器的實際工作條件和設計階段的仿真環境偏差較大。使得時鐘驅動電路在設計階段即使滿足仿真條件下對時鐘的要求,實際的處理器也往往因為與仿真環境的差異,導致某些處理器的流水線時鐘無法達到設計要求。這也造成了處理器的良率受限。
本發明的發明人認識到上述的一個或多個問題,並提出了在此界定的改進的測試電路和測試方法。
圖3A示出了根據本發明一個實施例的測試電路的示意圖。如圖3A所示,測試電路300用於對待測試的時序器件303進行測試。所述待測試的時序器件可以包括(但不限於)任意需要時鐘控制的器件,例如,寄存器、觸發器或鎖存器等。在圖中,作為示例,待測試的時序器件被示出為多比特觸發器(MBFF)。
在一些實施例中,待測試的時序器件303可以設置在流
水線級中,例如圖中所示的流水線級350中。在另一些實施例中,待測試的時序器件303可以設置在流水線級之外,以利於進行測試。
如圖3A所示,測試電路300包括測試序列提供模組301,用於提供測試序列到待測試的時序器件303。所述測試序列可以包括例如偽隨機比特序列(PRBS)或者包括校驗碼的偽隨機比特序列。
測試電路300還包括時鐘驅動模組307,用於提供時鐘訊號到所述待測試的時序器件。測試電路300還包括驗證模組305,用於對所述待測試的時序器件的輸出進行驗證。
圖3B示出了根據本發明另一實施例的測試電路的示意圖。如圖3B所示,測試電路300’除了包括測試序列提供模組301、時鐘驅動模組307和驗證模組305之外,還可以包括另外的時序器件,例如在待測試的時序器件303上游和下游的時序器件309和311。時序器件309和311中的一個或多個可以與待測試的時序器件303一起被包含在同一流水線級350中。
圖4示出了根據本發明又一實施例的測試電路的示意圖。如圖4所示,測試電路400包括測試序列提供模組301,用於提供測試序列到待測試的時序器件303。所述測試序列可以包括例如偽隨機比特序列(PRBS)或者包括校驗碼的偽隨機比特序列。圖4中還示出了另外的中間的時序器件309,其被示出為MBFF(以
MBFF1表示),而待測試的時序器件303則被示出為MBFF(以MBFF2表示)。
測試電路400還包括時鐘驅動模組407,用於提供時鐘訊號到所述待測試的時序器件。圖4示出了時鐘驅動模組的一種具體實現方式。如圖4中所示,時鐘驅動模組407可以包括這樣的時鐘驅動電路(第一時鐘驅動電路),該時鐘驅動電路可以包括:多個時鐘路徑(第一時鐘路徑)421和423,分別提供對應的時鐘訊號;以及邏輯單元427,基於所述多個時鐘路徑(第一時鐘路徑)提供的時鐘訊號中的至少一部分,產生脈寬調節的第一時鐘訊號以用於所述待測試的時序器件。在一些實施例中,邏輯單元427可以是與閘或或閘。
這裡,需要說明的是,“時鐘訊號以用於所述待測試的時序器件”意圖表示所述的時鐘訊號可以直接用於(例如,直接提供給)待測試的時序器件,或者所述的時鐘訊號可以間接用於(例如,間接而不是直接提供給)待測試的時序器件。換而言之,在所述的時鐘訊號和待測試的時序器件之間可以存在中間模組或器件,所述中間模組或器件可以基於所述的時鐘訊號提供時鐘到所述待測試的時序器件。此外,儘管這裡僅示出了兩個時鐘路徑,但應理解,可以設置更多的時鐘路徑。
如圖中所示,時鐘路徑421和423可以接收共同的時鐘
輸入,並基於所述時鐘輸入分別提供多種多樣的相位的時鐘訊號。例如,圖中的時鐘路徑421具有4個相位調節單元425(例如,反相器(如圖中所示)或緩衝器等),從而相對於輸入的時鐘提供4個單元的延時。而時鐘路徑423則不提供額外的延時。這裡,不考慮無源線路本身的延時,而僅考慮器件或單元帶來的延時。
還應理解,在一些實施例中,各時鐘路徑對輸入時鐘提供彼此不同的延時和/或提供反相;在另一些實施例中,某些時鐘路徑也可以提供相同的延遲或反相。例如,各時鐘路徑可以具有或不具有相位調節單元,或者可以具有更多或更少的相位調節單元。各相位調節單元可以相同或不相同,或者可以共同或單獨地配置。
測試電路400還包括驗證模組405,用於對所述待測試的時序器件的輸出進行驗證。在圖4中所示的實施例中,驗證模組405可以包括基準時序器件411和比較模組413。測試序列PRBS被同步提供到基準時序器件411和待測試的時序器件303(可以經過或者不經過可選的中間器件MBFF1)。時鐘驅動模組407還提供時鐘訊號(第二時鐘訊號)到基準時序器件411。比較模組413對基準時序器件的輸出和待測試的時序器件的輸出進行比較。
這裡,作為示例,基準時序器件411可以具有與待測試時序器件相同的電路結構或具有相同的電路設計,但是基準時序器件411可以是基於製造廠商或設計廠商或第三方提供的標準單元
庫、IP庫或工藝角製備的。但應理解,本發明不限於此。例如,所謂基準時序器件也可以是定制的,或根據經驗設計或製備的,只要其可以作為參考即可。
另外,對於第二時鐘訊號沒有特別的限制。其可以獲得自任意的第一時鐘路徑的任意部分,或者獲得自時鐘輸入或其他來源,只要後續的比較模組可以對基準時序器件的輸出和待測試的時序器件的輸出進行比較即可。
比較模組413可以基於一定的標準來比較基準時序器件的輸出和待測試的時序器件的輸出,例如,基準時序器件的輸出和待測試的時序器件的輸出是否同步,是否一致或者滿足時序要求,或者邏輯值是否對應,等等。從而,通過比較模組413確定測試的結果。
時鐘驅動模組407還可以包括另外的相位調節單元,例如圖4中所示的相位調節單元429。這裡,相位調節單元429被示出為在邏輯單元427下游的反相器;但應理解,這僅僅是示例性的而不是限制性的;所述另外的相位調節單元的類型、位置、數量皆不限於此。例如,作為對圖4中所示的時鐘驅動模組407的替代實施例,可以去除相位調節單元429,而在時鐘路徑421和423中分別添加額外的反相器。
此外,在不同實施例中,中間的時序器件309可以和待
測試的時序器件303處於相同或不同的流水線級中。優選地,基準時序器件411可以和待測試的時序器件303處於相同的流水線級中。替代地,在另外的一些實施例中,所述待測試的時序器件303可以被設置在流水線級之外,例如在中間的時序器件309或311或者基準時序器件411所處的流水線級之外,例如位置上可以與所述流水線級鄰近。在這種情況下,待測試器件將不參與流水線的實際指令操作。從而,可以測試器件和測試操作對流水線級的影響,可以在增加測試的便利的同時,使得對流水線的影響最小化。
圖5示出了根據本發明再一實施例的測試電路的示意圖。圖5所示的測試電路500除了時鐘驅動模組507之外與圖4所示的測試電路400基本相同。在圖5中,與圖4中所示相同的部件被標示以相同的附圖標記;並且,對於相同的部件這裡不再重複說明。
下面具體說明用於測試電路500的時鐘驅動模組507。與圖4中所示的時鐘驅動模組407相比,時鐘驅動模組507的時鐘路徑(這裡,以時鐘路徑521作為示例)中增加了選擇器(第一選擇器)529,用於從對應的時鐘路徑(即,時鐘路徑521)的多個子路徑525和527所提供的時鐘訊號中選擇時鐘訊號,並提供所選擇的時鐘訊號到邏輯單元427。
此外,儘管這裡僅示出了兩個子路徑,但應理解,可以設置更多的子路徑。子路徑可以接收相同的時鐘訊號,並提供多種
多樣的相位的時鐘訊號到選擇器529。在一些實施例中,各子路徑對接收的輸入時鐘提供彼此不同的延時和/或提供反相;在另一些實施例中,某些子路徑也可以提供相同的延遲或反相。例如,子路徑可以設置有一個或多個相位調節單元,例如反相器或緩衝器等,或者某些子路徑也可以不設置相位調節單元。例如,在圖5所示的示例中,子路徑525具有一個反相器,而子路徑527具有三個反相器。
選擇器529可以是多工器MUX0,但本發明不限於此。選擇器529可以基於控制訊號Sel0來從多個子路徑525和527等進行選擇,來將選擇的路徑上的時鐘訊號提供到邏輯單元427。
根據本發明的實施例,可以靈活配置用於待測試器件的時鐘訊號,從而為測試提供了靈活性和便利性。
圖6示出了根據本發明另一實施例的測試電路的示意圖。圖6所示的測試電路600除了時鐘驅動模組607之外與前面所示的測試電路500基本相同。在圖6中,與前面附圖中所示相同的部件被標示以相同的附圖標記;並且,對於相同的部件這裡不再重複說明。
下面具體說明用於測試電路600的時鐘驅動模組607。與圖5中所示的驅動模組507相比,時鐘驅動模組607除了可以包括前面的實施例中所描述的時鐘驅動模組例如407或507的至少一部
分或全部(其可以作為第一時鐘驅動電路610)之外,還包括第二時鐘驅動電路620。第二時鐘驅動電路620可以包括多個時鐘路徑(第二時鐘路徑)例如621和623,其分別提供不同相位的時鐘訊號。在一些實施例中,所述多個第二時鐘路徑中的至少一個基於所述第一時鐘訊號提供時鐘訊號。
儘管這裡僅示出了兩個時鐘路徑(第二時鐘路徑)621和623,但應理解,可以設置更多的第二時鐘路徑。第二時鐘路徑可以接收相同的時鐘訊號,並提供多種多樣的相位的時鐘訊號到選擇器625。類似地,在一些實施例中,各子路徑對接收的輸入時鐘提供彼此不同的延時和/或提供反相;在另一些實施例中,某些子路徑也可以提供相同的延遲或反相。例如,各第二時鐘路徑可以設置有一個或多個相位調節單元,例如反相器或緩衝器等,或者某些路徑也可以不設置相位調節單元。例如,在圖6所示的示例中,時鐘路徑621具有一個反相器,而時鐘路徑623具有三個反相器。
第二時鐘驅動電路620還可以包括選擇器(第二選擇器)625,用於從多個第二時鐘路徑所提供的時鐘訊號中選擇時鐘訊號以用於待測試的時序器件。選擇器625可以基於控制訊號Sel1,來從多個第二時鐘路徑所提供的時鐘訊號中選擇時鐘訊號。在圖6中的實施例中,選擇器625被示出為多工器MUX1,然而本發明不限於此。
根據本發明的實施例,可以更加靈活配置用於待測試器件的時鐘訊號,提供不同延時不同相位的時鐘訊號,從而為測試提供了靈活性和便利性。
圖7示出了根據本發明又一實施例的測試電路的示意圖。圖7所示的測試電路700除了時鐘驅動模組707之外與前面所示的測試電路基本相同。在圖7中,與前面附圖中所示相同的部件被標示以相同的附圖標記;並且,對於相同的部件這裡不再重複說明。
下面具體說明用於測試電路700的時鐘驅動模組707。參考圖7,時鐘驅動模組707可以包括時鐘驅動電路(第一時鐘驅動電路)710和時鐘驅動電路(第三時鐘驅動電路)750。
在一些實施例中,時鐘驅動電路710被配置用於調節時鐘訊號的脈寬,並提供脈寬調節的時鐘訊號以用於待測試的時序器件(例如,圖中的時序器件303)。時鐘驅動電路710也可以包括前述實施例中所描述的時鐘驅動電路,而代之以用時鐘驅動電路750的時鐘輸出作為其時鐘輸入。
時鐘驅動電路750可以包括多個時鐘路徑(亦可稱為第三時鐘路徑)751和753等,分別提供對應的時鐘訊號到選擇器MUX0(標示以757)。這裡,在圖7中僅示例性地示出了時鐘路徑751和753,然而在其他實施例中,時鐘驅動電路可以包括更多個時鐘路徑(第三時鐘路徑)。
在一些實施例中,各個時鐘路徑(第三時鐘路徑)可以接收相同的輸入時鐘,並對該輸入時鐘進行不同的延時和/或反相處理,以得到不同版本的時鐘訊號。例如,在一些實施例中,各個時鐘路徑可以接收相同的輸入時鐘,並對該輸入時鐘進行多種多樣的延時和/或反相處理,以得到不同版本的時鐘訊號。例如,在一些實施例中,各時鐘路徑對輸入時鐘提供彼此不同的延時和/或提供反相;在另一些實施例中,某些時鐘路徑也可以提供相同的延遲或反相。至少一部分時鐘路徑可以具有時鐘調節單元755,例如緩衝器或反相器等,以例如調節時鐘訊號的屬性,例如相位。如圖中所示,時鐘路徑751具有一個緩衝器(假設延時τ)和反相器(進行反相),時鐘路徑753具有兩個緩衝器(假設分別延時τ)和反相器(進行反相),從而對輸入時鐘進行不同的延時,從而分別提供反相並延時τ的時鐘訊號版本以及反相並延時2τ的時鐘訊號版本。在某些情況下,也可以提供未設置時鐘調節單元755的時鐘路徑。
時鐘驅動電路750可以包括所述選擇器(亦可稱為第三選擇器)MUX0 757,用於從所述多個第三時鐘路徑所提供的時鐘訊號中選擇時鐘訊號,以用於對應的待測試的時序器件。例如,選擇器757可以基於選擇訊號(例如,選擇訊號0)從多個第一時鐘路徑中選擇,以將所選擇的時鐘訊號作為時鐘(輸出)訊號759提供給待測試的時序器件或者傳送到下一級。
在處理器的實際工作條件下,可以通過選擇訊號(訊號0)來決定哪路時鐘訊號作為輸出時鐘,以滿足待測試的時序器件的時序要求,例如鎖存器的保持時序和最小時鐘脈寬的要求。
如圖7所示,在時鐘路徑751和753上經過不同延時的時鐘到達MUX0的兩個輸入端。可以根據需求設定選擇訊號0來選擇兩路時鐘通路中的一路作為時鐘輸出傳遞給當前待測試的時序器件和/或流水線的下一級的時鐘驅動電路。相鄰兩級流水線中的時鐘相位可以分別調整(各有兩種(或更多種)不同的延時),從而更好的滿足各待測試的時序器件中鎖存器的時序要求。
在一種具體實現中,如圖7所示,時鐘驅動電路710可以包括多個時鐘路徑(亦可稱為第四時鐘路徑)711、713等,其分別提供不同相位的時鐘訊號到邏輯單元715。在一些實施例中,所述多個第四時鐘路徑可以接收來自時鐘驅動電路750的時鐘訊號759,並且在各個第四時鐘路徑上基於所接收的時鐘訊號提供不同相位的時鐘訊號到邏輯單元715。時鐘驅動電路710還可以包括邏輯單元715。邏輯單元715可以基於所述不同相位的時鐘訊號中的至少一部分,產生脈寬調節的時鐘訊號以用於待測試的時序器件303。在一些具體實施例中,邏輯單元715可以是與閘或或閘;本發明不限於此。
所述多個第四時鐘路徑可以至少包括第一路徑和第二
路徑。在如圖7所示的示例中,第一路徑711可以被配置來直接提供時鐘(輸入)訊號759到邏輯單元715。第二路徑713可以被配置來基於從所接收的時鐘(輸入)訊號759提供進行了進一步調節的版本(例如,反相版本或反相並延時的版本)到邏輯單元715。
如圖所示,第二路徑713可以包括反相器717。反相器717接收時鐘(輸入)訊號(例如,輸入時鐘或來自中間電路的時鐘輸出)759,並產生與該時鐘(輸入)訊號759反相的時鐘訊號。第二路徑713可以還包括一個或多個子路徑,例如圖中所示出的子路徑719和721。子路徑719和721分別提供所述反相的時鐘訊號的相應版本到選擇器(在某些情況下,亦可稱為第四選擇器)723。例如,在圖7所示的示例中,子路徑721通過緩衝器763對所述反相的時鐘訊號進行延時,從而提供所述反相的時鐘訊號的延時版本,而子路徑719則提供未經處理的所述反相的時鐘訊號。如此,反相器的輸出訊號經過兩路不同延時的時鐘傳遞路徑到達選擇器MUX1的兩個輸入端。
選擇器MUX1 723從所述反相的時鐘訊號的不同的版本中選擇,並提供所選擇的版本到所述邏輯單元。MUX1可以選擇合適的時鐘路徑延時,以滿足待測試的時序器件(例如,鎖存器)對脈衝寬度的需求。
在圖7所示的示例中,提供到待測試的時序器件的時鐘
可以由時鐘驅動電路750的時鐘輸出訊號和該時鐘輸出訊號的不同版本的反相時鐘通過邏輯單元(例如,或閘或與閘邏輯)產生。由於待測試的時序器件可以位於對應的流水線級中,因此提供到本級待測試的時序器件的時鐘的脈衝寬度可由本級流水線的時鐘驅動電路750的輸出訊號和它的選定版本的反相時鐘的相位(即,該版本的反相時鐘相對於時鐘輸出訊號的延遲時間)決定。
選擇器MUX1可以根據選擇訊號1選擇兩路(可以更多)子時鐘路徑中的一路作為邏輯單元715的輸入之一,而邏輯單元715的另一個輸入是本級流水線的時鐘驅動電路的時鐘輸出訊號。這樣邏輯單元715的輸出訊號作為給本級流水線(尤其是其中的鎖存器器件)的時鐘訊號,使得占空比寬度可調。
圖8示出了根據本發明一個實施例的測試電路的示意圖。如圖8所示,測試電路800包括用於對待測試的時序器件303進行測試。上面就其它實施例中的相同或相似部件(例如待測試的時序器件等)所描述的內容可以同樣地或適應性地應用於本實施例,因此這裡省略對其重複說明。
如圖8所示,測試電路800包括測試序列提供模組801,用於提供測試序列到待測試的時序器件303。所述測試序列可以包括例如偽隨機比特序列(PRBS)或者包括校驗碼的偽隨機比特序列。
測試電路800還包括時鐘驅動模組807,用於提供時鐘訊號到所述待測試的時序器件。測試電路800還包括驗證模組805,其利用所述校驗碼對所述待測試的時序器件的輸出進行校驗。
上面就其他附圖所描述的內容可以同樣地或者適應性地應用於圖8所示的測試電路。因此,這裡不再對其細節進行重複說明。
在一些實施例中,處理器可以具有一個或多個核。前述的待測試的時序器件和時鐘驅動電路等可以被設置在所述核中。
至此,還應理解,還公開了一種計算系統,其包括如這裡所描述或所示出的任意實施例所述的測試電路。
根據本發明實施例的測試電路、處理器或計算系統,可以用於數位貨幣處理或計算。數位貨幣的例子可以有,例如,比特幣、萊特幣、以太幣以及其他數位貨幣。
根據本發明的另一方面還構思了一種測試電路的測試方法。所述測試電路可以如在此公開的任意實施例所述的測試電路。所述方法可以包括以下步驟。
在步驟S901,通過時鐘驅動模組提供不同配置的時鐘訊號到待測試的時序器件。在步驟S903,提供測試序列到待測試的時序器件的輸入。在步驟S905,檢測在每種配置的時鐘訊號下待測試的時序器件的輸出是否滿足要求。
在一些實施例中,所述方法還可以包括,在步驟S907,確定滿足要求的對應的時鐘配置或時鐘配置範圍。在步驟S911,確定預先確定的被設計用於該待測試的時序器件的時序參數範圍與通過測試確定的滿足要求的對應的時鐘配置之間的差異。在步驟S913,根據差異修改待測試的時序器件的電路設計和/或用於製備待測試的時序器件的工藝參數。
根據本發明的實施例,提供了新穎的測試電路、計算系統和測試方法。根據本發明的測試電路、計算系統和測試方法可以用於數位貨幣或虛擬貨幣的處理和計算,以及測試用於數位貨幣或虛擬貨幣的電路或系統。根據本發明的實施例,提供了靈活配置的時鐘路徑,並為流水線級的測試提供了多種時鐘選擇。根據本發明實施例,路徑越多,則提供的選擇越多。根據本發明實施例,可以為各級流水線提供靈活配置的時鐘,從而極大地提高了礦機處理器的設計和測試的靈活性,並直接或間接地提高了產品良品率。
本領域技術人員應當意識到,在上述實施例中描述操作(或步驟)之間的邊界僅僅是說明性的。多個操作可以結合成單個操作,單個操作可以分佈於附加的操作中,並且操作可以在時間上至少部分重疊地執行。而且,另選的實施例可以包括特定操作的多個實例,並且在其他各種實施例中可以改變操作順序。但是,其它的修改、變化和替換同樣是可能的。因此,本說明書和附圖應當
被看作是說明性的,而非限制性的。
雖然已經通過示例對本發明的一些特定實施例進行了詳細說明,但是本領域的技術人員應該理解,以上示例僅是為了進行說明,而不是為了限制本發明的範圍。在此公開的各實施例可以任意組合,而不脫離本發明的精神和範圍。本領域的技術人員還應理解,可以對實施例進行多種修改而不脫離本發明的範圍和精神。本發明的範圍由所附請求項來限定。
Claims (15)
- 一種用於包括待測試的時序器件的流水線級的測試電路,包括:測試序列提供模組,用於提供測試序列到所述待測試的時序器件;時鐘驅動模組,用於提供時鐘訊號到所述待測試的時序器件,其包括第一時鐘驅動電路,所述第一時鐘驅動電路包括:多個第一時鐘路徑,分別提供對應的時鐘訊號,所述多個第一時鐘路徑接收共同的時鐘輸入,並基於所述時鐘輸入分別提供不同相位的時鐘訊號;以及邏輯單元,基於所述多個第一時鐘路徑提供的時鐘訊號中的至少一部分,產生脈寬調節的第一時鐘訊號以用於所述待測試的時序器件;以及驗證模組,用於對所述待測試的時序器件的輸出進行驗證。
- 根據請求項1所述的測試電路,其中,所述驗證模組包括:基準時序器件,所述測試序列被同步提供到所述基準時序器件和所述待測試的時序器件,以及所述第一時鐘驅動電路還提供第二時鐘訊號到所述基準時序器件;以及比較模組,其對所述基準時序器件的輸出和所述待測試的時序器件的輸出進行比較。
- 根據請求項1所述的測試電路,其中,所述第一時鐘路徑中的至少一個還包括:第一選擇器,用於從對應的第一時鐘路徑的多個子路徑所提供的時鐘訊號中選擇時鐘訊號,並提供所選擇的時鐘訊號到所述邏輯單元。
- 根據請求項1所述的測試電路,其中,所述時鐘驅動模組還包括第二時鐘驅動電路,其中所述第二時鐘驅動電路包括:多個第二時鐘路徑,其分別提供不同相位的時鐘訊號,所述多個第二時鐘路徑中的至少一個基於所述第一時鐘訊號提供時鐘訊號;以及第二選擇器,從所述多個第二時鐘路徑所提供的時鐘訊號中選擇時鐘訊號以用於所述待測試的時序器件。
- 根據請求項1所述的測試電路,其中,所述時鐘驅動模組還包括第三時鐘驅動電路,其中所述第三時鐘驅動電路包括:多個第三時鐘路徑,其分別提供不同相位的時鐘訊號;以及第三選擇器,用於從所述多個第三時鐘路徑所提供的時鐘訊號中選擇時鐘訊號,以用於所述多個第一時鐘路徑中的至少一個。
- 根據請求項5所述的測試電路,其中所述多個第一時鐘路徑至少包括第一路徑和第二路徑, 所述第一路徑提供所述選擇的時鐘訊號到所述邏輯單元,以及所述第二路徑提供與所選擇的時鐘訊號的反相版本或反相並延時的版本到所述邏輯單元。
- 根據請求項6中所述的測試電路,其中所述第二路徑包括:反相器,其接收所述選擇的時鐘訊號,並產生與所述選擇的時鐘訊號反相的時鐘訊號;一個或多個子路徑,用於分別提供所述反相的時鐘訊號的相應版本到第四選擇器;以及所述第四選擇器,從所述反相的時鐘訊號的不同的版本中選擇,並提供所選擇的版本到所述邏輯單元。
- 根據請求項7所述的測試電路,其中所述一個或多個子路徑分別提供所述反相的時鐘訊號的不同延時的版本到所述第四選擇器。
- 根據請求項1所述的測試電路,其中所述邏輯單元是與閘或或閘。
- 根據請求項1所述的測試電路,其中所述測試序列提供模組提供具有校驗碼的測試序列到所述待測試的時序器件,所述測試電路還包括校驗模組,其利用所述校驗碼對所述待測試的時序器件的輸出進行校驗。
- 根據請求項1所述的測試電路,其中,所述時序器件是觸發器或鎖存器。
- 根據請求項1所述的測試電路,還包括:設置在所述待測試的時序器件的上游或下游的另外的時序器件。
- 一種包括具有待測試的時序器件的流水線級的計算系統,其包括如請求項1-12中任一項所述的用於所述流水線級的測試電路。
- 一種用於包括待測試的時序器件的流水線級的測試電路的測試方法,其中,所述測試電路是如請求項1-12中任一項所述的用於所述流水線級的測試電路,所述方法包括:通過所述時鐘驅動模組提供不同配置的時鐘訊號到所述待測試的時序器件;提供測試序列到所述待測試的時序器件的輸入;以及檢測在每種配置的時鐘訊號下所述待測試的時序器件的輸出是否滿足時序要求。
- 如請求項14所述的方法,還包括:確定滿足要求的對應的時鐘配置或時鐘配置範圍;確定預先確定的被設計用於該待測試的時序器件的時序參數範圍與通過測試確定的滿足要求的對應的時鐘配置之間的差異;以及根據所述差異修改所述待測試的時序器件的電路設計和/或用於製備所述待測試的時序器件的工藝參數。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110048109.2A CN114764118A (zh) | 2021-01-14 | 2021-01-14 | 测试电路、测试方法和包括测试电路的计算系统 |
CN202110048109.2 | 2021-01-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202230132A TW202230132A (zh) | 2022-08-01 |
TWI806340B true TWI806340B (zh) | 2023-06-21 |
Family
ID=82363518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111100571A TWI806340B (zh) | 2021-01-14 | 2022-01-06 | 用於包括待測試的時序器件的流水線級的測試電路、測試方法和包括測試電路的計算系統 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240036113A1 (zh) |
KR (1) | KR20230131255A (zh) |
CN (1) | CN114764118A (zh) |
TW (1) | TWI806340B (zh) |
WO (1) | WO2022152032A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116094497B (zh) * | 2023-04-11 | 2023-07-25 | 长鑫存储技术有限公司 | 一种采样测试电路 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW576997B (en) * | 2001-10-24 | 2004-02-21 | Herng-Jer Lee | Method and apparatus for rapidly selecting types of buffers which are inserted in the clock tree for high-speed VLSI design |
CN102169515A (zh) * | 2010-02-26 | 2011-08-31 | 国际商业机器公司 | 一种专用集成电路中时钟树延迟时间的估计方法和系统 |
US8726114B1 (en) * | 2012-11-09 | 2014-05-13 | Oracle International Corporation | Testing of SRAMS |
CN107291421A (zh) * | 2017-06-09 | 2017-10-24 | 中国电子科技集团公司第四十研究所 | 一种可编程图形序列发生系统及方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002289776A (ja) * | 2001-03-26 | 2002-10-04 | Kawasaki Microelectronics Kk | 半導体装置 |
JP4354235B2 (ja) * | 2003-09-12 | 2009-10-28 | 株式会社アドバンテスト | 試験装置及び調整方法 |
JP4469753B2 (ja) * | 2005-04-28 | 2010-05-26 | 株式会社アドバンテスト | 試験装置 |
US7526694B1 (en) * | 2006-08-03 | 2009-04-28 | Xilinx, Inc. | Integrated circuit internal test circuit and method of testing therewith |
JPWO2008032701A1 (ja) * | 2006-09-13 | 2010-01-28 | 日本電気株式会社 | クロック調整回路と半導体集積回路装置 |
KR102026205B1 (ko) * | 2012-12-24 | 2019-11-04 | 에스케이하이닉스 주식회사 | 반도체 장치 |
CN104698370A (zh) * | 2013-12-10 | 2015-06-10 | 展讯通信(上海)有限公司 | 芯片中电路的时序测试方法、装置及rtl仿真设备 |
CN111736059B (zh) * | 2020-07-02 | 2022-08-26 | 深圳比特微电子科技有限公司 | 芯片测试方法、测试设备和测试系统 |
CN215180689U (zh) * | 2021-01-14 | 2021-12-14 | 深圳比特微电子科技有限公司 | 测试电路和包括测试电路的计算系统 |
-
2021
- 2021-01-14 CN CN202110048109.2A patent/CN114764118A/zh active Pending
-
2022
- 2022-01-06 TW TW111100571A patent/TWI806340B/zh active
- 2022-01-06 WO PCT/CN2022/070473 patent/WO2022152032A1/zh active Application Filing
- 2022-01-06 US US18/268,517 patent/US20240036113A1/en active Pending
- 2022-01-06 KR KR1020237027506A patent/KR20230131255A/ko active Search and Examination
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW576997B (en) * | 2001-10-24 | 2004-02-21 | Herng-Jer Lee | Method and apparatus for rapidly selecting types of buffers which are inserted in the clock tree for high-speed VLSI design |
CN102169515A (zh) * | 2010-02-26 | 2011-08-31 | 国际商业机器公司 | 一种专用集成电路中时钟树延迟时间的估计方法和系统 |
US8726114B1 (en) * | 2012-11-09 | 2014-05-13 | Oracle International Corporation | Testing of SRAMS |
CN107291421A (zh) * | 2017-06-09 | 2017-10-24 | 中国电子科技集团公司第四十研究所 | 一种可编程图形序列发生系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202230132A (zh) | 2022-08-01 |
KR20230131255A (ko) | 2023-09-12 |
US20240036113A1 (en) | 2024-02-01 |
CN114764118A (zh) | 2022-07-19 |
WO2022152032A1 (zh) | 2022-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6065126A (en) | Method and apparatus for executing plurality of operations per clock cycle in a single processing unit with a self-timed and self-enabled distributed clock | |
US9041429B2 (en) | Sequential state elements for triple-mode redundant state machines, related methods, and systems | |
US7284143B2 (en) | System and method for reducing clock skew | |
CN213879787U (zh) | 处理器和计算系统 | |
US10310994B2 (en) | Asynchronous finite state machines | |
TWI806340B (zh) | 用於包括待測試的時序器件的流水線級的測試電路、測試方法和包括測試電路的計算系統 | |
JP2008042367A (ja) | 半導体装置 | |
US20110078644A1 (en) | Asychronous system analysis | |
CN215180689U (zh) | 测试电路和包括测试电路的计算系统 | |
US6550013B1 (en) | Memory clock generator and method therefor | |
TWI790088B (zh) | 處理器和計算系統 | |
JP2002083000A (ja) | 論理回路設計方法及び論理回路 | |
JP5107080B2 (ja) | 半導体装置 | |
WO2023279341A1 (zh) | 用于设计异步电路的方法和电子设备 | |
US7302657B2 (en) | Optimization of the design of a synchronous digital circuit | |
JP6602849B2 (ja) | プログラマブル遅延回路ブロック | |
JPWO2009084396A1 (ja) | 遅延モニタ回路および遅延モニタ方法 | |
KR101912905B1 (ko) | 카스 레이턴시 설정 회로 및 이를 포함하는 반도체 메모리 장치 | |
US9960771B2 (en) | Hum generation using representative circuitry | |
Poornima et al. | Functional verification of clock domain crossing in register transfer level | |
US7047392B2 (en) | Data processing apparatus and method for controlling staged multi-pipeline processing | |
Prabakar et al. | SOPC based asynchronous pipelined DCT with self test capability | |
EP1308862A1 (en) | Optimization of the design of a synchronous digital circuit | |
JP2000353939A (ja) | クロック信号同期式フリップフロップ回路 | |
Jeitler et al. | Speeding up fault injection for asynchronous logic by fpga-based emulation |