由于芯片設計復雜度的提升、集成規模的擴大,以及產品上市時間要求的縮短,使得設計驗證變得更加困難。特別是在多FPGA環境中,設計調試和驗證的復雜性進一步增加,傳統的調試手段難以滿足對高性能、高效率的需求。因此,高效的調試(Debugging)手段在原型驗證中顯得尤為重要。今天,我們將探討設計調試的常見方法,涵蓋從簡單到復雜的多種調試。
1. 原型驗證為什么重要?隨著大規模集成電路設計復雜性的增加,芯片驗證面臨著巨大的資金和時間挑戰。早期開發者只能通過模擬或流片來驗證設計,耗時且成本高。原型驗證通過在流片前盡可能還原芯片的實際使用場景,確保功能模塊的可靠性和穩定性,同時評估性能。這不僅能縮短芯片上市時間,還可以向客戶演示產品并提前預售。此外,原型驗證還可以顯著降低成本。在通過功能驗證后,原型驗證使得驅動開發能夠提前展開,無需等待芯片流片(Tape Out)。當芯片回片后,應用程序可以基于原型驗證時開發的驅動進行簡單適配,迅速應用于SoC上,進一步縮短上市周期。
與軟件仿真和硬件仿真相比,原型驗證的最大優勢在于其高性能。當前有多種驗證方法可供選擇,如軟件仿真、硬件仿真和原型驗證。三者在芯片前端設計的功能驗證階段發揮著重要作用。相比之下,軟件仿真操作簡便,但速度較慢,適合小型設計和模塊級驗證;硬件仿真容量大,擴展性好,調試能力強,適合大型設計的模塊、芯片級和系統級驗證;而原型驗證則運行速度快,但調試能力相對較弱。如今許多用戶依賴FPGA芯片供應商提供的調試工具,但這些調試手段相對單一且有限。接下來,我們將詳細介紹如何應對這些調試挑戰,并介紹思爾芯在這一領域的調試方案。
在調試與觀測工具方面,思爾芯的芯神瞳 Prodigy原型驗證解決方案就提供了全面且靈活的調試手段,配備了實時控制軟件(Player Pro-RunTime)、設計調試軟件(Player Pro-DebugTime)、深度調試套件 Multi-Debug Module(MDM)、協同仿真軟件ProtoBridge等完整工具鏈,極大提升了用戶效率。這些功能的增加主要是由于思爾芯面向廣泛的客戶需求,而這是其他廠商可能未能提供的。
2. 設計調試有哪些手段?
在原型驗證中,調試的核心任務是定位和解決設計中的故障,以確保系統功能的正確性。特別是在大規模復雜的SoC設計原型驗證過程中,工程師需要確保設計中的問題是可調試的,最大程度地減少開發過程中花費在調試上的時間。通常,用戶將設計下載到FPGA后,第一次運行時總會遇到各種失敗情況。這些失敗的原因可能是FPGA原型的網絡不正確、設計本身存在問題,或是設計在編譯過程中引入的錯誤(如由于設計分割和引腳復用引起的時序錯誤)。因此,開發人員需要有效的軟件調試和觀測工具,來確認硬件是否正常運行,所有功能模塊是否按照預期工作,以快速定位和解決問題。這就需要借助外部邏輯分析儀或內嵌邏輯分析儀來探測故障的根源。
目前,常見的設計調試手段包括:基本I/O、AXI總線事務、信號級調試以及基于協議的連接等。多數用戶還習慣于使用FPGA廠商提供的內嵌邏輯分析儀,進行原型驗證系統上板測試階段的調試。然而,這些工具在面對復雜的多FPGA設計,即大規模復雜設計時,可能會面臨資源消耗過大以及管理難度較高的問題。
思爾芯為工程師們提供了一套全面且靈活的調試解決方案,涵蓋從簡單到復雜的多種調試方法,滿足不同客戶在原型驗證中的多樣化需求,確保調試過程順利進行。
- 基本I/O調試(Basic I/Os)
FPGA廠商在其軟件生態系統中也提供了多種信號級探測工具,常見的解決方案包括VIO IP核、信號源和探針編輯器,這些工具通常通過JTAG進行監控和驅動網絡。而思爾芯的I/O調試功能更加豐富,不僅在原型驗證系統上集成了多個基本的I/O接口,如按鍵、DIP開關、GPIO和UART等,使設計中的交互操作更加直觀便捷。此外,思爾芯的Player Pro軟件通過虛擬接口增強了遠程診斷能力,使調試過程更加高效便捷。
- 總線事務調試(Bus Transaction Debugging)
在復雜SoC設計中,AXI總線事務調試是一種非常有效的手段,特別是在AXI已成為主流協議的設計中。思爾芯的ProtoBridge解決方案通過PCIe提供約4GB/s的高帶寬,實現AXI事務的高性能橋接。該解決方案包括一個AXI橋接的RTL接口,便于與測試設計連接,同時還提供PCIe設備驅動程序和API,支持開發基于軟件的激勵,很適合軟硬件協同開發。此外,思爾芯的原型驗證已內建大約10Mbps的以太網調試,支持設計中存儲器映射AXI從設備的快速讀寫訪問,可以滿足低帶寬的AXI調試需求。
- 信號級調試(Signal Level Debugging)
信號級調試是原型驗證中最基礎且常用的調試方法,主要通過探測設計中的內部信號來診斷問題。思爾芯的Player Pro軟件在此領域表現尤為出色,能夠幫助設計人員輕松將內部信號引出并分配給I/O,從而更有效地進行調試。思爾芯還提供了多種擴展卡,方便用戶進行針腳連接、3.3V電壓轉換,此外還增加了額外的按鈕和開關接口以及外部邏輯分析儀的連接接口,進一步提高了調試的靈活性和效率。
- 基于協議的調試(In-System Protocol Debugging)
當FPGA原型與真實世界的數據進行交互時,基于協議的調試尤為重要。思爾芯提供了超過90種現成的擴展卡和參考設計,幫助用戶實現多種協議的系統內測試。如果用戶有更為特殊的需求,思爾芯還可以提供定制化的解決方案,以優化系統級的測試和調試,確保用戶的原型驗證過程順利完成。
強大的調試工具包括邏輯分析儀、協議分析儀和實時監控工具等。這些工具必須能夠與原型驗證平臺無縫集成,提供實時的調試信息和可視化的數據分析功能。此外,還需要支持遠程調試,以便在不同地理位置的團隊之間進行協作。主要挑戰在于如何在不影響系統性能的情況下,提供詳盡的調試信息,以及設計直觀高效的調試界面。確保這些工具能夠快速、準確地反饋系統狀態和數據,以便開發人員及時發現和解決潛在問題。通過這些多樣化的調試方法,思爾芯不僅幫助用戶在原型驗證中快速定位問題,還極大地提升了調試效率和系統穩定性,確保設計能夠順利進入下一個開發階段。
- 深度邏輯分析調試方案
FPGA廠商的嵌入式邏輯分析儀(如SignalTap和ChipScope)通常用于在FPGA的片上RAM塊中采樣和存儲信號,隨后通過JTAG讀取這些信號。目前,大多數用戶已經習慣使用FPGA廠商提供的嵌入式邏輯分析儀(ILA)來進行單顆FPGA的原型驗證系統調試。
然而,對于需要進行深度調試或多FPGA級聯的用戶來說,常遇到的問題是需要更多內存來存儲信號,以及跨FPGA的調試需求。由于FPGA內部資源有限,且多FPGA級聯的原型驗證系統規模龐大,多個模塊通常分散在不同的FPGA中。此時就需要具備cross-trigger功能,即當某顆FPGA中的調試模塊觸發時,能夠同時抓取多顆FPGA中的調試模塊的trace數據。一些FPGA廠商提供的ILA可以實現同一顆FPGA內不同的時鐘域以及不同FPGA之間的ILA內核的交叉觸發。
為了更好地支持多FPGA的信號級探測,思爾芯提供了多 FPGA 并發深度調試方案。最新的MDM Pro支持同時對多達8個FPGA進行并發探測,并具備多FPGA觸發功能。MDM Pro配備了64GB的內置DDR4內存,能夠實現深度信號跟蹤。它可以捕獲多達16K條信號,分為8組,每組包含2K個探針,而無需重新編譯FPGA。這一解決方案通過將MDM Pro預構建到我們的Quad 10M和Quad 19P邏輯系統中,提升了生產力。MDM Pro的觸發設置設計直觀,且與FPGA廠商工具中的觸發設置非常相似,確保了工程師在使用時能夠順暢過渡。
MDM Pro具備靈活性,能夠適應不同的設計流程偏好,支持IP模式和編譯模式兩種流程。在IP模式下,設計人員可以直接在RTL中實例化MDM客戶端,以連接他們希望捕獲的信號。或者,設計人員也可以通過編譯模式,使用Player Pro指定需要捕獲的信號,從而提供了一種高效且多樣化的調試方式
。3. 寫在最后
在芯片設計過程中,原型驗證在性能上顯著優于軟件仿真和硬件仿真,盡管在可視性方面稍顯不足。這促使了商用原型驗證解決方案對高效調試手段的深度需求與重要性,以最大化原型驗證的優勢。作為國內最早推出原型驗證工具的EDA供應商,思爾芯一直以來通過其全面且靈活的調試手段提升原型驗證的生產力和效率。由于在大規模復雜 SoC 設計原型驗證過程中,可用的可視性往往局限于單個FPGA,這使得跨多個FPGA映射的設計使調試可見性變得更加困難。思爾芯高效且多樣化的調試方式,適用于從簡單到復雜的多種應用場景,尤其應對多FPGA環境中的復雜挑戰,并在工程師加速設計驗證和縮短上市時間方面發揮了關鍵作用。
-
芯片
+關注
關注
453文章
50406瀏覽量
421833 -
集成電路
+關注
關注
5381文章
11385瀏覽量
360875 -
soc
+關注
關注
38文章
4122瀏覽量
217940 -
驗證
+關注
關注
0文章
59瀏覽量
15167
發布評論請先 登錄
相關推薦
評論