潘 波,李 彪(重慶金美通信有限責任公司,重慶 400030)
?
基于SOC平臺的XMC模塊設計與實現
潘 波,李 彪
(重慶金美通信有限責任公司,重慶400030)
摘 要:altera的cycloneV系列SOC FPGA內嵌了一個雙核ARM Cotex-A9處理器,處理器部分與FPGA邏輯部分集成在一個芯片里面,提高了芯片的集成度,為設備的小型化設計提供了便利。XMC架構作為VITA組織推薦的模塊架構,廣泛使用在VPX板卡上。首先介紹了altera的SOC平臺和基于VITA42標準的XMC模塊架構,然后通過擴展處理器外設,在處理器平臺上實現了linux操作系統并完成驅動設計,實現了基于該平臺的數據處理模塊,最后測試了模塊搭載的CPU性能和FPGA擴展SerDes的性能。
關鍵詞:SOC技術;XMC模塊;CycloneV芯片;VITA42標準;Cotex-A9處理器;QuartusII工具
altera的cycloneV SOC FPGA是一個片上系統,包含了硬核處理器系統(HPS)和FPGA邏輯系統。SOC FPGA在cycloneV中有SX、SE、ST三種系列[1]。HPS包含了一個雙核ARM Cotex-A9微處理器,FLASH存儲器控制器,SDRAM控制器,片上緩存,外設接口,調試接口,鎖相環等[2]。FPGA部分包含FPGA邏輯單元,控制單元,鎖相環單元,高速收發器,PCIe控制器等。
在VPX計算機系統中,外圍功能模塊通常采用XMC載板與模塊配合的方式實現,其中載板主要提供接口功能[3],XMC模塊主要實現數據處理功能,不同功能的載板和XMC模塊可以組合成具有不同功能的VPX板卡。本設計將SOC FPGA的處理器部分和邏輯處理做成公用的XMC模塊提供給VPX系統使用。
XMC模塊的原理框圖如圖1所示。

圖1 原理框圖
HPS處理器系統,包含FPGA內嵌的一個Cortex-A9雙核處理器核、1GByte DDR3內存、64MByte QSPI FLASH存儲器、8G eMMC存儲器、時鐘、復位、調試接口等[4],并通過接口擴展了如下外設:
a)通過高通的AR8031以太網phy和以太網變壓器擴展了1路10M/100M/1000M以太網接口;
b)通過MX3223擴展了2路RS232串口;
c)通過USB3300 USB phy芯片擴展了USB-OTG接口;
d)其他還擴展了SPI、I2C、溫度測量、實時時鐘等。
FPGA內嵌的ARM處理器情況如下:
a)Dual-core ARM 32bit Cortex-A9 MPCore processor;
b)4,000 MIPS(CPU頻率:800MHz);
c)每個核32KB L1 data caches和32KB L1 data caches;
d)512KB共享L2 cache;
e)浮點協處理器(VFP)。
使用FPGA的高速收發器SerDes擴展4路千兆以太網接口對外,擴展4路SGMII接口通過背板與機內交換芯片連接,搭載三片32MByte的SDRAM用于以太網數據緩存,通過FPGA的I/O擴展槽位信息。
電源部分設計對該模塊非常重要,選用三片EN6337模塊產生3.3V、2.5V、1.5V,其中2.5V部分電源需要濾波后供電。使用電源模塊EN6360產生1.1V給HPS和FPGA內核供電。其框圖如圖2所示。

圖2 電源框圖
系統啟動流程如圖3所示,啟動流程如下:
a)單元板上電或者CPU復位后處理器開始啟動。
b)CPU從片上的BOOT ROM讀取啟動代碼,這部分啟動程序固化在芯片里面。啟動代碼主要完成讀取啟動模式管腳,然后從對應的存儲器啟動。
c)從QSPI FLASH的0x0地址啟動Preloader程序,初始化DDR3內存和HPS的I/O配置。
d)從QSPI FLASH的0x4000地址啟動U-boot,初始化CPU外設,比如:以太網接口、NAND FLASH、NOR FLASH等。
e)通過U-boot引導linux操作系統,操作系統采用Linux3.10。
f)系統啟動完畢后,引導應用程序。
g)在Preloader、U-boot、linux操作系統里面都可以配置FPGA邏輯,第一次配置邏輯選擇在U-boot里面進行,Linux操作系統用于動態配置FPGA邏輯。

圖3 啟動流程
將上面所述的電路按照VITA42的標準制作成XMC模塊,模塊尺寸為:長×寬= 139mm× 74mm[5]。PCB布局如圖4所示,FPGA在居中靠左的位置,它周邊主要有2片DDR3存儲器組合成1G內存,3片單片32M的SDRAM存儲器,一個8G的eMMC大容量存儲器,1片SPI FLASH。其他地方主要分布有電源轉換,RS232接口轉換,以太網接口電路,USB接口電路等。

