對于大多數(shù)驗證開發(fā)者來說,新一天的工作通常從理解和解決前一天的回歸調(diào)試失敗開始。經(jīng)過一晚的回歸運行后,必須進行一些常規(guī)步驟。日常任務(wù)包括查詢失敗的測試、重新生成調(diào)試數(shù)據(jù)庫、重新運行仿真以獲取更多信息,以及確保不同功能場景和測試模式的正確性等。每個階段都可能耗費大量時間,有時需要多次迭代,導致整個調(diào)試過程不斷延長。
為了應(yīng)對此類挑戰(zhàn),新一代新思科技Verdi調(diào)試平臺提供了多種功能,有助于避免在不同步驟之間來回切換。不過許多用戶對于重復(fù)仿真的過程仍存在疑問。本文詳細介紹了驗證開發(fā)者在整個過程中可能要考慮的事項,并解釋了用戶如何在交互模式下利用Verdi功能來減少重復(fù)操作并縮短根本原因分析的時間。
經(jīng)過一晚的回歸調(diào)試之后,我希望第二天早上調(diào)試文件已準備就緒
“Verdi Instant Recall”功能對此很有幫助?;貧w運行時,Verdi Instant Recall與新思科技VCS交互,提供調(diào)試信息,以便調(diào)試任何失敗的測試用例。調(diào)試信息包含了所發(fā)生的錯誤以及相關(guān)位置,開發(fā)者可借其明確錯誤類別和調(diào)試起始位置,而無需手動重新運行仿真來生成其他調(diào)試數(shù)據(jù)。
▲ 圖1 新思科技Verdi Instant Recall - 縮短回歸調(diào)試周轉(zhuǎn)時間(TAT)
在調(diào)試會話期間,我想運行“假設(shè)分析”實驗,但又想避免重新編譯和重新運行仿真
啟用Verdi交互調(diào)試模式后,用戶可進行多項即時修改,以便在單次仿真中設(shè)置和驗證實驗。仿真激勵、更新隨機配置和重新隨機化等調(diào)整需要通過Verdi對單次仿真進行假設(shè)分析來完成。此外,Verdi無需依賴于預(yù)先存在的覆蓋率觀察器代碼,便可即時生成隨機值的概率分布情況,進而直觀地呈現(xiàn)SystemVerilog約束條件解算器求解空間的交互式分析。此功能還支持對激勵進行微調(diào),以涵蓋一系列需關(guān)注的值,從而加快調(diào)試速度。
在調(diào)試會話期間,我想查看這些值在之前的時間點是如何變化的,并通過更多的實驗來觀察這些變化
借助Verdi,用戶可通過反向調(diào)試機制做到這一點。為此,用戶通常要為需關(guān)注的點添加一些調(diào)試仿真斷點并重新啟動仿真,使其及時在斷點指定的時間點停下來。在Verdi交互模式下,用戶能夠以超高自由度來控制仿真后退或前進到所指定的任何時間點,比如某個事件發(fā)生、對象創(chuàng)建或值更改的時候。
▲ 圖2 新思科技Verdi Instant Recall - 縮短回歸調(diào)試周轉(zhuǎn)時間(TAT)
此外,這些實用功能還可以結(jié)合起來,進一步加快調(diào)試流程。例如,在使用Instant Recall功能完成回歸分析之后,用戶可以根據(jù)錯誤類型選擇失敗的用例,并立即使用所生成的調(diào)試數(shù)據(jù)庫來啟動Verdi進行調(diào)試。在調(diào)試過程中,如果需要調(diào)用前一個時間點的信號值,可以使用反向調(diào)試功能來找到特定的仿真時間點。另外,用戶還可以使用不同的配置進行重新隨機化,以此來觀察概率分布。
結(jié)語
正如本文所述,新思科技Verdi調(diào)試平臺的功能非常豐富,有助于提高調(diào)試效率。當開發(fā)者早上開始準備調(diào)試時,可借助Verdi提供的功能快速投入到工作中。本文分享的所有功能均有助于避免耗時費力的重新編譯和重新仿真工作。充分利用一次仿真,縮短調(diào)試周轉(zhuǎn)時間!
-
仿真
+關(guān)注
關(guān)注
50文章
4070瀏覽量
133552 -
調(diào)試
+關(guān)注
關(guān)注
7文章
578瀏覽量
33923 -
新思科技
+關(guān)注
關(guān)注
5文章
796瀏覽量
50334 -
Verdi
+關(guān)注
關(guān)注
0文章
22瀏覽量
8775
原文標題:仿真一次就夠了!如何避免耗時又費力的重新編譯和重新仿真?
文章出處:【微信號:Synopsys_CN,微信公眾號:新思科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論