《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 高度整合硬件加速器的原型驗證平臺Protium
高度整合硬件加速器的原型驗證平臺Protium
2016年電子技術(shù)應(yīng)用第8期
孫豐軍1,李文強1,陳思若2
1.北京展訊高科通信技術(shù)有限公司,北京100190;2.Cadence公司,北京100100
摘要: Protium是Cadence最新型的FPGA快速原版驗證平臺,和Cadence的硬件加速器Palladium系列高度整合,可完全重用Palladium的編譯流程,運行速度提升最高可到10倍,當(dāng)出現(xiàn)可疑RTL bug的時候可無縫移植到Palladium進行調(diào)試,是軟件調(diào)試的理想平臺。以展訊北京的AP+GPU項目驗證為例,展示了Protium在軟件調(diào)試和系統(tǒng)驗證流程中的價值和收獲。
中圖分類號: TN402
文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.008
中文引用格式: 孫豐軍,李文強,陳思若. 高度整合硬件加速器的原型驗證平臺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 展訊手機芯片性能驗證的挑戰(zhàn)

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

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

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

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

3 Protium的基本特點和優(yōu)勢

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

  (1)基本特點

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

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

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

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

 ?、圩詣由蓀ost-partition 數(shù)據(jù)庫,可返回Palladium進行快速模型驗證。

  (3)全自動的FPGA后端實現(xiàn)

  ①全自動的FPGA partition和布局布線(PNR);

  ②全自動的Memory Model轉(zhuǎn)換和模型化;

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

 ?、苋詣拥膖iming closure,自動消除setup/hold time violations。

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

  ①支持對存儲單元的數(shù)據(jù)上載和下載;

  ②支持force和release;

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

 ?、芴峁U展子板支持用戶定制接口;

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

4 Protium編譯運行流程

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

  實驗室系統(tǒng)級驗證環(huán)境如圖1所示。

圖像 001.png

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

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

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

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

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

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

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

  4.2 Protium的編譯及運行流程

  Protium編譯運行流程如圖2所示,主要步驟如下:

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

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

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

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

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

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

圖像 002.png

圖2  Protium編譯運行流程

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

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

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

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

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

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

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

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

圖像 003.png

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

  (1)JTAG & UART打?。合鄬唵?,調(diào)試比較順利。

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

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

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

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

7 測試結(jié)果

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

圖像 004.png


圖像 005.png

8 總結(jié)

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


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