《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 高度整合硬件加速器的原型驗(yàn)證平臺(tái)Protium
高度整合硬件加速器的原型驗(yàn)證平臺(tái)Protium
2016年電子技術(shù)應(yīng)用第8期
孫豐軍1,李文強(qiáng)1,,陳思若2
1.北京展訊高科通信技術(shù)有限公司,,北京100190;2.Cadence公司,,北京100100
摘要: Protium是Cadence最新型的FPGA快速原版驗(yàn)證平臺(tái),和Cadence的硬件加速器Palladium系列高度整合,可完全重用Palladium的編譯流程,,運(yùn)行速度提升最高可到10倍,當(dāng)出現(xiàn)可疑RTL bug的時(shí)候可無(wú)縫移植到Palladium進(jìn)行調(diào)試,,是軟件調(diào)試的理想平臺(tái),。以展訊北京的AP+GPU項(xiàng)目驗(yàn)證為例,展示了Protium在軟件調(diào)試和系統(tǒng)驗(yàn)證流程中的價(jià)值和收獲,。
中圖分類號(hào): TN402
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.008
中文引用格式: 孫豐軍,,李文強(qiáng),陳思若. 高度整合硬件加速器的原型驗(yàn)證平臺(tái)Protium[J].電子技術(shù)應(yīng)用,,2016,,42(8):41-43.
英文引用格式: Sun Fengjun,Li Wenqiang,,Chen Siruo. Highly integrated hardware acceleration platform Protium[J].Application of Electronic Technique,,2016,42(8):41-43.
Highly integrated hardware acceleration platform Protium
Sun Fengjun1,,Li Wenqiang1,,Chen Siruo2
1.Beijing Spreadtrum High-Tech Communication Technology Co.,LTD,,Beijing 100190,,China; 2.Cadence,,Beijing 100100,,China
Abstract: The Cadence rapid prototyping platform Protium is addressing and solving challenges by providing a low cost and high speed solution that is fully integrated with the emulator in compile and debug flow, reducing the prototype bring up from months to weeks. This paper demonstrates the integrated flow of prototype and emulator in developing the AP+GPU SOC project at Spreadtrum Beijing design center. The Protium reuses the emulator compile environment and is fully automatic in FPGA implementation. It provides a 10X faster platform than emulator for software development and can still leverage the super debug capability of Emulator when runs to issue.
Key words : prototyping;Emulator,;early software development,;Palladium

1 展訊手機(jī)芯片性能驗(yàn)證的挑戰(zhàn)

  隨著智能手機(jī)的快速發(fā)展,,用戶對(duì)手機(jī)芯片的性能要求也越來(lái)越高,與之對(duì)應(yīng)的是芯片的規(guī)模也越來(lái)越大,,軟件也越來(lái)越復(fù)雜,,為了提高用戶體驗(yàn),加速芯片上市時(shí)間,,在芯片流片回來(lái)前,,需要盡早啟動(dòng)大量的軟硬件系統(tǒng)調(diào)試工作,而傳統(tǒng)的FPGA流程已經(jīng)很難滿足要求,。比如芯片性能測(cè)試中必須用到的GPU模塊,,對(duì)應(yīng)傳統(tǒng)的FPGA測(cè)試,一片Xilinx公司的Virtex7芯片已經(jīng)無(wú)法容納一款中高性能手機(jī)芯片的GPU模塊,,GPU模塊的特殊性又使得該模塊在FPGA上做partition變得很繁瑣困難,。同時(shí)FPGA調(diào)試板由于其調(diào)試復(fù)雜性往往延遲到項(xiàng)目后期才能成熟和使用,對(duì)于軟件團(tuán)隊(duì)來(lái)說(shuō)存在著無(wú)米下炊的困惑,。

