TW201510721A - 時序分析方法以及機器可讀媒體 - Google Patents

時序分析方法以及機器可讀媒體 Download PDF

Info

Publication number
TW201510721A
TW201510721A TW102132041A TW102132041A TW201510721A TW 201510721 A TW201510721 A TW 201510721A TW 102132041 A TW102132041 A TW 102132041A TW 102132041 A TW102132041 A TW 102132041A TW 201510721 A TW201510721 A TW 201510721A
Authority
TW
Taiwan
Prior art keywords
register
time delay
path
clock
circuit
Prior art date
Application number
TW102132041A
Other languages
English (en)
Inventor
Ying-Chieh Chen
Mei-Li Yu
Ting-Hsiung Wang
Yu-Lan Lo
Shu-Yi Kao
Original Assignee
Realtek Semiconductor Corp
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 Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to TW102132041A priority Critical patent/TW201510721A/zh
Priority to US14/450,279 priority patent/US20150067623A1/en
Publication of TW201510721A publication Critical patent/TW201510721A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing 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)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

一種應用在非標準元件之電路中的時序分析方法,包含:找出該電路中之至少一第一暫存器以及一第二暫存器;計算經過該第一暫存器和該第二暫存器彼此之間的至少一路徑所需的至少一路徑時間延遲;計算一第一時脈源至該第一暫存器的一第一暫存器時脈輸入端的一第一暫存器時脈時間延遲,計算一第二時脈源至該第二暫存器的一第二暫存器時脈輸入端的以及一第二暫存器時脈時間延遲;依據該至少一路徑時間延遲、該第一暫存器時脈時間延遲、該第二暫存器時脈時間延遲以及該第一暫存器的一第一暫存器時間延遲來判斷該第二暫存器是否存在時序錯誤。

Description

