TW202046331A - 電路校正系統與增加掃描測試涵蓋率的方法 - Google Patents

電路校正系統與增加掃描測試涵蓋率的方法 Download PDF

Info

Publication number
TW202046331A
TW202046331A TW108119054A TW108119054A TW202046331A TW 202046331 A TW202046331 A TW 202046331A TW 108119054 A TW108119054 A TW 108119054A TW 108119054 A TW108119054 A TW 108119054A TW 202046331 A TW202046331 A TW 202046331A
Authority
TW
Taiwan
Prior art keywords
circuit
flip
scan chain
flop
netlist file
Prior art date
Application number
TW108119054A
Other languages
English (en)
Other versions
TWI684987B (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 創意電子股份有限公司
Priority to TW108119054A priority Critical patent/TWI684987B/zh
Priority to US16/702,569 priority patent/US10909291B2/en
Application granted granted Critical
Publication of TWI684987B publication Critical patent/TWI684987B/zh
Publication of TW202046331A publication Critical patent/TW202046331A/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/333Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318583Design for test
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • 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/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • 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
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability

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)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

增加掃描測試涵蓋率的方法,其由至少一處理器執行,並包含下列操作:分析第一網表檔與第二網表檔,以獲取一電路結構變動,其中第一網表檔對應於第一掃描鍊電路系統,且第二網表檔對應於第二掃描鍊電路系統,第二網表檔為經由第一網表檔被執行工程變更指令後所產生;依據至少一預定條件修復第二掃描鍊電路系統;評估經修復後的第二掃描鍊電路系統中之一候選節點,以連接經工程變更指令後所產生的新正反器電路至候選節點;以及儲存處理後的第二網表檔為第三網表檔,以製造積體電路。

Description

