TW202213157A - 由形成計算設備的資料處理器實現的方法 - Google Patents
由形成計算設備的資料處理器實現的方法 Download PDFInfo
- Publication number
- TW202213157A TW202213157A TW110107264A TW110107264A TW202213157A TW 202213157 A TW202213157 A TW 202213157A TW 110107264 A TW110107264 A TW 110107264A TW 110107264 A TW110107264 A TW 110107264A TW 202213157 A TW202213157 A TW 202213157A
- Authority
- TW
- Taiwan
- Prior art keywords
- circuit design
- design
- timing
- target
- optimal
- 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/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- 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/33—Design verification, e.g. functional simulation or model checking
- G06F30/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
-
- 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/337—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- 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
-
- 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/16—Equivalence checking
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)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本文中描述用於形成至少一個計算裝置的一或多個資料處理器實施的方法。接收具有第一組網表及時序約束的目標電路設計。從第一移植網表及時序約束提取多個關鍵時脈引腳網路負載設置屬性。在目標設計資料庫被負載用於靜態時序分析(STA)之後,通過將多個目標屬性與最佳電路設計的多個最佳屬性進行比較,在目標電路設計與最佳電路設計之間檢查結果報告中的時脈引腳網路負載設置屬性失配。在目標技術處使用此方法,具體地說,使用時序形式驗證,提供屬性失配以用於其它設計或時序約束修改及/或更新,以便基於移植網表及綜合設計約束(SDC)實現有效設計時序會簽。
Description
本揭露中所描述的技術大體上涉及積體電路系統晶片設計實施流程,且更具體地說,涉及當跨技術節點移植設計時的設計時序約束驗證。
用半導體裝置來設計專用積體電路(application specific integrated circuits;ASIC)和片上系統(System on Chips;SOC)可為耗時且具有挑戰性的任務。設計移植是一種在不同技術中再使用先前設計電路區塊的方式。通過設計移植,可將來自一種技術的電路區塊移植到另一技術。這種移植可徹底地減少具有不同或替代電路和/或裝置佈局或生產方法的新ASIC和/或SOC半導體裝置的設計階段。網表是電路區塊的電子元件的清單及節點的清單,電子元件由所述節點連接。通過移植,為了在網表內實施結構設計,使用時序再驗證來確保新設計符合性能目標(例如,期望操作時脈頻率)。時序約束是應用於限定特殊設計的期望性能的一組給定路徑或網路的一系列約束。時序屬性是附加資訊性標籤、備註或符號性質,當對編譯的設計資料庫執行靜態時序分析(STA)時,可採納或查詢所述性質。
本揭露是針對一種由形成至少一個計算裝置的一或多個資料處理器實施的方法包括以下多個操作:接收包括第一網表及第一組時序約束的目標電路設計;從第一網表及第一組時序約束提取多個目標屬性;通過將所述多個目標屬性與最佳(golden)電路設計的多個最佳屬性進行比較來確定目標電路設計與最佳電路設計之間的屬性失配;以及提供屬性失配以用於網表及系統設計約束修改的其它設計反覆運算。所述多個操作中的至少一個由至少一個資料處理器執行。
以下公開提供用於實施所提供的主題的不同特徵的許多不同實施例或實例。下文描述元件和佈置的具體實例來簡化本揭露。當然,這些僅為實例且並不打算為限制性的。舉例來說,在以下描述中,第一特徵在第二特徵上方或第二特徵上形成可包含第一特徵與第二特徵直接接觸地形成的實施例,且還可包含可在第一特徵與第二特徵之間形成額外特徵從而使得第一特徵與第二特徵可以不直接接觸的實施例。另外,本揭露可在各種實例中重複附圖標號和/或字母。這種重複是出於簡化和清楚的目的,且本身並不指示所論述的各種實施例和/或配置之間的關係。
對於從一種技術到另一技術的設計移植,起初使用一種製程技術研發出的傳統或最佳(golden)設計可被翻譯為使用不同製程技術的目標設計。設計的移植有助於已知的適用于傳統設計的某些先前建立的驗證方法的再使用。舉例來說,當將設計從28奈米製程技術(例如第一技術製程)移植到低至16奈米、7奈米以及/或5奈米製程技術(例如第二技術製程)的新設計時,數個先前建立的驗證方法可被移植到目標設計。不同於RTL設計再綜合,涉及邏輯閘級網表到具有相似功能特性的目標邏輯閘級網表的設計移植和綜合設計約束(synthesis design constraints;SDC)移植(例如SDC工具命令語言(tool-command-language;TCL))可能需要驗證時序約束。時序約束也可被移植。
時序約束用於前端設計編譯器(design compiler;DC)、設計編譯器圖形(design compiler graphical;DCG)綜合以及/或後端實體綜合(back-end physical synthesis)。為了將最佳電路設計的網表移植到目標電路設計,需要時序再驗證以確保符合目標設計的性能目標。在移植之後,可能需要工程調諧和/或微調以確保目標設計與最佳設計匹配。例如標準單元、記憶體巨集以及/或智慧財產權巨集的基本設計可能並不總是具有與例如包裝器、層次結構以及/或再分區的新設計組件的完全引腳對引腳的相容性。如此,在移植之後,所移植的設計需要例如經由STA的靜態時序收斂會簽的仔細驗證或確認。通過本文中所描述的基於屬性點(例如,網路的引腳的特徵或性質)的時序約束(例如,結合單元或觸發器的對應關鍵輸入端和輸出端)形式驗證方法論,提取且檢查期望或最佳設計內的數個有效時序路徑以及用於引腳、案例及/或異常的任何重要屬性。將提取的有效時序路徑以及重要屬性與來自移植設計的性能的單元引腳屬性報告進行比較。來自那些報告的任何失配可被識別、再驗證以捕獲及處理那些非1對1映射失配埠或網路,且所述失配可在移植設計內經由設計更新或設計和SDC更新及/或修改被校正。
圖1示出根據本揭露的各種實施例的基於屬性點的時序約束驗證的使用的示例性應用。傳統電路設計110可具有由網表和/或時序約束描述的數個特徵。傳統電路設計110還包含屬性112、屬性114、屬性116(例如點、引腳、資訊)。屬性112、屬性114、屬性116對於特殊電路的操作來說是重要的。傳統電路設計110可為例如用於28奈米製程技術的設計。隨著電子裝置的大小持續減小,那些裝置內的電路設計也減小。傳統電路設計110的功能和/或驗證方法可經由設計移植被維持。這種移植消除當試圖減小其尺寸時對電路的完全再設計的需要。舉例來說,可將傳統電路設計110移植到目標電路設計120,所述目標電路設計120使用較小製程技術,例如16奈米、7奈米及/或5奈米製程技術。通過移植,可能存在傳統電路設計110的組合在目標電路設計120內的一些設計特徵,以減小其尺寸。這些設計特徵的組合可致使傳統電路設計110與目標電路設計120之間的屬性失配。舉例來說,如圖1中所示出,目標電路設計120僅可具有傳統電路設計的兩個屬性122、屬性124而不是三個屬性112、屬性114、屬性116。為了確保目標電路設計120延續傳統電路設計110的預期功能和/或驗證特徵,對屬性層級的屬性失配的分析被執行。傳統電路設計110與目標電路設計120之間的任何屬性失配,例如在移植之後可能需要進行設計或SDC更新的缺失屬性126,被識別,且被提供給電路設計師或自動設計系統以用於適當的校正。
圖2示出根據本揭露的各種實施例的示出基於屬性點的時序約束驗證的示例性過程流程圖200。靜態時序分析(Static timing analysis;STA)為一種時序弧延遲計算或時序路徑延遲計算。STA資料庫(DB)為儲存提取的特殊電路設計的STA特徵(例如STA路徑延遲和/或STA設計點屬性資訊)的資料庫。如圖2中所示出,傳統或最佳設計(例如,節點A最佳)儲存在STA DB 210中。STA DB 210包含與最佳設計相關聯的網表和時序約束,例如與28奈米製程技術設計相關聯的網表和時序約束。可將所述最佳網表和時序約束移植到例如再生的STA DB 220(例如節點-B RE-GEN)的另一STA DB中以產生新設計,例如3微米、1.5微米、1.2微米、1.0微米、0.8微米、0.6微米、0.5微米、0.35微米、0.25微米、0.18微米、0.13微米、90奈米、65奈米、40奈米、28奈米、22奈米、20奈米、16奈米、12奈米、10奈米、7奈米、6奈米、5奈米以及/或3奈米製程技術設計等。STA DB 220包含移植目標網表和時序約束。然而,由於例如製程技術或基礎單元和巨集佈局架構的大小改變,目標設計可不具有與最佳設計一樣的精確引腳佈局,但具有與標準單元相同的行為功能和/或記憶體巨集。因為此潛在失配,目標設計中可能存在一些未映射的引腳或其它單元資訊。另外,可從STA DB 220丟棄最佳設計的一些時序約束或將最佳設計的一些時序約束合併在STA DB 220內。基於點的程式230產生識別偽路徑、多週期路徑及/或案例值設置的各種屬性的基於時序點的報告240。基於點的程式230一次一個地(例如逐點)檢查每一屬性(例如,偽路徑(false path)、多週期路徑(multi-cycle path)及/或案例值設置(case value setting))。基於時序點的報告240列出與每一引腳相關聯的時序屬性。基於點的程式230通過逐點檢查屬性來執行基於屬性點的時序約束形式驗證(formal verification;FV)。通過將評估分成多個階段,最佳電路設計與目標電路設計之間的失配可更快速地被識別。在第一階段中,SDC日誌的任何錯誤被檢查。如果新移植的SDC不被驗證,則設計工具引擎和時序工具引擎無法適當地載入本設計以用於分析和模擬,其繼而可致使程式和/或過程流程中止實施和驗證。這種錯誤可識別移植設計(例如目標設計)不符合基本設計需求的問題。在兩種設計(例如,最佳電路設計和目標電路設計)之間的所有連續單元和引腳的屬性被評估。在第二階段中,所有時序路徑(例如,實例時序路徑包含endpoint_clock、startpoint_clock、startpoint_input_delay_value、endpoint_output_delay_value、dominant_exception等)的屬性被評估。在第三階段中,比較最佳目標電路設計和目標電路設計的網表之間的每個單元的時序路徑的數目被比較,以確保每個單元中的時序路徑的數目相同。
在基於時序點的報告240內識別的屬性被視為對於移植到目標電路設計是必不可少的。使用關鍵點對點比較250,使基於STA DB 210和 STA DB 220產生的基於時序點的報告240被相互比較。關鍵點對點比較250逐個地比較每一屬性(例如,點對點)。利用關鍵點對點比較250來識別最佳電路設計與目標電路設計之間的每一屬性的任何問題,例如缺失屬性和/或不正確屬性。接著將這些屬性提供給使用者和/或自動化系統以用於目標電路設計的潛在再設計(例如,以實現與原始最佳設計特性和功能完全相同的功能)。
圖3示出根據本揭露的各種實施例的基於屬性點的時序約束驗證(例如,將最佳設計與目標電路設計之間的每一屬性進行比較)的另一示例性過程圖300。在圖3中所示出的實施例中,最佳電路設計310包含輸入/輸出(input/output;IO)元件312、標準單元(例如stdcell)314以及記憶體巨集元件316。記憶體巨集元件316接收輸入資料(DataIn)、時脈及輸出資料(DataOut)。最佳電路設計310包含例如多角多模(multi-corner multi-modes;MCMM)約束的數個最佳時序約束320。實例多角多模約束包含變數、時脈、案例/常數、最大延遲路徑(max_delay路徑)、多週期路徑、偽路徑、IO延遲及/或異常。通過MCMM分析,將多個設計點用於確定製造過程所導致的環境和/或操作特性的效果。舉例來說,最佳時序約束320可包含設置變數、時脈、案例/常數、最大延遲路徑、多週期路徑、偽路徑、IO延遲及/或其它異常的約束。將最佳電路設計310移植到具有實體層次再分區的目標電路設計330。基於由元件的子集執行的功能,電路設計被劃分成較小區塊(例如分區)。這些分區可按實體層次被佈置。因為目標電路設計330與最佳電路設計310之間的不同實際大小,來自最佳電路設計310的分區可不會被一個對一個的映射到目標電路設計330。如此,目標電路設計330可經再分區。換句話說,標準單元334被組合到一起且IO元件332處於電路層次的不同層級中。另外,記憶體巨集元件336不僅接收資料和時脈信號作為輸入,而且還接收測試輸入(TestIn)。記憶體巨集元件336還輸出並不由最佳電路設計310產生的額外測試輸出(TestOut)。與目標電路設計330相關聯時序約束340還可包含MCMM約束,但因為最佳電路設計310並不包含測試輸入和輸出引腳,所以時序約束320缺失這些約束。通過逐點檢查屬性,使用基於屬性點的時序約束FV 350將最佳電路設計310的時序約束320與目標電路設計330的這些時序約束340進行比較,缺失的測試輸入和輸出引腳約束可被識別且被固定或加上。傳統STA方法360可用以產生STA DB 362、STA DB 372以及最佳電路設計310和目標電路設計330的STA覆蓋度報告364、STA覆蓋度報告374。STA 360可使用例如最佳電路設計庫368和目標電路設計庫378的額外資料庫資源來執行數位電路(例如目標電路設計330內的特殊電路)的模擬計算預期時序而不需要對目標電路設計330的模擬。然而,最後,與STA 360期間相反,由程式所報告的在最佳電路設計310和目標電路設計330之間的任何設計失配經由基於屬性點的時序約束FV 350被識別。
圖4示出根據本揭露的各種實施例通過逐點檢查時序屬性的基於屬性點的時序約束FV的另一示例性過程流程圖400。在410處,從最佳電路設計和目標電路設計提取有效的時序路徑和引腳、案例及/或異常的任何重要屬性。在420處,基於屬性報告之間的比較確定最佳電路設計(最佳SRC tape-out)與目標電路設計之間是否存在屬性失配。如果識別到屬性失配,則修改目標閘設計(例如,移植設計)的時序約束以解決屬性失配。可通過使用者手動地修改目標電路設計或經由使用自動工具修改設計來獲得這種修改。利用修改後的設計,對應網表和時序約束430也被更新以反映所述設計(例如,經更新的移植時序約束(SDC)/更新的移植目標設計網表460)。將這些更新的移植時序約束(SDC)/更新的移植目標設計網表460再編譯且提供回目標資料庫。然而,如果未識別到屬性失配,則接著在440處執行時序點的比較以識別時序失配。如果不存在時序點失配,則在450處,屬性點為等效的(例如,逐點評估的每一屬性在最佳電路設計310與目標電路設計330之間匹配),且移植時序約束足以用於實際實施方案和會簽。網表到網表在功能性方面應大約100%匹配。SDC到SDC約束應恰當地匹配或相關以使得可在實施方案和驗證工具以及程式中恰當地載入對設計的時序檢查。
圖5示出根據本揭露的各種實施例的示例性最佳電路設計500和示例性目標電路設計550。如圖1至圖4中詳細描述的基於屬性點的時序約束FV可用於通過逐點比較目標電路設計550與最佳電路設計500之間的每一屬性來驗證目標電路設計550。根據圖5中所示的實施例的最佳電路設計500繪示路徑弧中的時序路徑。最佳設計包含產生且提供時脈信號(例如,IO_CLK)到觸發器504的IO元件502。觸發器504的輸出耦合到邏輯閘506(例如OR閘)。邏輯閘506將觸發器504的輸出與觸發器508的輸出進行比較。觸發器508從時脈分頻器510(例如DIV)接收時脈輸入(例如DIV_CLK)。時脈分頻器510將對從鎖相環(phase-locked loop;PLL)元件512接收到的時脈信號(例如PLL_CLK)進行劃分。另一觸發器514接收來自PLL元件 512的時脈信號(例如PLL_CLK)以及邏輯閘506的輸出。在這個特殊最佳電路設計500中,觸發器504、觸發器508以及觸發器514為集成或關鍵元件。因此,在最佳電路設計500與目標電路設計550之間需要一對一的相容相關。目標電路設計550也必須具有與最佳電路設計500相似的資料路徑。目標電路設計550表現為包含與最佳電路設計500相似的實體元件,例如I/O元件552、觸發器554、觸發器558、觸發器564、邏輯閘556、時脈分頻器560以及PLL組件562。然而,如果屬性引腳層級的比較識別出最佳電路設計500和目標電路設計550並不等效(例如,目標電路設計550與最佳電路設計500之間的屬性並不匹配),則目標電路設計550需要額外改變或更新。舉例來說,由於在屬性點資訊比較之後目標550電路處的偽路徑再聲明,這種改變或更新可包含約束更新。
對於觸發器504、觸發器508以及觸發器514的關鍵元件的每一節點,存在被提取且驗證的對應屬性。在圖5中示出的實例中,最佳電路設計包含三個重要時脈屬性:IO_CLK、DIV_CLK以及PLL_CLK,和兩個偽路徑資料屬性。偽路徑為在時序分析期間可被忽略的資料屬性,因為它是即使在經過較大時間間隔之後也能夠被捕獲但仍產生所需輸出的時序路徑。報告基於最佳電路設計500的屬性被產生且被與基於目標電路設計550的屬性產生的報告進行比較。報告可為例如描述屬性的文字檔或逗點分隔值(comma-separate values)檔。這兩個報告被相互比較以確定目標電路設計550缺失兩個偽路徑資料屬性。這些缺失偽路徑(例如,驗證失敗)被識別且被強調給使用者(例如經由報警消息或產生的驗證報告)。如本文中所描述的屬性比較可在邏輯閘506與邏輯閘556之間以及觸發器514與觸發器564之間被執行。這種比較檢查以確定目標設計約束內是否存在任何偽路徑屬性。
圖6示出根據本揭露的各種實施例的已校正目標電路設計550的所識別驗證失敗的示例性目標電路設計600。更新目標電路設計600的網表和屬性清單,以便在或(OR)閘606(Dummy_AND2)內添加偽路徑。
圖7示出根據本揭露的各種實施例的可使用本文中所描述的基於屬性點的時序約束FV方法論驗證的另一示例性最佳電路設計700和對應目標電路設計750。最佳電路設計700可包含將信號輸出到一級聯邏輯元件(例如,級聯邏輯-1 704和級聯邏輯-2 706)的元件的第一區塊(例如,區塊A 702)。當移植到目標電路設計750時,將級聯邏輯-1 704和級聯邏輯-2 706元件可被組合成組合單元755的單個元件(例如,出於性能、功率以及面積(performance power area;PPA)的目的)。未被映射為組合單元路徑的路徑-1-2的目標電路設計的移植時序約束並不存在於最佳電路設計700內。這種未映射約束可使用本文中描述為目標電路設計750與最佳電路設計700之間的屬性的逐點比較的基於屬性點的時序約束FV方法被識別。換句話說,如果存在確實與最佳電路設計700逐點匹配的目標電路設計750的移植時序約束,則所述未映射約束在逐點比較期間將被識別出且可被補救。
圖8示出根據本揭露的各種實施例的可使用本文中所描述的基於屬性點的時序約束FV方法論驗證的另一示例性最佳電路設計800和對應目標電路設計850。最佳電路設計800可包含將信號輸出到一組邏輯閘804、邏輯閘806、邏輯閘808、邏輯閘810的元件的第一區塊(例如,區塊A 802)。邏輯閘804、邏輯閘806、邏輯閘808、邏輯閘810在目標電路設計850中被壓縮到較小數目個邏輯閘(例如,邏輯閘852、邏輯閘854、邏輯閘856)。然而,通過此移植,對最佳電路設計的網路1、網路2、以及網路3的約束不再存在於目標電路設計850內且由此未被映射。可使用本文中描述為目標電路設計850與最佳電路設計800之間的屬性的逐點比較的基於屬性點的時序約束FV方法論識別這種未映射約束。換句話說,如果存在確實與最佳電路設計800逐點匹配的目標電路設計850的移植時序約束,則所述未映射約束在逐點比較期間將被識別出且可被補救。
圖9示出根據本揭露的各種實施例的可使用本文中所描述的基於屬性點的時序約束FV方法論驗證的另一示例性最佳電路設計900和對應目標電路設計950。最佳電路設計900可包含將信號輸出到邏輯閘904和觸發器906的元件的第一區塊(例如區塊A 902)。目標電路設計950包含組合觸發器955而不是單獨邏輯閘和觸發器。隨著最佳電路設計900的移植,因為這種路徑不存在於目標電路設計950內,所以對網路A的約束未被映射。可使用本文中所描述的基於屬性點的時序約束FV方法論識別這種未映射約束。
不管本文中所描述的實例應用,本領域的技術人員可理解,使用本文中所描述的技術移植且驗證的技術可應用於數個最佳電路設計,包含但不限於標準單元、靜態隨機存取記憶體(static random access memory;SRAM)、I/O元件、PLL、類比巨集、片上系統(SOC)設計及/或專用積體電路(ASIC)。
圖10是根據本揭露的各種實施例的基於屬性點的時序約束FV的示例性方法的流程圖1000。方法適用於廣泛多種基礎結構。在1010處,接收具有第一網表和第一組時序約束的目標設計。在1020處,從第一網表和第一組時序約束提取多個目標屬性。在1030處,通過將多個目標屬性與多最佳電路設計的個最佳屬性進行比較來確定目標電路設計與最佳電路設計之間的屬性失配。在1040處,提供屬性失配以用於其它設計反覆運算。在1050處,如果不存在屬性失配,則當將設計從一種技術移植到另一技術時,在關鍵比較點處存在等效屬性且/或設計約束為等效的。如果存在屬性失配,則如步驟1030中所描述來分析所述失配。
圖11是示出用於實施本文中所描述的各種方面的樣本計算裝置架構的圖1100。匯流排1104可充當使硬體的其它示出的元件互連的資訊公路。標記為CPU(中央處理單元)的處理系統1108(例如在給定電腦或多個電腦處的一或多個電腦處理器/資料處理器)可實行執行程式所需的計算和邏輯運算。非暫時性處理器可讀記憶體媒體(如唯讀記憶體(ROM)1112)和隨機存取記憶體(RAM)1116可與處理系統1108通信且可包含用於此處指定的操作的一或多個程式設計指令。任選地,程式指令可儲存於非暫時性電腦可讀記憶體媒體上,例如磁片、光碟、可記錄記憶體裝置、快閃記憶體或其它實體記憶體媒體。
在一個實例中,磁碟控制卡1148可將一或多個任選的磁碟機介接到系統匯流排1104。這些磁碟機可為如1152或外部或內部硬碟驅動器1156的外部或內部CD-ROM、CD-R、CD-RW或DVD,或固態驅動器。如先前所指示,這些各種磁碟機1152、磁碟機1156以及磁碟控制卡為任選裝置。系統匯流排1104還可包含至少一個通訊連接埠1120,以允許與實體連接到計算系統或可通過有線或無線網路從外部獲得的外部裝置進行通信。在一些案例中,通訊連接埠1120包含或另外包括網路介面。
為實現與用戶的交互,本文中所描述的主題可在具有顯示裝置1140(例如,CRT(陰極射線管)或LCD(液晶顯示器)監視器)的計算裝置上實施,以用於將從匯流排1104獲得的資訊顯示給使用者和使用者可藉以將輸入提供到電腦的輸入裝置1132,例如鍵盤1136和/或指向裝置(例如滑鼠或導航球)和/或觸控式螢幕。其它種類的輸入裝置1132也可以用於提供與用戶的交互;例如,提供給用戶的回饋可以是任何形式的感覺回饋(例如視覺回饋、通過麥克風的聽覺回饋或觸覺回饋);且來自用戶的輸入可以任何形式被接收,包含聲波、語音或觸覺輸入。輸入裝置1132和鍵盤1136可以借助於輸入裝置介面1128耦合到匯流排1104且經由匯流排1104傳送資訊。例如專用伺服器的其它計算裝置可省略顯示器1140和顯示介面1114、輸入裝置1132、鍵盤1136以及輸入裝置介面1128中的一或多個。
另外,可通過包括可由裝置處理子系統執行的程式指令的程式碼在許多不同類型的處理裝置上實施本文中所描述的方法和系統。軟體程式指令可包含可用於致使處理系統來執行本文中所描述的方法和操作的原始程式碼、目標代碼、機器代碼或任何其它儲存資料,且可將所述軟體程式指令設置於例如C、C++、JAVA、Perl、Python、Tcl的任何適合的語言或任何其它適合的程式設計語言中。然而,還可使用其它實施方案,例如經配置以進行本文中所描述的方法和系統的固件或甚至適當設計的硬體。
系統和方法資料(例如,關聯、映射、資料登錄、資料輸出、中間資料結果、最終資料結果等)可儲存且實施於一或多個不同類型的電腦實施資料記憶體中,例如不同類型的記憶體裝置和程式構建體(例如,RAM、ROM、快閃記憶體、平面檔、資料庫、程式資料結構、程式變數、IF-THEN(或相似類型)表述構建體等)。應注意,資料結構可描述用於在資料庫、程式、記憶體或由電腦程式使用的其它電腦可讀媒體中組織和儲存資料的格式。
本文中所描述的電腦元件、軟體模區塊、功能、資料儲存裝置以及資料結構可彼此直接或間接連接以便允許資料由於其操作所需而流動。還應注意,模區塊或處理器包含但不限於執行軟體操作的代碼單元,且可例如實施作為代碼的子常式單元,或作為代碼的軟體功能單元,或作為物件(如在物件導向的範式表中),或作為小程式,或實施於電腦指令碼語言中,或作為另一類型的電腦代碼。軟體元件和/或功能性可取決於迫切情況而位於單個電腦上或跨越多個電腦分佈。
本文中所描述的各種電路和配置的使用可提供數個優勢。舉例來說,本文中所描述的基於屬性點的方法的使用可識別缺失偽路徑約束、多週期路徑及/或時脈設置。此方法的使用可通過促進最佳電路設計與目標電路設計之間的時序約束快速收斂來縮短設計反覆運算時間。使用基於點的方法,可將設計反覆運算的數目減到最少以實現最佳電路設計與目標電路設計之間的時序約束的快速收斂。這種方法可節省工具授權,減少用於驗證的硬體量及/或提高整體設計生產率。
在一個實施例中,方法包含接收具有第一網表和第一組時序約束的目標電路設計。從第一網表和第一組時序約束提取多個目標屬性。通過將多個目標屬性與最佳電路設計的多個最佳屬性進行比較來在目標電路設計與最佳電路設計之間確定屬性層級上的屬性失配。提供屬性失配以用於其它設計反覆運算和時序約束修改。所述多個操作中的至少一個由至少一個資料處理器執行。
在一些實施例中,目標電路設計從包括第二網表及第二組時序約束的最佳電路設計被移植。
在一些實施例中,由形成至少一個計算裝置的一或多個資料處理器實施的方法更包括:接收最佳電路設計;以及從第二網表及第二組時序約束提取所述多個最佳屬性。
在一些實施例中,最佳電路設計使用第一技術製程以及目標電路設計使用第二技術製程。
在一些實施例中,所述多個最佳屬性及所述多個目標屬性各自包含時序屬性或資料屬性中的至少一個。
在一些實施例中,屬性失配包括缺失偽路徑、缺失時脈屬性、缺失多週期路徑、缺失屬性值、不正確偽路徑、不正確時脈屬性、不正確多週期路徑或不正確屬性值中的至少一個。
在一些實施例中,由形成至少一個計算裝置的一或多個資料處理器實施的方法更包括:接收包括第三網表及第三組時序約束的修改後的目標電路設計第三網表及第三組時序約束校正屬性失配;以及使用第三網表及第三組時序約束重複提取、確定以及提供。
在一些實施例中,用於第一網表與第二網表之間的每一連續單元的數個時序路徑是等效的。
在另一實施例中,方法包含接收包括第一網表和第一組時序約束的目標電路設計。從第一網表和第一組時序約束提取多個目標屬性。通過將多個目標屬性與最佳電路設計的多個最佳屬性進行比較來確定目標電路設計與最佳電路設計之間的屬性失配。這種確定可通過以下操作來實現:確定與最佳電路設計相關聯的系統設計約束的日誌是否含有任何錯誤;評估多個目標屬性和多個最佳屬性;以及確定用於第一網表與最佳電路設計的第二網表之間的每一連續單元的數個時序路徑為等效的。提供屬性失配以用於其它設計反覆運算。所述多個操作中的至少一個由至少一個資料處理器執行。
在一些實施例中,最佳電路設計使用第一技術製程以及目標電路設計使用第二技術製程。
在一些實施例中,屬性失配包括缺失偽路徑、缺失時脈屬性、缺失多週期路徑、缺失屬性值、不正確偽路徑、不正確時脈屬性、不正確多週期路徑或不正確屬性值中的至少一個。
在一些實施例中,由形成至少一個計算裝置的一或多個資料處理器實施的方法更包括:接收最佳電路設計;以及從第二網表及第二組時序約束提取所述多個最佳屬性。
一種儲存指令的非暫時性電腦程式產品,所述指令在由形成至少一個計算裝置的部分的至少一個資料處理器執行時,引起包含接收包括第一網表和第一組時序約束的目標電路設計的操作。從第一網表和第一組時序約束提取多個目標屬性。通過將多個目標屬性與最佳電路設計的多個最佳屬性進行比較來確定目標電路設計與最佳電路設計之間的屬性失配。提供屬性失配以用於其它設計反覆運算。
在一些實施例中,目標電路設計從包括第二網表及第二組時序約束的最佳電路設計被移植。
在一些實施例中,儲存指令的非暫時性電腦程式產品更包括:接收最佳電路設計;以及從第二網表及第二組時序約束提取所述多個最佳屬性。
在一些實施例中,最佳電路設計使用第一技術製程以及目標電路設計使用第二技術製程。
在一些實施例中,所述多個最佳屬性及所述多個目標屬性各自包含時序屬性或資料屬性中的至少一個。
在一些實施例中,屬性失配包括缺失偽路徑、缺失時脈屬性、缺失多週期路徑、缺失屬性值、不正確偽路徑、不正確時脈屬性、不正確多週期路徑或不正確屬性值中的至少一個。
在一些實施例中,儲存指令的非暫時性電腦程式產品更包括接收包括第三網表及第三組時序約束的修改後的目標電路設計;以及使用第三網表及第三組時序約束重複提取、確定以及提供。第三網表及第三組時序約束校正屬性失配。
在一些實施例中,用於第一網表及第二網表之間的每一連續單元的數個時序路徑是等效的。
前文概述若干實施例的特徵,使得本領域的技術人員可更好地理解本揭露的各方面。本領域的技術人員應瞭解,其可容易地將本揭露用作設計或修改用於實現本文中所引入的實施例的相同目的和/或達成相同優勢的其它製程和結構的基礎。本領域的技術人員還應認識到,這種等效構造並不脫離本揭露的精神和範圍,且其可在不脫離本揭露的精神和範圍的情況下在本文中進行各種改變、替代以及更改。
110:傳統電路設計
112、114、116、122、124:屬性
120、330、550、600、750、850、950:目標電路設計
126:缺失屬性
200、300、400:程式流程圖
210、220、362、372:STA DB
230:基於點的程式
240:基於時序點的報告
250:關鍵點對點比較
310、500、700、800、900:最佳電路設計
312、332、502、552:IO組件
314:標準單元
316:記憶體巨集組件
320:最佳時序約束
334:標準單元
336:記憶體巨集組件
340:時序約束
350:時序約束FV
360:STA
364、374:STA覆蓋度報告
368:最佳電路設計庫
378:目標電路設計庫
410、420、440、450、1010、1020、1030、1040、1050:步驟
430:對應網表和時序約束
460:更新的移植目標設計網表
504、508、514、554、558、564、906:觸發器
506、556、804、806、808、810、852、854、856、904:邏輯閘
510、560:時脈分頻器
512、562:PLL組件
606、Dummy_AND2:OR閘
702、802、902:區塊A
704:級聯邏輯-1
706:級聯邏輯-2
755:組合單元
955:組合觸發器
1000:流程圖
1100:圖
1104:匯流排
1108:處理系統
1112:唯讀記憶體
1114:顯示介面
1116:隨機存取記憶體
1120:通訊連接埠
1128:輸入裝置介面
1132:輸入裝置
1136:鍵盤
1140:顯示裝置
1148:磁碟控制卡
1152、1156:磁碟機
當結合附圖閱讀時從以下詳細描述最好地理解本揭露的各方面。應注意,根據業界中的標準慣例,各種特徵未按比例繪製。實際上,為了論述清楚起見,可任意增大或減小各種特徵的尺寸。
圖1示出根據本揭露的各種實施例的基於屬性點的時序約束驗證的使用的示例性應用。
圖2示出根據本揭露的各種實施例的示出基於屬性點的時序約束形式驗證的示例性過程流程圖。
圖3示出根據本揭露的各種實施例的基於屬性點的時序約束驗證的另一示例性過程流程圖。
圖4示出根據本揭露的各種實施例的基於屬性點的時序約束形式驗證的另一示例性過程流程圖。
圖5示出根據本揭露的各種實施例的示例性最佳電路設計和示例性目標電路設計。
圖6示出根據本揭露的各種實施例的已校正目標電路設計的所識別驗證失敗的示例性目標電路設計。
圖7示出根據本揭露的各種實施例的可使用本文中所描述的基於屬性點的時序約束形式驗證方法論驗證的另一示例性最佳電路設計和對應目標電路設計。
圖8示出根據本揭露的各種實施例的可使用本文中所描述的基於屬性點的時序約束形式驗證方法論驗證的另一示例性最佳電路設計和對應目標電路設計。
圖9示出根據本揭露的各種實施例的可使用本文中所描述的基於屬性點的時序約束形式驗證方法論驗證的另一示例性最佳電路設計和對應目標電路設計。
圖10是根據本揭露的各種實施例的基於屬性點的時序約束形式驗證的示例性方法的流程圖。
圖11是根據本揭露的各種實施例的示出用於實施本文中所描述的各種方面的樣本計算裝置架構的圖。
200:程式流程圖
210、220:STA DB
230:基於點的程式
240:基於時序點的報告
250:關鍵點對點比較
Claims (1)
- 一種由形成至少一個計算裝置的一或多個資料處理器實施的方法,所述方法包括: 接收包括第一網表及第一組時序約束的目標電路設計; 從所述第一網表及所述第一組時序約束提取多個目標屬性; 通過將所述多個目標屬性與最佳電路設計的多個最佳屬性進行比較來確定所述目標電路設計與所述最佳電路設計之間的屬性失配;以及 提供所述屬性失配以用於網表及系統設計約束修改的其它設計反覆運算, 其中上述操作中的至少一個由至少一個資料處理器執行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/020,948 | 2020-09-15 | ||
US17/020,948 US11620423B2 (en) | 2020-09-15 | 2020-09-15 | Attribute-point-based timing constraint formal verification |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202213157A true TW202213157A (zh) | 2022-04-01 |
Family
ID=78576206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110107264A TW202213157A (zh) | 2020-09-15 | 2021-03-02 | 由形成計算設備的資料處理器實現的方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US11620423B2 (zh) |
CN (1) | CN113688588A (zh) |
TW (1) | TW202213157A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11803684B1 (en) * | 2021-10-04 | 2023-10-31 | Cadence Design Systems, Inc. | Relative placement by application of layered abstractions |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11620423B2 (en) * | 2020-09-15 | 2023-04-04 | Taiwan Semiconductor Manufacturing Company, Ltd. | Attribute-point-based timing constraint formal verification |
US11514218B1 (en) * | 2021-07-30 | 2022-11-29 | Cadence Design Systems, Inc. | System and method for performing static timing analysis of electronic circuit designs using a tag-based approach |
CN116522830B (zh) * | 2023-06-30 | 2024-03-15 | 奇捷科技(深圳)有限公司 | 可测试设计及布局布线阶段的逻辑功能更正方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867395A (en) * | 1996-06-19 | 1999-02-02 | Lsi Logic Corporation | Gate netlist to register transfer level conversion tool |
US10031986B1 (en) * | 2016-03-31 | 2018-07-24 | Cadence Design Systems, Inc. | System and method for creating a spice deck for path-based analysis of an electronic circuit design using a stage-based technique |
US10949591B1 (en) * | 2018-11-20 | 2021-03-16 | Synopsys, Inc. | Hardware based state signature generation and check for test and debug of semiconductor circuit functionality |
US11620423B2 (en) * | 2020-09-15 | 2023-04-04 | Taiwan Semiconductor Manufacturing Company, Ltd. | Attribute-point-based timing constraint formal verification |
US20230044517A1 (en) * | 2021-08-06 | 2023-02-09 | Battelle Memorial Institute | Digital circuit representation using a spatially resolved netlist |
-
2020
- 2020-09-15 US US17/020,948 patent/US11620423B2/en active Active
-
2021
- 2021-02-08 CN CN202110171802.9A patent/CN113688588A/zh active Pending
- 2021-03-02 TW TW110107264A patent/TW202213157A/zh unknown
-
2023
- 2023-03-01 US US18/176,717 patent/US11900035B2/en active Active
-
2024
- 2024-01-22 US US18/418,546 patent/US20240160820A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11803684B1 (en) * | 2021-10-04 | 2023-10-31 | Cadence Design Systems, Inc. | Relative placement by application of layered abstractions |
Also Published As
Publication number | Publication date |
---|---|
US20240160820A1 (en) | 2024-05-16 |
US20230205958A1 (en) | 2023-06-29 |
US11900035B2 (en) | 2024-02-13 |
CN113688588A (zh) | 2021-11-23 |
US20220083717A1 (en) | 2022-03-17 |
US11620423B2 (en) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202213157A (zh) | 由形成計算設備的資料處理器實現的方法 | |
US8554530B1 (en) | Methods and systems for property assertion in circuit simulation | |
US7475370B2 (en) | System for verification using reachability overapproximation | |
JP4768896B1 (ja) | 製造ワークフローの為のチップデザインにおけるセルの整合性、変更、由来を独立評価する方法、及び、装置 | |
US20070226664A1 (en) | Method and system for verifying the equivalence of digital circuits | |
US10255403B1 (en) | Method and apparatus for concurrently extracting and validating timing models for different views in multi-mode multi-corner designs | |
TWI768536B (zh) | 積體電路模擬及設計方法與系統 | |
US9916407B2 (en) | Phase algebra for analysis of hierarchical designs | |
US11347917B2 (en) | Determining and verifying metastability in clock domain crossings | |
US8813006B1 (en) | Accelerated characterization of circuits for within-die process variations | |
US9727676B1 (en) | Method and apparatus for efficient generation of compact waveform-based timing models | |
US20210019461A1 (en) | Register transfer level (rtl) image recognition | |
US10162917B1 (en) | Method and system for implementing selective transformation for low power verification | |
US8533643B2 (en) | Method and apparatus for performing template-based classification of a circuit design | |
US7428712B1 (en) | Design optimization using approximate reachability analysis | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US8739093B1 (en) | Timing characteristic generation and analysis in integrated circuit design | |
US8818784B1 (en) | Hardware description language (HDL) incorporating statistically derived data and related methods | |
US11270052B2 (en) | System and method of timing characterization for semiconductor circuit | |
US11467851B1 (en) | Machine learning (ML)-based static verification for derived hardware-design elements | |
US11263376B1 (en) | System and method for fixing unknowns when simulating nested clock gaters | |
US8037085B2 (en) | Predicate selection in bit-level compositional transformations | |
US11507719B1 (en) | Accelerating formal property verification across design versions using sequential equivalence checking | |
US8448109B1 (en) | Vector evaluation of assertions | |
Tsai et al. | Timing-Critical Path Analysis in Circuit Designs Considering Aging with Signal Probability |