新思科技 GuideWare™功能擴充:如何應用Lint分析技術減少錯誤、加速設計週期

多年來,作為檢查編碼是否存在錯誤的關鍵技術linting已有顯著發展。現今當代晶片設計過程中面臨各式各樣的功能錯誤和設計問題,從存在於暫存器傳輸層(RTL)設計描述中的風險編碼(risky coding),乃至於設計生產後才出現的繁複軟硬體交互錯誤,都可能會對晶片品質造成傷害。

為了避免昂貴且耗時的設計重工(rework)或重新設計(respin),設計團隊不僅需要智能 linting工具盡可能預先識別更多 RTL 問題,還需要一組預先定義且建議使用的基本及進階 linting檢測,以備不時之需。這一準則正是新思科技 GuideWare™ 方法論的核心基礎。GuideWare™是我們為設計團隊自行開發的全方位規則套件(rule set),用來加速 lint工作流程建置(bring-up),並協助團隊準時完成設計。而廣泛採用此引導式規則套件的領先半導體公司,無疑是這個方法論持續獲得成功的最佳證明。

本文將深入探討催生新思科技 GuideWare 車用及航太工業應用解決方案的諸多設計挑戰;以及運用GuideWare (Synopsys VC SpyGlass Lint的一部分)在RTL早期階段識別的設計問題,以避免於合成或邏輯等效階段造成不必要的反覆重工;最後重點說明一些使用新思科技 VC SpyGlass 功能 Lint 分析可檢測的進階問題。

新思科技 GuideWare:一針見血直指問題核心

想像您正在建置《星際大戰》樂高套組。將 GuideWare方法視為開始搭建積木結構之前所需的「樂高積木基板」。使用者可以自由發揮選擇下一個可用來加強基礎結構的樂高積木。同樣的道理,任何領域的使用者都可以在新思科技 GuideWare 套件的基礎上修改並建構自己的 Lint檢測方法,利用業界最全方位的設計專業知識和最佳實作知識庫,實現使用者指定的延伸設計。

藉由設計出一套值得信任的方法論,便能取得一套全方位、逐步的 linting分析檢測流程,以供客戶在編寫 RTL 代碼後立即使用。這種具備規則套件的方法文件可以作為貫穿設計流程的關鍵架構,確保團隊設計方法的一致性、同時以多核心設計加快執行時間(runtime)。

因應汽車或航太工業等不同應用的設計需求,則需要採用特定的linting分析。舉例來說,針對汽車應用的 ISO 26262 設計需要確保設計中沒有邏輯壅塞(logic congestion)或大型多工器(mux)的推導合成(inference)或延遲等不良問題。汽車設計人員非常喜歡模組化和可重複使用的設計方法,而新思科技的 GuideWare Lint Automotive 有助於達成這個目標。

同樣地,將軍事或航太工業作為終端應用的設計,通常以獲得 DO-254 認證為目標,需要確保設計在時脈(clock)和重設推論(reset inference)及其最終用途方面可以更加安全。舉例來說,清晰且結構化的時脈/重置樹(clock/reset tree)對安全設計而言非常關鍵,因此在該設計中不建議使用緩衝或閘控時脈(gated clock)。由於浮接引腳(floating pin)、無作用程式碼(dead code)、暫存器等設計漏洞可能會對實現DO-254合規性目標造成嚴重阻礙,因此GuideWare Lint 方法的可取之處,在於能協助設計人員在設計一開始時就能踏出成功的第一步。儘管新思科技仍持續開發針對汽車應用和安全保障的預先定義 linting分析規則套件,值得一提的是,除了現有的 GuideWare 規則套件之外,使用者還可以利用 ISO 26262 和 DO-254 的現有規範,來解決汽車和軍事應用的需求—這是我們非常重視的一項成果。

