一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA SoC的驗證挑戰(zhàn)與解決方案

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:Thomas L. Anderson ? 2022-06-14 10:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

沒有人說過 FPGA 設(shè)計很容易。然而,與開發(fā) ASIC 和定制芯片的同行相比,可編程設(shè)備的設(shè)計人員長期以來在驗證方面具有主要優(yōu)勢。當(dāng)然,這種優(yōu)勢在于可以修復(fù)在 FPGA 驗證過程中遺漏的設(shè)計錯誤,而無需重新制造芯片。不久前,很多FPGA設(shè)計者根本沒有進行驗證;他們可以直接“吹氣就走”到培養(yǎng)實驗室。

在實驗室中,F(xiàn)PGA 被直接插入到最終系統(tǒng)的原型中。該團隊專注于產(chǎn)品驗證,在產(chǎn)品最終應(yīng)用的上下文中提出硬件和軟件(如果需要)。在實驗室中發(fā)現(xiàn)任何漏掉的設(shè)計錯誤都可能很乏味。一旦找到一個,重新編程 FPGA 并繼續(xù)啟動是一件簡單的事情。只要錯誤的數(shù)量保持相當(dāng)小,這個串行過程就可以很好地工作。

隨著可編程芯片變得越來越大和越來越復(fù)雜,實驗室中發(fā)現(xiàn)的錯誤數(shù)量和發(fā)現(xiàn)它們所需的時間都顯著增加。為了保持合理的啟動計劃,F(xiàn)PGA 開發(fā)團隊意識到他們必須在進入實驗室之前更好地驗證他們的設(shè)計。作為回應(yīng),F(xiàn)PGA 驗證團隊?wèi)?yīng)運而生,并開始看起來很像他們的 ASIC 表親。

寄存器傳輸級 (RTL) 仿真仍然是所有芯片驗證的核心,F(xiàn)PGA 團隊從簡單的手寫矢量文件轉(zhuǎn)移到仿真中更加自動化的測試臺。一些采用了通用驗證方法 (UVM) 標(biāo)準(zhǔn)的約束隨機功能。用于檢查時鐘域和低功耗結(jié)構(gòu)的靜態(tài)分析工具開始出現(xiàn),一些高級 FPGA 團隊甚至開始使用形式分析。

更復(fù)雜的驗證方法變得越來越普遍,以減少在啟動實驗室中花費的時間并加快最終產(chǎn)品的上市時間。然而,F(xiàn)PGA 設(shè)計人員仍然擁有能夠重新編程設(shè)備以修復(fù)通過驗證并在實驗室中發(fā)現(xiàn)的錯誤的后備位置。隨著 FPGA 片上系統(tǒng) (SoC) 設(shè)計的出現(xiàn),即使這種轉(zhuǎn)義機制也越來越不可用。

FPGA SoC 驗證的挑戰(zhàn)

圖 1 顯示了一個具有代表性的 FPGA SoC,基于多個供應(yīng)商公開發(fā)布的框圖。芯片的很大一部分仍然是可用于最終產(chǎn)品及其應(yīng)用的傳統(tǒng)可編程邏輯。但是,包含一個硬核處理器子系統(tǒng)以提供 SoC 級電源。該子系統(tǒng)通常包括至少兩個嵌入式處理器、片上存儲器以及各種內(nèi)部和外部接口。

圖 1:除了傳統(tǒng)的用戶可編程邏輯之外,當(dāng)今的 FPGA SoC 還包含多個處理器和標(biāo)準(zhǔn)接口。

pYYBAGKn9_SAIN0QAAQPFOGr1Qw938.png

FPGA 團隊在使用此類復(fù)雜芯片進入 SoC 時代時遇到驗證障礙的原因有三個。首先是重新編譯和重新編程巨大的 FPGA 的時間。一旦發(fā)現(xiàn)錯誤并更改源 RTL 代碼,在高端個人計算機上創(chuàng)建新圖像的過程可能需要一整天。然后必須將圖像下載到 FPGA,這可能需要幾個小時。

