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

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

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

利用FPGA式原型板開發(fā)新型SOC實驗平臺

電子設(shè)計 ? 作者:電子設(shè)計 ? 2018-10-07 11:29 ? 次閱讀

預(yù)制與定制FPGA式原型板加入?yún)f(xié)同仿真(co-emulation and co-simulation)功能,能夠提供高速、高能見度平臺,實現(xiàn)SoC的快速、早期驗證。

系統(tǒng)芯片(SoC)設(shè)計的規(guī)模與復(fù)雜度不斷地攀升。同時,產(chǎn)品在市場上的存活時間不斷地緊縮,當(dāng)今的電子市場也對于上市所需的前置時間非常敏感。這些全都加深了SoC設(shè)計與驗證團隊的壓力。事實上,現(xiàn)在廣為接受的說法就是,驗證占了整體SoC開發(fā)時間的70%。所以,能夠降低驗證成本、加速驗證執(zhí)行以及在開發(fā)初期盡早進行驗證的作法,都是眾人注目的焦點。

這篇文章首先介紹構(gòu)成典型SoC設(shè)計與驗證環(huán)境的主要因素;也會說明傳統(tǒng)驗證解決方案的優(yōu)缺點,包括軟件仿真、硬件輔助加速與仿真,還有FPGA式原型板的使用。接著會說明創(chuàng)新而且價格合理的做法,讓標準FPGA式原型板能夠轉(zhuǎn)變成為完善的桌上型硬件仿真器。我們推薦的這種做法是一種典范轉(zhuǎn)移(paradigm shift),能使既有的硬件仿真 (in-circuit emulation) 功能自動化,并且增添全新協(xié)同仿真功能,大幅提高預(yù)制與定制設(shè)計FPGA式原型板的驗證效率。

典型的SoC設(shè)計與驗證環(huán)境

首先,讓我們來看看典型SoC設(shè)計與驗證環(huán)境的前端部分。至少,這包含某些形式的設(shè)計輸入、軟件仿真方式的功能驗證,還有邏輯綜合,如圖1所示。甚至,這種設(shè)計環(huán)境現(xiàn)在大多也包括SpringSoft的Verdi?自動化偵錯系統(tǒng)。Verdi系統(tǒng)讓用戶能夠分析自己軟件仿真器1的結(jié)果并執(zhí)行偵錯,還可以自動使任何門級結(jié)果與對應(yīng)的RTL源代碼發(fā)生關(guān)連。

圖1. 簡化的SoC前端設(shè)計與驗證環(huán)境。

各式各樣功能驗證的問題之一,就是要收集與儲存的數(shù)據(jù)量。以軟件仿真器為例,監(jiān)視大量信號會大幅拖慢仿真速度,而且冗長的仿真進度又會導(dǎo)致更大量的數(shù)據(jù);所以,許多設(shè)計與驗證環(huán)境都使用了SpringSoft的Siloti?能見度自動增強系統(tǒng),來減少記錄設(shè)計中許多信號數(shù)據(jù)的負擔(dān)。Siloti系統(tǒng)用來找出仿真進行中最低限度必須記錄的信號;然后Siloti系統(tǒng)會運用這些信號,自動且迅速的產(chǎn)生所有需要但未記錄的信號數(shù)據(jù)。

軟件仿真的主要優(yōu)勢就是對設(shè)計有完全的能見度;而主要的缺點就是慢,即使在威力強大、高階工作站上執(zhí)行,并采用Siloti能見度自動增強技術(shù) - 當(dāng)今大型SoC設(shè)計的軟件仿真只能勉強達到幾Hz的仿真速度 (也就是說,每秒鐘只能有幾次設(shè)計的實時主系統(tǒng)頻率周期)。這表示,軟件仿真通常僅適用于設(shè)計的一小部分,或者適用于全芯片設(shè)計的數(shù)十個頻率周期而已。但是,完全驗證現(xiàn)代化SoC需要成千上萬甚至數(shù)百萬頻率周期,這時就需要某種形式的硬件輔助驗證,如圖2所示。

圖 2. 簡化的SoC前端設(shè)計與驗證環(huán)境,增添某種形式的硬件輔助驗證。

傳統(tǒng)的硬件輔助驗證解決方案