新思科技 VC Spyglass Lint 透過採用「提早(shift left)」識別問題方法,利用與 Synopsys Design Compiler® 和 Synopsys Formality 解決方案一致的語言結構並在這些技術中部署可靠的語言結構實作。借助新思科技 VC SpyGlass Lint,設計人員可以在 RTL 早期的等效性檢測(equivalence checking)階段識別繁複的驗證問題,減少後續階段的反覆設計驗證(iteration)。此外,我們的方法也提供專用規則套件,以檢測出模擬合成結果不一致(simulation-synthesis mismatch)的問題。

超凡表現:功能 Lint 分析

功能驗證的目標是在開發過程中盡可能提早發現最多的問題。久而久之,語義(semantic)和語法(syntactic)檢測在解決棘手的可移轉性挑戰,扮演著關鍵角色。

新思科技憑藉著在linting專業知識的深度及廣度,致力於打造超越傳統Lint分析方法的功能 Lint 分析檢查。透過新思科技 VC SpyGlass Lint,設計人員可以獲得獨特的一鍵式流程,進行更智能、更快速且更深入的功能 Lint 分析。使用者不再需要提供繁複的限制條件、也不需精通形式驗證,而是可以仰賴我們無縫接軌的混合(hybrid)流程以加快 RTL 簽核。新思科技 VC SpyGlass 利用新思科技 VC Formal™ 原生技術,提供一套全方位、容易上手且低雜訊(low noise)的方法,用於解決寬度(width)不相符和越界檢測(out of bound checks)等 RTL 設計問題,以確保其涵蓋的違規(violation)數量更少、卻更具重要性和價值,進而實現高品質RTL。

舉例來說,DeadCode 用於識別無法觸及的RTL部分的關鍵檢測,而FSM LiveLock 則適用於多個狀態下無限等待的檢測。傳統的 Lint 分析技術無法進行前述檢測,然而使用新思科技 VC SpyGlass Functional Lint 技術即可解決這些問題。此外,具備詳細標記的波形檢視器和圖解檢視器等簡易偵錯功能,進一步縮短了設計驗證時間。代碼複雜度儀表板(dashboard)則為管理團隊提供了有關 RTL 複雜度的估計值。這些獨特功能能夠讓設計人員盡早發現潛在錯誤,以避免在往後的階段演變為更嚴重的問題。

新一代 Lint 技術:更智能、更快速、更深入的 RTL 簽核

無庸置疑地,Lint 分析讓設計人員的工作更輕鬆,以交付更穩固且更適合用於下游驗證和實作的代碼(code)。新思科技始終致力於幫助客戶提早發現錯誤和其他設計漏洞,因而成為linting技術發展的開路先鋒。新思科技 VC SpyGlass新一代RTL簽核平台涵蓋 CDC、RDC 和 Lint 技術,並已經獲得廣泛採用。舉例而言,STMicroelectronics 等公司即運用 VC SpyGlass 技術,實現高達4倍的CDC/RDC 驗證速度

如今,無論是新思科技 GuideWare方法論,或是VC SpyGlass Lint 中利用新思科技 VC Formal 原生技術的功能 Lint 流程,皆已成為業界領先 ASIC/SoC公司的基本設計方法,並獲得領先半導體公司廣泛採用。VC SpyGlass 技術同時也是剛開始涉足晶片設計的新客戶的首選,不但可以快速啟用,基本上也會要求導入 VC SpyGlass Lint 作為 RTL 流程的一部分。

新思科技與前 20 大半導體客戶的合作經驗,幫助我們掌握最新業界標準,並開發出全方位 RTL 簽核linting 分析工具。從設計覆蓋率深度、到配合各種RTL應用情境和編碼方式的廣度,我們的工具都能提供無以倫比的表現。

在下一篇章,我們將剖析在 Lint 分析中整合機器學習和 RCA 功能如何更有效幫助設計人員大幅縮短周轉時間(turnaround time),並預測智能Lint 分析在未來數年的發展方向。敬請期待!