時序分析方法以及機器可讀媒體
本發明所揭露之實施例係有關於電路設計的驗證,尤指一種應用在使用非標準元件(non-standard cell)的一電路中的時序分析方法以及機器可讀媒體。
實務上,對於使用非標準元件(non-standard cell)的類比電路來說,在驗證階段的時候,一般係針對類比電路的整體來進行功能性的模擬驗證,並盡可能地利用有限的測試型樣(test pattern)來驗證類比電路的主要功能是否正確。然而,有限的測試型樣不僅模擬時間曠日廢時,同時又很難做到滴水不漏的時序分析,設計者往往為了追求效率而放棄完整的時序驗證。因此,本領域亟需一種能夠兼顧效率以及測試覆蓋度的時序分析方法。
本發明的目的之一在於提供一種應用在使用非標準元件(non-standard cell)的電路中的時序分析方法以及機器可讀媒體,以解決上述的問題。
本發明之一實施例揭露一種應用在使用非標準元件的一電路中的時序分析方法,包含有:找出該電路中之至少一第一暫存器以及一第二暫存器,其中該第一暫存器和該第二暫存器彼此之間具有至少一路徑,從該第一暫存器的一第一暫存器資料輸出端到該第二暫存器的一第二暫存器資料輸入端;計算經過該至少一路徑所需的至少一路徑時間延遲;計算一第一時脈源 至該第一暫存器的一第一暫存器時脈輸入端的一第一暫存器時脈時間延遲,以及計算一第二時脈源至該第二暫存器的一第二暫存器時脈輸入端的以及一第二暫存器時脈時間延遲;以及依據該至少一路徑時間延遲、該第一暫存器時脈時間延遲、該第二暫存器時脈時間延遲、以及該第一暫存器的一第一暫存器時間延遲來判斷該第二暫存器是否存在時序錯誤。
本發明之另一實施例揭露一種機器可讀媒體,儲存一程式碼,當該程式碼被一處理器所執行時,該程式碼會致使該處理器執行以下的步驟來對應用在使用非標準元件的一電路進行時序分析:找出該電路中之至少一第一暫存器以及一第二暫存器,其中該第一暫存器和該第二暫存器彼此之間具有至少一路徑,從該第一暫存器的一第一暫存器資料輸出端到該第二暫存器的一第二暫存器資料輸入端;計算經過該至少一路徑所需的至少一路徑時間延遲;計算一第一時脈源至該第一暫存器的一第一暫存器時脈輸入端的一第一暫存器時脈時間延遲,以及計算一第二時脈源至該第二暫存器的一第二暫存器時脈輸入端的以及一第二暫存器時脈時間延遲;以及依據該至少一路徑時間延遲、該第一暫存器時脈時間延遲、該第二暫存器時脈時間延遲、以及該第一暫存器的一第一暫存器時間延遲來判斷該第二暫存器是否存在時序錯誤。
本發明可提升非標準元件電路的時序分析的覆蓋度,同時又兼顧時間上的效率。
100‧‧‧電路
102、104‧‧‧暫存器
103‧‧‧路徑
106~110‧‧‧組合電路
200‧‧‧流程
202~208‧‧‧步驟
300‧‧‧電腦系統
302‧‧‧處理器
304‧‧‧機器可讀媒體
第1圖為使用非標準元件之電路的示意圖。
第2圖為本發明應用在使用非標準元件的一電路中的時序分析方法的一示範性實施例的流程圖。
第3圖為本發明針對使用非標準元件的電路來執行時序分析方法的一電腦系統的一實施例的示意圖。
請參考第1圖,第1圖為使用非標準元件(non-standard cell)之電路100的示意圖。請注意,為了便於說明本發明的技術特徵,第1圖僅繪示一部份的電路元件,包含有複數個暫存器102、104以及複數個組合電路(combinational circuit)106、108、110。請注意,電路100可能包含類比電路或是其他任何無法僅使用標準元件資料庫(standard cell library)中之標準元件的電路,亦即電路100包含非標準元件;且組合電路106、108、110中可能包含有任何的電晶體、基本邏輯閘(logical gate)(例如及閘、或閘等)或是由基本邏輯閘所組成的邏輯電路,又組合電路106、108、110可能不相同;暫存器102、104可以係任何種類的暫存器,例如(D型閂鎖器(D-latch)或是D型正反器(D-flip flop)),只要是基於時脈的且具有資料暫存功能的元件,都屬於本發明的範疇。
請一併參考第1圖與第2圖。第2圖為本發明應用在使用非標準元件的一電路中的時序分析方法的一示範性實施例的流程圖。倘若大體上可達到相同的結果,並不需要一定遵照第2圖所示之流程200中的步驟順序來進行,且第2圖所示之步驟不一定要連續進行,亦即其他步驟亦可插入其中,此外,第2圖中的某些步驟亦可根據不同實施例或設計需求省略之。該方法主要包含有以下步驟:步驟202:找出使用非標準元件的一電路中的至少一第一暫存器以及一第二暫存器,其中該第一暫存器和該第二暫存器彼此之間具有至少一路徑,從該第一暫存器的一第一暫存器資料輸出端到該第二暫存器的一第二暫存器資料輸入端; 步驟204:計算經過該至少一路徑所需的至少一路徑時間延遲;步驟206:計算一第一時脈源至該第一暫存器的一第一暫存器時脈輸入端的一第一暫存器時脈時間延遲,以及計算一第二時脈源至該第二暫存器的一第二暫存器時脈輸入端的以及一第二暫存器時脈時間延遲;以及步驟208:依據該至少一路徑時間延遲、該第一暫存器時脈時間延遲、該第二暫存器時脈時間延遲以及該第一暫存器的一第一暫存器時間延遲來判斷該第二暫存器是否存在時序錯誤(timing violation)。
對於流程200的步驟202來說,應注意的是,可以根據所需的測試覆蓋度或是所欲分析的範圍來找出使用非標準元件的電路中的所有暫存器或是部分暫存器,且不限定於使用何種方法找出所有暫存器或是部分暫存器,舉例來說,本發明較佳地可以使用一特定暫存器辨識方法,其根據預設的暫存器電晶體連接或組成方式來辨識出電路100中的暫存器。因此,對於第1圖來說,假設此處所需要分析的範圍係電路100的部分暫存器,即暫存器102以及暫存器104。首先可在電路100其電晶體層級電路表(transistor level netlist)上根據其電晶體連接或組成方式辨識出暫存器102以及暫存器104,便可需要針對暫存器102以及暫存器104來分析。接下來需要確認暫存器102以及暫存器104之間是否具有至少一路徑,也就是找出從暫存器102的一資料輸出端Q經過組合電路110到暫存器102的一資料輸入端D的路徑(例如本實施例中的路徑103)。
步驟204則係針對暫存器102以及暫存器102之間的至少一路徑的一路徑時間延遲來作計算,也就是找出第1圖中,一訊號從暫存器102的資料輸出端Q經過組合電路110到暫存器102的資料輸入端D的路徑103的路徑時間延遲。舉例來說,可以使用一般的類比電路模擬軟體來僅針對路徑103進行模擬並計算出相對應的路徑時間延遲,如此便可大為減少模擬所需 的時間。
接下來,在步驟206中,會分別計算第1圖中從一時脈源P到暫存器102的一時脈輸入端ck_in的一第一時脈時間延遲以及從時脈源P到暫存器104的一時脈輸入端ck_in的一第二時脈時間延遲。請注意,於另一實施例中,步驟206中所述之時脈源P也可以是指不同的時脈源。
最後,依據暫存器104的資料設置時間(data setup time)規格以及資料保持時間(data hold time)規格、從暫存器102的資料輸出端Q經過組合電路110到暫存器102的資料輸入端D之該路徑時間延遲、該第一時脈時間延遲、該第二時脈時間延遲以及暫存器102的一暫存器時間延遲來判斷暫存器104是否存在設置時間錯誤或是保持時間錯誤(步驟208)。由於熟習此領域者應能輕易理解設置時間錯誤或是保持時間錯誤的判斷方式,故更進一步的細節在此便不多作贅述。
請參閱第3圖,第3圖為本發明針對使用非標準元件的電路中來執行時序分析方法的一電腦系統的一實施例的示意圖。電腦系統300包含有一處理器302以及一機器可讀媒體304,舉例來說,電腦系統300可以是一個人電腦,而機器可讀媒體304可以是個人電腦中任何具有資料儲存功能的儲存裝置,例如揮發性記憶體、非揮發性記憶體、硬碟、光碟等等。本實施例中,機器可讀媒體304中儲存一程式碼PROG,因此,當程式碼PROG被處理器302所載入並執行時,程式碼PROG會致使處理器302針對積體電路之電路設計檔案File_IN執行本發明所揭示的時序分析方法(亦即第2圖所示的步驟202~208)。由於熟習此領域者於閱讀過上述針對時序分析方法的內容之後應可輕易瞭解處理器302執行程式碼PROG所進行的時序分析操作,故在此省略更進一步的說明以求簡潔。
綜上所述,藉由本發明所提出的應用在使用非標準元件電路中之時序分析方法,便得以僅根據其所辯識出的暫存器及暫存器之間的路徑進行時序分析,如此一來將可顯著地減少模擬所需的時間並且兼顧測試覆蓋度。
200‧‧‧流程
202~208‧‧‧步驟