2 現(xiàn)有仿真平臺(tái)在軟件調(diào)試上的局限

  硬件加速器現(xiàn)在已經(jīng)成為驗(yàn)證流程里一個(gè)不可或缺的關(guān)鍵平臺(tái),。由于相對(duì)于軟件仿真(simulation)巨大的速度優(yōu)勢(shì)和全面的debug調(diào)試能力,硬件加速器已經(jīng)廣泛應(yīng)用在硬件加速仿真,,系統(tǒng)級(jí)驗(yàn)證,,軟件開發(fā)調(diào)試等各個(gè)階段,是整個(gè)驗(yàn)證周期最早可以獲得的軟硬件協(xié)同的系統(tǒng)級(jí)驗(yàn)證平臺(tái),。然而當(dāng)RTL開發(fā)進(jìn)入到成熟期后,,硬件加速器的硬件debug能力已經(jīng)不是必需的,反而是運(yùn)行速度成為軟件工程師關(guān)注和體驗(yàn)的焦點(diǎn),。硬件加速器的典型速度約在1 MHz~2 MHz,,對(duì)于軟件工程師來(lái)說(shuō)還是不夠快。另外當(dāng)多個(gè)軟件工程師同時(shí)需要硬件加速器的資源進(jìn)行調(diào)試時(shí),,將加劇硬件加速器的資源短缺,,也增加了軟件調(diào)試開發(fā)的成本。

  自研FPGA原型板或者是選擇商用FPGA原型板由于其運(yùn)行速度的優(yōu)勢(shì)也是目前廣泛使用的配套解決方案,??墒瞧淙秉c(diǎn)也是非常明顯的。調(diào)試FPGA原型板往往由于FPGA先天調(diào)試能力的欠缺而使得整個(gè)調(diào)試周期冗長(zhǎng)且不可控,,而且也需要投入大量的人力資源做專門的維護(hù),,這對(duì)于時(shí)間預(yù)算緊張的項(xiàng)目來(lái)說(shuō)往往意味著風(fēng)險(xiǎn)。有沒有一種解決方案可以結(jié)合硬件加速器調(diào)試能力和商用FPGA原型板的速度優(yōu)勢(shì)呢,?

3 Protium的基本特點(diǎn)和優(yōu)勢(shì)

  Protium是Cadence新近推出的基于FPGA的快速原型驗(yàn)證解決方案,,適用于早期軟件開發(fā),回歸測(cè)試和高性能系統(tǒng)級(jí)驗(yàn)證。Protium應(yīng)用了最新一代的超大規(guī)模FPGA,,提供了一整套從編譯到軟件調(diào)試的流程,,具有快速啟動(dòng)和簡(jiǎn)單易用的特點(diǎn)。最有價(jià)值的是Protium完全兼容Cadence硬件加速器Palladium的編譯流程,,可重用硬件加速器上廣泛使用的降速橋(speedbridge),,用戶因此可以平滑快捷地從Palladium仿真環(huán)境過(guò)渡到更高性能的快速原型驗(yàn)證平臺(tái)上來(lái)。Protium具有以下特點(diǎn)及優(yōu)勢(shì):

  (1)基本特點(diǎn)

  最大支持8 x Xilinx Virtex-7 2000T FPGA,。

  (2)與硬件加速器Palladium完美整合

 ?、倏芍赜肞alladium仿真編譯環(huán)境,包括編譯和運(yùn)行時(shí)腳本,;

 ?、诩嫒軵alladium的speedbridge系列加速橋;

 ?、圩詣?dòng)生成post-partition 數(shù)據(jù)庫(kù),,可返回Palladium進(jìn)行快速模型驗(yàn)證,。

  (3)全自動(dòng)的FPGA后端實(shí)現(xiàn)

 ?、偃詣?dòng)的FPGA partition和布局布線(PNR);

 ?、谌詣?dòng)的Memory Model轉(zhuǎn)換和模型化,;

  ③全自動(dòng)時(shí)鐘樹轉(zhuǎn)換(包括 gated clock, multiplexed clocks, latch etc.),;

 ?、苋詣?dòng)的timing closure,自動(dòng)消除setup/hold time violations,。

  (4)多樣化的調(diào)試解決方案

 ?、僦С謱?duì)存儲(chǔ)單元的數(shù)據(jù)上載和下載;

 ?、谥С謋orce和release,;

  ③可選的black-box解決方案,,可支持高速設(shè)計(jì)模塊和接口,;

  ④提供擴(kuò)展子板支持用戶定制接口,;

 ?、菘煞祷豍alladium進(jìn)行復(fù)雜調(diào)試。

4 Protium編譯運(yùn)行流程

  4.1 Protium系統(tǒng)級(jí)驗(yàn)證環(huán)境

  實(shí)驗(yàn)室系統(tǒng)級(jí)驗(yàn)證環(huán)境如圖1所示,。

圖像 001.png