其次,實驗室調(diào)試過程也是使 FPGA 設(shè)計功能正確所需時間的一個重要因素。一旦將芯片安裝到真正的目標(biāo)系統(tǒng)中,就很難操縱輸入或讀取輸出。協(xié)議分析儀可用于標(biāo)準(zhǔn)總線,但幾乎總是有帶有自定義或 ad hoc 接口的 FPGA 端口。一個團隊在實驗室中花費數(shù)天甚至數(shù)周的時間試圖追蹤一個難以捉摸的錯誤的來源并不罕見。

根據(jù) FPGA 架構(gòu),團隊可能必須進行多次編譯/程序傳遞,以帶出內(nèi)部信號以進行調(diào)試。一旦發(fā)現(xiàn)錯誤,在驗證錯誤是否已得到解決之前,可能需要更多的編譯/程序通過來嘗試可能的修復(fù)。通常,團隊會在重新編程之前驗證錯誤并在模擬中測試修復(fù)。這是一個聰明的舉動,但會增加調(diào)試周期的時間。

問題的第三個方面在于 FPGA SoC 本身的架構(gòu)。根據(jù)定義,SoC 至少有一個嵌入式處理器。它可能有幾個或許多同質(zhì)或異構(gòu)處理器。SoC 的關(guān)鍵在于處理器負(fù)責(zé)控制許多功能塊、存儲器和 I/O 端口之間的數(shù)據(jù)流。如果沒有在其嵌入式處理器上運行的軟件,SoC 只能做很少的事情。

這樣做的主要結(jié)果是,必須有某種形式的軟件才能在啟動實驗室的 FPGA SoC 處理器上運行。在設(shè)計 FPGA 時,最終產(chǎn)品軟件通常還沒有準(zhǔn)備好,因此開發(fā)團隊經(jīng)常不得不創(chuàng)建特殊的診斷軟件來測試設(shè)備。這給項目增加了資源負(fù)擔(dān),因為該軟件必須與硬件設(shè)計并行開發(fā)。

手寫診斷代碼的開發(fā)既耗時又昂貴,難以維護,并且功能有限。人類不擅長并行思考,因此診斷很少會在設(shè)計中強調(diào)并發(fā)性、跨多個線程或多個處理器進行協(xié)調(diào),或者將塊串在一起形成現(xiàn)實的最終用戶應(yīng)用程序。結(jié)果是設(shè)計錯誤可能潛伏在 FPGA 中,直到在最終系統(tǒng)集成時發(fā)現(xiàn),甚至被客戶發(fā)現(xiàn)。

來自非 FPGA SoC 領(lǐng)域的解決方案

為了解決診斷軟件代碼的困境,F(xiàn)PGA SoC 開發(fā)人員必須從 ASIC 和定制芯片驗證這本書中翻開新的一頁。他們可以從自動生成多線程、多處理器、自我驗證 C 測試的方法中受益,這些測試強調(diào) SoC 中的系統(tǒng)級行為。這些測試可以加載到嵌入式處理器中并在模擬或硬件加速中運行。圖 2 顯示了此方法的工作原理。

圖 2:多線程、多處理器、自驗證 C 測試用例可以從基于圖形的 SoC 場景模型自動生成。

poYBAGKn-ACAfzCQAAScoHjUbI8022.png

測試用例生成器的來源是一個基于圖形的場景模型,它捕獲了預(yù)期的芯片行為和驗證計劃。生成器分析圖表以確定設(shè)計的功能,然后生成一組測試用例,使用嵌入式處理器驗證這些功能。C 代碼被編譯并下載到處理器中,并在模擬或模擬加速中運行,就像任何其他軟件一樣。