Claims (8)

  1. 一種應用在使用非標準元件(non-standard cell)的一電路中的時序分析方法,包含有:找出該電路中之至少一第一暫存器(register)以及一第二暫存器,其中該第一暫存器和該第二暫存器彼此之間具有至少一路徑,從該第一暫存器的一第一暫存器資料輸出端到該第二暫存器的一第二暫存器資料輸入端;計算經過該至少一路徑所需的至少一路徑時間延遲;計算一第一時脈源至該第一暫存器的一第一暫存器時脈輸入端的一第一暫存器時脈時間延遲,以及計算一第二時脈源至該第二暫存器的一第二暫存器時脈輸入端的以及一第二暫存器時脈時間延遲;以及依據該至少一路徑時間延遲、該第一暫存器時脈時間延遲、該第二暫存器時脈時間延遲、以及該第一暫存器的一第一暫存器時間延遲來判斷該第二暫存器是否存在時序錯誤(timing violation)。
  2. 如申請專利範圍第1項所述的方法,其中計算經過該至少一路徑所需之該至少一路徑時間延遲的步驟包含有:得到該至少一路徑中的一元件的一元件時間延遲;以及依據該元件時間延遲來計算出經過該至少一路徑所需之該至少一路徑時間延遲。
  3. 如申請專利範圍第1項所述的方法,其中依據該至少一路徑時間延遲、該第一暫存器時脈時間延遲、該第二暫存器時脈時間延遲、以及該第一暫存器之該第一暫存器時間延遲來判斷該第二暫存器是否存在時序錯誤的步驟包含有: 依據該第二暫存器的資料設置時間(data setup time)規格以及資料保持時間(data hold time)規格、該至少一路徑時間延遲、該第一暫存器時脈時間延遲、該第二暫存器時脈時間延遲以及該第一暫存器之該第一暫存器時間延遲來判斷該第二暫存器是否存在設置時間錯誤或是保持時間錯誤。
  4. 如申請專利範圍第1項所述的方法,其中找出該電路中之至少一第一暫存器以及一第二暫存器的步驟包含有:依據該電路之電晶體連接方式辨識出該第一暫存器以及該第二暫存器。
  5. 一種機器可讀媒體,儲存一程式碼,當該程式碼被一處理器所執行時,該程式碼會致使該處理器執行以下的步驟來對應用在使用非標準元件(non-standard cell)的一電路進行時序分析:找出該電路中之至少一第一暫存器(register)以及一第二暫存器,其中該第一暫存器和該第二暫存器彼此之間具有至少一路徑,從該第一暫存器的一第一暫存器資料輸出端到該第二暫存器的一第二暫存器資料輸入端;計算經過該至少一路徑所需的至少一路徑時間延遲;計算一第一時脈源至該第一暫存器的一第一暫存器時脈輸入端的一第一暫存器時脈時間延遲,以及計算一第二時脈源至該第二暫存器的一第二暫存器時脈輸入端的以及一第二暫存器時脈時間延遲;以及依據該至少一路徑時間延遲、該第一暫存器時脈時間延遲、該第二暫存器時脈時間延遲、以及該第一暫存器的一第一暫存器時間延遲來判斷該第二暫存器是否存在時序錯誤(timing violation)。
  6. 如申請專利範圍第5項所述的機器可讀媒體,其中計算經過該至少一路徑 所需之該至少一路徑時間延遲的步驟包含有:得到該至少一路徑中的一元件的一元件時間延遲;以及依據該元件時間延遲來計算出經過該至少一路徑所需之該至少一路徑時間延遲。
  7. 如申請專利範圍第5項所述的機器可讀媒體,其中依據該至少一路徑時間延遲、該第一暫存器時脈時間延遲、該第二暫存器時脈時間延遲、以及該第一暫存器之該第一暫存器時間延遲來判斷該第二暫存器是否存在時序錯誤的步驟包含有:依據該第二暫存器的資料設置時間(data setup time)規格以及資料保持時間(data hold time)規格、該至少一路徑時間延遲、該第一暫存器時脈時間延遲、該第二暫存器時脈時間延遲、以及該第一暫存器之該第一暫存器時間延遲來判斷該第二暫存器是否存在設置時間錯誤或是保持時間錯誤。
  8. 如申請專利範圍第5項所述的機器可讀媒體,其中找出該電路中之至少一第一暫存器以及一第二暫存器的步驟包含有:依據該電路之電晶體連接方式辨識出該第一暫存器以及該第二暫存器。
