智能調試與綜合技術隔離FPGA設計中的錯誤淺析
如果您的FPGA設計無法綜合或者沒能按預期在開發板上正常工作,原因往往不明,要想在數以千計的RTL和約束源文件中找出故障根源相當困難,而且很多這些文件還可能是其他設計人員編寫的。考慮到FPGA設計迭代和運行時間的延長,設計人員應該在設計流程的早期階段就找出可能存在的諸多錯誤,并想方設法重點對設計在開發板上進行驗證。
本文引用地址:http://www.j9360.com/article/226766.htm在特定條件下采用更智能的技術來隔離特定錯誤,找到問題電路的源頭并漸進式修復錯誤,這很重要。為了節省時間,您可以對時鐘、約束和模塊級接口進行初步設置檢查以確保符合設計規范,這樣就不必在綜合與布局布線(PR)時浪費大量時間。
Synopsys公司的Synplify Premier 和Synplify ProFPGA設計工具以及Identify RTLDebugger 等產品能幫助設計人員完成上述工作。這些工具的特性使得設計人員能快速隔離錯誤,有效縮短運行時間,并減少開發板啟動所需的迭代次數。
精確找到開發板上的問題
如果開發板出現明顯的功能性錯誤,要縮小查找問題根源的范圍可能會相當困難。為了進行設計調試,我們應當創建附加電路并保留某些節點,以便我們對設計運行時得到的數據進行探測、檢查和分析。下面我們就看看如何用板級調試軟件來查找錯誤。
按下列四步法并利用RTL調試器,您能精確查找問題,并對信號和關注的條件采樣,然后將觀察結果關聯至原始RTL,從而將問題鎖定在RTL規范或約束設置范圍內。
第一步:指定探測。在RTL中明確要監控哪些信號和條件。在此要聲明您所感興趣的觀察點(要觀察的信號或節點)和斷點(RTL控制流程聲明,如IF、THEN 和CASE 等)。
第二步:通過探測構建設計。利用附加的監控電路——即用于根據您的監控要求捕捉并導出調試數據的智能內部電路仿真器(IICE)——對FPGA設計進行綜合。
第三步:分析和調試。設計綜合完成之后,運行設計并用RTL調試器觀察數據。在開發板上運行測試時,觀察點和斷點共同觸發數據采樣,使您能在您所關注的非常明確的條件下觀察并調試特定節點的電路的行為。您可將觀察到的采樣數據寫入VCD 文件并將其關聯到RTL。
第四步:漸進性修復錯誤(incrementaLfix)。一旦找到了錯誤所在,就可以通過分級、漸進式流程在RTL或約束中漸進地進行修復。
評論