電路校正系統與增加掃描測試涵蓋率的方 法
本案是有關於一種電路校正系統,且特別是有關於應用於工程變更指令的電路校正系統與增加掃描測試涵蓋率。
工程變更指令(engineering change orders,ECO)用於改變元件、功能、工作流程或工程規格。在積體電路設計的應用中,ECO常用來修正在設計期間發現的設計錯誤,或對設計規格做出更改以補償其他系統要求。然而,經過ECO後的電路,可能會造成後續流程需多花費一些未預期的額外時間,例如造成掃描測試的涵蓋率下降或造成需要重新佈局與繞線的負擔等等,導致積體電路的開發週期更長。
為了解決上述問題,本案的一態樣係於提供一 種增加掃描測試涵蓋率的法,其由至少一處理器執行,並包含下列操作:分析第一網表檔與第二網表檔,以獲取一電路結構變動,其中第一網表檔對應於第一掃描鍊電路系統,且第二網表檔對應於第二掃描鍊電路系統,第二網表檔為經由第一網表檔被執行工程變更指令後所產生;依據至少一預定條件修復第二掃描鍊電路系統;評估經修復後的第二掃描鍊電路系統中之候選節點,以連接經工程變更指令後所產生的新正反器電路至候選節點;以及儲存處理後的第二網表檔為第三網表檔,以製造積體電路。
本案的一態樣係於提供一種電路校正系統,其包含記憶體與處理器。記憶體用於儲存至少一程式碼。處理器用以執行至少一程式碼,以執行下列操作:分析第一網表檔與第二網表檔,以獲取一電路結構變動,其中第一網表檔對應於第一掃描鍊電路系統,且第二網表檔對應於第二掃描鍊電路系統,第二網表檔為經由第一網表檔被執行工程變更指令後所產生;依據至少一預定條件修復該第二掃描鍊電路系統;評估經修復後的第二掃描鍊電路系統中之一候選節點,以連接經工程變更指令後所產生的新正反器電路至候選節點;以及儲存處理後的第二網表檔為第三網表檔,以製造積體電路。
於一些實施例中,分析該第一網表檔與該第二網表檔,以獲取該電路結構變動的操作包含:映射第一掃描鍊電路系統與第二掃描鍊電路系統,並分類掃描鍊電路結構變動。
於一些實施例中,映射第一掃描鍊電路系統與第二掃描鍊電路系統,並分類該電路結構變動的的操作包含:根據正反器類型以及輸入輸出接腳類型依序分類第一掃描鍊電路系統與第二掃描鍊電路系統中未被映射到的正反器電路,以判斷第二掃描鍊電路系統是否符合至少一預定條件。
於一些實施例中,至少一預定條件包含未被映射到的正反器電路與第二掃描鍊電路系統的其他電路斷開連接、未被映射到的正反器電路與第二掃描鍊電路系統的其他正反器電路之間的連接順序被改變或其上述任意組合。
於一些實施例中,依據至少一預定條件修復該第二掃描鍊電路系統的操作包含:重新連接未被映射到的正反器電路至該第二掃描鍊電路系統的其他電路或回復未被映射到的正反器電路與該第二掃描鍊電路系統的其他正反器電路之間的連接順序,以修復該第二掃描鍊電路系統。
於一些實施例中,評估經修復後的該第二掃描鍊電路系統中之該候選節點,以連接經該工程變更指令後所產生的該新正反器至候選節點的操作包含:根據該第二網表檔辨識新正反器電路;以及依據時脈域以及觸發邊緣分類第二掃描鍊電路系統中的複數個原有的正反器電路與新正反器電路,以尋找該至少一候選節點。
於一些實施例中,新正反器電路被分類至一第一分類,且尋找該至少一候選節點的操作更包含:根據電路階層、功能關聯性或扇出數中至少一者評估該些原有的正反 器電路中屬於第一分類的至少一原有的正反器電路,以尋找至少一候選節點。
於一些實施例中,評估該些原有的正反器電路中屬於該第一分類的至少一原有的正反器電路的操作包含:根據電路階層與功能關聯性評分至少一原有的正反器電路;以及挑選至少一原有的正反器電路中具有最高評分與最低扇出數之一者的輸出端為該至少一候選節點。
綜上所述,本案實施例所提供的電路校正系統與增加掃描測試涵蓋率的方法可有效率地檢查經工程變更指令處理後的掃描鍊電路系統,以改善掃描測試的涵蓋率以及縮短後續流程時間。
100‧‧‧電路校正系統
110‧‧‧處理器
120‧‧‧記憶體
130‧‧‧輸入/輸出介面
D1~D4‧‧‧資料
200‧‧‧掃描鍊電路系統
220A~220E‧‧‧正反器電路
CP‧‧‧時脈接收端
SI‧‧‧第一輸入端
D‧‧‧第二輸入端
EN‧‧‧致能端
CLK‧‧‧時脈訊號
Q‧‧‧輸出端
300‧‧‧方法
S310、S320、S330‧‧‧操作
S3-1~S3-5‧‧‧子操作
400‧‧‧樹狀圖
L1‧‧‧第一層
L2‧‧‧第二層
L3‧‧‧第三層
403-1、403-2‧‧‧分支
Y、Z‧‧‧子模組
X‧‧‧模組
S401~S405‧‧‧操作
600‧‧‧分類流程圖
S610、S620、S630‧‧‧操作
S640、S650‧‧‧操作
本案之圖式說明如下:第1圖為根據本案一些實施例所繪示的一種電路校正系統的示意圖;第2圖為根據本案一些實施例所繪示的一種掃描鍊電路系統的示意圖;第3圖為根據本案一些實施例所繪示的一種用於增加掃描測試涵蓋率之方法的流程圖;第4A圖為根據本案一些實施例所繪示第3圖中映射與分類連接關係之操作之概念示意圖;第4B圖為根據本案一些實施例所繪示的一種分類樹狀圖; 第5圖為根據本案一些實施例所繪示第3圖中映射與分類連接關係之操作之概念示意圖;第6A圖為根據本案一些實施例所繪示第3圖中評估經修復後的網表檔中的至少一候選節點之概念示意圖;以及第6B圖為根據本案一些實施例所繪示的一種分類流程圖。
以下將以圖式揭露本案之複數個實施方式,為明確說明起見,許多實務上的細節將在以下敘述中一併說明。然而,應瞭解到,這些實務上的細節不應用以限制本案。也就是說,在本案部分實施方式中,這些實務上的細節是非必要的。此外,為簡化圖式起見,一些習知慣用的結構與元件在圖式中將以簡單示意的方式繪示之。
關於本文中所使用之『耦接』或『連接』,均可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,亦可指二或多個元件相互操作或動作。
關於本文中所使用之『約』、『大約』或『大致約』一般通常係指數值之誤差或範圍約百分之二十以內,較好地是約百分之十以內,而更佳地則是約百分五之以內。文中若無明確說明,其所提及的數值皆視作為近似值,即如『約』、『大約』或『大致約』所表示的誤差或範圍。如本文所用,詞彙『與/或』包含了列出的關聯項目中的一個或 多個的任何組合。
於本文中,用語『電路系統(circuitry)』泛指包含一或多個電路(circuit)所形成的單一系統。用語『電路』泛指由一或多個電晶體與/或一或多個主被動元件按一定方式連接以處理訊號的物件。
為易於理解,本案各圖式中的類似元件將被指定為相同標號。
參照第1圖,第1圖為根據本案一些實施例所繪示的一種電路校正系統100的示意圖。於一些實施例中,電路校正系統100可應用於與積體電路設計相關的工程變更指令(engineering change order,ECO),以降低電路設計與/或測試階段所需耗費的時間。
電路校正系統100包含處理器110、記憶體120以及一或多個輸入/輸出(Input/Output,I/O)介面130。處理器110耦接至記憶體120以及多個I/O介面130。
於各個實施例中,處理器110為一或多個中央處理單元(CPU)、特殊應用積體電路(Application-specific integrated circuit,ASIC)、多處理器、分散式處理系統、或合適的處理單元。適合實施處理器110的各種電路或單元皆為本案所涵蓋的範圍。
記憶體120儲存一或多個程式碼,其用以輔助設計積體電路。例如,記憶體120儲存一或多個程式碼,此程式碼以至少一個指令集所編碼而成,其中指令集用以對晶片或積體電路進行掃描測試(scan test)與/或進行後述第3 圖的方法300。處理器110可執行儲存於記憶體120的程式碼,且上述的多個操作(如後述第3圖)可自動地被執行。
於一些實施例中,記憶體120為非暫態電腦可讀取儲存媒介,其儲存用以執行關聯於掃描測試的ECO之多個指令集。例如,記憶體120儲存有用以執行例如包含第3圖中多個操作的多個可執行指令。於一些實施例中,電腦可讀取儲存媒介為電性、磁性、光學、紅外線與/或半導體系統(或設備或裝置)。例如,電腦可讀取儲存媒介包含半導體或固態記憶體、磁帶、可移除式電腦磁碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、硬磁碟與/或光學磁碟。在使用光學磁碟的一個或多個實施例中,電腦可讀取儲存媒介包含唯讀記憶光碟(CD-ROM)、可重複錄寫光碟(CD-R/W)與/或數位影音光碟(DVD)。
多個I/O介面130自各種控制裝置接收多個輸入或命令,其中控制裝置可由電路設計者操控。據此,電路校正系統100可由多個I/O介面130的輸入或命令被操控。例如,電路設計者可經由多個I/O介面130輸入載有對應一積體電路之網表(netlist)檔的資料,以供處理器110進行分析。
於一些實施例中,多個I/O介面130包含一螢幕,其設置以顯示程式碼執行的狀態。於一些實施例中,多個I/O介面130包含圖形化用戶介面(GUI)。於另一些實施例中,多個I/O介面130包含鍵盤、數字鍵盤、滑鼠、軌跡球、觸控螢幕、游標方向鍵或其上述之組合,以溝通資訊與 多個命令至處理器110。
為了說明後述第3圖的方法300,各種相關的詞彙或元件將參照第2圖進行說明。
參照第2圖,第2圖為根據本案一些實施例所繪示的一種掃描鍊(scan chain)電路系統200的示意圖。在一些實施例中,掃描鍊電路系統200可實施於積體電路(或晶片)內,以利進行後續的測試(例如時序分析等等)。
掃描鍊電路系統200包含多個串接的正反器電路220A~220D。於一些實施例中,正反器電路220A~220D可為掃描正反器(Scan flip-flop),但本案並不以此為限。各種類型的正反器電路220A~220D皆為本案所涵蓋之範圍。
正反器電路220A~220D中每一者包含時脈接收端CP、第一輸入端SI、第二輸入端D、致能端EN以及輸出端Q,其中致能端EN用以接收掃描致能訊號(未繪示),且時脈接收端CP用以接收時脈訊號CLK。正反器電路220A的第一輸入端SI用以接收掃描輸入訊號(未繪示),且正反器電路220A的輸出端Q耦接至正反器電路220B的第一輸入端SI。依此類推,正反器電路220D的輸出端Q用以輸出一掃描輸出訊號(未繪示)。
正反器電路220A~220D中每一者的第二輸入端D耦接至一待測電路(未繪示)內部的一對應輸入/輸出節點,以分別接收/輸出主要(primary)輸入/輸出訊號(未繪示)。當收到具特定邏輯值的掃描致能訊號時,正反器電路 220A~220D被致能而進入掃描模式。於掃描模式中,正反器電路220A~220D之操作類似於移位暫存器,並根據掃描輸入訊號(未繪示)產生掃描輸出訊號(未繪示)。等效而言,當操作於掃描模式時,正反器電路220A~220D中每一者將其第一輸入端SI所接收到的訊號鎖存並經由輸出端Q輸出。換言之,於掃描模式下,掃描輸出訊號將由掃描輸入訊號決定,而未受待測電路影響。如此,在掃描模式後的後續測試操作中,可藉由偵測掃描輸出訊號的訊號值變化來確認待測電路是否有故障。於一些實施例中,待測電路可為一或多個數位(或邏輯)電路的集合,但本案並不以此為限。
於一些實施例中,掃描鍊電路系統200的電路結構與電路連接關係可由一網表(netlist)檔定義。例如,如第1圖所示,I/O介面130可接收資料D1並儲存於記憶體120內,其中資料D1用於描述掃描鍊電路系統200的內部電路的網表檔。於一些實施例中,網表檔的內容符合一預定類型的語法,此語法以可被電路校正系統100辨識的描述格式記錄。於一些實施例中,網表檔為閘級(gate-level)網表檔。於一些實施例中,網表檔的預定類型可為硬體描述語言(Verilog)或超高速積體電路硬體描述語言(very high-speed hardware description language,VHDL)。上述語法之類型用於示例,本案並不以此為限。
於一些實施例中,經ECO後,掃描鍊電路系統200的電路結構(例如電路元件與/或連接關係)可能會被改變。例如,正反器電路被移除、連接順序被改變或有新的正 反器電路被加入等等。在某些情況下,這些改變會造成掃描鍊電路系統200的功能異常,或測試涵蓋率下降,或造成後續佈局與繞線的額外負擔。於一些實施例中,電路校正系統100可執行下述的方法300,以解決上述問題。
參照第3圖,第3圖為根據本案一些實施例所繪示的一種用於增加掃描測試率的方法300之流程圖。於一些實施例中,方法300可由第1圖的處理器110執行。
於操作S310,分析進行ECO前後的網表檔。操作S310包含子操作S3-1與S3-2。
於子操作S3-1,映射並分類進行ECO前後的網表檔所對應的掃描鍊電路系統。
於子操作S3-2,依據至少一預定條件修復進行ECO後的網表檔所對應的掃描鍊電路系統。
為易於理解,參照第4A圖與第4B圖,第4A圖為根據本案之一些實施例所繪示第3圖中映射與分類連接關係之操作(即操作S310)之概念示意圖,且第4B圖為根據本案一些實施例所繪示的一種樹狀圖400。
在一些情形下,經ECO後,掃描鍊電路系統200中的電路結構(例如為連接關係)會有變動。於一些實施例中,處理器110將經ECO後的掃描鍊電路系統200所對應的網表檔儲存為資料D2(如第1圖所示),並儲存於記憶體120。藉由比較資料D1與資料D2,處理器110可獲取掃描鍊電路系統200的電路結構經ECO前後的差異。
如第4A圖所示,在此例中,經ECO後,原有的 正反器電路220B被移除,導致原有的正反器電路220A與其他電路斷開連接。藉由比較資料D1與資料D2,處理器110可獲取上述連接關係變化的資訊。例如,處理器110可依據第4B圖的樹狀圖400來對資料D1與D2進行分類與映射。如第4B圖所示,在第一層L1,處理器110映射資料D1與資料D2,以獲得前述的連接關係變化。若有映射到相關元件,代表該電路元件的連接關係未變化,例如為第4A圖的220C與220D。若沒有映射到相關元件,代表該電路元件的連接關係出現變化,例如為第4A圖的220A與220B。
接著,在第二層L2,處理器110對未被映射到的元件進行分類。以正反器電路的類型為例,若是未被映射到的元件是掃描器電路系統200內的正反器電路(即前述的掃描正反器),此元件會被分類至分支403-1。反之,若未被映射到的元件是一般的正反器電路,此元件會被分類到分支403-2。
分支403-1與分支403-2之分類方式相同,以下以分支403-1為例說明。依據資料D2,處理器110確認正反器電路220A(與/或正反器電路220B)是掃描器電路系統200內的正反器電路。處理器110依據正反器電路220A(與/或正反器電路220B)的輸入輸出接腳(例如包含第1圖的時脈接收端CLK、資料輸入輸出端(例如為第一輸入端SI、第二輸入端D與輸出端Q等等)以及致能端EN)進行分類。上述僅為示例,本案並不以此為限,於其他的實施例中,正反器電路之接腳還可包含重置端等等。
在第三層L3,處理器110進一步搜尋當前分類的正反器電路的鄰近位置上是否具有其他正反器電路。例如,在分類完正反器電路220A後,處理器110進一步根據資料D2得知正反器電路220A的鄰近位置上存在原有的正反器電路220C與220D。
進行上述操作後,處理器110可確認經ECO後的掃描器電路系統200是否符合至少一預定條件。依據不同應用,至少一預定條件可設定以增加掃描測試的涵蓋率與/或避免重新自動佈局與繞線等等,以增加電路測試的效率與可靠度。於此例中,正反器電路220A與其他電路斷開連接,將導致掃描器電路系統200的測試涵蓋率降低。因此,處理器110判定經ECO後的掃描器電路系統200符合預定條件,以修復掃描器電路系統200。如第4A圖所示,處理器110重新連接正反器電路220A的輸出端Q至原有的正反器電路220C的第一輸入端SI。如此,經修復後的掃描器電路系統200之測試涵蓋率可以提高。
參照第5圖,第5圖為根據本案之一些實施例所繪示第3圖中映射與分類連接關係之操作(即操作S310)之概念示意圖。相較於第4A圖,於此例中,經ECO後,正反器電路220B與正反器電路220C的連接順序被改變。於此條件下,後續程序中會需要重新繞線與佈局,導致額外的負擔。因此,處理器110判定經ECO後的掃描器電路系統200符合預定條件,以修復掃描器電路系統200。如第5圖所示,處理器110重新設定正反器電路220B與正反器電路220C 的連接順序。如此,可避免引入額外的繞線負擔。
繼續參照第3圖,於操作S320,評估經修復後的網表檔中的至少一候選節點,以連接經ECO後所加入的新電路到該至少一候選節點。操作S320包含子操作S3-3、S3-3與S3-4。
於子操作S3-3,辨識經ECO後加入的新正反器電路。
於子操作S3-4,依據時脈域跟觸發邊緣分類修復後的網表檔所對應的電路,以尋找至少一候選節點。
於子操作S3-5,連接新正反器電路至該至少一候選節點。
於一些實施例中,相較於操作S310,操作S320用以處理掃描鍊電路系統200經ECO後被加入的新正反器電路。
為易於理解,參照第6A圖至第6B圖,第6A圖為根據本案之一些實施例所繪示第3圖中評估經修復後的網表檔中的至少一候選節點(即操作S320)之概念示意圖,且第6B圖為根據本案之一些實施例所繪示的一種分類流程圖600。
於此例中,經修復後的掃描鍊電路系統200包含原有的正反器電路220A~220D,且經ECO後,掃描鍊電路系統200更包含新的正反器電路220E。於一些實施例中,藉由比較前述的資料D1與資料D2,處理器110可辨識出正反器電路220E是於ECO後才新增的電路。其中,在電 路階層中,正反器電路220A~220C以及下層的子模組Z屬於同一子模組Y,正反器電路220E屬於子模組Z,且正反器電路220D屬於最上層的模組X。於一些實施例中,在操作S310被執行後,處理器110可將修復後的網表檔儲存為資料D3,以分析資料D3來執行子操作S3-4與S3-5。
如第6B圖所示,處理器110分析資料D3以辨識出目前存在的正反器電路220A~220E(即操作S610)。處理器110依據正反器電路220A~220E每一者所接收的時脈訊號(即時脈接收端CP所接收之訊號)所對應的時脈域對正反器電路220A~220E進行分類(即操作S620)。於一些實施例中,當多個時脈訊號輸入所連接的時脈訊號源相同且該些時脈訊號之間存在有固定相位關聯性,這些時脈訊號可被視為來自同一時脈域。反之,當多個時脈訊號輸入所連接的時脈訊號源不同或該些時脈訊號之間不具有固定相位關聯性,這些時脈訊號可被視為來自不同的時脈域。
接著,處理器110分析資料D3以確認正反器電路220A~220E每一者是被時脈訊號的上升邊緣或下降邊緣觸發,進而對正反器電路220A~220E進行分類(即操作S630)。如此,處理器110可針對新增的正反器電路220E找到一匹配的分類(即操作S640),並評估屬於此匹配的分類下之其他正反器電路之電路階層、功能關聯性與扇出(fan out)數,以確認至少一候選節點(即操作S650)。
舉例而言,處理器110分析出正反器電路220E屬於分類1,且正反器電路220A~220D也屬於分類1。接 著,處理器110考慮正反器電路220A~220D每一者與正反器電路220E之間的電路階層與功能關聯性,以進行評分(如下表)。
Figure 108119054-A0101-12-0015-1
於一些實施例中,處理器110會選擇在電路階層與/或功能關聯性上具有最高得分且具有最低扇出數的正反器電路的輸出為該候選節點。例如,如先前所述,正反器電路220A~220C與正反器電路220E同屬於子模組Y,故正反器電路220A~220C之電路階層的分數較高。相對的,由於正反器電路220D與正反器電路220E屬於不同子模組,故正反器電路220D之電路階層的分數較低。於一些實施例中,屬於同一電路階層的電路通常具有相近的位置關係與/或相關的功能關係,故可降低後續繞線上的負擔。因此,若與新正反器電路220E具有較接近的電路階層,分數會較高(例如:20分)。反之,若與新正反器電路220E具有較遠的電路階層,分數會較低(例如:10分)。
於一些實施例中,電路階層的關係可由網表檔之描述方式定義(例如為使用『.subckt』等方式),故處理器110可藉由分析資料D3所對應的網表檔得知上述電路階層。
進一步地,如第6A圖所示,正反器電路220E之輸入或輸出可能會直接影響到正反器電路220B與220C之輸入或輸出,而與其他正反電路220A與220D較無直接關係。因此,正反器電路220B與220C之功能關聯性的分數高於正反器電路220A與220D之功能關聯性的分數。如上表所示,正反器電路220B與正反器電路220C之得分皆為26。
處理器110進一步地分析資料D3,以獲取正反器電路220B之扇出數與正反器電路220C之扇出數。扇出數代表正反器電路的輸出所連接的(或已驅動的)邏輯閘數目。扇出數越低,代表該正反器電路還有剩餘的負載能力可以連接至其他的邏輯閘。例如,如上表所示,正反器電路220B之扇出數為8,而正反器電路220C之扇出數為3。
因此,如第6A圖所示,處理器110選擇正反器電路220C之輸出為候選節點,並將新的正反器電路220E連接至正反器電路220C之輸出,並串接至正反器電路220D。如此一來,正反器電路220E與其待測電路之測試結果可以被考量,以提升掃描鍊電路系統200的測試涵蓋率。
繼續參照第3圖,於操作S330,儲存處理後的網表檔,以進行後續晶片製造。例如,處理器110可儲存第6A圖中經處理後的掃描鍊電路系統200對應之網表檔為第1圖的資料D4。在後續流程,資料D4可被用來實施額外的(非必須)佈局與/或繞線程序,以製造相關晶片或積體電路。
於一些相關技術中,在電路測試中,經ECO後的掃描鍊電路系統通常需要重新執行可測試性設計(design for test,DFT)的驗證以及重新執行完整的佈局與繞線程序,以確保經ECO後的掃描鍊電路系統具有足夠的測試涵蓋率。在相關技術中,上述驗證與/或重新佈局需耗費具有足夠經驗的測試工程師與佈局工程師之人力以及額外測試時間。相對於上述技術,在本案實施例中,藉由執行方法300,經ECO後的掃描電路系統可以被系統化地逐步檢查,以有效率地修復掃描鍊電路系統並同時減輕額外的佈線負擔。
在一些非限制性的實驗例中,相較於前述的相關技術,本案實施例的電路校正系統100與方法300可節省約62%~88%的ECO程序之時間。
上述方法300的多個步驟僅為示例,並非限定需依照此示例中的順序執行。在不違背本揭示內容的各實施例的操作方式與範圍下,在方法300下的各種操作當可適當地增加、替換、省略或以不同順序執行。
上述的掃描鍊電路系統200以及經ECO後的相關連接關係用於示例,但本案並不以此為限。本案之方法300可適用於各種類型的ECO應用。
於一些實施例中,方法300可實現為載於非暫態電腦可讀取媒體的設計工具。換言之,方法300可由硬體、軟體、韌體或上述之任意組合實現。例如,若速度與準確度為主要考量,可主要由硬體與/或韌體實現。或者,若設計彈性為主要考量,則可主要由軟體實現。上述實現方式僅為示例,本案並不以此為限。
綜上所述,本案實施例所提供的電路校正系統與用以增加掃描測試涵蓋率的方法可有效率地檢查經工程變更指令處理後的掃描鍊電路系統,以改善掃描測試的涵蓋率以及縮短後續流程時間。
雖然本案已以實施方式揭露如上,然其並非限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。
300‧‧‧方法
S310、S320、S330‧‧‧操作
S3-1~S3-5‧‧‧子操作

