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