各種硬件輔助驗證解決方案具備不同的功能、優(yōu)點與缺點。也有許多方法可以運用不同的系統(tǒng),來解決不同類型的問題;包括硬件仿真(in-circuit emulation) 、交易級協(xié)同仿真以及HDL協(xié)同仿真。

一般而言,傳統(tǒng)的硬件輔助驗證解決方案僅包括硬件加速器與/或仿真器。FPGA式原型板通常不被視為可行的替代方案,因為缺乏與工作站連結(jié)的能力,而且無法提供足夠的設(shè)計能見度以供偵錯使用。

傳統(tǒng)的硬件加速與/或仿真系統(tǒng)都是專屬系統(tǒng),利用定制設(shè)計的芯片、或標準FPGA,來建構(gòu)特殊目的系統(tǒng)。這些系統(tǒng)的目的是要盡可能如同軟件仿真器一般運作,包括能見度與偵錯功能等因素。這些系統(tǒng)運用能夠駕馭其定制芯片或架構(gòu)的特殊軟件,提供大型容量與相當(dāng)快速的編譯時間,讓設(shè)計能夠映像到硬件上;他們也提供相當(dāng)優(yōu)良的設(shè)計能見度 (可見度與可控制度)。但是,這些系統(tǒng)非常昂貴,難以讓許多使用者、項目與團隊廣泛的運用。再者,一旦采用這種系統(tǒng)之后,就很難升級到新一代的系統(tǒng);除了新版定制設(shè)計芯片與系統(tǒng)需要耗費時間來開發(fā)之外,還必須考慮高昂的過渡成本等其他因素。

轉(zhuǎn)移到FPGA式原型板

作為硬件加速器與仿真器的替代方案,許多設(shè)計業(yè)者運用可以現(xiàn)成購買的,或者由SoC驗證團隊定制設(shè)計FPGA式原型板。如圖3的例子,設(shè)計在工作站上編譯 (綜合) 后;映射、布局與繞線;然后將結(jié)果的FPGA配置文件 (或者是系統(tǒng)包含許多FPGA時的文件) 下載到原型板上。典型的運用模型適合于SoC設(shè)計 (或部分設(shè)計模塊)驗證時使用硬件仿真(in-circuit emulation)的方式;也就是說,如圖3所示,運用實際輸入/輸出 (I/O) 信號來驅(qū)動。除了由外部系統(tǒng)所驅(qū)動 - 和帶動之外,也可以掌握實際的I/O信號以供邏輯分析器等來進行后續(xù)分析。

圖 3. 以硬件仿真(in-circuit emulation)方式運作的傳統(tǒng)FPGA式原型板環(huán)境的高階呈現(xiàn)。

傳統(tǒng)FPGA式原型板的主要優(yōu)勢就是高效能,而且相對而言比較便宜,所以能夠讓許多使用者、項目與團隊廣泛的運用。此外,這些原型板能夠運用最新一代的FPGA技術(shù),讓使用者能夠快速而輕松地轉(zhuǎn)移到新一代原型板。而其主要缺點就是難以設(shè)定,而且無法與工作站連結(jié)以支持協(xié)同仿真 (co-emulation and/or co-simulation)。再加上只能提供極有限的設(shè)計能見度,所以缺乏精密的偵錯功能。

強化傳統(tǒng)FPGA式原型板

傳統(tǒng)FPGA式原型板通常都配備J-Connector,希望讓原型板能夠連接到外埠裝置。本文提出的作法就是利用這個J-Connector,建立能與其連接的特殊適配卡,以扮演主機工作站與FPGA式原型板之間的橋梁,如圖4所示。

圖4. 新增適配卡與某些軟IP (soft IP)。

FPGA式原型板與工作站之間的所有通訊都可以運用某些專屬總線而建置起來,提供仿真與協(xié)同仿真所需的高性能。由于這種互連技術(shù),使用者擁有可架構(gòu)和運用不同原型板以搭配同一J-Connector的絕佳彈性。這種能力也表示,使用者能夠快速而且輕易地轉(zhuǎn)移到更快速和更龐大的FPGA式原型板,可以完全免除傳統(tǒng)硬件輔助驗證解決方案相關(guān)的限制。