圖4 XMC模塊框圖
采用altera公司提供的quartus II 13.1與Qsys圖形化開發工具配合使用,搭建了硬件架構與FPGA邏輯[6]。通過Qsys軟件可以圖形化設置DDR3內存參數,管理外設的管腳配置,處理器時鐘頻率設置等,根據設置,自動生成preloader用于引導系統。在系統中搭建了一個avalone總線橋,掛載到HPS 的AXI總線上,將AXI總線引到FPGA邏輯里面,這樣CPU就可以方便的訪問FPGA邏輯。
該平臺采用Linux3.10操作系統,經過定制化裁剪后運用到模塊上[7]。Linux系統里面主要包含了Linux內核,內存管理系統,FLASH驅動,千兆以太網驅動及TCP/IP協議棧,標準的USB驅動及協議棧,RS232驅動,SD卡驅動,SPI和I2C驅動等。掛載了基于BusyBox架構的嵌入式文件系統,管理模塊上的QSPI FLASH和eMMC存儲器。
使用Dhrystone 2.1工具對處理器性能進行測試[8]。該工具主要包含賦值,基本運算(assignments),占總測試52(51%);控制語句(control statements),占總測試33(33%);函數(系統函數、用戶函數)調用(procedure,function calls),占總測試17 (17%)。測試結果與常用的P2020和Cortex-A9處理器進行對比。測試了每秒執行的計算次數;單位時鐘周期機器運行的速度對應“DMIPS/MHz”,計算方式為:機器運行值/1757/機器CPU速度。
使用存儲器測試工具測試了eMMC和QSPI FLASH的寫入速度。eMMC,write:4.76MB/s;QSPI FLASH,write:5.9MB/s。
經過上面的對比測試可以看到cylcone5內嵌的處理器與飛思卡爾的基于PowerPC架構的P2020和基于ARM架構的A9處理器處理性能相當。

表1 測試數據
基于cycloneV的平臺既提供了較強的處理能力,也有豐富的FPGA處理資源,可以運用到各類對集成度要求較高的地方。
采用XMC模塊架構,主要運用到VPX板卡上,也可以運用到其他板卡上,作為數據處理平臺。
參考文獻:
[1]Altera.Cyclone V Device Handbook[EB/OL].2013/www.alter.com.
[2]Altera.SoC FPGA ARM Cortex-A9 MPCore Processor Advance Information Brief[EB/OL].2013/www.alter.com.
[3]Ray Alderman.STANDARD FOR VITA 42.0[S].American:American National Standards,2008.
[4]李江濤.ARM Cortex-A9的NEON技術研究及應用[J].單片機與嵌入式系統應用,2013,13(3):46-49.LiJiangTao.Research and Utilization of NEON Technology Based on ARM Cortex-A9[J].Microcontrollers & Embedded Systems,2013,13(3):46-49.
[5]胡錦,彭成,譚明.基于VPX標準的PMC/XMC載板設計[J].計算機測量與控制,2010,18(8):1852-1855.HuJing,PengCheng,TanMing.Design of PMC/XMC Board Base on VPX Specification[J].COMPUTER MEASUREMENT & CONTROL,2010,18(8):1852-1855.
[6]王瑩.Xilinx可擴展處理平臺[J].電子產品世界,2012,19(2):40-44.Wang Ying.expanded processor platform of Xilinx[J].Electronic Engineering & Product World,2012,19(2):40-44.
[7]劉娟花,厲謹.基于FPGA的數字日歷設計[J].現代電子技術,2014(3):15-18.LiuJuanHua,LiJing.Design of digital calendar based on FPGA[J].Modern Electronics Technique,2014,(3):15-18.
[8]張曉靜,華更新,劉鴻瑾.處理器測試方法研究與實現[J].現代電子技術,2011,19(3):4-8.ZhangXiaoJing,HuaGengXin,LiuHongJing.Study and Implementation of Test Method[J].Practical Electronics,2014,(3):15-18.
Design and Implementation of XMC Module Based on SOC Platform
Pan Bo,Li Biao
(Chongqing Jinmei Communication Co.,Ltd.,Chongqing 400030,China)
Abstract:The dual-core ARM Cortex-A9 MPCore processor is integrated into the hard processor system of the Altera CycloneV FPGAs.Processor system is integrated with FPGA logic system on a chip so that the integration of chip can be enhanced,and it facilitates the design of miniaturization for equipment.As the recommended module structure of VITA,the XMC architecture is widely used in the VPX board.Firstly,this article introduces the Altera's SOC platform and the structure of XMC module based on the VITA42 standard.Then,the Linux operating system is realized and the driver design is accomplished on the processor platform by expanding processer peripherals.The data processing module based on the platform is realized.Finally,the performance of the CPU on module and SerDers interface extended by FPGA,is tested.
Key words:Technology of SOC;XMC module;CycloneV FPGA;Standard of VITA 42;ARM Cortex-A9 MPCore processor;Tools of quartus II
DOI:10.3969/j.issn.1002-2279.2016.02.006
中圖分類號:TP274
文獻標識碼:A
文章編號:1002-2279(2016)02-0017-03
作者簡介:潘波(1984-),男,重慶市人,碩士研究生,主研方向:主要從事有線通信設備整機架構研究。
收稿日期:2015-05-29