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