接下來看看圖4所示的軟IP模塊 (soft IP)。這些IP模塊可下載至原型板上的各FPGA,然后可用來控制和監(jiān)視FPGA式原型板與工作站之間的數(shù)據(jù)流動。因操作模式 (硬件仿真、協(xié)同仿真) 的不同,可以自動插入適當(dāng)且必要的「特色」IP模塊。這些IP模塊可以編譯到設(shè)計中,用來監(jiān)控用戶指定的任意信號。如此一來,就可以掌握和分析來自數(shù)千信號仿真數(shù)百萬頻率周期的數(shù)據(jù)。

除了互連技術(shù)之外,本文的作法也需要如圖5所示在工作站上執(zhí)行的特殊軟件來執(zhí)行許多功能,例如自動建立包含多顆FPGA的原型板。這個建立流程涵蓋讀取設(shè)計的RTL源代碼 (以VHDL、Verilog、SystemVerilog或混合式語言)、分析FPGA內(nèi)部與外部的內(nèi)存、轉(zhuǎn)換SoC頻率已產(chǎn)生無hold-time問題的設(shè)計在FPGA中使用、分割完整SoC設(shè)計的RTL以便放入多顆FPGA,以及調(diào)整RTL來搭配軟IP模塊與要監(jiān)控的信號。

圖5. 增添在工作站上執(zhí)行的特殊軟件。

在驗證途中,軟件可以依據(jù)建立時指定的操作模式 (硬件仿真、協(xié)同仿真),控制和管理FPGA式原型板與工作站之間的通訊與數(shù)據(jù)流動。另外,能快速修改所監(jiān)控信號的能力也很重要,這樣才能夠快速且輕易地新增監(jiān)控的信號,不必重復(fù)編譯整個設(shè)計。最后,就是原型板上FPGA內(nèi)部狀態(tài)的能見度,這包括在特定時間或以逐一頻率周期為基準所提供的寄存器 (registers) 與內(nèi)存輸出,在進階偵錯時非常實用。

設(shè)計原型的「桌上型」驗證

為了更完全了解因本文所討論互連與軟件自動化技術(shù)而實現(xiàn)的各種功能與使用模式,讓我們來看一些范例情境。最簡單的例子就是圖6所示的純粹硬件仿真應(yīng)用。在桌上型工作站上執(zhí)行的軟件會自動分割設(shè)計,并準備原型板。在建立過程中,會在設(shè)計中置入所有必要的探測點,以便在執(zhí)行時掌握特定信號數(shù)據(jù)。

圖6. 硬件仿真情境的范例。

此外,使用者也可以選擇性的運用Siloti能見度自動增強系統(tǒng),來幫助判斷需要觀察的最少信號量。以及運用Verdi自動化偵錯系統(tǒng)來分析FPGA式硬件原型板的結(jié)果,并執(zhí)行偵錯。由于設(shè)立軟件會自動將任何門級信號關(guān)連至對應(yīng)的RTL信號,Verdi系統(tǒng)搭配RTL源代碼可以加速偵錯的進度。

交易級協(xié)同仿真是可以大幅加速驗證流程,其速度比僅使用軟件仿真要快上數(shù)百或數(shù)千倍,常見的狀況是testbench (或許是設(shè)計的一部份) 常駐在工作站上,而大量 (或全部) 設(shè)計被加載到原型板。工作站上執(zhí)行的軟件會自動分割設(shè)計,自動建立原型板,然后插入適當(dāng)?shù)膮f(xié)同仿真基礎(chǔ)架構(gòu) (例如SCEMI式處理裝置)。在前述情境中,建立時,所有必要的探測點都會置入設(shè)計中,以便在執(zhí)行時能夠掌握特定的信號數(shù)據(jù)?;蛘撸瑓f(xié)同仿真可以暫停,也可以設(shè)置軟件在特定時間或按照逐一頻率周期,將FPGA內(nèi)部狀態(tài)的完全能見度輸出,如圖7所示。

圖7. 交易級協(xié)同仿真情境的范例。

