隨著設計復雜度的提升,RTL級仿真驗證時間顯著增加,已成為設計流程中的主要瓶頸。針對上億門級以上的電路設計,硬件仿真憑借其強大的調試能力,成為不可或缺的驗證工具,其中精準的信號調試更是確保芯片設計正確性與效率的關鍵。
思爾芯新一代芯神鼎硬件仿真系統配備了一系列強大的調試功能,其中,Save&Restore 功能可顯著優化系統運行效率;Backup&Replay 功能則能大幅節省調試過程中的重跑時間,并精準復現故障場景。二者相互配合,猶如一套高效的“組合拳”,在提升調試精準度的同時,也極大加快了調試效率。
1. Save&Restore:像游戲一樣存檔與恢復
Save&Restore功能在硬件仿真中起到提升調試效率的重要作用。其運作原理類似游戲存檔與讀檔,可保存、恢復仿真狀態,顯著優化驗證效率與資源利用率。該功能賦予工程師在仿真進程任意節點保存系統運行狀態的能力,并能在后續需求下精準還原至該狀態,實現仿真流程的“隨心存檔”與“精準回溯”。這一功能特別適用于需要跳過冗余流程、并行驗證多任務、分時復用硬件資源等工作場景。
應用場景1:節省冗長運行時間,直擊驗證核心
在嵌入式系統或操作系統的仿真中,OS啟動階段往往耗時較長。通過該功能,工程師可以在OS啟動后保存運行狀態,并在后續仿真中直接從這一狀態恢復運行。這樣工程師就可以跳過繁瑣的OS啟動過程,專注于系統功能的驗證和調試,從而大大節省了仿真時間。
由于工程師通常需要執行多個testcase,通過Save&Restore功能,在恢復之前的存檔后,工程師便可以從某個仿真時間點開始,并行執行多個testcase,提高驗證效率和覆蓋率。

應用場景2:靈活斷點仿真,實現資源分時共享
在日常調試工作中,工程師難免會遇到需要中斷或暫停仿真調試的情況。此時,Save 功能便派上用場,工程師可隨時從當前仿真時間點中斷進程,保存運行狀態。之后再通過 Restore 功能即可從中斷點繼續仿真,確保工作的連貫性,提升調試效率。
此外,Save&Restore 功能還為硬件資源的分時共享提供了可能。工程師們能夠借助該功能,輪流使用同一套硬件資源,避免資源閑置浪費,真正實現資源的最大化利用,降低硬件投入成本,提升團隊整體效能。

2. Backup&Replay:隨機性問題調試
在硬件仿真流程中,工程師借助 Save&Restore 加載存檔全速推進測試時,若遇到測試項失敗,Backup&Replay 功能便成為精準定位問題的“關鍵鑰匙”。該功能通過回放歷史仿真行為,定位隨機性bug或偶發故障。它允許工程師在仿真運行過程中,對運行狀態進行備份,形成多個存檔點,并在需要時重新播放(Replay)某個存檔點所在時段的所有操作。這一功能對需要復現隨機性bug、分析協議時序、驗證動態行為時尤為有效。
應用場景1:穩定的重現bug現象
對于某些隨機性觸發的bug,傳統的調試方法往往難以重現問題。而Replay功能則能夠穩定地重新呈現bug現象,使工程師能夠避免重新仿真運行卻無法重現bug的尷尬局面。通過精確地定位到bug觸發的時刻,工程師可以更加深入地分析問題,找到問題的根源。
應用場景2:更加精準的調試窗口
若不開啟調試功能,讓DUT高速運行直至 bug 出現,工程師將面臨從海量仿真數據中“大海撈針”的困境。Backup&Replay 功能則開辟了一條“捷徑”:工程師可從臨近 bug 出現的 backup 存檔點啟動 Replay,并同步啟用 FFV(Fast Full Visibility,信號全可視)功能進行深度調試。如此一來,無需從仿真起點“從頭再來”,調試時間大幅壓縮,效率顯著提升。
應用場景3:更靈活的硬件資源使用
Replay 階段無需依賴外部接口環境,這為工程師提供了硬件資源調度的“自由空間”。工程師可靈活分配硬件資源,聚焦問題核心,高效攻克復雜難題。對于硬件仿真在云上共享,更是如虎添翼。

3. 結尾
Save&Restore與Backup&Replay兩大功能協同發力,為工程師構建起一套“精準定位—高效解決”的閉環調試體系。它們不僅幫助工程師更加準確地定位和解決潛在的問題,還極大地提升了硬件資源的利用率和工作效率,大大加速開發進程。
點贊、關注加轉發,為你帶來更多EDA硬核科普。