TW202018508A - 測試系統與測試方法 - Google Patents
測試系統與測試方法 Download PDFInfo
- Publication number
- TW202018508A TW202018508A TW108100107A TW108100107A TW202018508A TW 202018508 A TW202018508 A TW 202018508A TW 108100107 A TW108100107 A TW 108100107A TW 108100107 A TW108100107 A TW 108100107A TW 202018508 A TW202018508 A TW 202018508A
- Authority
- TW
- Taiwan
- Prior art keywords
- flip
- circuit
- flop circuit
- layout
- flop
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/333—Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
測試方法包含下列操作:根據對應於一晶片的一網表檔執行一擺放與繞線程序,以產生一第一佈局資料;根據該第一佈局資料決定是否替換該晶片中的一正反器電路為一閘控正反器電路,以產生一第二佈局資料;以及根據該第二佈局資料對該晶片進行測試。
Description
本案是有關於一種測試系統與方法,且特別是有關於適用於積體電路測試並可降低積體電路內壓降的測試系統與方法。
於積體電路測試領域中,可以設置一特定測試電路來執行後續的除錯或偵錯測試。然而,隨著電路元件數量增加,測試電路數量也會一起變多。此外,為了避免電路在測試的過程中引起過大的瞬間電流,測試電路會加入額外的閘控邏輯。基於上述兩個理由,晶片面積會明顯增加,並可能引入不必要的額外延遲。
為了解決上述問題,本案的一些態樣係於提供一種測試系統,其包含記憶體與處理器。記憶體,用以儲存複數個電腦程式碼。處理器用以執行該記憶體中的該些電腦程式碼,以執行下列操作:根據對應於一晶片的一網表檔執行一擺放與繞線程序,以產生一第一佈局資料;根據該第一佈局資料
決定是否替換該晶片中的一正反器電路為一閘控正反器電路,以產生一第二佈局資料;以及根據該第二佈局資料對該晶片進行測試。
於一些實施例中,該處理器更用以根據該第一佈局資料與至少一預設條件決定是否替換該正反器電路為該閘控正反器電路。
於一些實施例中,該至少一預設條件包含一設計規則檢查,且若該閘控正反器電路符合該設計規則檢查,該處理器決定替換該正反器電路為該閘控正反器電路。
於一些實施例中,該至少一預設條件包含一時序要求,且若該閘控正反器電路引入之一延遲時間滿足該時序要求,該處理器決定替換該正反器電路為該閘控正反器電路。
於一些實施例中,該處理器用以替換該正反器電路對應的一第一電路佈局為該閘控正反器電路對應的一第二電路佈局,且該正反器電路與該閘控正反器電路在該第一電路佈局或該第二電路佈局中皆具有兼容的輸入輸出端。
本案的另一些態樣係於提供一種測試方法,其包含下列操作:根據對應於一晶片的一網表檔執行一擺放與繞線程序,以產生一第一佈局資料;根據該第一佈局資料決定是否替換該晶片中的一正反器電路為一閘控正反器電路,以產生一第二佈局資料;以及根據該第二佈局資料對該晶片進行測試。
於一些實施例中,產生該第二佈局資料包含:根據該第一佈局資料與至少一預設條件決定是否替換該正反器電路為該閘控正反器電路。
於一些實施例中,該至少一預設條件包含一設計規則檢查,且若該閘控正反器電路符合該設計規則檢查,決定替換該正反器電路為該閘控正反器電路。
於一些實施例中,該至少一預設條件包含一時序要求,且若該閘控正反器電路引入之一延遲時間滿足該時序要求,決定替換該正反器電路為該閘控正反器電路。
於一些實施例中,產生該第二佈局資料包含:替換該正反器電路對應的一第一電路佈局為該閘控正反器電路對應的一第二電路佈局,以產生該第二佈局資料,其中該正反器電路與該閘控正反器電路在該第一電路佈局或該第二電路佈局中皆具有兼容的輸入輸出端。
綜上所述,本案所提供的測試系統、方法與閘控正反器電路可藉由兼容的輸入輸出介面在設計階段進行元件交換。如此,可節省更多晶片面積與不必要的功耗,並得到較準確的時序分析。
為讓本案之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附符號之說明如下:
100‧‧‧掃描鍊電路系統
120‧‧‧正反器電路
140‧‧‧組合邏輯電路
SI‧‧‧第一輸入端
D‧‧‧第二輸入端
EN‧‧‧致能端
SO‧‧‧第一輸出端
Q‧‧‧第二輸出端
SEN‧‧‧掃描致能訊號
SOUT‧‧‧掃描輸出訊號
SIN‧‧‧掃描輸入訊號
200‧‧‧閘控正反器電路
124‧‧‧閘控電路
A2‧‧‧第二輸入端
A1‧‧‧第一輸入端
Z‧‧‧輸出端
300A、300B‧‧‧電路佈局
310-1、310-2‧‧‧圖案
320-1A~320-1D‧‧‧圖案
330-1、330-2‧‧‧圖案
340-1‧‧‧圖案
350-1、350-2‧‧‧圖案
360-1‧‧‧圖案
340-2A~340-2E‧‧‧圖案
360-2A~360-2B‧‧‧圖案
M1‧‧‧第一金屬層
M2‧‧‧第二金屬層
PO‧‧‧多晶矽層
CONTACT‧‧‧接觸
VIA‧‧‧通孔
OD‧‧‧氧化物擴散層
500‧‧‧測試系統
510‧‧‧處理器
520‧‧‧記憶體
530‧‧‧I/O介面
D1、D3‧‧‧資料
D2‧‧‧佈局資料
700‧‧‧圖案
PD‧‧‧預設距離
Tdelay‧‧‧延遲時間
Tslack‧‧‧寬裕時間
Trequired‧‧‧資料準備時間
Tarrival‧‧‧資料抵達時間
600‧‧‧測試方法
S610、S620‧‧‧操作
S630、S640‧‧‧操作
為讓本案之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:第1圖為根據本案的一些實施例所繪示的一種掃描鍊電路系統的示意圖;第2圖為根據本案的一些實施例所繪示閘控正反器電路的示意圖;第3A圖為根據本案一些實施例所繪示對應於第1圖的
正反器電路的電路佈局之示意圖;第3B圖為根據本案一些實施例所繪示對應於第2圖的閘控正反器電路的電路佈局之示意圖;第4A圖為根據本案一些實施例所繪示對應於第3A圖中電路佈局的最右側部分之立體示意圖;第4B圖為根據本案一些實施例所繪示對應於第3B圖中電路佈局的最右側部分之立體示意圖;第5圖為根據本案之一些實施例所繪示的一種測試系統的示意圖;第6圖為根據本案之一些實施例所繪示的一種測試方法的示意圖;第7圖為根據本案的一些實施例所繪製預設條件為設計規則檢查之概念示意圖;以及第8圖為根據本案的一些實施例所繪製預設條件為時序要求之概念示意圖。
本文所使用的所有詞彙具有其通常的意涵。上述之詞彙在普遍常用之字典中之定義,在本說明書的內容中包含任一於此討論的詞彙之使用例子僅為示例,不應限制到本揭示內容之範圍與意涵。同樣地,本揭示內容亦不僅以於此說明書所示出的各種實施例為限。
在本文中,使用第一、第二與第三等等之詞彙,是用於描述各種元件、組件、區域、層與/或區塊是可以被理
解的。但是這些元件、組件、區域、層與/或區塊不應該被這些術語所限制。這些詞彙只限於用來辨別單一元件、組件、區域、層與/或區塊。因此,在下文中的一第一元件、組件、區域、層與/或區塊也可被稱為第二元件、組件、區域、層與/或區塊,而不脫離本案的本意。本文中所使用之『與/或』包含一或多個相關聯的項目中的任一者以及所有組合。
關於本文中所使用之『耦接』或『連接』,均可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,亦可指二或多個元件相互操作或動作。
於本文中,用語『電路系統(circuitry)』泛指包含一或多個電路(circuit)所形成的單一系統。用語『電路』泛指由一或多個電晶體與/或一或多個主被動元件按一定方式連接以處理訊號的物件。
參照第1圖,第1圖為根據本案的一些實施例所繪示的一種掃描鍊(scan chain)電路系統100的示意圖。在一些實施例中,掃描鍊電路系統100可實施於積體電路(或晶片)內,以利進行後續的測試(例如時序分析等等)。
掃描鍊電路系統100包含多個串接的正反器電路120以及組合邏輯電路140。於一些實施例中,正反器電路120可為D型正反器,但本案並不以此為限。各種類型的正反器電路120皆為本案所涵蓋之範圍。於一些實施例中,組合邏輯電路140可為待測的一或多個數位(或邏輯)電路的集合。
正反器電路120每一者包含第一輸入端SI、第二輸入端D、致能端EN、第一輸出端SO以及第二輸出端Q,其
中每一個正反器電路120的致能端EN用以接收掃描致能訊號SEN。第一個正反器電路120的第一輸入端SI用以接收掃描輸入訊號SIN,且第一個正反器電路120的第一輸出端SO耦接至第二個正反器電路120的第一輸入端SI。依此類推,最後一個正反器電路120的第一輸出端SO用以輸出掃描輸出訊號SOUT。
再者,每一個正反器電路120的第二輸入端D以及第二輸出端Q耦接至組合邏輯電路140內部的一對應輸入/輸出節點,以分別接收/輸出主要(primary)輸入/輸出訊號(未繪示)。當收到具特定邏輯值(例如為邏輯值0)的掃描致能訊號SEN時,多個正反器電路120被致能而進入掃描模式。於掃描模式中,多個正反器電路120之操作類似於移位暫存器,並根據掃描輸入訊號SIN產生掃描輸出訊號SOUT。等效而言,當操作於掃描模式時,各個正反器電路120將其第一輸入端SI所接收到的訊號鎖存並經由第一輸出端SO輸出。換言之,於掃描模式下,掃描輸出訊號SOUT將由掃描輸入訊號SIN決定,而未受組合邏輯電路140影響。如此,在掃描模式之後的後續測試操作中,可藉由偵測掃描輸出訊號SOUT的訊號值變化來確認組合邏輯電路140是否有缺陷或故障。
參照第2圖,第2圖為根據本案的一些實施例所繪示閘控正反器電路200的示意圖。為易於理解,第1~2圖中的類似元件將被指定為相同標號。
如先前所述,於掃描模式下,組合邏輯電路140不影響掃描輸出訊號SOUT。因此,組合邏輯電路140於掃描
模式下之切換將造成不必要的功耗,且其切換可能會引入過大的瞬間電流而造成線路上的壓降。於一些實施例中,第1圖中的正反器電路120每一者可更搭配一閘控(gated)電路124。於一些實施例中,閘控電路124可與第1圖中的正反器電路120協同運作為一閘控正反器電路200,以在掃描模式下避免組合邏輯電路140產生切換。如此,可降低上述不必要的功耗與壓降。於不同實施例中,閘控電路124可由及閘、反或閘、或多工器等邏輯電路實施,但本案並不以此為限。各種類型的閘控電路124皆為本案所涵蓋之範圍。為易於理解,以下段落內容以及閘為例說明。
於此例中,閘控電路124包含第一輸入端A1、第二輸入端A2以及輸出端Z。第一輸入端A1耦接至正反器電路120的致能端EN,以接收掃描致能訊號SEN。第二輸入端A2接至正反器電路120的第二輸出端Q,且輸出端Z耦接至組合邏輯電路140之內部節點。換言之,閘控電路124耦接於組合邏輯電路140與正反器電路120之間。等效而言,閘控正反器電路200的輸出端Z取代正反器電路120的第二輸出端Q來連接至組合邏輯電路140。如先前所述,當進入掃描模式時,掃描致能訊號SEN具有特定邏輯值(例如為邏輯值0)。於此條件下,閘控電路124藉由輸出端Z所輸出的訊號將被維持於固定電位(例如為對應邏輯值0的電位),以不改變組合邏輯電路140的切換。如此一來,可避免組合邏輯電路140於掃描模式下之操作產生不必要的功耗。
參照第3A~3B圖與第4A~4B圖,第3A圖為根據
本案一些實施例所繪示對應於第1圖的正反器電路120的電路佈局300A之示意圖,第3B圖為根據本案一些實施例所繪示對應於第2圖的閘控正反器電路200的電路佈局300B之示意圖,第4A圖為根據本案一些實施例所繪示對應於第3A圖中電路佈局300A的最右側部分之立體示意圖,且第4B圖為根據本案一些實施例所繪示對應於第3B圖中電路佈局300B的最右側部分之立體示意圖。為易於理解,上述各圖式與第1~2圖中的類似元件將被指定為相同標號。
於一些實施例中,電路佈局300A對應於第1圖的正反器電路120的第一設置方式,且電路佈局300B對應於第2圖的閘控正反器電路200的第二設置方式。第3A~3B圖與第4A~4B圖用於示例以說明相關設置方式。應當理解,為清楚理解相關設置方式,第3A~3B圖與第4A~4B圖中列出主要的輸入/輸出端之位置,而並未詳細列出所有內連線層、半導體層或內部電晶體相關的全部結構等等細節。在不脫離本案的精神與範圍下,第3A~3B圖與第4A~4B圖所示之設置方式可根據製程需求與/或設計規定被調整、置換與改變。
於一些實施例中,閘控正反器電路200與正反器電路120設置以具有兼容的輸入輸出介面(例如:第一輸出端SO、致能端EN與輸出端Z(或第二輸出端Q)等等)。例如,當應用於正反器電路120時,如第3A圖所示,電路佈局300A包含圖案310-1、圖案320-1A~320-1D、圖案330-1、圖案340-1、圖案350-1與圖案360-1。圖案310-1對應於實施正反器電路120的多個電晶體的閘極,並可由多晶矽(poly-silicon)
層PO實施。圖案320-1A~320-1D對應於正反器電路120的多個輸入端或輸出端,並可由第二金屬層M2實施。例如,圖案320-1A對應於致能端EN、圖案320-1B對應於第一輸出端SO,圖案320-1C對應於第二輸出端Q,且圖案320-1D用於延伸圖案320-1C。圖案330-1用於定義前述多個電晶體的對應主動區域,其可由氧化物擴散(Oxide diffusion,OD)層OD實施。
圖案340-1可由第一金屬層M1實施,其用於作為正反器電路120的內連線層。應當理解,於一些實施例中,上述由第一金屬層M1或第二金屬層M2所實施的各個圖案,其具體結構可視為一導電區段。示例而言,一併參照第4A圖,圖案340-1對應於正反器電路120的內部節點(未繪示)設置,以連接出第二輸出端Q。
再者,圖案350-1可由接觸(contact)實施,其用於電性連接金屬層與多晶矽層或主動區域。例如,一併參照第4A圖,多個圖案350-1分別對應前述的圖案340-1的兩端設置,以耦接圖案340-1所對應的第一金屬層M1至正反器電路120的內部節點。
圖案360-1可由通孔(VIA)實施,其用於電性連接金屬層。例如,一併參照第4A圖,圖案320-1C的兩端分別設置有一個圖案360-1。如此,圖案320-1C對應的第二金屬層M2可經由圖案360-1對應的通孔與下方圖案340所對應的第一金屬層M1相互耦接,以作為第二輸出端Q。
如第3B圖所示,當應用於閘控正反器電路200時,相較於電路佈局300A,電路佈局300B更包含多個圖案
310-2、圖案330-2、圖案340-2A~340-2E、圖案350-2與圖案360-2A~360-2B。
圖案310-2對應於閘控電路124中多個電晶體的閘極,並可由多晶矽層PO實施。圖案330-2用於定義前述多個電晶體的對應主動區域,其可由氧化物擴散層OD實施。圖案340-2A~340-2E對應於閘控電路124的多個輸入端或輸出端以及其內部連線層,並可由第一金屬層M1實施。例如,圖案340-2A對應於第一輸入端A1,圖案340-2B對應於第二輸入端A2,圖案340-2C對應於輸出端Z,圖案340-2D對應於內連線層以實現閘控電路124的內部連線,且圖案340-2E用於延伸圖案340-2C。
圖案350-2可由接觸(contact)實施,其用於電性連接第一金屬層M1至閘極(即對應於多晶矽層PO之位置)或源/汲極(即對應於氧化物擴散層OD之位置)。例如,多個圖案350-2分別對應前述的圖案340-2A~340-2D之端點設置,以耦接圖案340-2A~340-2D所對應的第一金屬層M1至閘控電路124的內部節點(閘極或源/汲極)。
圖案360-2A與360-2B可由VIA實施,其用於電性連接金屬層。例如,一併參照第4B圖,相較於第4A圖,圖案360-1對應的通孔被移除,故圖案320-1C所對應的第二金屬層M2不連接至下方圖案340所對應的第一金屬層M1。圖案360-2A設置於圖案340-2E與圖案320-1D之間,且圖案360-2B設置於圖案340-2A與圖案320-1A之間。如此,圖案340-2E對應的第一金屬層M1可經由圖案360-2A對應的通孔
與圖案320-1D所對應的第二金屬層M2耦接。藉由此設置方式,圖案320-1C所對應的輸出端可兼容正反器電路120的輸出端Q或閘控正反器電路200的輸出端Z。此外,圖案340-2A所對應的第一金屬層M1可經由圖案360-2B對應的通孔與圖案320-1A所對應的第二金屬層M2耦接。等效而言,如先前第2圖所示,第一輸入端A1可耦接至正反器電路120的致能端EN。
根據上述第4A~4B圖的設置方式,可發現對應於第二金屬層M2的多個圖案320-1A~320-1D所定義的輸入端或輸出端之位置在第一設置方式所對應的電路佈局300A與第二設置方式所對應的電路佈局300B內皆為相同,故可兼容於正反器電路120與閘控正反器電路200。如此一來,在一些實施例中,在執行測試方法(如後述方法600)時,正反器電路120與閘控正反器電路200可以直接彼此替換。
參照第5圖與第6圖,第5圖為根據本案之一些實施例所繪示的一種測試系統500的示意圖,且第6圖為根據本案之一些實施例所繪示的一種測試方法600的示意圖。為易於理解,測試方法600將參照測試系統500之操作一併說明。
測試系統500包含處理器510、記憶體520以及多個輸入/輸出(Input/Output,I/O)介面530。處理器510耦接至記憶體520以及多個I/O介面530。於各個實施例中,處理器510為中央處理單元(CPU)、特殊應用積體電路(Application-specific integrated circuit,ASIC)、多處理器、分散式處理系統、或合適的處理單元。用來實施處理器510的各種電路或單元皆為本案所涵蓋的範圍。
記憶體520儲存一個或多個的程式碼,其用以輔助設計積體電路。示例而言,記憶體520儲存一程式碼,此程式碼以多個指令集所編碼而成,其中多個指令集用以檢查多個積體電路中的多個佈局圖案,或對積體電路進行測試。於一些實施例中,處理器510可執行儲存於記憶體520的程式碼,且測試方法600的操作可自動地被執行。
於一些實施例中,記憶體520為非暫態電腦可讀取儲存媒介,其具有(亦即儲存)多個用以對晶片進行測試的多個指令集的編碼。示例而言,記憶體520儲存有用以執行測試方法600的多個可執行指令。於一些實施例中,電腦可讀取儲存媒介為電性、磁性、光學、紅外線與/或半導體系統(或設備或裝置)。例如,電腦可讀取儲存媒介包含半導體或固態記憶體、磁帶、可移除式電腦磁碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、硬磁碟與/或光學磁碟。在使用光學磁碟的一個或多個實施例中,電腦可讀取儲存媒介包含唯讀記憶光碟(CD-ROM)、可重複錄寫光碟(CD-R/W)與/或數位影音光碟(DVD)。
多個I/O介面530自各種控制裝置接收多個輸入或命令,其中控制裝置可由電路設計者或測試工程師操控。據此,測試系統500可由多個I/O介面530的輸入或命令被操控。於一些實施例中,多個I/O介面530包含一螢幕,其設置以顯示程式碼執行的狀態與/或顯示電路佈局。於一些實施例中,多個I/O介面530包含圖形化用戶介面(GUI)。於另一些實施例中,多個I/O介面530包含鍵盤、數字鍵盤、滑鼠、軌跡球、觸
控螢幕、游標方向鍵或其上述之組合,以溝通資訊與多個命令至處理器510。
以下說明測試方法600的相關操作。於操作S610,接收指示晶片的內部電路的網表(netlist)檔。
例如,如第5圖所示,I/O介面530可接收資料D1並儲存於記憶體520內,其中資料D1可為用於描述晶片內部電路的網表檔。例如,網表檔可用以描述第1圖的掃描鍊電路系統100以及晶片中其他電路。於一些實施例中,電路設計者可藉由在網表檔內描述掃描鍊電路系統100、正反器電路120以及閘控正反器電路200來進行設計。於一些實施例中,網表檔的內容符合一預定類型的語法,此語法能夠以可被測試系統500辨識的描述格式記錄。於一些實施例中,網表檔為門級(gate-level)網表檔。於一些實施例中,網表檔的預定類型可為硬體描述語言(Verilog)或超高速積體電路硬體描述語言(very high-speed hardware description language,VHDL)。上述語法之類型用於示例,本案並不以此為限。
於操作S620,根據網表檔執行擺放與繞線(place and route)程序,以產生一佈局資料D2。
例如,記憶體520儲存有一設計工具或電腦輔助設計工具之軟體,處理器510可執行此軟體,以根據資料D1執行自動擺放與繞線程序。如此,處理器510可根據對應於資料D1的網表檔所指示的電路,而自動地擺放對應的電路元件與之間的連線,以產生對應的佈局資料D2。
於操作S630,根據佈局資料D2將正反器電路120
替換為閘控正反器電路200。
於一些實施例中,處理器510可根據佈局資料D2與至少一預設條件決定是否可將正反器電路120替換為閘控正反器電路200。
參照第7圖,第7圖為根據本案的一些實施例所繪製預設條件為設計規則檢查(design rule check,DRC)之概念示意圖。以第7圖為例,前述之預設條件為需滿足DRC之要求。DRC是用於確保電路佈局能符合製造商所提供的參數,以提升晶片的良率與穩定性。於實際應用中,晶片的佈局內會有多個電路元件,且電路元件彼此之間需間隔一定距離,以符合DRC的要求。舉例而言,如第7圖所示,圖案700用於定義低臨界電壓的元件,其中圖案700與第3A圖的電路佈局300A之間的距離大於一預設距離PD。於此條件下,處理器510可判定符合DRC的要求。接著,若將第3B圖的電路佈局300A替換為電路佈局300B(亦即將正反器電路120替換為閘控正反器電路200),圖案700與電路佈局300B之間的距離將小於預設距離PD。據此,處理器510判定不符合DRC的要求,故決定不將電路佈局300A替換為電路佈局300B。反之,若圖案700與電路佈局300B之間的距離大於或等於預設距離PD,處理器510判定符合DRC的要求,故決定將電路佈局300A替換為電路佈局300B。
上述僅以定義低臨界電壓的元件為例說明,但本案並不以此為限。於不同實施例中,處理器510可依據電路佈局對所有元件確認是否DRC的要求,以完成操作S630。
或者,參照第8圖,第8圖為根據本案的一些實施例所繪製預設條件為時序要求之概念示意圖。以第8圖為例,前述之預設條件為需滿足時序要求。於一些實施例中,處理器510可先將電路佈局300A替換為電路佈局300B,並執行靜態時序分析(Static Timing Analysis,STA)等測試程序,以確認替換後的電路佈局300B是否符合時序要求。例如,如第8圖所示,在替換為電路佈局300B後(即替換為閘控正反器電路200後),處理器510可執行STA程序來分析閘控正反器電路200所引起的最大延遲時間Tdelay以及掃描鍊電路系統100的寬裕(slack)時間Tslack。於一些實施例中,處理器510可執行STA程序獲取掃描鍊電路系統100的資料抵達時間Tarrival以及資料準備時間Trequired,並藉由計算上述兩個時間的差值得到寬裕時間Tslack。若寬裕時間Tslack大於或等於此延遲時間Tdelay,則處理器510可判定滿足時序要求,並決定替換電路佈局300A為電路佈局300B。反之,若寬裕時間大於或等於此延遲時間Tdelay,則處理器510可判定滿足時序要求,並決定替換電路佈局300A為電路佈局300B。
繼續參照第6圖,於操作S640,產生新的電路佈局,並執行後續測試流程。
例如,在替換晶片中一或多個正反器電路120為閘控正反器電路200後,處理器510可產生新的電路佈局以作為資料D3並儲存至記憶體520。接著,處理器510可根據資料D3執行後續佈局設計與/或測試流程,例如包含插入解耦合電容、時序分析、掃描測試等等,以確認晶片運作是否正確。
於一些相關技術中,在進行晶片測試時,在網表檔內的部分或所有的正反器電路會直接被替換為具有閘控功能的正反器電路,再進行自動佈置與佈線等程序。如此一來,晶片整體的面積將會明顯大增。
相較於上述技術,藉由設置具有兼容的輸入輸出介面的正反器電路120以及閘控正反器電路200,本案之一些實施例可在自動佈置與佈線等程序(即操作S620)後,再根據預設條件(例如可為DRC、時序分析等等要求)來判斷是否替換為閘控正反器電路200。藉此,可依據佈線後的剩餘區域來替換閘控正反器電路200,故不會增加額外面積。如此一來,晶片面積可以維持原有較小面積,並同時降低組合邏輯電路140於掃描模式下造成的不必要功耗。同時,由於本案之一些實施例是在自動佈置與佈線等程序後決定是否替換正反器電路120,實際導線與額外的電路部分(例如為閘控電路124)所引入的額外延遲可以一併考量。如此,可在後佈局(post-layout)階段內的模擬得到較為準確的臨界路徑。
綜上所述,本案所提供的測試系統、方法與閘控正反器電路可藉由兼容的輸入輸出介面在設計階段進行元件交換。如此,可節省更多晶片面積與不必要的功耗,並得到較準確的時序分析。
雖然本案已以實施方式揭露如上,然其並非限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。
600‧‧‧測試方法
S610、S620‧‧‧操作
S630、S640‧‧‧操作
Claims (10)
- 一種測試系統,包含:一記憶體,用以儲存複數個電腦程式碼;以及一處理器,用以執行該記憶體中的該些電腦程式碼,以:根據對應於一晶片的一網表檔執行一擺放與繞線程序,以產生一第一佈局資料;根據該第一佈局資料決定是否替換該晶片中的一正反器電路為一閘控正反器電路,以產生一第二佈局資料;以及根據該第二佈局資料對該晶片進行測試。
- 如請求項1所述的測試系統,其中該處理器更用以根據該第一佈局資料與至少一預設條件決定是否替換該正反器電路為該閘控正反器電路。
- 如請求項2所述的測試系統,其中該至少一預設條件包含一設計規則檢查,且若該閘控正反器電路符合該設計規則檢查,該處理器決定替換該正反器電路為該閘控正反器電路。
- 如請求項2所述的測試系統,其中該至少一預設條件包含一時序要求,且若該閘控正反器電路引入之一延遲時間滿足該時序要求,該處理器決定替換該正反器電路為該閘控正反器電路。
- 如請求項1至4任一項所述的測試系統,其中該處理器用以替換該正反器電路對應的一第一電路佈局為該閘控正反器電路對應的一第二電路佈局,且該正反器電路與該閘控正反器電路在該第一電路佈局或該第二電路佈局中皆具有兼容的輸入輸出端。
- 一種測試方法,包含:根據對應於一晶片的一網表檔執行一擺放與繞線程序,以產生一第一佈局資料;根據該第一佈局資料決定是否替換該晶片中的一正反器電路為一閘控正反器電路,以產生一第二佈局資料;以及根據該第二佈局資料對該晶片進行測試。
- 如請求項6所述的測試方法,其中產生該第二佈局資料包含:根據該第一佈局資料與至少一預設條件決定是否替換該正反器電路為該閘控正反器電路。
- 如請求項7所述的測試方法,其中該至少一預設條件包含一設計規則檢查,且若該閘控正反器電路符合該設計規則檢查,決定替換該正反器電路為該閘控正反器電路。
- 如請求項7所述的測試方法,其中該至少一預設條件包含一時序要求,且若該閘控正反器電路引入之一 延遲時間滿足該時序要求,決定替換該正反器電路為該閘控正反器電路。
- 如請求項6至9任一項所述的測試方法,其中產生該第二佈局資料包含:替換該正反器電路對應的一第一電路佈局為該閘控正反器電路對應的一第二電路佈局,以產生該第二佈局資料,其中該正反器電路與該閘控正反器電路於該第一電路佈局或該第二電路佈局中皆具有兼容的輸入輸出端。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811344803.3 | 2018-11-13 | ||
CN201811344803 | 2018-11-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202018508A true TW202018508A (zh) | 2020-05-16 |
TWI722360B TWI722360B (zh) | 2021-03-21 |
Family
ID=66938096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108100107A TWI722360B (zh) | 2018-11-13 | 2019-01-02 | 測試系統與測試方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10776558B2 (zh) |
CN (1) | CN109884496B (zh) |
TW (1) | TWI722360B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230167849A (ko) * | 2022-06-03 | 2023-12-12 | 삼성전자주식회사 | 저전력에서 안정적으로 동작하는 반도체 장치 및 반도체 시스템 |
CN115774182B (zh) * | 2022-12-05 | 2023-10-13 | 安测半导体技术(义乌)有限公司 | 一种基于ate平台的芯片测试方法及装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4512934B2 (ja) * | 2001-04-13 | 2010-07-28 | 富士通セミコンダクター株式会社 | 論理設計された集積回路に対するレイアウト設計及びタイミング調整の方法及び装置並びにこの方法を実行するためのプログラム及びこのプログラムが記録されたコンピュータ読み取り可能な記録媒体 |
TW519570B (en) * | 2001-10-24 | 2003-02-01 | Via Tech Inc | Software simulation test method of sequential circuit |
US6763513B1 (en) * | 2001-12-18 | 2004-07-13 | Cadence Design Systems, Inc. | Clock tree synthesizer for balancing reconvergent and crossover clock trees |
US6966022B1 (en) * | 2002-04-04 | 2005-11-15 | Adaptec, Inc. | System and method for determining integrated circuit logic speed |
US6680622B2 (en) * | 2002-05-14 | 2004-01-20 | Stmicroelectronics, Inc. | Method and system for disabling a scanout line of a register flip-flop |
US7472363B1 (en) * | 2004-01-28 | 2008-12-30 | Gradient Design Automation Inc. | Semiconductor chip design having thermal awareness across multiple sub-system domains |
KR100604852B1 (ko) * | 2004-05-15 | 2006-07-31 | 삼성전자주식회사 | 제어신호 발생기, 스캔 기능을 수행하는 래치회로, 및상기 펄스 발생기와 상기 래치를 구비하는 플립플롭 |
US7257784B2 (en) * | 2005-03-24 | 2007-08-14 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method for integrally checking chip and package substrate layouts for errors |
US7930673B2 (en) * | 2007-05-29 | 2011-04-19 | Magma Design Automation, Inc. | Method for automatic clock gating to save power |
JP2009038072A (ja) * | 2007-07-31 | 2009-02-19 | Nec Electronics Corp | 半導体集積回路及びその開発方法 |
CN102043122B (zh) * | 2011-01-17 | 2012-12-05 | 哈尔滨工业大学 | 一种改进扫描链单元及基于该单元的非并发测试方法 |
KR20130084029A (ko) * | 2012-01-16 | 2013-07-24 | 삼성전자주식회사 | 탭리스 스탠다드 셀을 포함하는 시스템-온-칩의 설계 방법, 설계 시스템 및 시스템-온-칩 |
CN103576082B (zh) * | 2012-08-06 | 2018-01-12 | 恩智浦美国有限公司 | 低功率扫描触发器单元 |
US9280614B1 (en) * | 2012-11-30 | 2016-03-08 | Cadence Design Systems, Inc. | Methods, systems, and apparatus for clock topology planning with reduced power consumption |
KR102187640B1 (ko) * | 2014-10-22 | 2020-12-08 | 삼성전자주식회사 | 타이밍 분석기의 타이밍 정합 방법 및 그것을 이용한 집적회로 설계 방법 |
US10060971B2 (en) * | 2016-08-16 | 2018-08-28 | International Business Machines Corporation | Adjusting latency in a scan cell |
-
2019
- 2019-01-02 TW TW108100107A patent/TWI722360B/zh active
- 2019-03-21 US US16/360,007 patent/US10776558B2/en active Active
- 2019-04-23 CN CN201910329091.6A patent/CN109884496B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20200151299A1 (en) | 2020-05-14 |
US10776558B2 (en) | 2020-09-15 |
CN109884496B (zh) | 2019-07-30 |
TWI722360B (zh) | 2021-03-21 |
CN109884496A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108830008B (zh) | 一种标准单元库全模型的测试方法及测试系统 | |
US6988254B2 (en) | Method for designing semiconductor integrated circuit | |
JP4530049B2 (ja) | 半導体装置の設計プログラムおよび半導体装置の設計システム | |
US9171124B2 (en) | Parasitic extraction in an integrated circuit with multi-patterning requirements | |
KR102434991B1 (ko) | 집적 회로 및 집적 회로의 설계 방법 | |
JP2007172497A (ja) | 集積回路レイアウト装置、その方法及びプログラム | |
EP3239865A1 (en) | Method for analyzing ir drop and electromigration of ic | |
US11574101B2 (en) | Techniques for providing optimizations based on categories of slack in timing paths | |
TWI722360B (zh) | 測試系統與測試方法 | |
US9064073B2 (en) | Hyper-concurrent optimization over multi-corner multi-mode scenarios | |
JPH10162040A (ja) | 大規模集積回路装置の製造方法及び大規模集積回路装置 | |
TWI817646B (zh) | 用於設計上下文感知電路的方法及系統 | |
US7114139B2 (en) | Device and method for floorplanning semiconductor integrated circuit | |
US10963610B1 (en) | Analyzing clock jitter using delay calculation engine | |
US8418116B2 (en) | Zone-based optimization framework for performing timing and design rule optimization | |
JP5297468B2 (ja) | 半導体集積回路の設計方法およびソフトウエア | |
CN112100972A (zh) | 电路校正系统与增加扫描测试涵盖率的方法 | |
TW201926627A (zh) | 製造半導體裝置的方法 | |
JP5408264B2 (ja) | 集積回路消費電力計算装置,処理方法およびプログラム | |
JP5652003B2 (ja) | 遅延解析プログラム,遅延解析装置および遅延解析方法 | |
US10049174B2 (en) | Exact delay synthesis | |
CN209132386U (zh) | 扫描链电路系统与栅控正反器电路 | |
TWI749497B (zh) | 時序模型的建立方法 | |
US7290231B2 (en) | Method for reducing standard delay format file size | |
Lim et al. | Cell-Aware Scan Diagnosis Using Partially Synchronous Set and Reset |