Claims (16)

  1. 一種電路校正系統,包含:一記憶體,用於儲存至少一程式碼;以及一處理器,用以執行該至少一程式碼,以執行下列操作:分析一第一網表檔與一第二網表檔,以獲取一電路結構變動,其中該第一網表檔對應於一第一掃描鍊電路系統,且該第二網表檔對應於一第二掃描鍊電路系統,該第二網表檔為經由該第一網表檔被執行一工程變更指令後所產生;依據至少一預定條件修復該第二掃描鍊電路系統;評估經修復後的該第二掃描鍊電路系統中之一候選節點,以連接經該工程變更指令後所產生的一新正反器電路至該候選節點;以及儲存處理後的該第二網表檔為一第三網表檔,以製造一積體電路。
  2. 如請求項1所述的電路校正系統,其中該處理器用以映射該第一掃描鍊電路系統與該第二掃描鍊電路系統,並分類該電路結構變動。
  3. 如請求項2所述的電路校正系統,其中該處理器用以根據一正反器類型以及一輸入輸出接腳類型依序分類該第一掃描鍊電路系統與該第二掃描鍊電路系統中 未被映射到的一正反器電路,以判斷該第二掃描鍊電路系統是否符合該至少一預定條件。
  4. 如請求項3所述的電路校正系統,其中該至少一預定條件包含該正反器電路與該第二掃描鍊電路系統的其他電路斷開連接、該正反器電路與該第二掃描鍊電路系統的其他正反器電路之間的一連接順序被改變或其上述任意組合。
  5. 如請求項3所述的電路校正系統,其中該處理器用以重新連接該正反器電路至該第二掃描鍊電路系統的其他電路或回復該正反器電路與該第二掃描鍊電路系統的其他正反器電路之間的一連接順序,以修復該第二掃描鍊電路系統。
  6. 如請求項1所述的電路校正系統,其中該處理器用以根據該第二網表檔辨識該新正反器電路,並依據一時脈域以及一觸發邊緣分類該第二掃描鍊電路系統中的複數個原有的正反器電路與該新正反器電路,以尋找該至少一候選節點。
  7. 如請求項6所述的電路校正系統,其中該新正反器電路被分類至一第一分類,且該處理器更用以根據一電路階層、一功能關聯性或一扇出數中至少一者評估該些原有的正反器電路中屬於該第一分類的至少一原有的 正反器電路,以尋找該至少一候選節點。
  8. 如請求項7所述的電路校正系統,其中該處理器用以根據該電路階層與該功能關聯性評分該至少一原有的正反器電路,並挑選該至少一原有的正反器電路中具有最高評分與最低扇出數之一者的一輸出端為該至少一候選節點。
  9. 一種增加掃描測試涵蓋率的方法,由至少一處理器執行,該方法包含:分析一第一網表檔與一第二網表檔,以獲取一電路結構變動,其中該第一網表檔對應於一第一掃描鍊電路系統,且該第二網表檔對應於第二掃描鍊電路系統,該第二網表檔為經由該第一網表檔被執行一工程變更指令後所產生;依據至少一預定條件修復該第二掃描鍊電路系統;評估經修復後的該第二掃描鍊電路系統中之一候選節點,以連接經該工程變更指令後所產生的一新正反器電路至該候選節點;以及儲存處理後的該第二網表檔為一第三網表檔,以製造一積體電路。
  10. 如請求項9所述的方法,其中分析該第一網表檔與該第二網表檔,以獲取該電路結構變動的操作包含: 映射該第一掃描鍊電路系統與該第二掃描鍊電路系統,並分類該電路結構變動。
  11. 如請求項10所述的方法,其中映射該第一掃描鍊電路系統與該第二掃描鍊電路系統,並分類該電路結構變動的操作包含:根據一正反器類型以及一輸入輸出接腳類型依序分類該第一掃描鍊電路系統與該第二掃描鍊電路系統中未被映射到的一正反器電路,以判斷該第二掃描鍊電路系統是否符合該至少一預定條件。
  12. 如請求項11所述的方法,其中該至少一預定條件包含該正反器電路與該第二掃描鍊電路系統的其他電路斷開連接、該正反器電路與該第二掃描鍊電路系統的其他正反器電路之間的一連接順序被改變或其上述任意組合。
  13. 如請求項11所述的方法,其中依據至少一預定條件修復該第二掃描鍊電路系統的操作包含:重新連接該正反器電路至該第二掃描鍊電路系統的其他電路或回復該正反器電路與該第二掃描鍊電路系統的其他正反器電路之間的一連接順序,以修復該第二掃描鍊電路系統。
  14. 如請求項9所述的方法,其中評估經修 復後的該第二掃描鍊電路系統中之該候選節點,以連接經該工程變更指令後所產生的該新正反器電路至該候選節點的操作包含:根據該第二網表檔辨識該新正反器電路;以及依據一時脈域以及一觸發邊緣分類該第二掃描鍊電路系統中的複數個原有的正反器電路與該新正反器電路,以尋找該至少一候選節點。
  15. 如請求項14所述的方法,其中該新電路被分類至一第一分類,且尋找該至少一候選節點的操作更包含:根據一電路階層、一功能關聯性或一扇出數中至少一者評估該些原有的正反器電路中屬於該第一分類的至少一原有的正反器電路,以尋找該至少一候選節點。
  16. 如請求項15所述的方法,其中評估該些原有的正反器電路中屬於該第一分類的該至少一原有的正反器電路的操作包含:根據該電路階層與該功能關聯性評分該至少一原有的正反器電路;以及挑選該至少一原有的正反器電路中具有最高評分與最低扇出數之一者的一輸出端為該至少一候選節點。
