|
|
|
www.design-reuse-china.com |
|

程式碼Linting是什麼?進階Linting檢測與系統單晶片設計
隨著裝置日趨智慧化,再加上晶片與軟體結合所驅動的一系列互聯應用發展,眾所周知,晶片設計團隊總是在思考如何向客戶提供創新且差異化的產品。在半導體領域,設計晶片的過程至關重要,但許多人忽視了設計和測試平台程式碼(code)品質對於專案成功的關鍵性。
www.synopsys.com/zh-tw.html, Feb. 26, 2024 –
面對多種編碼風格、下游工具的挑戰,以及與上市時程(time-to-market)競賽,工程師們面臨著各種晶片設計缺陷及其導致的功能瑕疵、設計迭代(iteration),甚至是重新設計晶片(respin)等更糟糕的情況。市場上雖然有工具能夠在設計開發過程中識別 RTL 的效率問題,但這通常發生在晶片設計周期的晚期,而此時已經投入了相當多的時間和精力。
在暫存器傳輸層(RTL)設計階段進行深入的早期分析,對於團隊來說是識別和修復複雜晶片 RTL 問題,並盡早採用真正左移(shift left)方法的關鍵。Linting檢測提供全方位的檢測流程,讓團隊能夠及早發現基本問題,並從系統單晶片(SoC)設計之初就建立其功能安全(functional safety)、可靠性和可移植性(portability)。
在本系列三個章節的第一章中,我們將探討Linting檢測的演變、擁有導引方法論和規則的好處、如何處理白雜訊(white noise),以及最終團隊在無論設計複雜性如何的情況下都能順利地找到設計錯誤。
程式碼Linting基礎:我們是如何走到這一步的?
Linting技術已經存在了數十年。過去,團隊使用Lint工具進行兩種檢查:語法(syntactic)檢查係用來驗證程式碼中的關鍵字、對象名稱等是否準確放置,而語義(semantic)檢查則是用以確定程式碼中的參考(reference)是否有效。當時的根本目標是幫助客戶解決繁瑣的可移植性挑戰,最基礎的檢查被認為是最先進的做法,舉例來說,將 RTL 從一個系統單晶片移植到另一個系統單晶片,需要結構良好且模塊化的 RTL 程式碼,而這些程式碼應該要直觀、易於理解,且不需要額外維護。
然而,隨著上市時程年復一年的縮短,設計團隊一直在尋找提高產能和系統性驗證錯誤的新方法。有鑑於此,Linting檢測這種可以及早消除複雜錯誤的有效技術開始廣受歡迎,尤其在設計周期的模擬合成(simulation synthesis)或佈局繞線(place-and-route)階段。
点击阅读更多



Back