這些測試用例旨在強調(diào) FPGA 設(shè)計,在多個處理器上并行運行多個線程以測試并發(fā)功能。由于某些測試用例將從 FPGA 輸入中提取數(shù)據(jù)或?qū)?shù)據(jù)發(fā)送到其輸出,因此這種方法在測試臺中包含一個運行時組件,用于協(xié)調(diào)處理器和 I/O 活動。驗證團隊可以輕松連接到標(biāo)準(zhǔn) UVM 驗證組件 (VC)。

創(chuàng)建場景模型很簡單,因為它們反映了設(shè)計中的數(shù)據(jù)流并且類似于 SoC 框圖。這種初始投資能夠生成幾乎無限的測試用例以在模擬中運行。如果有合適的 I/O 引腳連接可用,甚至可以在編程的 FPGA 上運行這些測試用例。

這種生成方法為 FPGA 開發(fā)人員提供了對傳統(tǒng)“燒毀和攪動”重新編程周期的巨大改進,因為在實驗室中一個一個地發(fā)現(xiàn)了錯誤。自動化測試用例可以節(jié)省開發(fā)時間、提供更徹底的驗證并節(jié)省資源,因為嵌入式程序員不必開發(fā)一次性診斷。結(jié)果是更快、更可預(yù)測的 FPGA 開發(fā)計劃,即使是最復(fù)雜的 SoC 設(shè)計也是如此。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19893

    瀏覽量

    235175
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22049

    瀏覽量

    618404
  • 芯片
    +關(guān)注

    關(guān)注

    460

    文章

    52505

    瀏覽量

    440826
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    驗證中的FPGA原型驗證 FPGA原型設(shè)計面臨的挑戰(zhàn)是什么?

    什么是FPGA原型?? FPGA原型設(shè)計是一種成熟的技術(shù),用于通過將RTL移植到現(xiàn)場可編程門陣列(FPGA)來驗證專門應(yīng)用的集成電路(ASIC),專用標(biāo)準(zhǔn)產(chǎn)品(ASSP)和片上系統(tǒng)(
    發(fā)表于 07-19 16:27 ?2197次閱讀

    給Altera Arria 10 FPGA和Arria 10 SoC供電:經(jīng)過測試和驗證的電源管理解決方案

    :Arria 10 SoC 開發(fā)套件板針對內(nèi)核、系統(tǒng)和 I/O 的電源管理謹(jǐn)慎地選擇高端 FPGA (包括 Arria 10) 的電源管理解決方案應(yīng)謹(jǐn)慎地選擇。經(jīng)過審慎考慮的電源管理設(shè)計可縮減 PCB
    發(fā)表于 10-29 17:01

    如何設(shè)計基于SoC FPGA的工業(yè)和馬達控制方案?

    工業(yè)系統(tǒng)通常由微控制器和FPGA器件等組成,美高森美(Microsemi? )基于 SmartFusion?2 SoC FPGA的馬達控制解決方案是使用高集成度器件為工業(yè)設(shè)計帶來更多優(yōu)
    發(fā)表于 10-10 07:15

    SoC驗證平臺的FPGA綜合怎么實現(xiàn)?

    先進的設(shè)計與仿真驗證方法成為SoC設(shè)計成功的關(guān)鍵。一個簡單可行的SoC驗證平臺,可以加快SoC系統(tǒng)的開發(fā)與
    發(fā)表于 10-11 07:07

    SoC常見問題以及可行的解決方案

    SoC內(nèi)ADC子系統(tǒng)集成驗證挑戰(zhàn)
    發(fā)表于 04-02 06:03

    基于FPGA驗證平臺及有效的SoC驗證過程和方法

    設(shè)計了一種基于FPGA驗證平臺及有效的SoC驗證方法,介紹了此FPGA驗證軟硬件平臺及軟硬件
    發(fā)表于 11-17 03:06 ?1.4w次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>驗證</b>平臺及有效的<b class='flag-5'>SoC</b><b class='flag-5'>驗證</b>過程和方法

    利用FPGA軟硬件協(xié)同系統(tǒng)驗證SoC系統(tǒng)的過程和方法

    設(shè)計了一種基于FPGA驗證平臺及有效的SoC驗證方法,介紹了此FPGA驗證軟硬件平臺及軟硬件
    發(fā)表于 11-17 03:06 ?4801次閱讀
    利用<b class='flag-5'>FPGA</b>軟硬件協(xié)同系統(tǒng)<b class='flag-5'>驗證</b><b class='flag-5'>SoC</b>系統(tǒng)的過程和方法

    SoC設(shè)計的可擴展驗證解決方案

    為了充分利用系統(tǒng)級芯片(SoC)設(shè)計帶來的優(yōu)點,業(yè)界需要一種可以擴展的驗證解決方案,解決設(shè)計周期中各個階段的問題,縮短驗證鴻溝。本文將探討可擴展驗證
    發(fā)表于 06-04 03:13 ?1097次閱讀
    <b class='flag-5'>SoC</b>設(shè)計的可擴展<b class='flag-5'>驗證</b><b class='flag-5'>解決方案</b>

    關(guān)于 SoC FPGA 解決方案的演講

    Fujisoft公司在Altera SoC合作伙伴研討會上演講的主題:Fujisoft Android SoC FPGA解決方案
    的頭像 發(fā)表于 06-26 11:57 ?3110次閱讀

    驗證SoC功能、時序和功耗的最快解決方案

    片上系統(tǒng) (SoC) 集成支持半導(dǎo)體行業(yè)的成功,以繼續(xù)實現(xiàn)其更好、更小和更快芯片的目標(biāo)。多種工具用于電子系統(tǒng)的設(shè)計和驗證。驗證是最重要的方面之一,因為它證明了設(shè)計的功能正確性。使用 FPGA
    發(fā)表于 07-26 10:07 ?1282次閱讀

    為什么SoC驗證一定需要FPGA原型驗證呢??

    在現(xiàn)代SoC芯片驗證過程中,不可避免的都會使用FPGA原型驗證,或許原型驗證一詞對你而言非常新鮮,但是F
    的頭像 發(fā)表于 03-28 09:33 ?1666次閱讀

    SoC設(shè)計的IO PAD怎么移植到FPGA原型驗證

    FPGA原型驗證系統(tǒng)要盡可能多的復(fù)用SoC相關(guān)的模塊,這樣才是復(fù)刻SoC原型的意義所在。
    的頭像 發(fā)表于 04-19 09:08 ?1693次閱讀

    SoC設(shè)計的IO PAD怎么移植到FPGA原型驗證

    FPGA原型驗證系統(tǒng)要盡可能多的復(fù)用SoC相關(guān)的模塊,這樣才是復(fù)刻SoC原型的意義所在。
    發(fā)表于 05-23 16:50 ?889次閱讀
    <b class='flag-5'>SoC</b>設(shè)計的IO PAD怎么移植到<b class='flag-5'>FPGA</b>原型<b class='flag-5'>驗證</b>

    為什么SoC驗證一定需要FPGA原型驗證呢?

    在現(xiàn)代SoC芯片驗證過程中,不可避免的都會使用FPGA原型驗證,或許原型驗證一詞對你而言非常新鮮,但是F
    發(fā)表于 05-30 15:04 ?1802次閱讀
    為什么<b class='flag-5'>SoC</b><b class='flag-5'>驗證</b>一定需要<b class='flag-5'>FPGA</b>原型<b class='flag-5'>驗證</b>呢?

    SOC芯片設(shè)計的挑戰(zhàn)解決方案

    設(shè)計復(fù)雜性 挑戰(zhàn): 隨著技術(shù)的發(fā)展,SOC集成的組件越來越多,設(shè)計復(fù)雜性也隨之增加,這導(dǎo)致了設(shè)計周期的延長和成本的增加。 解決方案: 模塊化設(shè)計: 將SOC分解為可重用的模塊,可以簡
    的頭像 發(fā)表于 10-31 15:01 ?1291次閱讀