TW108119054A 2019-05-31 2019-05-31 電路校正系統與增加掃描測試涵蓋率的方法 TWI684987B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108119054A TWI684987B (zh) 2019-05-31 2019-05-31 電路校正系統與增加掃描測試涵蓋率的方法
US16/702,569 US10909291B2 (en) 2019-05-31 2019-12-04 Circuit correction system and method for increasing coverage of scan test

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108119054A TWI684987B (zh) 2019-05-31 2019-05-31 電路校正系統與增加掃描測試涵蓋率的方法

Publications (2)

Publication Number Publication Date
TWI684987B TWI684987B (zh) 2020-02-11
TW202046331A true TW202046331A (zh) 2020-12-16

Family

ID=70413315

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108119054A TWI684987B (zh) 2019-05-31 2019-05-31 電路校正系統與增加掃描測試涵蓋率的方法

Country Status (2)

Country Link
US (1) US10909291B2 (zh)
TW (1) TWI684987B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742154A (zh) * 2021-09-18 2021-12-03 苏州盛科通信股份有限公司 扫描链修复方法、装置及芯片

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953236A (en) * 1995-10-31 1999-09-14 Vlsi Technology, Inc. Method and apparatus for implementing engineering change orders in integrated circuit designs
US6031981A (en) * 1996-12-19 2000-02-29 Cirrus Logic, Inc. Reconfigurable gate array cells for automatic engineering change order
JP2002259477A (ja) * 2001-03-06 2002-09-13 Mitsubishi Electric Corp 半導体回路設計変更方法
US7127695B2 (en) * 2002-07-18 2006-10-24 Incentia Design Systems Corp. Timing based scan chain implementation in an IC design
US7191426B1 (en) * 2004-09-01 2007-03-13 Altera Corporation Method and apparatus for performing incremental compilation on field programmable gate arrays
US7243315B2 (en) * 2005-05-31 2007-07-10 Altera Corporation Methods for producing structured application-specific integrated circuits that are equivalent to field-programmable gate arrays
TWI299831B (en) * 2005-11-29 2008-08-11 Dorado Design Automation Inc Circuit-design auxiliary method
US7774735B1 (en) * 2007-03-07 2010-08-10 Cadence Design Systems, Inc Integrated circuit netlist migration
US7949971B2 (en) * 2007-03-27 2011-05-24 International Business Machines Corporation Method and apparatus for on-the-fly minimum power state transition
US9576091B1 (en) * 2015-09-03 2017-02-21 International Business Machines Corporation Preparing engineering change orders for physical design using boolean equivalence checking tools
US9953121B2 (en) * 2016-05-03 2018-04-24 International Business Machines Corporation Accommodating engineering change orders in integrated circuit design
US11113444B2 (en) * 2018-06-27 2021-09-07 Taiwan Semiconductor Manufacturing Co., Ltd. Machine-learning based scan design enablement platform