TW102132041A 2013-09-05 2013-09-05 時序分析方法以及機器可讀媒體 TW201510721A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW102132041A TW201510721A (zh) 2013-09-05 2013-09-05 時序分析方法以及機器可讀媒體
US14/450,279 US20150067623A1 (en) 2013-09-05 2014-08-03 Timing analysis method for non-standard cell circuit and associated machine readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102132041A TW201510721A (zh) 2013-09-05 2013-09-05 時序分析方法以及機器可讀媒體

Publications (1)

Publication Number Publication Date
TW201510721A true TW201510721A (zh) 2015-03-16

Family

ID=52585129

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102132041A TW201510721A (zh) 2013-09-05 2013-09-05 時序分析方法以及機器可讀媒體

Country Status (2)

Country Link
US (1) US20150067623A1 (zh)
TW (1) TW201510721A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI799249B (zh) * 2022-04-29 2023-04-11 瑞昱半導體股份有限公司 用於測試多週期路徑電路的測試電路系統

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5569237B2 (ja) * 2010-08-06 2014-08-13 富士通セミコンダクター株式会社 情報処理装置、プログラム、および設計支援方法

Also Published As

Publication number Publication date
US20150067623A1 (en) 2015-03-05

Similar Documents

Publication Publication Date Title
US8832615B2 (en) Method for detecting and debugging design errors in low power IC design
JP2022036889A (ja) チップを検証する方法、装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム
US10354042B2 (en) Selectively reducing graph based analysis pessimism
TWI479351B (zh) 模擬電路設計之方法及設備以及電腦可讀取儲存媒體
US7765503B2 (en) Half cycle common path pessimism removal method
US10146895B2 (en) Method and apparatus for simulating a digital circuit
WO2016026328A1 (zh) 一种信息处理方法、装置及计算机存储介质
US9858382B2 (en) Computer program product for timing analysis of integrated circuit
US20180225400A1 (en) Glitch detection at clock domain crossing
US10241888B2 (en) Method to verify correctness of computer system software and hardware components and corresponding test environment
US20070113132A1 (en) Method and device for verifying timing in a semiconductor integrated circuit
US9390222B2 (en) Determining a set of timing paths for creating a circuit abstraction
CN107784185B (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
US20160063158A1 (en) Method and device for simulating a circuit design
US8718998B2 (en) Identifying initial don't care memory elements for simulation
TW201510721A (zh) 時序分析方法以及機器可讀媒體
US9991008B2 (en) Systems and methods for analyzing soft errors in a design and reducing the associated failure rates thereof
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
JP6682036B2 (ja) 規模算出装置及び規模算出プログラム
US9990453B2 (en) Clock-domain-crossing specific design mutations to model silicon behavior and measure verification robustness
US8056037B2 (en) Method for validating logical function and timing behavior of a digital circuit decision
US20070258300A1 (en) Functional verification of synchronized signals using random delays
US9581644B2 (en) Digital IC simulation
US10606971B2 (en) Testing netlists based on singular independent signals
US8042075B2 (en) Method, system and application for sequential cofactor-based analysis of netlists