最后,讓我們看看HDL協(xié)同仿真,這種加速驗證流程,其速度比單僅使用軟件仿真要快上數(shù)十倍。同樣地,testbench (或許是設(shè)計的一部份) 常駐在工作站上,而大量 (或全部) 設(shè)計被加載到原型板。在這個情境中,工作站上執(zhí)行的軟件會自動分割設(shè)計,建立原型板,和產(chǎn)生可供軟件仿真器連接的包裝器(wrapper)。執(zhí)行時,軟件會控制原型板與ModelSim、NC或VCS等業(yè)界標準軟件仿真器之間的協(xié)同仿真互動。如同前面幾個情境中的討論一般,透過軟件與FPGA內(nèi)部技術(shù)的組合,可在特定時間或按照逐一頻率周期,將原型板上FPGA內(nèi)部狀態(tài)的能見度,包括寄存器與內(nèi)存輸出,如圖8所示。

圖8. HDL協(xié)同仿真情境的范例。

新一代原型驗證平臺的優(yōu)點

產(chǎn)品在市場上的存活時間及上市前置時間不斷縮短造成了當(dāng)今SoC設(shè)計與驗證團隊的莫大壓力。軟件仿真提供對設(shè)計內(nèi)部的100%能見度,但是只適合于設(shè)計的一小部分,或者整個設(shè)計的數(shù)十個頻率周期而已。然而,完全驗證現(xiàn)代SoC需要耗費成千上萬甚至百萬頻率周期,所以需要某種形式的硬件輔助驗證。各式各樣的硬件輔助驗證解決方案具備不同的功能、優(yōu)點與弱點。表1提供了各種硬件輔助驗證技術(shù)的大略比較。

傳統(tǒng)硬件加速器與仿真器提供大容量、相對快速的編譯時間,以及相當(dāng)良好的設(shè)計能見度。然而,這些系統(tǒng)太昂貴而難以廣泛運用,而且因為轉(zhuǎn)移成本高昂,也難以與時俱進地升級至新一代解決方案。比較上,傳統(tǒng)FPGA式原型板提供高效能,而且比較便宜;但是,缺乏設(shè)計能見度與精密的偵錯功能,無法克服當(dāng)代SoC的復(fù)雜度,而且通常僅以硬件仿真模式來運用。

表1. 硬件輔助驗證技術(shù)的比較。

為了解決這些問題,我們建議一種SoC驗證的新方法,將傳統(tǒng)FPGA式原型板轉(zhuǎn)變成桌上型加速器/仿真器。這需要創(chuàng)新的互連技術(shù),能夠提供對預(yù)制與定制設(shè)計板的通用連結(jié);還有特殊化的軟件自動化,在工作站上以硬件仿真、協(xié)同仿真模式執(zhí)行,并具備極高的設(shè)計能見度。

