TWI406143B - 用於訂製及特定應用積體電路設計之靜態時序分析及動態模擬技術 - Google Patents
用於訂製及特定應用積體電路設計之靜態時序分析及動態模擬技術 Download PDFInfo
- Publication number
- TWI406143B TWI406143B TW095103745A TW95103745A TWI406143B TW I406143 B TWI406143 B TW I406143B TW 095103745 A TW095103745 A TW 095103745A TW 95103745 A TW95103745 A TW 95103745A TW I406143 B TWI406143 B TW I406143B
- Authority
- TW
- Taiwan
- Prior art keywords
- timing
- circuit
- path
- node
- victim
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Microelectronics & Electronic Packaging (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本發明係根據2005年2月3日申請之美國專利臨時申請案第60/650,308號並主張其優先權,其內容在此被納入作為參考。
本發明係有關於積體電路設計,且特別是有關於設計能處理在同一環境之動態模擬與靜態時序分析二者的時序驗證工具及可進一步以統一環境之完全訂製與ASIC設計為目標。
在積體電路製作前驗證其設計為一重要之過程,特別是在積體電路變得更複雜且設計週期逐漸變短時尤然。設計驗證包括很多步驟,緊要之一為時序驗證。為此目的,如來自Synopsys(新思科技公司)Prime Time之靜態時序分析工具慣常地被使用以藉由列舉式檢查所有路徑或選擇性地須如動態模擬所要求地在晶片之基本輸入提供檢測向量來驗證晶片的時序。然而,在靜態時序分析工具被內建之延遲計算器通常無法被調諧成為完全被吹成的時序模擬器,且一額外之模擬器工具必須被使用。所以傳統地如在第1圖中被顯示者,靜態時序分析與時序模擬用二個分開之工具被執行。
另一問題為慣常之積體電路設計可包括完全訂製與特定應用積體電路(ASIC)部分二種。然而,ASIC設計之靜態時序分析通常無法就完全訂製設計(其傾向於為以電晶體等級為基礎之bc)被使用。因之,如在第1圖中進一步被顯示者,分開的工具必須被使用以對該等二個分別之設計部分執行靜態時序分析。其會欲對靜態時序分析與時序模擬以及對驗證ASIC與完全訂製設計二者具有共同之環境。
目前可得可用之設計工具亦具有其他缺點。在一些慣常的靜態時序分析中,路徑搜尋由輸入至閂鎖器、閂鎖器至閂鎖器、及閂鎖器至輸出被實施以檢測失敗路徑。其被相當習知在向前搜尋路徑以取得最小或最短時間,然後向後以深度先做方式以取得寬鬆時間之寬度先做橫越(BFT)方法會比深度先做橫越(DFT)或具有修剪之深度先做橫越方法更快速很多地運轉。然而,在技藝中需要對具有例如為位準敏感閂鎖器之電路以及多相位且多頻率電路之一般BFT解。
另一問題為在時序分析之際,類似假路徑與具有同步地改變之輸入的假路徑之課題不可被忽視。由於沿著該等失敗路徑之側邊輸入的邏輯值由預先特徵化之時序館被獲得,在沿著路徑之輸入的這些確定邏輯值(使得對Vdd或Gnd為未知者取代確定之Vdd或Gnd)與上升或下降值可儘可能深地傳播。若有衝突發生,則此為一假路徑。其可能發生一閘極之側邊輸入原始地具有對Vdd或Gnd為未知的值,然後變成上升或下降,此類似於沿著失敗路徑之閘極的輸入,此比對Vdd或Gnd為未知者占優勢而不致有函數分析後之衝突。此乃同步地變化之輸入如何發生的情形。一般而言,具有同步地變化之輸入的閘極不具有在時序館之預先特徵化結果,所以一電路內延遲計算器必須被使用以正確地評估此閘極之延遲。
在沒有過濾掉假路徑下,計算電路之最大作業頻率為無意義的。因之,其會欲是否有在過濾掉假路徑後求解最大作業頻率的方法。每一條真的失敗路徑可包含數段,包括輸入至閂鎖器、閂鎖器至閂鎖器、及閂鎖器至輸出。每一段有其本身之時序限制。此可為要解決之難以克服的工具。
另一問題為因奈米設計所致,串音之課題已逐漸變得重要。為了求出在受害者之輸出的最近或最短之延遲,驅動器與PLC部分二者的很多回合之模擬須要被執行。為RLC部分產生降階模型並將之與驅動器耦合用於模擬為非常標準的。由於RLC網路之埠數會很巨大,降階模型的矩陣傾向於很大且很密而致使效能降級。所以,其會高度地欲具有特殊法則以有效地整合時域中之驅動器部分與頻域中之RLC部分成為單一模擬引擎。
串音之另一課題為須考慮攻擊者與受害者間之相關性以取得更精確之延遲。在沒有考慮攻擊者與受害者間之相關性下,攻擊者總是被假設以與受害者的相反方向切換且攻擊者之切換時間被發現落在時序窗中。此方式所計算之受害者延遲的結果總是太悲觀。此問題因有一群攻擊者之攻擊者與該受害者有相關性、與該群攻擊者間有相關性、及與攻擊者或受害者完全無相關性的事實而進一步被複雜化。此外,受害者延遲可為攻擊者之切換時間的函數,其反過來又被該受害者延遲影響,此為蛋生鷄、鷄生蛋型式之問題。其會欲有解決這些困難課題之一般解。
本發明提供一種時序驗證工具與方法,其可在統一環境中為ASIC與完全訂至設計且包括功能用於為時序特徵化自動地辨識如複雜閘極之訂製構造。該延遲計算器藉由納入函數檢查來進一步包括功能用於解析屬於電晶體等級之電路構造。
依據另一層面,依據本發明之一時序驗證工具提供功能用於在出現等級敏感之閂鎖器時對多相位、多頻率與多週期電路有效率地搜尋路徑。
依據另一層面,依據本發明之一時序驗證工具提供功能用於實施函數檢查以過濾失敗路徑及辨識具有同步地變化的輸入之閘極。
依據另一層面,依據本發明之一時序驗證工具提供功能用於在過濾假路徑後出現等級敏感之閂鎖器時求出最大作業頻率。
依據另一層面,依據本發明之一時序驗證工具提供一串音解算器,其運用與在SPICE式模擬器中被施作之時域內的非線性驅動器被耦合之頻域中的RLC部分之許可矩陣與電壓傳送。
依據另一層面,依據本發明之一時序驗證工具提供功能用於使用攻擊者與受害者之輸入的相關性以迴覆式地決定在受害者之輸出的切換時間。
本發明之這些與其他層面及特點對一般熟習本技藝者在檢閱下列與附圖有關之本發明的特定實施例之描述下將變得明白的,其中:第1圖顯示慣常之時序認證技術的方塊圖;第2圖顯示依據本發明之時序認證技術的方塊圖;第3圖顯示依據本發明之施作一時序驗證工具的例子之方塊圖;第4圖顯示依據本發明用於為閘極等級與電晶體等級設計二者提供時序驗證之方法例的流程圖;第5圖顯示一電路例用於說明依據本發明之一些時序分析技術;第6A至6C圖顯示樹結構如何為了將驅動器負載特徵化而被形成;第7圖為一流程圖,顯示依據本發明將一電路構造特徵化以獲得對驗證有用之時序資訊的方法例;第8圖為一電路例用於說明依據本發明解算一電路構造之法則;第9圖為另一電路例用於說明依據本發明解算一電路構造之法則;第10圖為一流程圖,顯示依據本發明在出現等級敏感之閂鎖器下對多相位、多頻率與多週期電路處置時序分析問題之方法例;第11圖為一電路例用於說明對多相位、多頻率與多週期電路處置時序分析問題之一較佳方法;第12圖為一時序圖進一步說明在第11圖有關之電路中執行的時序分析;第13圖為一時序圖說明依據本發明之一層面針對不同時鐘相位分析路徑;第14圖為一電路利用於說明依據本發明執行具有同步地變化輸入之閘極的函數檢查與檢測之一較佳法則;第15圖為用於在假路徑已被刪除後企圖解算該電路之最大作業頻率時列舉時序限制的圖;第16圖為一電路例用於說明在攻擊者與受害者有相關性及受害者與受害者與本身二者沒有相關性之混合下要於出現串音效應時正確地計算受害者延遲的一較佳法則;第17圖為一電路例以一些攻擊者彼此有相關性而進一步說明在該有關之電路中執行的較佳法則;第18圖為一電路,說明在受害者輸出延遲與攻擊者輸入切換時間彼此影響時要迴覆式地解算受害者延遲之較佳法則;以及第19圖為一電路進一步說明在第18圖有關之電路中要迴覆式地解算受害者延遲之較佳法則。
現在本發明將參照附圖詳細地被描述,其被提供作為本發明之說明例子而促成熟習本技藝者來實作本發明。可注意的是,下面之圖與例子不欲將本發明限制於單一實施例,而是其他實施例在利用交換一些或全部所描述或說明之元件下為可能的。此外,在本發明之一些元件可使用習知的成份部分地或完全地被施作之情形中,只有為了瞭解本發明有必要的這類習知的成份之部分將被描述,而此類習知的成份的其他部分之詳細描述將被略去以免模糊本發明。在本說明書中,顯示奇特成份元件之實施例不應被視為限制性的,而是除非有在此間明顯地被指出,則本發明被意圖包容包括有多個該同一成份元件之其他實施例,反之亦然。此外,申請人不意圖就本說明書或申請專利範圍中之任一條款對非共通或特殊意思被歸因,除非其有如此明顯地被設立。進一步換言之,本發明包容對此間以說明方式被指稱之習知成份元件的目前或未來習知之等值事項。
如上面設立者,具有本身之延遲計算器的傳統靜態時序分析工具與需要在電路之輸入施用檢測向量的動態模擬器為具有不同電路呈現與施作之二個獨立的工具。
在全然地對照之下,如第2圖中顯示者,依據本發明之一層面,此二工具完全地被整合成為單一之時序驗證工具200。依據另一層面,該工具包括一延遲計算器,其可被用於時序分析與動態模擬二者,且能在模擬前藉由將電路分割為級而分析整個電路。由使用者之觀點而言,若其要為整個晶片執行時序模擬,其提供檢測向量及/或指定波形做為輸入。然後該工具將傳送整個電路至內建之延遲計算器,其自動地分割電路並開始執行模擬。若其要做靜態時序分析,其提供時鐘資訊且該工具開始做路徑分析及藉由傳送晶格資訊至延遲計算器來使用該延遲計算器計算與任一晶格有關聯之延遲。
在一施作例中,時序驗證工具200為一單一可執行檔,其可獨立地被執行做為慣常電腦或工作站之自我獨立工具。然而,熟習本技藝者在受教於下面之例後將能以各種其他替選方法來施作本發明。例如,本發明之一些或全部層面與特點可被整合成為現行環境或如Cadence Encounter之設計流,或如Synopsys公司之Prime Time的認證解法環境,或SPICE。
在做為自我獨立工具之工具200的較佳施作中,其承裝一電路以SPICE網路表之形式加以驗證。如被習知者,一SPICE網路表為一階層式,其可包含一整體積體電路之各種部分的描述,包括訂製設計區塊、標準晶格、RLC部分與互連體。SPICE網路表可進一步包括時鐘描述與可用作為模擬之檢測向量的其他波形描述以及用於時序分析之時序限制。習知本技藝者將了解有很多電路呈現與時序限制輸入之等值形式,其可取代及/或外加於一SPICE網路表被提供而使得本發明不受限於此特定之施作。
工具200之一施作例在第3圖中被顯示。如第3圖顯示者,工具200包括一延遲計算器如在下面更詳細被描述地分割來自SPICE網路表之電路成為各種成份。該延遲計算器分解電晶體等級之電路構造並為其決定時序資訊。工具200進一步包括一時序分析模組與一時序模擬模組二者。雖然慣常之技術可被用以根據本發明的延遲計算器所提供之資訊來執行時序分析與時序模擬,工具200如第3圖顯示地包括解算器用於各種時序驗證問題且將在下面更詳細被描述。
如上述者,依據一層面,時序驗證工具200包括一延遲計算器將用於時序分析與時序模擬二者之電路分割,及分解電晶體等級之電路構造並為其決定時序資訊。用依據一較佳實施例之延遲計算器被施作的方法現在將在有關第4圖被顯示之流程圖中更詳細地描述。
如第4圖顯示者,用於具有等級呈現之電路部分的時序資訊及/或延遲表由如標準lib檔之時序館被獲得,而具有電晶體等級呈現之電路部分被處理以獲得所需的時序資訊。其應被注意到工具200本身可進一步包括功能用於根據相當習知之技術為說明等級呈現產生延遲表。
回到參照第4圖,就具有電晶體等級呈現之電路部分而言,該延遲計算器執行額外之處理。在一第一步驟,這些部分被分解圍各種成份,包括驅動器負載閘極、傳送閘極、RLC部分與級等。此處,級係指被連接至電晶體之通道,其在一些情形可包括被縮減為驅動器負載閘極、傳送閘及與RLC部分。藉由進行此分解,電路呈現可被簡化而有助於如在下面更詳細被描述之在說明等級的型態搜尋與時序分析。
一驅動器負載閘極藉由進行由Gnd至Vdd之先作深度橫越搜尋而被求得。若其路徑到達一電晶體之閘極,則撤回並繼續搜尋至Vdd被求得為止。例如在第5A圖顯示之電路中,除了完全在電晶體等級於第5A圖之中心處理反相器(即驅動器負載閘極)與nmos傳送閘極TG二者,反相器INV1與INV2及nmos傳送閘極TG之身份被保存。
如ASIC與RLC部分之其他構造可用相當習知的技術被辨識。例如在SPICE網路表中,RLC部分被自我辨識。然而較佳的是延遲計算器為這類部份進一步辨識及保存輸入與輸出。
回到第4圖,在下一個步驟,獨特之構造為預先特徵化被辨識。在本發明之一施作例中,為了促進獨特驅動器負載構造之辨識,一樹結構方法首先被使用為所有被分解之構造獲得及儲存拓樸。現在此方法論將在相關之第6A至6C圖更詳細地被描述。
第6A圖顯示已在分解之際被辨識的一驅動器負載閘極構造的一例。第6A圖顯示一個n通道構造,但p通道可用相同方法被完成。第6B圖顯示第6A圖中之構造的拓樸,其使用熟習本技藝者所瞭解之技術被導出。例如,該構造中之每一電晶體的信號流被決定,然後每一個依據其信號流間之連接與關係在一樹中被聯合在一起。例如,電晶體b與c具有二端部以相同信號被綁在一起,故以並列被聯合(即邏輯上之「或」或「+」)相同之分析適用於電晶體d與e。然後前述之潰解的邊緣以程序列(即邏輯上之「且」或「.」)之電晶體被潰解,原因為其具有相同之信號方向。
第5B圖中之leaf元件為第5A圖中對應之nfets元件,其以「.」表示之序列或以「+」表示之並列與nfets或一群nfets被連接。第5C圖為在潰解二序列「.」節點後之最簡單形式的樹。然而本發明了解到當有數組成序列時,這些組之順序安排為緊要的。所以,其父母節點的屬性之一為要儲存有關最靠近電壓源的子節點之資訊。例如,頂端節點「.」具有三個子女,即「+」、「a」與「+」。在一資料結構中,此三個子女之安排順序被儲存,其就「a」、最右邊之節點「+」與最左邊之節點「+」分別為1,2與0。此資訊指出那一電晶體最靠近電壓源且較佳地在延遲計算中被使用。
一旦拓樸資訊就電路之所有分解部分被獲得,其彼此被比較以辨識在該電路中之該組獨特的構造。其可有很多方法來比較二構造是否相同,不僅是邏輯上地,也比較對應的電晶體以判定其是否具有相同之長度與寬度等。依據本發明之一較佳方法為比較由最高等級的節點(其為該輸出)開始一路至最低等級的節點(其係指該leaf元件)之樹。初始地,一金鑰可使用某一準則就任一構造被儲存。例如,一數字就每一節點依其是並列或序列節點及其等級號碼而定地被指定,並被乘以子女之數目,及這些數字被相加而得到該金鑰。就藉由比較構造之該等金鑰,不等值的構造可不須橫越該樹地立刻被挑出。
就具有相同金鑰之樹而言,其藉由使用先橫越深度(DFS)之方法由最高等級的節點迴覆地被搜尋而被比較。若一節點具有「.」之屬性,則其子女如在上面步驟所保存地以限定的順序被檢查。若一節點具有「+」之屬性,則其子女的所有組態逐一地被檢查至一媒配被找到為止。若父母節點具有「+」屬性,則子女之順序不須被考慮。就每一組態而言,子女迴覆地被搜尋至最後一媒配被找到為止。若一拓樸媒配被找到,則與leaf節點有關聯之所有電晶體被檢查來看其全部就長度與寬度而言是否媒配。若然,則構造之完全媒配被找到,形成一獨特構造之結果。
回到第4圖,下一個步驟為就該等獨特構造預先特徵化時序。慣常之作法為搜尋由被觸發之電晶體至電壓源與例如的輸出二者之一路徑。使用者在一些情形須在計算前供應一些節點電壓。在一施作例中,在本發明被使用之法則特別強調函數檢查以解算屬於電晶體等級的任何種類的構造而不只是限定於驅動器負載閘極。此外,該法則在該路徑被找到後提供一外顯之函數檢查,而僅可能地降低對使用者之輸入的需求及產生正確之輸入電壓。該單一輸出構造被與先特徵化,以儲存其輸出之延遲與斜率成為輸入斜率及輸出負載之函數。每對輸入與輸出之每一路徑的函數資訊被儲存。就多輸出格而言,該預先特徵化就數個輸入斜率與其延遲被完成及被儲存而取代成為輸入斜率及輸出負載之函數的輸出延遲與斜率。
用於執行電晶體等級構造之預先特徵化的一法則例現在相關之第7圖的流程圖中被描述。
如第7圖顯示者,一第一步驟為在該構造中辨識由一被觸發輸入至輸出之一完整的路徑。此路徑遵循被觸發之一電晶體的信號流且一般包括二部分:一個為由被觸發之電晶體至Vdd或Gnd之與電晶體的信號流相反之方向;及另一個為由電晶體至輸出之遵循信號流的方向。若電晶體不具有確定之信號流方向及/或為雙向的,則二情形被考慮:(1)由電晶體之源極至Vdd或Gnd及由電晶體之汲極至輸出;與(2)由電晶體之源極至輸出及電晶體之汲極至Vdd或Gnd。若該節點到達屬於相同構造之一電晶體的閘極,則遵循上述之程序以搜尋由此新近被觸發之電晶體至Vdd或Gnd二者與至輸出,直至該輸出被到達為止。
如第7圖顯示者,在下一步驟中,為所獲得之路徑做函數檢查並為支援沿著此路徑之信號流的構造之所有節點取得函數值。指定被觸發之節點沿著路徑依該節點係沿著Vdd或Gnd路徑而定地上升或下降。
如第7圖顯示者,在下一步驟中,這些值被儘可能遠地傳播至沒有更多之被影響的節點被找到為止。較佳的是,x2Vdd(對Vdd為未知的),x2Gnd,Gnd2x,Vdd2x與如Vdd,Gnd之限定值上升與下降等被用於該等被影響的節點之值,其被傳播以找到更多被影響的節點值。例如,若一nmos電晶體之閘極節點具有被影響的節點值上升,且nmos電晶體之一端部具有Vdd,及其他端部(如一汲極節點)還不具有任何被影響的節點值,則此端部將變成x2Vdd取代限定之值上升。然後由此具有新近被指定被影響的節點值x2Vdd之汲極,其相鄰節點將被檢查以找到更多被影響的節點值。在另一例中,一nmos電晶體之閘極節點具有值上升,且此nmos之源極若已被更新以具有一上升值,則該汲極應變成x2Vdd。若此汲極節點原本具有Gnd2x且現在具有新的被影響值x2Vdd,此節點現在應被視為上升。
接著,若函數檢查已被實施且沒有函數錯誤,則確定所有輸入節點具有被影響之值。若仍有一些不具有被影響之值則檢查所有組態且一組態與函數檢查通過,則停止並就此對輸入與輸出使用所有的輸入值。檢查此對輸入/輸出是否已被獲得。若然,跳越此者。傳送此資訊並為此對輸入與輸出儲存函數值。
如第7圖中顯示者,上述之相同步驟被重複至在構造中的所有路徑已被做完為止。
用於說明上面之預先特徵化法則在第8圖中被顯示。以節點b為例。節點b具有三個扇出值pfet,m1,m2與反相器inv1。若節點b被觸發,則通過該等三個扇出值之三條路徑須逐一被檢查。假設b下降(b上升之情形有類似的討論且在被略去),由a通過m1至y(輸出)之路徑存在。節點a可具有二選擇Vdd與Gnd。首先選擇節點a為Vdd,其意為若該路徑存在,y正在上升。在節點b與bf間有一反相器inv1。在檢查pfet側之inv1中,由於b下降,bf變為x2Vdd。類似地,在檢查此反相器內側之nfet,bf轉變為Gnd2x。藉由組合x2Vdd與Gnd2x,bf具有值上升。然後由於m4為接通的且bf上升,y應具有一上升值,其不會與已被獲得之y的上升值衝突。因之,就b下降之該對輸入/輸出為y=上升及a=Vdd。仍然固守由a通過m1至y之第一路徑,現在為節點a指定Gnd值。藉由相同之討論,吾人取得b下降的另一對輸入/輸出為y=下降及a=Gnd而不致有任何函數錯誤。
現在考慮由b通過m2至y而具有類似第二路徑之節點b下降。在此情形中,節點a必須為Gnd以支援由b通過m2至y之此路徑。藉由執行與上述相同之函數檢查,其沒有函數錯誤,且b下降之一對輸入/輸出為y=下降及a=Gnd。然而此與前所討論之第一路徑的第二情形完全相同。所以因此第二路徑所致之該對輸入/輸出被丟棄。利用相同的表徵,由b至bf之第三路徑亦產生已在前面被提出的輸入/輸出組態且可被刪除。當節點a以類似方式被觸發,討論該情形為率直的。在此例中,其總共有八種輸入/輸出組態:(1)a=上升,b=Vdd,y=下降、(2)a=上升,b=Gnd,y=上升、(3)a=下降,b=Vdd,y=下降、(4)a=下降,b=Gnd,y=上升、(5)a=Vdd,b=上升,y=上升、(6)a=Vdd,b=下降,y=下降、(7)a=Gnd,b=上升,y=上升、以及(8)a=Gnd,b=下降,y=上升。因之,就每一輸入上升或下降而言,該輸出依第二輸入之值而定地可具有上升與下降二者。
在第9圖中被顯示之一個三輸入CMOS閘極的例子被用以展示函數檢查如何依據本發明之一施作例於電晶體等級被執行。假設節點a下降,則節點y因由Vdd至輸出y所致地被期待為上升。此就節點y與a得到確定之下降與上升節點值。然而,只有此事實本身不足於為節點b與c推測節點值。側邊之路徑必須被失能。其有三條側邊路徑,第一條為由節點y通過P3與P2至Vdd、第二條路徑為由節點y通過N2至Gnd、以及第三條為由節點y通過N3至Gnd。明顯的是與節點y相鄰之N2,N3與P3無法同步地關閉。若吾人選擇N2關閉或b具有Gnd值,則N3不可被關閉(節點C為Gnd),此乃由於與就節點y被期待上升值相反地b與c二者被設定為Gnd致使P2與P3二者被接通且就節點y導致Vdd節點值之事實。藉由採用此例屬於電晶體等級之函數檢查的較佳方法,結論為當節點a下降時,因b被設定為Vdd且C被設定為Gnd或b被設定為Gnd且C被設定為Vdd的其中之一所致地就節點y上升可有二延遲值。
回到第4圖,就標準STA或模擬所需之資訊在此點為手邊現有的。用於執行STA或模擬之一的慣常工具可利用此資訊被使用。然而,改進之時序分析與驗證可如將下面更詳細被描述地使用本發明的額外技術被獲得。
依據一層面及如第3圖顯示者,依據本發明之時序驗證工具200包括一新的方法以在出現等級敏感之閂鎖器解算多相位、多頻率與多週期電路之時序分析問題。此方法現在將更詳細地被描述。
由於出現等級敏感之閂鎖器,通過數個閂鎖器之路徑傾向非常長,因而類似先橫越深度(DFS)或具有修剪之先橫越深度的慣常方法會潛在地變成CPU密集的。先橫越寬度之方法為最有效率的。然而,在每一節點儲存最晚到達時間(LAT)會為具挑戰性之問題。就多時鐘相位電路而言,就算針對具有最小最小記憶體間接費用以逐一相位進行儲存LAT,該路徑仍會透過被不同時鐘相位控制之中間相位中的等級敏感之閂鎖器傳播而造成指定LAT中的混淆。
依據一施作例,本發明採用在下面相關第10圖之流程圖與第11圖中之電路更詳細被描述的方法。
如第10圖中顯示者,第一步驟為產生一事件圖,其列出信號會通過其傳送之信號路徑中的節點。第11圖顯示二個起源地邊緣被觸發之正反電路L1與L4。清楚的是節點A不屬於一事件圖。在沒有節點A之資訊下,由於所有輸入A,D與C所需之LAT必須事先被知道,節點B所需的LAT節不會被獲得。然而在路徑追蹤過程之際,節點A絕不會被到達。結果為,節點A沒有LAT之事實就輸出節點B使LAT資訊失效。所以節點A應由事件圖被刪除。在一施作例中,該事件圖藉由實施由特定輸入開始、透過包括邊緣被觸發之正反電路與等級敏感之閂鎖器、及在記憶體元件之輸入或特定輸出停止的DFS被獲得。
如第10圖顯示者,下一個步驟為就目的地閂鎖器或正反電路儲存相位。上面之程序可被用以獲得事件圖。參照第11圖中之例子,一DFT由任一閂鎖器或正反電路之輸出被執行,例如DFT搜尋由L1之輸出被開始。當L5之輸入節點E被存取,紀錄有關在節點E及回到F之目的地閂鎖器的資訊並儲存相同之閂鎖器資訊至節點F內做為節點E者。然後向前由L5之輸出D搜尋並到達具有二扇出值L3與L4之節點B、儲存二目的地閂鎖器L3與L4資訊之資訊至節點B內、再回到D及紀錄與在節點B中之相同者。最後,由L2之輸出C開始。由於閘極G1之輸出節點B已被存取,其沒理由要再搜尋超過節點B。然後簡單地複製在輸出節點B之電路至G1之輸入節點C內並停止此例之程序。
其應被注意到一些目標可使用不同之程序被達成。一旦事件圖被獲得,由事件圖內之所有閂鎖器或正反電路相後搜尋且紀錄在被存取之每一節點中的閂鎖器資訊。
在如第10圖中顯示之下一個步驟為針對時鐘相位儲存LAT。一組可能之時鐘相位在第12圖中被顯示(例如由SPICE網路表被獲得或被導出),假設起源地L1與L2及目的地L3與L4為正的邊緣觸發之正反電路及在電路中間的L5為一個正等級敏感閂鎖器。沿著路徑編號1與2來自L1與L2之信號被同一時鐘相位CLKA被觸發。所以用於沿著這些路徑之LAT針對CLKA的正觸發邊緣被紀錄。當來自L1之被閂鎖的信號到達控制閂鎖器之時鐘CLKB的中間相位之L5並通過L5,則儲存在節點D之LAT為必須針對CLKB的正邊緣。例如假設來自L1通過D(L5之輸出)之被閂鎖的信號具有總路徑延遲145(例如為該等構造由被計算或被儲存之時序資訊所獲得者)。然後根據第12圖,針對CLKB在B之LAT變成65(145-80=65)。亦假設由L2至B之被閂鎖信號的總路徑延遲為10。針對CLKA仍為10在節點B被儲存。此為在節點B可有二LAT之原因,一個因路徑2而針對CLKA為10,而另一個因路徑1而針對CLKB為65。
在概念上,想出那一路徑較為緊要且為最緊要之路徑儲存LAT為可能的。否則,LAT必須就所有時鐘相位被儲存。下列之關係式較佳地被用以決定那一LAT應被儲存。
Q(x,節點,y)=TimingConstraint(x,y)-LAT(節點,y);TimingConstraint(x,y)=起源地時鐘相位y與目的地時鐘相位x間之時間限制;LAT(節點,y)=在針對時鐘相位y之節點的LAT;就通過L5,D與B之路徑1而言,該等二Q值為:Q(L3,B,L5)=40-65=-25;Q(L4,B,L5)=70-65=5;注意,回到參照第11圖,閂鎖器可被用於函數Q之第一與第三個變數,其實際上係指控制某些特定閂鎖器的時鐘相位。此處在Q(L3,B,L5)中L3與L3之控制時鐘相位分別為CLKC與CLKB。在節點B用於路徑1之LAT 65為來自被CLKB控制的L5。在第12圖中,CLKC為在CLKA之前。所以,目的地閂鎖器應在第12圖中未被顯示之下一個時鐘週期中的CLKC控制,且L5與L3間之路徑的時序限制為20+100-80=40。
利用相同之表徵:Q(L4,B,L5)=50+100-80-65=5就由L2至C與B之路徑而言,該等二個Q值為:Q(L3,B,L2)=20-10=10;Q(L4,B,L2)=50-10=40;注意,路徑1之此二個Q值二者均小於路徑2者。因而,路徑1為比路徑2緊要,且吾人針對控制L5之CLKB為路徑1儲存LAT 65。
在一些情形中,判定那一路徑比其他者為更緊要是不可能的,所以就所有這些路徑針對不同之時鐘相位儲存LAT為較佳的。此可用顯示不同組之時鐘相位的第13圖被說明。此處在節點B之LAT類似前面的例子針對CLKA與CLKB分別為40與25。就通過L5,D與B之路徑1而言,該等二個Q值為:Q(L3,B,L5)=20-25=-5;Q(L4,B,L5)=70-25=45;就由L2至C與B之路徑2而言,該等二個Q值為:Q(L3,B,L2)=80-40=40;Q(L4,B,L2)=30-40=-10;此意為吾人無法說出到節點B之那一路徑較為緊要。因而,吾人必須分別針對CLKA與CLKB在節點B儲存二LAT。
其應被注意到此公式可如多相位電路相同方式地被施用至時序限制被決定之多頻率電路的情形。在多週期之情形中,由於就算是以起源地與目的地閂鎖器被同一對時鐘控制之路徑,該工具不能決定那一路徑應為多週期者,該時序限制為難以獲得的。一解法為使用者定出具有多週期時序限制之該對閂鎖器。然後,若起源地與目的地閂鎖器其中之一被使用者定出為多週期路徑,該程式在每一節點記錄起源地與目的地資訊。若此對起源地與目的地發生為被使用者定出,則多週期時序限制被使用。
回到第10圖,下一個步驟為由目的地點追蹤回去以找到失敗路徑。由在閂鎖器輸入之LAT,其寬鬆時間可如下面描述地被決定。負的寬鬆時間表示有失敗路徑到達記憶體元件之輸入,但該等失敗路徑仍為未知。其只有必要由具有負的寬鬆時間之輸入回溯追踪以找到失敗路徑。
例如回到參照第11與12圖。首先計算在節點B之寬鬆時間。針對CLKB之LAT 65與用於驅動閂鎖器L3與L4之時鐘相位CLKC與CLKD在節點B中被儲存。所以對到達L3之最緊要路徑而言,時序限制為40,及此路徑之寬鬆時間為40-65=-25。就在L4停止之路徑而言,時序限制為70,及寬鬆時間為70-65=5>0。所以,使用DFT以CLKC作為目的地閂鎖器之時鐘相位來回溯搜尋具有負的寬鬆時間的節點B。假設由D至B及由B至C之延遲為1。LAT在C由CLKA之正邊緣為9及LAT在D由CLKB之正邊緣為64。接著連續地檢查二輸入D與C。就C而言,其必須被決定由C通過B至被CLKC控制之L3的路徑之寬鬆時間。此用下列之公式被獲得:slack(C)=slack(B)+QC - > B
(L3)-Q(L3,B,L5) QC - > B
(L3)=Q(L3,C,L2)-DelayC - > B
Q(L3,C,L2)=TimingConstraint(L3,L2)-LAT(C,CLKA) Q(L3,B,L5)=TimingConstraint(L3,L5)-LAT(B,CLKB)
Q(L3,B,L5)可被瞭解為如下。在節點B,LAT為由被CLKB控制之記憶體元件L5之最緊要路徑。若此路徑到達被CLKC控制之L3,則此路徑之時序限制用TimingConstraint(L3,L5)表示。此路徑在節點B之寬鬆時間用Q(L3,B,L5)被表示。Q(L3,C,L2)類似地被定義。由於在節點C之LAT為來自被CLKA控制之L2,TimingConstraint(L3,L2)為已知的。藉由代入這些數字,slack(C)=-25+10-(-25)=10。
此意即由C通過至B之路徑不會為失敗路徑。所以,由C之回溯追踪應被終止。接著,進行下一個輸入D。LAT在D針對時鐘CLKB為64。LAT在B針對時鐘CLKB為65,且L3之寬鬆時間為-25。由於節點D與B儲存來自同一時鐘相位CLKB之LAT,在D之寬鬆時間可使用下列公式被算出:slack(D)=slack(B)+(LAT(B,CLKB)-LAT(D,CLKB)-delay(B->D));此得到slack(D)=-20。此意為通過D與B之路徑為失敗路徑。因而,繼續由D回溯追踪至正反電路被到達為止。注意,當L5被到達時,搜尋不會在此停止,而是在該閂鎖器之輸入的寬鬆時間若為負值,該追踪繼續回溯。換言之,此搜尋視閂鎖器為閘極。一旦正反電路被到達。此失敗路徑之搜尋被完成。然後在回溯搜尋中由具有負的寬鬆時間之其他節點繼續此DFT。
依據一層面及如第3圖中被顯示者,依據本發明之時序驗證工具200進一步包括用於執行具有同步地改變輸入之閘極的函數檢查與檢測方法。閘極輸入之同步地改變可能有數個成因。一情形可透過假路徑檢測被偵知。當屬於閘極等級之一路徑被運用,閘極沿著路徑之輸入具有上升或下降的邏輯值。該等側邊輸入應具有支援傳播之值,如Vdd用於nand閘及Gnd用於nor閘。該側邊輸入之函數值可直接地由該預先特徵化時序館被獲得。
在本發明之一例中,如Vdd或Gnd之確定值未被使用,而是對Vdd或Gnd為未知值被使用。在這些初始已知值由輸入與側邊輸入被傳播之情形中,一側邊輸入可具有對Vdd為未知且上升之二值。然後該上升值比起對Vdd為未知之值為佔優勢的,此會在沿著路徑之閘極的側邊輸入發生。此乃該等同步改變之輸入如何被檢側之方式。具有同步改變之輸入的閘極之時序經常為未被預先特徵化。因而,電路中之延遲計算器必須被使用以準確地計算其延遲。
第14圖為用於說明此方法之一些層面的電路例。在一第一步驟中,失敗路徑被獲得,其通過如閘極與級等之區塊,且該等輸入之函數關係被記錄。例如,第12圖之電路包括一失敗路徑通過節點A,B與C及閘極G1,G2與G3,其必須具有為上升或下降之節點值。為了驗證此路徑之函數正確性,沿著該路徑之節點的切換值與用於支援至電路之其餘部分的路徑側邊輸入的值應被儘可能遠地被傳播。若其無被掩蓋之函數衝突,則此失敗路徑被視為真實之失敗路徑,否則此路徑為一假路徑。就側邊輸入在函數檢查使用未知的Gnd或Vdd取代確定之Gnd或Vdd的重要性將變得明白的。假設A,B與C分別所述之上升、下降與上升值。側邊輸入E必須具有對Gnd為之值取代為此nor閘使用確定的Gnd值。當過反相器G4傳播A至D時,D必須具有下降值。然後以B做為第二輸入傳播D至nor閘G5。由於B與D二者為nor閘極G5之同步下降輸入,其輸出E必須為上升。節點C與E驅動沿著失敗路徑之nor閘G3。此解釋用於檢測具有同步改變之輸入的閘極。若就節點E以確定值Gnd開始,由於E出現為上升,其可能產生衝突。
依據一層面及如第3圖中顯示者,依據本發明之時序驗證工具200進一步包括一方法用於在假路徑已被刪除後解算電路之最大作業頻率。對通過數個等級敏感之閂鎖器的失敗路徑之時序限制會為復複雜的。此可列式為以時鐘期期作為目標函數之複雜的線性規劃問題。本發明代之地提供一種啟發式方法,其為包含數段之每一路徑使用二元搜尋以找到其最小期間。然後由每一路徑連續被獲得之所有期間的最小值被選用。現在本方法將更詳細地被描述。
如上面被提及者,為整體電路決定時序限制因有很多失敗路徑,其每一個可能由具有本身之時序限制的數段組成,而為冗長的。此觀念用具有包括由閂鎖器1至閂鎖器2之一第一段(延遲為d1)與由閂鎖器2至閂鎖器3之一第二段(延遲為d2)的一失敗路徑之第15圖中顯示的簡單案例被說明。假設在單一時鐘相位,每一閂鎖器用以一時鐘期間為每一個隔離之同一時鐘相位被控制。此具有二段之路徑的時序限制可被寫下成為:d1<(P+Po n
) (x+d2)<(P+Po n
) x=max(d1-P,0)
目標函數為使P最小化。
此間由開口邊緣被測量之x為來自閂鎖器1之信號到達閂鎖器2之中間相位的變遷點。若該信號在其開口邊緣前到達閂鎖器2,則x為0。上面公式之每一條的順序安排為緊要的,原因為第二條依來自第一段的變遷點而定。然而取代任一正式之方法,一啟發式程序被提出如下:該程序以就所有路徑定出夠大之時鐘期間開始,其保證所有路徑不會失敗,然後開始二元搜尋以找到最小時鐘期間或最大時鐘頻率,使得所有路徑滿足時序限制(如由SPICE網路表時鐘資訊被導出或被決定)。較佳的是,用合理地大之時鐘期間開始是較好的,其儘可能地接近開始期間,使得迴覆運算次數可被減少。此處吾人選用一時鐘期間,使得在失敗路徑之最後一段符合時序限制,而造成整個路徑為好的路徑。此初始期間可被選用以滿足:(x+d2)=(P+Po n
) Po n
=yP
此處y為Po n
對P之比值。當P被改變時此數字永遠為固定的。然後該路徑之最後最小作業時鐘期間必須介於此初始P與目前之時鐘期間。選擇P之初始選擇為Pm a x
及目前已知的時鐘期間為Pm i n
作為二元搜尋之開始點,並迴覆此過程至最後之最小時鐘期間P就被給予之失敗路徑被找到為止。就所有失敗路徑遵循同一程序並為每一原始地失敗路徑在最小作業時鐘期間中選用最大值,使得所有路徑滿足時序限制。此為最小作業時鐘期間之最終解而以其倒數為該電路之最大作業頻率。
依據一層面及如第3圖中被顯示者,依據本發明之時序驗證工具200進一步包括一方法用於解決串音或任何互連體問題。此方法可被應用於時序模擬或時序分析。現在此方法將更詳細地被描述。
概念上而言,該程序為取得RLC輸入之許可矩陣與來自RLC輸入之電壓傳送資訊二者以在頻域中輸出並於時域中將其與電路之非線性部分積分,使得單一回合之模擬可計算由包含RLC部分之子網路的輸入至RLC部分之輸出的延遲。
本發明了解到若只有許可矩陣就RLC輸入與輸出被使用而未使用電壓傳送資訊,該許可矩陣傾向為非常大,造成對驅動器部分與大的許可矩陣二者模擬之際太多的間接費用。只用於RLC輸入之許可矩陣大小實際上比均用於輸入與輸出二者之許可矩陣小,而顯著地節省處理步驟。然而,只利用用於輸入之許可矩陣,只能獲得用於RLC輸入的資訊。則用於RLC輸入之波形資訊必須被獲得且電壓傳送資訊須被用以產生RLC輸出結果。此二步驟之做法不僅為冗長的,亦產生一些數值上的不準確。另一方面,依據本發明之一方法例係在一步驟處置許可矩陣與電壓傳送,而消除將模擬分為二部分所加諸之負擔,而提高模擬之準確性與速度。
本發明將該問題列式為如下:CdV(t)/dt+N(V(t))=ii n
(t)=L- 1
(Avi n
(s)+Ii n i t
Vo u t
(t)=L- 1
(TVi n
(s)+Vi n i t
)此處V(t)為節點電壓向量、C為電容矩陣、N為描述包含非線性元素之V(t)的向量函數、i(t)為通過RLC輸入瞬間流入RLC部分之電流、及A為許可矩陣、V(s)為V(t)之Laplace變換、Ii n i t
與Vi n i t
二者係指初始狀況、及L- 1
為逆Laplace變換。此公式任何數目之輸入的RLC網路均為成立的。就分析串音而言,RLC輸入之數目就受害者與攻擊者二者均必須大於1。
由於對具有一個輸入與多於一個輸入之RLC的程序事實上為相同的,本方法為了記明簡化起見使用就包含單一電阻器之驅動器的一電阻器及就RLC之單一輸入在下面更詳細地被解釋。假設許可矩陣與電壓傳送函數為如下:A=a+b/(s+c) Ii n i t
=b/cVi n
(t=0)/(s+c) T=d/(s+f) Vi n i t
=d/fVi n
(t=0)/(s+f)
頻域中之初始條件在所有節點若均具有相同初始值V(t=0),可藉由以sV(s)-V(t=0)取代sV(s)而不需任何計算地被定出。就串音問題而言,假設其有二輸入,且sV1
(s)被sV1
(s)-V1
(t=0)取代及sV2
(s)被sV2
(s)-V2
(t=0)取代。此得到:
在模擬之際,由t至△t之積分使用向後尤拉(Euler)方法可得到:
由上面的公式,F(t)被定義如下:
F(t)在時間步階t+△t評估時於前一個時間步階被獲得。
利用由右手邊至左手邊重組包含Vi n
(t+△t)之所有項,Vi n
(t+△t)可被解算。此後,F(t+△t)使用梯形近似法如下列般地被更新:
此F(t+△t)在由(t+△t)至下一時間步階(t+2△t)積分時將被使用。
就RLC輸出,吾人使用RLC輸入與電壓傳送函數之資訊以取得Vo u t
(t+△t)。吾人得到:
類似於許可矩陣之情形,G(t)被定義為如下:
在t+△t時間步階為已知。則藉由代入在由使用許可矩陣被獲得之RLC輸入的Vi n
(t+△t)與G(t)至上面公式內,Vo u t
(t+△t)可被獲得。利用下式更新G(t+△t):
此將在下一個時間步階被使用。此處被描述之整個程序在模擬之際迴覆地被使用以解算Vo u t
(t)至模擬停止為止。熟習本技藝者將了解上面解釋之方法可使用與此處相同的列式易於被擴充為在RLC輸入具有不同初始狀況之多輸入RLC式的串音問題。就複雜之許可矩陣與具有較多極之電壓傳送的情形也沒有問題。
其應被進一步注意到此方法適合任何RLC部分,不只是用於分析串音課題。由於相同之RLC部分不須在模擬之際一再地被計算,此時模擬提供巨大的優點。
至於如何針對攻擊者之受害者將攻擊者排成一列以達到在RLC輸出的最大延遲,假設在攻擊者與受害者間或在攻擊者間或在攻擊者本身間沒有邏輯關係,一標準方法可被使用。然而其結果傾向於太悲觀。此外,失敗路徑可能包含被串音影響之多於一個的信號。這些串音信號會彼此影響,使得此成為雞生蛋、蛋生雞之問題。
所以依據本發明之另一層面,一法則被納入為每一失敗路徑解算不具有相關性與有關性之攻擊者的混合問題。此法則應付四個課題:使用與受害者有相關性之攻擊者的輸入之切換、分辨彼此有相關性之攻擊者及與受害者有相關性之者、提供取得不具有有相關性之攻擊者及在本身間有相關性之攻擊者的輸入切換的正確方法、以及在受害者與攻擊者彼此影響時提供一迴覆程序。
依據本發明之一法則例將在相關的第16至19圖中詳細地被解釋。
起初,路徑分析被執行以在出現串音效應下找到失敗路徑,但不考慮攻擊者與受害者間之邏輯關係。然後函數分析由沿著每一失敗路徑之節點與閘極之側邊輸入(但不包括驅動攻擊者之間極的輸入)開始被執行,以發現為上升、下降Vdd或Gnd之一攻擊者閘極的一些輸入節點。注意,這些攻擊者節點值不可被改變而為受害者支援最大或最小延遲。若攻擊者節點具有上升或下降值,則使用此節點之切換時間與斜率如由該路徑之輸入至此節點的路徑延遲所獲得者。
例如,由第1b圖之電路的路徑分析來看,失敗路徑為由a通過b,c與v至d。節點v為被閘極V驅動之受害者,而g1,g2與g3分別為被閘極A,B,C驅動的攻擊者節點。閘極V之側邊輸入e已必須為Vdd以支援沿著路徑之信號變遷。然後由函數分析,下列節點之邏輯值為f(Gnd),b(fall),k(rise),g(fall),h(Vdd),v(fall),g1(rise)。此意為受害者v與攻擊者g1如在c與g之切換時間般地具有彼此有相關性的邏輯值。至於分別為對驅動攻擊者g2與g3之B與C的輸入之i與j節點而言,其不會被函數分析影響而具有未知值。
下一個步驟為求出在g相對於c之切換時間者。由節點a至c與由信號a至g之點對點分析分別被用以取得delaya - > c
與delaya - > g
。然後,delaya - > g
-delaya - > c
為在g相對於c之切換時間者。對具有驅動閘極B與C之攻擊者g2與g3的節點i與j之切換時間仍須被決定。
未考慮受害者與攻擊者間之相關性效應的用於處理B之慣常做法為設定攻擊者A與C為安靜的。在本做法中,較佳之方法為只視C為安靜的。然而A永遠用在g為delaya - > d
-delaya - > c
之切換時間切換。首先,B被設定為安靜的,且在受害者之輸出的波形W(t)被決定。然後將B與受害者D排成一列並取得另一波形Y(t)。取Z(t)=abs(X(t)-Y(t)),且Z(t)之最大值為在t=t1之Vp e a k
。然後移動雜訊之尖峰一般例如為x的距離至t2=t1+x,此處在受害者之輸出的波形W(t2)為Vdd/2-Vp e a k
。然後B之切換時間為以x相對於受害者之切換時間。
為獲得C之切換時間,B被做成安靜的而C正在切換且如上述處理驅動器B之相同程序就C被遵循。假設線性重置成立,A,B與C及受害者之切換時間被獲得。使用這些切換時間,具有串音效應之受害者D的最大延遲被獲得。此為第一個迴覆計算結果。
有兩種情形須被區別,一個為前述之受害者與攻擊者間的相關性,另一個為只有攻擊者間之相關性的情形。此在第17圖中被顯示,且依據本發明被使用之一法則例現在將被描述。
前述之函數分析就每一路徑被執行為攻擊者之驅動器的輸入節點決定如上升、下降、Vdd與Gnd等之邏輯值。然後這些攻擊者被分類為與受害者具有相關性者。若其節點值為上升或下降,其相對於受害者之切換時間可如先前討論地正確被算出。就未被第一次函數分析影響之攻擊者的驅動器之輸入輸出而言,第二次函數分析為其逐一地被執行以檢查其本身間是否有相關性。
例如在第16與17圖中,該第一函數分析判定節點i與j對受害者不為有相關的。然而在第17圖中於第二函數分析被判定i與j為彼此有相關的。其可能有多於一個驅動攻擊者之閘極的輸入節點群組被形成彼此有相關的。這些該群組之輸入節點的切換時間分開被計算。在第17圖中就節點i與j之群組而言,例如為i之該等節點之一與受害者被排成一列。然後第17圖中相對於節點i之另一節點j的第二可被計算。
為求出節點i之切換時間,前述之標準程序被使用,即首先就受害者相對於c排列i、找出尖峰並移動受害者以求出其相對於c之切換時間。在第17圖之例中,節點a上升且c亦為上升。為取得由c至v之最大延遲,該等攻擊者須在與受害者相反之方向切換。由於i與j為相關的,所以節點i下降會導致節點j之上升。為使得其結果更準確,在節點j下降而節點i上升之情形亦被考慮。由此情形,最大受害者delayc - > v
之最壞情形被選用。再次如上面被強調地,攻擊者g1由於對受害者之相關性而永遠以在節點g固定切換時間來切換。
依據本發明之一層面,一迴覆程序較佳地被使用以籍由考慮受害者與攻擊者間之相關性來取得出現串音下之正確的延遲。第16與17圖之例子以A,B或C之切換時間為固定的不受新近計算之受害者延遲影響的意義下為簡單的。第18圖顯示攻擊者輸入切換時間與切換時間延遲彼此相互作用之例子。因之,此例被用以說明依據本發明之此層面的法則例如何作用。就此簡單之例子而言,模擬可有效率地被運轉。
在第18圖中,a→b→c→d之路徑存在且於節點b與c間有一耦合電容器。若問極A切換,節點b被視為一受害者,而節點d為其攻擊者。以通過閘極B之信號為準,節點c變成受害者而節點b為其攻擊者。函數分析顯示b與c之邏輯值分別為上升與下降。考慮驅動受害者節點b之閘極A的切換,由於驅動攻擊者節點c之閘極B的輸入b具有一邏輯值,意為攻擊者與受害者彼此有相關性,B相對於受害者A之切換時間為計算具有串音效應之A的延遲所需要的。
B相對於受害者A之切換時間為delayb - > c
。此延遲由串音計算之第一次迴覆而未考慮相關性影響地被獲得。利用攻擊者之此切換時間,由b至c之受害者的延遲重新被計算。此延遲delayb - > c
發生為B(攻擊者)相對於A(受害者)之切換時間且與先前之值不同。所以,受害者延遲須被更新。此解釋為何需要迴覆計算以取得最終收斂之受害者延遲。此法則之重要層面為在假設攻擊者與受害者相關下回覆地使用攻擊者之更新後的切換時間至切換時間沒有變化為止。
另一例在第19圖中被提供以進一步展示該法則如何在串音問題中受害者與攻擊者為相關的而作用。在如第19圖顯示之由a至f之路徑中有二個耦合電容器。在討論具有串音效應之由a至b的延遲中,迴覆計算類似第18圖中先前之例子地在達成因在c之切換時間改變所致的a至b延遲之收斂為所需的,其為驅動攻擊者節點d相對於節點a之c的輸入,節點a為驅動受害者節點b之A的輸入。此相對之切換時間為delaya - > c
。然後由b至c之延遲可與由a至b之延遲被計算相同的方式被計算以取得delayb - > c
之最終收斂結果。由於在計算由a至b中之攻擊者的切換時間delaya - > c
被更新,新的迴覆計算為重新計算delaya - > b
所需的。
此例顯示當路徑包含具有多個耦合電容器之數個節點時,其會彼此影響,使得問題更冗長很多。由於具有多個耦合電容器之數個節點間的相互作用如此處所展示的,較佳的是在同一次迴覆內對沿著該路徑之具有耦合電容器的所有節點循序地實施延遲計算而取代迴覆式地處理每一節點以達到收斂,此即為本發明之一例所採用的法則。此法則之重要的層面為就相對於受害者之攻擊者永遠使用最新的更新後之切換時間。
例如在某些迴覆中,閘極B與C延遲已藉由考慮具有相關性效應之串音被計算,延遲delayb - > c
與delayc - > d
二者均與先前之迴覆所獲得者不同。就有串音效應之閘極D的延遲而言,其受害者為e,而c為具有在b之切換時間的攻擊者,驅動攻擊者c之輸入相對於在d者,驅動受害者c之D的輸入等於delayb - > c
+delayc - > d
。在B與C延遲被計算之同一迴覆中,此新近被計算之delayb - > c
+delayc - > d
應被使用做為在計算由d至e之受害者延遲中相對於受害者的新攻擊者切換時間。在完成如節點b,c,d與e之具有耦合電容器的所有節點後,前進至下一次迴覆運算並遵循相同之程序至受害者輸入切換時間之變化不再改變為止。
因之,雖然本發明已參照其較佳實施例特別被描述,其對一般熟習本技藝者應易於明白在形式與細節上改變與修改可不偏離本發明之精神與領域地被做成。其欲使所附之申請專利範圍包容此類改變與修改。
200...時序驗證工具
第1圖顯示慣常之時序認證技術的方塊圖;第2圖顯示依據本發明之時序認證技術的方塊圖;第3圖顯示依據本發明之施作一時序驗證工具的例子之方塊圖;第4圖顯示依據本發明用於為閘極等級與電晶體等級設計二者提供時序驗證之方法例的流程圖;第5圖顯示一電路例用於說明依據本發明之一些時序分析技術;第6A至6C圖顯示樹結構如何為了將驅動器負載特徵化而被形成;第7圖為一流程圖,顯示依據本發明將一電路構造特徵化以獲得對驗證有用之時序資訊的方法例;第8圖為一電路例用於說明依據本發明解算一電路構造之法則;第9圖為另一電路例用於說明依據本發明解算一電路構造之法則;第10圖為一流程圖,顯示依據本發明在出現等級敏感之閂鎖器下對多相位、多頻率與多週期電路處置時序分析問題之方法例;第11圖為一電路例用於說明對多相位、多頻率與多週期電路處置時序分析問題之一較佳方法;第12圖為一時序圖進一步說明在第11圖有關之電路中執行的時序分析;第13圖為一時序圖說明依據本發明之一層面針對不同時鐘相位分析路徑;第14圖為一電路利用於說明依據本發明執行具有同步地變化輸入之閘極的函數檢查與檢測之一較佳法則;第15圖為用於在假路徑已被刪除後企圖解算該電路之最大作業頻率時列舉時序限制的圖;第16圖為一電路例用於說明在攻擊者與受害者有相關性及受害者與受害者與本身二者沒有相關性之混合下要於出現串音效應時正確地計算受害者延遲的一較佳法則;第17圖為一電路例以一些攻擊者彼此有相關性而進一步說明在該有關之電路中執行的較佳法則;第18圖為一電路,說明在受害者輸出延遲與攻擊者輸入切換時間彼此影響時要迴覆式地解算受害者延遲之較佳法則;以及第19圖為一電路進一步說明在第18圖有關之電路中要迴覆式地解算受害者延遲之較佳法則。
200...時序驗證工具
Claims (8)
- 一種用以使用一單一工具來驗證一電路時序之方法,該電路具有以一閘等級描述之一第一部分與以一電晶體等級描述之一第二部分,該方法包含:均接收該等閘等級與電晶體等級描述二者;以及使用該單一工具以執行使用該等閘等級與電晶體等級描述二者之該電路的時序分析;其中使用該單一工具之步驟包括分解電路構造成電晶體等級描述以決定與該等電晶體等級描述有關聯的時序資訊。
- 如申請專利範圍第1項所述之方法,其中使用一單一工具的該步驟包括由一預先特徵化時序館獲得與該閘等級描述有關聯的時序資訊。
- 如申請專利範圍第1項所述之方法,其中該分解步驟包括:辨識與某些電晶體等級描述有關聯的獨特之電路構造;以及執行函數檢查以獲得該有關聯的時序資訊。
- 如申請專利範圍第1項所述之方法,進一步包含:使用該單一工具以執行使用該等閘等級與電晶體等級描述之電路的時序模擬。
- 如申請專利範圍第1項所述之方法,其中該接收步驟包括由SPICE網路表讀取該等描述。
- 一種用以使用一單一工具來驗證一電路之時序的方 法,其包含:接收該電路之描述;獲得與該等描述有關聯的時序資訊;以及使用該單一工具以執行使用該等描述與時序資訊的電路之時序分析與時序模擬二者,其中該單一工具包括一延遲計算器,其可執行在該電路中之個別邏輯構造的時序分析,以及執行該電路之整體的時序模擬。
- 如申請專利範圍第6項所述之方法,其中使用一單一工具的該步驟包括根據該等描述來分割該電路。
- 如申請專利範圍第6項所述之方法,其中該等描述包括閘等級與電晶體等級描述二者。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US65030805P | 2005-02-03 | 2005-02-03 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200639670A TW200639670A (en) | 2006-11-16 |
| TWI406143B true TWI406143B (zh) | 2013-08-21 |
Family
ID=36297306
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW095103745A TWI406143B (zh) | 2005-02-03 | 2006-02-03 | 用於訂製及特定應用積體電路設計之靜態時序分析及動態模擬技術 |
Country Status (4)
| Country | Link |
|---|---|
| US (7) | US7590953B2 (zh) |
| CN (1) | CN101137990B (zh) |
| TW (1) | TWI406143B (zh) |
| WO (1) | WO2006084280A2 (zh) |
Families Citing this family (127)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6658091B1 (en) | 2002-02-01 | 2003-12-02 | @Security Broadband Corp. | LIfestyle multimedia security system |
| US10237237B2 (en) | 2007-06-12 | 2019-03-19 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US11113950B2 (en) | 2005-03-16 | 2021-09-07 | Icontrol Networks, Inc. | Gateway integrated with premises security system |
| US8988221B2 (en) | 2005-03-16 | 2015-03-24 | Icontrol Networks, Inc. | Integrated security system with parallel processing architecture |
| GB2428821B (en) | 2004-03-16 | 2008-06-04 | Icontrol Networks Inc | Premises management system |
| US12063220B2 (en) | 2004-03-16 | 2024-08-13 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US11916870B2 (en) | 2004-03-16 | 2024-02-27 | Icontrol Networks, Inc. | Gateway registry methods and systems |
| US9141276B2 (en) | 2005-03-16 | 2015-09-22 | Icontrol Networks, Inc. | Integrated interface for mobile device |
| US8635350B2 (en) | 2006-06-12 | 2014-01-21 | Icontrol Networks, Inc. | IP device discovery systems and methods |
| US11811845B2 (en) | 2004-03-16 | 2023-11-07 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
| US10444964B2 (en) | 2007-06-12 | 2019-10-15 | Icontrol Networks, Inc. | Control system user interface |
| US10200504B2 (en) | 2007-06-12 | 2019-02-05 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
| US10375253B2 (en) | 2008-08-25 | 2019-08-06 | Icontrol Networks, Inc. | Security system with networked touchscreen and gateway |
| US10522026B2 (en) | 2008-08-11 | 2019-12-31 | Icontrol Networks, Inc. | Automation system user interface with three-dimensional display |
| US20090077623A1 (en) | 2005-03-16 | 2009-03-19 | Marc Baum | Security Network Integrating Security System and Network Devices |
| US10721087B2 (en) | 2005-03-16 | 2020-07-21 | Icontrol Networks, Inc. | Method for networked touchscreen with integrated interfaces |
| US9729342B2 (en) | 2010-12-20 | 2017-08-08 | Icontrol Networks, Inc. | Defining and implementing sensor triggered response rules |
| US11159484B2 (en) | 2004-03-16 | 2021-10-26 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
| US11277465B2 (en) | 2004-03-16 | 2022-03-15 | Icontrol Networks, Inc. | Generating risk profile using data of home monitoring and security system |
| US11582065B2 (en) | 2007-06-12 | 2023-02-14 | Icontrol Networks, Inc. | Systems and methods for device communication |
| US11343380B2 (en) | 2004-03-16 | 2022-05-24 | Icontrol Networks, Inc. | Premises system automation |
| US7711796B2 (en) | 2006-06-12 | 2010-05-04 | Icontrol Networks, Inc. | Gateway registry methods and systems |
| US9609003B1 (en) | 2007-06-12 | 2017-03-28 | Icontrol Networks, Inc. | Generating risk profile using data of home monitoring and security system |
| US10382452B1 (en) | 2007-06-12 | 2019-08-13 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US11201755B2 (en) | 2004-03-16 | 2021-12-14 | Icontrol Networks, Inc. | Premises system management using status signal |
| US10339791B2 (en) | 2007-06-12 | 2019-07-02 | Icontrol Networks, Inc. | Security network integrated with premise security system |
| US10127802B2 (en) | 2010-09-28 | 2018-11-13 | Icontrol Networks, Inc. | Integrated security system with parallel processing architecture |
| US20160065414A1 (en) | 2013-06-27 | 2016-03-03 | Ken Sundermeyer | Control system user interface |
| US11244545B2 (en) | 2004-03-16 | 2022-02-08 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
| US11316958B2 (en) | 2008-08-11 | 2022-04-26 | Icontrol Networks, Inc. | Virtual device systems and methods |
| US11489812B2 (en) | 2004-03-16 | 2022-11-01 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
| US11677577B2 (en) | 2004-03-16 | 2023-06-13 | Icontrol Networks, Inc. | Premises system management using status signal |
| US10142392B2 (en) | 2007-01-24 | 2018-11-27 | Icontrol Networks, Inc. | Methods and systems for improved system performance |
| US11368429B2 (en) | 2004-03-16 | 2022-06-21 | Icontrol Networks, Inc. | Premises management configuration and control |
| US20170118037A1 (en) | 2008-08-11 | 2017-04-27 | Icontrol Networks, Inc. | Integrated cloud system for premises automation |
| US10156959B2 (en) | 2005-03-16 | 2018-12-18 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
| US10313303B2 (en) | 2007-06-12 | 2019-06-04 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
| US9191228B2 (en) | 2005-03-16 | 2015-11-17 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
| US9531593B2 (en) | 2007-06-12 | 2016-12-27 | Icontrol Networks, Inc. | Takeover processes in security network integrated with premise security system |
| US8963713B2 (en) | 2005-03-16 | 2015-02-24 | Icontrol Networks, Inc. | Integrated security network with security alarm signaling system |
| US11700142B2 (en) | 2005-03-16 | 2023-07-11 | Icontrol Networks, Inc. | Security network integrating security system and network devices |
| US9306809B2 (en) | 2007-06-12 | 2016-04-05 | Icontrol Networks, Inc. | Security system with networked touchscreen |
| US20110128378A1 (en) | 2005-03-16 | 2011-06-02 | Reza Raji | Modular Electronic Display Platform |
| US10999254B2 (en) | 2005-03-16 | 2021-05-04 | Icontrol Networks, Inc. | System for data routing in networks |
| US11496568B2 (en) | 2005-03-16 | 2022-11-08 | Icontrol Networks, Inc. | Security system with networked touchscreen |
| US20120324566A1 (en) | 2005-03-16 | 2012-12-20 | Marc Baum | Takeover Processes In Security Network Integrated With Premise Security System |
| US11615697B2 (en) | 2005-03-16 | 2023-03-28 | Icontrol Networks, Inc. | Premise management systems and methods |
| US20170180198A1 (en) | 2008-08-11 | 2017-06-22 | Marc Baum | Forming a security network including integrated security system components |
| US8595669B1 (en) * | 2007-08-31 | 2013-11-26 | Cadence Design Systems, Inc. | Flexible noise and delay modeling of circuit stages for static timing analysis of integrated circuit designs |
| US7434183B2 (en) * | 2005-08-17 | 2008-10-07 | Cadence Design Systems, Inc. | Method and system for validating a hierarchical simulation database |
| US7404163B2 (en) * | 2006-03-24 | 2008-07-22 | International Business Machines Corporation | Static timing slacks analysis and modification |
| US7815119B2 (en) * | 2006-06-06 | 2010-10-19 | Symbol Technologies, Inc. | Monitoring scan mirror motion in laser scanning arrangements |
| US10079839B1 (en) | 2007-06-12 | 2018-09-18 | Icontrol Networks, Inc. | Activation of gateway device |
| US12063221B2 (en) | 2006-06-12 | 2024-08-13 | Icontrol Networks, Inc. | Activation of gateway device |
| US8594988B1 (en) * | 2006-07-18 | 2013-11-26 | Cadence Design Systems, Inc. | Method and apparatus for circuit simulation using parallel computing |
| JP4750665B2 (ja) * | 2006-10-06 | 2011-08-17 | 富士通株式会社 | タイミング解析方法および装置 |
| US11706279B2 (en) | 2007-01-24 | 2023-07-18 | Icontrol Networks, Inc. | Methods and systems for data communication |
| US7633385B2 (en) | 2007-02-28 | 2009-12-15 | Ucontrol, Inc. | Method and system for communicating with and controlling an alarm system from a remote server |
| ITRM20070161A1 (it) * | 2007-03-27 | 2008-09-28 | Uni Del Salento | Metodo e formalismo per inviare istruzioni a database distribuiti realizzato mediante programma per computer |
| US8451986B2 (en) | 2007-04-23 | 2013-05-28 | Icontrol Networks, Inc. | Method and system for automatically providing alternate network access for telecommunications |
| US12283172B2 (en) | 2007-06-12 | 2025-04-22 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US11218878B2 (en) | 2007-06-12 | 2022-01-04 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US12184443B2 (en) | 2007-06-12 | 2024-12-31 | Icontrol Networks, Inc. | Controlling data routing among networks |
| US10616075B2 (en) | 2007-06-12 | 2020-04-07 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US10389736B2 (en) | 2007-06-12 | 2019-08-20 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US10666523B2 (en) | 2007-06-12 | 2020-05-26 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US10051078B2 (en) | 2007-06-12 | 2018-08-14 | Icontrol Networks, Inc. | WiFi-to-serial encapsulation in systems |
| US10498830B2 (en) | 2007-06-12 | 2019-12-03 | Icontrol Networks, Inc. | Wi-Fi-to-serial encapsulation in systems |
| US11089122B2 (en) | 2007-06-12 | 2021-08-10 | Icontrol Networks, Inc. | Controlling data routing among networks |
| US10523689B2 (en) | 2007-06-12 | 2019-12-31 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
| US11212192B2 (en) | 2007-06-12 | 2021-12-28 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US10423309B2 (en) | 2007-06-12 | 2019-09-24 | Icontrol Networks, Inc. | Device integration framework |
| US11237714B2 (en) | 2007-06-12 | 2022-02-01 | Control Networks, Inc. | Control system user interface |
| US11601810B2 (en) | 2007-06-12 | 2023-03-07 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US11646907B2 (en) | 2007-06-12 | 2023-05-09 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US11423756B2 (en) | 2007-06-12 | 2022-08-23 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US12003387B2 (en) | 2012-06-27 | 2024-06-04 | Comcast Cable Communications, Llc | Control system user interface |
| US11316753B2 (en) | 2007-06-12 | 2022-04-26 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US12541237B2 (en) | 2007-08-10 | 2026-02-03 | Icontrol Networks, Inc. | Integrated security system with parallel processing architecture |
| US8359583B2 (en) * | 2007-08-22 | 2013-01-22 | Coverity, Inc. | Methods for selectively pruning false paths in graphs that use high-precision state information |
| US11831462B2 (en) | 2007-08-24 | 2023-11-28 | Icontrol Networks, Inc. | Controlling data routing in premises management systems |
| US7810062B2 (en) * | 2007-09-11 | 2010-10-05 | International Business Machines Corporation | Method for eliminating negative slack in a netlist via transformation and slack categorization |
| US20090119621A1 (en) * | 2007-11-06 | 2009-05-07 | Jordi Cortadella | Variability-Aware Asynchronous Scheme for Optimal-Performance Delay Matching |
| US11916928B2 (en) | 2008-01-24 | 2024-02-27 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
| JP2009282904A (ja) * | 2008-05-26 | 2009-12-03 | Fujitsu Ltd | 回路シミュレーションプログラム、回路シミュレーション装置及び回路シミュレーション方法 |
| US20170185278A1 (en) | 2008-08-11 | 2017-06-29 | Icontrol Networks, Inc. | Automation system user interface |
| US8091049B2 (en) * | 2008-07-02 | 2012-01-03 | Synopsys, Inc. | Integrated single spice deck sensitization for gate level tools |
| JP2010019662A (ja) * | 2008-07-10 | 2010-01-28 | Nec Electronics Corp | テスト方法及び半導体集積回路 |
| US10530839B2 (en) | 2008-08-11 | 2020-01-07 | Icontrol Networks, Inc. | Integrated cloud system with lightweight gateway for premises automation |
| US11758026B2 (en) | 2008-08-11 | 2023-09-12 | Icontrol Networks, Inc. | Virtual device systems and methods |
| US11792036B2 (en) | 2008-08-11 | 2023-10-17 | Icontrol Networks, Inc. | Mobile premises automation platform |
| US11258625B2 (en) | 2008-08-11 | 2022-02-22 | Icontrol Networks, Inc. | Mobile premises automation platform |
| US11729255B2 (en) | 2008-08-11 | 2023-08-15 | Icontrol Networks, Inc. | Integrated cloud system with lightweight gateway for premises automation |
| US8638211B2 (en) | 2009-04-30 | 2014-01-28 | Icontrol Networks, Inc. | Configurable controller and interface for home SMA, phone and multimedia |
| CN101667215B (zh) * | 2009-10-10 | 2012-07-04 | 北京航空航天大学 | 一种线缆与金属板平面间谐振阻抗的计算和优化系统 |
| US8339803B2 (en) | 2009-12-04 | 2012-12-25 | International Business Machine Corporation | High-speed ceramic modules with hybrid referencing scheme for improved performance and reduced cost |
| TWI476616B (zh) * | 2010-02-12 | 2015-03-11 | Synopsys Shanghai Co Ltd | Estimation Method and Device of Initial Value for Simulation of DC Working Point |
| US8539413B1 (en) * | 2010-04-27 | 2013-09-17 | Applied Micro Circuits Corporation | Frequency optimization using useful skew timing |
| CN102985915B (zh) | 2010-05-10 | 2016-05-11 | 网际网路控制架构网络有限公司 | 控制系统用户接口 |
| US8836467B1 (en) | 2010-09-28 | 2014-09-16 | Icontrol Networks, Inc. | Method, system and apparatus for automated reporting of account and sensor zone information to a central station |
| CN102033990B (zh) * | 2010-11-30 | 2012-09-26 | 深圳市国微电子股份有限公司 | 组合逻辑电路逻辑参数提取激励波形的产生方法 |
| US8365116B2 (en) | 2010-12-06 | 2013-01-29 | University Of Utah Research Foundation | Cycle cutting with timing path analysis |
| US11750414B2 (en) | 2010-12-16 | 2023-09-05 | Icontrol Networks, Inc. | Bidirectional security sensor communication for a premises security system |
| US9147337B2 (en) | 2010-12-17 | 2015-09-29 | Icontrol Networks, Inc. | Method and system for logging security event data |
| US8468479B2 (en) * | 2011-03-18 | 2013-06-18 | Synopsys, Inc. | Consistent hierarchical timing model with crosstalk consideration |
| US8832616B2 (en) | 2011-03-18 | 2014-09-09 | Sage Software, Inc. | Voltage drop effect on static timing analysis for multi-phase sequential circuit |
| CN102254055B (zh) * | 2011-03-30 | 2012-09-19 | 山东华芯半导体有限公司 | 集成电路动态时序检测方法 |
| US8555228B2 (en) * | 2011-12-29 | 2013-10-08 | Intel Corporation | Tool for glitch removal |
| CN104516997A (zh) * | 2013-09-30 | 2015-04-15 | 瑞昱半导体股份有限公司 | 时序分析方法以及机器可读媒体 |
| US9898564B2 (en) | 2014-01-15 | 2018-02-20 | Sage Software, Inc. | SSTA with non-gaussian variation to second order for multi-phase sequential circuit with interconnect effect |
| US11146637B2 (en) | 2014-03-03 | 2021-10-12 | Icontrol Networks, Inc. | Media content management |
| US11405463B2 (en) | 2014-03-03 | 2022-08-02 | Icontrol Networks, Inc. | Media content management |
| US9934341B2 (en) * | 2015-11-11 | 2018-04-03 | International Business Machines Corporation | Simulation of modifications to microprocessor design |
| US10275561B2 (en) | 2016-05-27 | 2019-04-30 | Taiwan Semiconductor Manufacturing Company Limited | Method for eliminating false paths of a circuit unit to be implemented using a system |
| CN107688682B (zh) * | 2016-12-23 | 2021-05-14 | 北京国睿中数科技股份有限公司 | 一种使用时序路径提取电路拓扑的方法 |
| CN106650138B (zh) * | 2016-12-29 | 2019-11-19 | 北京华大九天软件有限公司 | 一种自动实现静态和动态时序分析对比的方法 |
| US12400066B2 (en) * | 2017-01-15 | 2025-08-26 | Bao Liu | Integrated circuit optimization system and method based on multi-phase level-sensitive latches |
| CN107784185B (zh) * | 2017-11-17 | 2021-06-11 | 海信视像科技股份有限公司 | 一种门级网表中伪路径的提取方法、装置及终端设备 |
| US11074379B2 (en) | 2019-03-30 | 2021-07-27 | International Business Machines Corporation | Multi-cycle latch tree synthesis |
| CN110161901A (zh) * | 2019-04-29 | 2019-08-23 | 广东永强奥林宝国际消防汽车有限公司 | 测试消防车集成控制系统的方法、设备及其计算机可读存储介质 |
| US10891412B1 (en) | 2020-02-13 | 2021-01-12 | International Business Machines Corporation | Offline analysis of hierarchical electronic design automation derived data |
| US11916384B2 (en) | 2021-09-20 | 2024-02-27 | International Business Machines Corporation | Region-based power grid generation through modification of an initial power grid based on timing analysis |
| CN114282467B (zh) * | 2021-12-16 | 2025-08-15 | 北京大学 | 一种老化及涨落感知的动态时序分析方法 |
| CN114589702B (zh) * | 2022-04-24 | 2024-05-07 | 合肥工业大学 | 基于动力学参数辨识和导纳控制的协作机器人拖动方法 |
| TWI813401B (zh) * | 2022-07-27 | 2023-08-21 | 瑞昱半導體股份有限公司 | 靜態時序分析方法及靜態時序分析系統 |
| CN116258111B (zh) | 2023-05-15 | 2023-08-04 | 贝叶斯电子科技(绍兴)有限公司 | 一种静态模拟集成电路版图分析方法 |
| CN120064909B (zh) * | 2025-03-25 | 2025-10-03 | 武汉国电华美电气设备有限公司 | 一种gis故障试验装置及试验方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5872717A (en) * | 1996-08-29 | 1999-02-16 | Sun Microsystems, Inc. | Apparatus and method for verifying the timing performance of critical paths within a circuit using a static timing analyzer and a dynamic timing analyzer |
| TW494453B (en) * | 2000-05-17 | 2002-07-11 | Silicon Perspective Corp | Integrated circuit partitioning, placement and routing system |
| US20020112213A1 (en) * | 2001-02-13 | 2002-08-15 | Abadir Magdy S. | Design analysis tool for path extraction and false path identification and method thereof |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4660169A (en) * | 1983-07-05 | 1987-04-21 | International Business Machines Corporation | Access control to a shared resource in an asynchronous system |
| US5313398A (en) | 1992-07-23 | 1994-05-17 | Carnegie Mellon University | Method and apparatus for simulating a microelectronic circuit |
| US5654898A (en) * | 1993-05-10 | 1997-08-05 | Cascade Design Automation Corporation | Timing-driven integrated circuit layout through device sizing |
| US5740347A (en) | 1995-05-01 | 1998-04-14 | Synopsys, Inc. | Circuit analyzer of black, gray and transparent elements |
| US6014510A (en) * | 1996-11-27 | 2000-01-11 | International Business Machines Corporation | Method for performing timing analysis of a clock circuit |
| US5946482A (en) * | 1997-05-16 | 1999-08-31 | Hewlett-Packard Company | Method and apparatus for using parameters to simulate an electronic circuit |
| US6131080A (en) * | 1998-08-17 | 2000-10-10 | Motorola, Inc. | Method of monitoring a computer simulation of an electrical circuit |
| US6591402B1 (en) * | 1999-03-19 | 2003-07-08 | Moscape, Inc. | System and method for performing assertion-based analysis of circuit designs |
| US6405348B1 (en) * | 1999-10-27 | 2002-06-11 | Synopsys, Inc. | Deep sub-micron static timing analysis in the presence of crosstalk |
| US6385759B1 (en) | 2000-02-01 | 2002-05-07 | Cadence Design Systems, Inc. | Method for reducing memory requirements in static timing analysis |
| US6594806B1 (en) | 2000-03-03 | 2003-07-15 | Nec Corporation | System and method for performing timing analysis, including error diagnosis, signal tracking and clock skew |
| US6498498B1 (en) | 2001-06-27 | 2002-12-24 | Intel Corporation | Apparatus and method for applying reciprocity to frequency-domain noise analysis |
| US6772402B2 (en) | 2002-05-02 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | Failure path grouping method, apparatus, and computer-readable medium |
| US6898767B2 (en) * | 2002-05-09 | 2005-05-24 | Lsi Logic Corporation | Method and apparatus for custom design in a standard cell design environment |
| US6925621B2 (en) | 2002-06-24 | 2005-08-02 | Agilent Technologies, Inc. | System and method for applying timing models in a static-timing analysis of a hierarchical integrated circuit design |
-
2006
- 2006-02-03 CN CN2006800081214A patent/CN101137990B/zh not_active Expired - Lifetime
- 2006-02-03 TW TW095103745A patent/TWI406143B/zh not_active IP Right Cessation
- 2006-02-03 WO PCT/US2006/004470 patent/WO2006084280A2/en not_active Ceased
- 2006-02-03 US US11/347,029 patent/US7590953B2/en active Active
-
2008
- 2008-08-05 US US12/186,476 patent/US7861201B2/en active Active
- 2008-08-05 US US12/186,444 patent/US7900175B2/en active Active
- 2008-08-05 US US12/186,472 patent/US7895543B2/en active Active
- 2008-08-05 US US12/186,431 patent/US8001502B2/en active Active
- 2008-08-05 US US12/186,457 patent/US7992116B2/en active Active - Reinstated
- 2008-08-05 US US12/186,467 patent/US7650583B2/en not_active Expired - Lifetime
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5872717A (en) * | 1996-08-29 | 1999-02-16 | Sun Microsystems, Inc. | Apparatus and method for verifying the timing performance of critical paths within a circuit using a static timing analyzer and a dynamic timing analyzer |
| TW494453B (en) * | 2000-05-17 | 2002-07-11 | Silicon Perspective Corp | Integrated circuit partitioning, placement and routing system |
| US20020112213A1 (en) * | 2001-02-13 | 2002-08-15 | Abadir Magdy S. | Design analysis tool for path extraction and false path identification and method thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| US20080320425A1 (en) | 2008-12-25 |
| US8001502B2 (en) | 2011-08-16 |
| US7992116B2 (en) | 2011-08-02 |
| CN101137990A (zh) | 2008-03-05 |
| CN101137990B (zh) | 2012-05-30 |
| US7590953B2 (en) | 2009-09-15 |
| WO2006084280A2 (en) | 2006-08-10 |
| WO2006084280A3 (en) | 2006-11-30 |
| TW200639670A (en) | 2006-11-16 |
| US20080307375A1 (en) | 2008-12-11 |
| WO2006084280B1 (en) | 2007-05-18 |
| US7900175B2 (en) | 2011-03-01 |
| US20080307377A1 (en) | 2008-12-11 |
| US20080320426A1 (en) | 2008-12-25 |
| US20090055786A1 (en) | 2009-02-26 |
| US7650583B2 (en) | 2010-01-19 |
| US20080307376A1 (en) | 2008-12-11 |
| US7895543B2 (en) | 2011-02-22 |
| US7861201B2 (en) | 2010-12-28 |
| US20060200786A1 (en) | 2006-09-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI406143B (zh) | 用於訂製及特定應用積體電路設計之靜態時序分析及動態模擬技術 | |
| US6499129B1 (en) | Method of estimating performance of integrated circuit designs | |
| US7000202B1 (en) | Method of vector generation for estimating performance of integrated circuit designs | |
| US6378112B1 (en) | Verification of design blocks and method of equivalence checking of multiple design views | |
| US7243322B1 (en) | Metastability injector for a circuit description | |
| US5946475A (en) | Method for performing transistor-level static timing analysis of a logic circuit | |
| US10467364B2 (en) | Characterizing cell using input waveforms with different tail characteristics | |
| Cherry | Pearl: A CMOS timing analyzer | |
| US7818158B2 (en) | Method for symbolic simulation of circuits having non-digital node voltages | |
| US9965575B2 (en) | Methods and systems for correcting X-pessimism in gate-level simulation or emulation | |
| US20080141200A1 (en) | Methods and apparatuses for timing analysis of electronic circuits | |
| Bischoff et al. | Formal implementation verification of the bus interface unit for the Alpha 21264 microprocessor | |
| Heck et al. | Hardening C-elements against metastability | |
| JP2853657B2 (ja) | 回路シミュレーション方法 | |
| Lam | Algebraic methods for timing analysis and testing in high-performance designs | |
| Hanafy et al. | New methodology for complete properties extraction from simulation traces guided with static analysis | |
| Mongelli et al. | A Defect-Detection Graph-Based Methodology for Cell-Aware Model Generation | |
| Guntzel | Functional timing analysis of VLSI circuits containing complex gates | |
| Van Campenhout et al. | Timing verification of sequential dynamic circuits | |
| Shah | Fully Testable Circuit Synthesis for Delay and Multiple Stuck-at Faults | |
| Onaissi | Circuit Performance Verification and Optimization in the Presence of Variability | |
| JP2000322464A (ja) | 半導体集積回路の論理検証方法およびこの論理検証方法を記述したプログラムを記録した情報記録媒体 | |
| Raffelsieper et al. | Checking and deriving module paths in Verilog cell library descriptions | |
| Das | Improving efficiency and accuracy of static timing analysis and optimization |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MK4A | Expiration of patent term of an invention patent |