Also Published As

Publication number Publication date
US20200380189A1 (en) 2020-12-03
TWI684987B (zh) 2020-02-11
US10909291B2 (en) 2021-02-02

Similar Documents

Publication Publication Date Title
CN112560401B (zh) Verilog文件转换方法、装置、存储介质及设备
CN107239616B (zh) 一种集成电路原理图的对比方法
Gao et al. Layout symmetry annotation for analog circuits with graph neural networks
Pomeranz Improving the accuracy of defect diagnosis by considering fewer tests
CN112100972B (zh) 电路校正系统与增加扫描测试涵盖率的方法
US8595660B2 (en) Method and system of automatically identifying level shifter circuits
US10970456B1 (en) Identifying root cause of layout versus schematic errors
US8898602B2 (en) Apparatus for design assist and method for selecting signal line onto which test point for test controlling is to be inserted in circuit to be designed
US20110252393A1 (en) Automatic generation of merged mode constraints for electronic circuits
TWI684987B (zh) 電路校正系統與增加掃描測試涵蓋率的方法
US6915494B2 (en) Fault analyzing system, method for pursuing fault origin and information storage medium for storing computer program representative of the method
US8413102B2 (en) Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop
US10430535B2 (en) Verification support program medium, verification support method, and information processing device for verification of a circuit
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
CN115408967A (zh) 通过结构分析标识安全相关端口与其安全机制的关联
CN114062894A (zh) 电路元器件检测方法、检测装置、终端设备和存储介质
US11010521B2 (en) Method of detecting relations between pins of circuit and computer program product thereof
CN109948226B (zh) 驱动信息的处理方法及处理系统
US20120253712A1 (en) Power consumption calculation method, power consumption calculation apparatus, and non-transitory computer-readble medium storing power consumption calculation program
Yao et al. Automatic Layout Symmetry Extraction for Analog Constraint Learning
CN111695321B (zh) 电路设计方法及相关的电脑程序产品
TWI712806B (zh) 測試方法與測試系統
US8990747B2 (en) Logical Verification Apparatus and Method
JP6520585B2 (ja) 故障解析プログラム、故障解析方法および故障解析装置
JP2012018111A (ja) 論理回路の故障箇所推定システムと故障箇所推定方法及び故障箇所推定プログラム