運用強化上述功能的FPGA式原型板,SoC開發(fā)人員可快速驗證個別模塊 (包括內(nèi)部與第三方IP模塊) 和設(shè)計模塊是否正常運作,甚至于整個SoC設(shè)計的驗證。這個新一代原型驗證平臺可提高FPGA式原型版的投資報酬率及生產(chǎn)力,提供更高驗證效率與彈性,并能快速轉(zhuǎn)移到配備最新FPGA技術(shù)的原型板。

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

    關(guān)注

    1625

    文章

    21636

    瀏覽量

    601315
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4108

    瀏覽量

    217790
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4028

    瀏覽量

    133344
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA為基礎(chǔ)的SoC驗證平臺 自動化電路仿真?zhèn)慑e功能

    制化FPGA原型板驗證效率的創(chuàng)新方法,自動化現(xiàn)有的電路仿真(in-circuit emulation)偵錯功能,并提供更高的FPGA能見度。這個以FPGA為基礎(chǔ)的
    發(fā)表于 07-24 09:47

    如何利用FPGA研究設(shè)計平臺為網(wǎng)絡(luò)發(fā)展加速?

    斯坦福大學(xué)與賽靈思研究實驗室(Xilinx Research Labs)聯(lián)手開發(fā)專門面向研究社群的第二代高速網(wǎng)絡(luò)設(shè)計平臺 NetFPGA-10G。該
    發(fā)表于 08-27 08:30

    求一種利用FPGA實現(xiàn)原型板原理圖驗證的新方法

    請教大神如何利用FPGA實現(xiàn)原型板原理圖的驗證?
    發(fā)表于 04-29 06:57

    如何利用現(xiàn)成FPGA開發(fā)板進行ASIC原型開發(fā)

    ASIC驗證能夠采用的主要技術(shù)是什么?如何利用現(xiàn)成FPGA開發(fā)板進行ASIC原型開發(fā)
    發(fā)表于 05-08 07:51

    利用RC1000和SoC設(shè)計展示評估平臺RC200搭建一個原型驗證系統(tǒng)的樣機?

    SoC原型的Handel-C描述及其實現(xiàn)流程是怎樣的?利用RC1000和SoC設(shè)計展示評估平臺RC200搭建一個
    發(fā)表于 05-28 06:15

    STD母線墊每孔原型板的資料分享

    描述大約 45 年后,STD Bus 仍然是老式計算機愛好者的絕佳平臺。該原型板的尺寸可裝入標準 STD 總線卡籠中,并允許制造商快速高效地創(chuàng)建原型。提供了豐富的電源和接地軌,信號名稱的廣泛絲網(wǎng)印刷,以及每孔項目空間充足的焊盤,
    發(fā)表于 08-30 06:09

    用于Microchip 8位PIC的原型板

    描述原型板 - 28 針 PIC用于 Microchip 8 位 PIC 的原型板?微控制器采用 28 引腳 DIP 封裝。
    發(fā)表于 09-07 07:57

    Arm MPS2和MPS2+FPGA原型板技術(shù)參考手冊

    MPS2和MPS2+FPGA原型板是ARM Cortex-M評估和開發(fā)開發(fā)平臺。 MPS2和MPS2+
    發(fā)表于 08-18 07:25

    Altera FPGA/SOPC創(chuàng)新實驗平臺開發(fā)應(yīng)用

    Altera Cyclone全系列專業(yè)級列開發(fā)實驗平臺產(chǎn)品線縱覽:FPGA設(shè)計層次􀂄平臺設(shè)計􀂄VHDL/
    發(fā)表于 12-27 16:14 ?20次下載

    這個仿真/原型平臺性能逆天了!

    Global的新型HTG-847仿真/原型平臺為新一代 ASIC和復(fù)雜 SOC原型設(shè)計及仿真應(yīng)用提供了快速、準確地解決方案,實現(xiàn)
    發(fā)表于 02-08 09:09 ?708次閱讀
    這個仿真/<b class='flag-5'>原型</b><b class='flag-5'>平臺</b>性能逆天了!

    FPGA原型板的額定容量高達3000萬個ASIC 門

    顧名思義,proFPGA 的 Ultra-Scale? XCVU440 FPGA 模塊基于賽靈思 Virtex? UltraScale VU440,而且該原型板的額定容量高達 3000 萬個
    發(fā)表于 02-08 12:12 ?430次閱讀

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

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

    借助FPGA開發(fā)SoC原型制作平臺(Xilinx的Zynq為例)

    門陣列(FPGA)做為安謀國際核心測試芯片,進而建構(gòu)SoC原型制作平臺。 驗證SoC設(shè)計 FPGA
    發(fā)表于 05-11 09:07 ?2624次閱讀
    借助<b class='flag-5'>FPGA</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>SoC</b><b class='flag-5'>原型</b>制作<b class='flag-5'>平臺</b>(Xilinx的Zynq為例)

    如何使用PCB原型板

    印刷電路板在技術(shù)上有許多用途。但是,在進入 PCB 制造階段之前,先進行概念測試會更具成本效益。 PCB 原型板允許在制造完整印刷版之前以較便宜的方式批準想法。 在本文中,我們將介紹不同的可用類型
    的頭像 發(fā)表于 10-23 19:42 ?2392次閱讀

    基于FPGA原型設(shè)計的SoC開發(fā)

    所有形式的原型都為驗證硬件設(shè)計和驗證軟件提供了強大的方法,模型或多或少地模仿了目標環(huán)境?;?b class='flag-5'>FPGA原型設(shè)計在項目的關(guān)鍵后期階段尤其有益。用戶有幾個原型設(shè)計選項根據(jù)他們的主要需求,可
    發(fā)表于 10-11 12:39 ?768次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b>設(shè)計的<b class='flag-5'>SoC</b><b class='flag-5'>開發(fā)</b>