圖1  Protium系統(tǒng)驗(yàn)證環(huán)境

  (1)Palladium PXPII X16:硬件加速器72M gate,。

  (2)Protium:FPGA快速原型驗(yàn)證系統(tǒng),支持8 Xilinx Virtex-7 FPGA。

  (3)JTAG & UART:通過(guò)SOC的JTAG接口連接ARM debugger,;通過(guò)SOC的UART接口連接PC串口,,用于打印軟件debug信息。

  (4)Video speedbridge:通過(guò)SOC視頻輸出接口顯示實(shí)時(shí)視頻圖像,。

  (5)USB Device speedbridge:通過(guò)SOC USB接口連接U盤文件存儲(chǔ)器,。

  (6)DDR daughter board:Protium專用子卡,用于支持SOC外接的DDR,。

  4.2 Protium的編譯及運(yùn)行流程

  Protium編譯運(yùn)行流程如圖2所示,,主要步驟如下:

  (1)在Palladium上做回歸仿真測(cè)試,確保RTL和主要端口工作正常,,比如串口,,JTAG,LPDDR4,。

  (2)復(fù)用Palladium的編譯腳本,,加入FPGA控制命令,如board file, probes等,。

  (3)將步驟(1)產(chǎn)生的Palladium網(wǎng)表作為設(shè)計(jì)輸入,,執(zhí)行步驟(2)更新后的腳本完成HDLICE編譯和FPGA布局布線并產(chǎn)生最終FPGA可用的bitfile。

  (4)下載步驟(3)產(chǎn)生的bitfile到Protium,。

  (5)復(fù)用Palladium仿真過(guò)程中使用的初始化腳本,,以執(zhí)行必要的初始化過(guò)程,比如 load image文件到ROM/SRAM/LPDDR4, force/release, setup trigger等,。

  (6)執(zhí)行run命令,。

圖像 002.png

圖2  Protium編譯運(yùn)行流程

5 硬件調(diào)試過(guò)程

  如果硬件運(yùn)行不正常,可通過(guò)以下三種途徑調(diào)試:

  (1)設(shè)置觸發(fā)條件,,并通過(guò)Xilinx Chipscope下載信號(hào)波形調(diào)試,。

  (2)返回Palladium運(yùn)行,執(zhí)行同一運(yùn)行時(shí)初始化命令腳本,,排除RTL版本差異導(dǎo)致的功能性問(wèn)題,。

  (3)利用編譯中產(chǎn)生的verification model直接在Palladium上運(yùn)行,以排除FPGA后端處理階段可能產(chǎn)生的時(shí)序和功能性問(wèn)題,。

6 軟件調(diào)試過(guò)程

  軟件測(cè)試目的為:Boot Android及Benchmark測(cè)試,,包括Memory Copy,Antutu跑分等,。

  軟件的調(diào)試過(guò)程如圖3所示,,首先是健全測(cè)試,包括JTAG連接,,UART打印,,DDR初始化及讀寫測(cè)試,,這些是軟件調(diào)試的必要條件。主要步驟如下:

圖像 003.png

圖3  軟件調(diào)試過(guò)程

  (1)JTAG & UART打?。合鄬?duì)簡(jiǎn)單,,調(diào)試比較順利。

  (2)DDR測(cè)試:在Emulator平臺(tái),,包括Palladium  XP及Protium,,用的是專用DDR PHY與DDR 顆粒,與EDA仿真平臺(tái)用的Model不同,,對(duì)于DDR的初始化及讀寫測(cè)試,,需要軟件工程師與ASIC 設(shè)計(jì)工程師的緊密配合。在這個(gè)過(guò)程中,,Palladium XP強(qiáng)大的Debug功能為Protium平臺(tái)DDR的調(diào)試工作提供了有力支持,。

  (3)Bootloader及DisplayC測(cè)試:不論是Boot Android及Benchmark測(cè)試,都需要屏幕顯示,,Protium外接與Palladium XP相同的Video Speedbridge,,在液晶顯示器上顯示圖像。

  (4)GPU測(cè)試:包括GPU的driver調(diào)試,,功能測(cè)試及GPU本身BenchMark評(píng)估,。

  (5)Android及Antutu相關(guān)的測(cè)試:包括ANTUTU-MEMORY Operation,ANTUTU-RAMSPEED,,ANTUTU-SINGLE_INTEGER,,ANTUTU-SINGAL-FLOAT等,。

7 測(cè)試結(jié)果

  測(cè)試結(jié)果如表1和表2所示,。

圖像 004.png


圖像 005.png

8 總結(jié)

  借助Protium平臺(tái),在芯片流片前,,成功完成了軟硬件協(xié)同的性能測(cè)試,,包括Boot Android及Antutu跑分。Protium和Palladium XP相得益彰的特性,,使得在Protium開發(fā)過(guò)程中遇到問(wèn)題時(shí),,可以遷移回退到Palladium XP平臺(tái)進(jìn)行Debug,問(wèn)題解決后,,再利用Protium的速度優(yōu)勢(shì),,回歸到Protium平臺(tái)進(jìn)行開發(fā),如此縮短了項(xiàng)目的開發(fā)周期,,加速了芯片的上市進(jìn)程,。


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。