SoC芯片中SRIO接口的FPGA验证平台设计验证

2016-02-27 03:41曹朋朋
计算机技术与发展 2016年6期
关键词:门铃嵌入式器件

曹朋朋,田 泽,赵 强,李 攀,王 泉

(西安航空计算技术研究所 集成电路与微系统设计航空科技重点实验室,陕西 西安 710068)

SoC芯片中SRIO接口的FPGA验证平台设计验证

曹朋朋,田 泽,赵 强,李 攀,王 泉

(西安航空计算技术研究所 集成电路与微系统设计航空科技重点实验室,陕西 西安 710068)

SRIO接口基于串行包交换协议,包含SRIO接口的高性能处理器已广泛应用于航空嵌入式系统中,SRIO高速接口功能与性能的验证是整个系统设计的关键,设计可靠完备的验证平台对芯片SRIO接口的验证至关重要。文中基于对RapidIO协议的理解,基于一款SoC芯片设计并搭建了FPGA验证平台,策划FPGA功能验证点,完成对SRIO核的验证。基于文中的验证平台可完成SRIO接口不同线速率,不同线宽,以及SRIO不同包类型的覆盖验证,测试内容已覆盖SRIO协议中规定的内容。

SRIO;FPGA平台;设计;验证

0 引 言

随着嵌入式系统互连技术的发展,系统对数据传输和处理的速率也有了越来越来高的要求,I/O子系统的性能直接关系到系统的性能[1]。Rapid IO作为新一代总线,其目标应用就是高性能嵌入式系统间的互连通信,已在航空、航天、电信、通讯等领域的嵌入式系统中得到广泛应用,包括连接多处理器、存储器、网络设备等[2]。

SRIO是Serial RapidIO的简称,是一种高性能、低引脚数、基于包交换互连技术的高速串行的通信协议,主要作为系统内部互连,支持芯片到芯片和板到板的通信。支持SRIO的微处理器及DSP的产品越来越多,在现代高性能的SoC产品中,SRIO作为一种常用接口,与其他嵌入式系统进行通信[3]。对SRIO设备的有效、完整、可靠的测试直接决定了产品的质量。构建可复用的SRIO验证平台是SoC设计中值得关注的重要问题之一[4]。

文中在一款SoC芯片研发过程的基础上,对SRIO协议进行研究,构建SRIO接口的FPGA验证平台,并利用SRIO主机模块,完成了SRIO接口的验证,达到了较理想的功能覆盖率,有效提高了验证效率,保证了流片前对RapidIO IP核的充分验证[5]。构建的验证平台具有可重用性,并可用于芯片样片测试时SRIO接口的测试。

1 SRIO协议概述

SRIO采用的分层体系结构使其可扩展性、模块化以及重用机制成为可能。协议采用三层分级体系结构,分别为:逻辑层、传输层和物理层。其层次结构如图1所示[6]。

图1 SRIO分层协议

(1)逻辑层规范位于最高层,定义全部协议和包的格式,为端点器件发起和完成事务提供必要的信息。目前逻辑层已支持五种规范:存储器映射的I/O系统、消息传递、全局共享存储模式、流控制和数据流。

(2)传输层规范在中间层,定义了RapidIO数据传输的地址空间和在端点器件间传输包所需的路由信息,数据包从端点器件经过交换器件,根据目的器件ID到达目的端点。目前SRIO支持8位小系统的地址空间和16位的大系统地址空间。

(3)物理层规范在整个分级结构的底部,物理层描述设备级接口,明确说明报文传输机制、流量控制机制、电器特性和底层错误处理。

文中涉及的SRIO核兼容RapidIO V1.3规范,可以支持1.25 Gbps、2.5 Gbps和3.125 Gbps等信号速率。支持NWRITE、NREAD等IO逻辑操作;支持维护操作,可以实现主机对RapidIO接口的配置;支持门铃操作,支持8位、16位设备ID的大小系统。

2 FPGA验证平台搭建

FPGA验证是通过模拟SoC芯片的实际工作情况,一定程度上可以加速芯片设计验证过程。验证时需要考虑效率因素及验证的全面性,同时由于验证平台十分昂贵,需要考虑验证的可重用性[7]。

(1)验证平台。

文中基于大规模FPGA与高性能DSP处理器TMS32OC6455(或MPC8548系列处理器板),组合构建SoC的SRIO接口验证平台FPGA型号选择支持SRIO协议的Xilinx V5系列的XC5VLX330T,主机DSP或CPU板为本单位成熟的子卡,板间连接器选择高速信号连接为SEAF的连接器以便后续兼容其他如PCIe等接口的测试,SRIO外部信号通过板间连接器连接。如图2所示,SRIO模块的所有代码,除Serdes模块单独验证外,IP核的所有代码均可通过FPGA综合实现。在FPGA验证时,利用Xilinx FPGA的GTP模块替代SoC芯片中的Serdes功能[8]。在FPGA测试时,SRIO使用156.25 MHz的差分时钟可分别在1.256,2.5和3.125 6波特率进行4x、2x、1x速率SRIO接口的测试,大小系统选择控制信号通过FPGA外部开关选择[9]。

图2 SRIO FPGA验证平台

(2)软件验证环境。

TMS320C6455 DSP主机验证环境为Code Composer Studio 3.3;

MPC8641主机验证环境基于VxWorks操作系统,调试环境为Tornado2.2;

内嵌处理器验证环境为:Xilinx Software Development Kit( ISE12.4)。

3 SRIO测试

对SoC芯片的逻辑代码通过ISE综合后生成配置逻辑,通过Xilinx线缆和ISE将器件配置逻辑下载到FPGA中,通过FPGA验证SRIO核与商用SRIO设备的兼容性[10]。

(1)包类型测试。

SRIO操作是基于请求和响应事务的,通过发起器件或主控器件产生一个请求事务,发出的请求包通过交换器件发送到目标器件[11]。目标器件于是产生一个响应事务(读响应)返回至发起器件完成该次操作。文中涉及的SRIO的包类型如表1所示。以DSP为例,可发起表中的包类型对待测SRIO的测试,在DSP中包类型由Ftype及Ttype决定[12]。

表1 SRIO包类型定义

(2)线速率测试。

为完成SRIO不同线速率的测试,需主机测试板与FPGA逻辑的线速率相同,才能正常建立链路。待测SRIO逻辑的线速率通过不同的逻辑综合实现,主机DSP的线速率通过物理层Serdes的PLL配置不同的速率,其中1G模式可在2G模式的条件下配置为半速即可。

(3)通道宽度测试。

SRIO可支持4x、1x模式,且可进行4x、1x模式的切换,1x模式可以是单独的lane0或lane2。待测SRIO为自适应的,根据主机的不同配置,链路训练成功后宽度不同。主机通过配置其端口配置寄存器完成,PORT_WIDTH字段对应1x或4x选择,PORT_WIDTH_OVERRIDE字段配置1x时配置为单独的lane0或lane2。

(4)中断测试。

SRIO通过发送门铃包实现中断的功能,可分别测试主机到待测SRIO模块的中断,以及SRIO模块到主机的门铃中断。中断控制器收到门铃中断后,进入中断服务程序,对门铃信息进行判断,门铃信息与发送节点发送的门铃信息一致,则测试通过。

(5)性能测试。

SRIO接口通信性能的测试,需组合SRIO三种速率,1G、2G、3.125G,以及不同的通道宽度,共六种模式下,写性能与读性能。

4 结束语

结合项目实际,文中构建了高速总线SRIO测试平台。利用商用成熟SRIO完成SoC芯片中SRIO接口的互操作测试,对SRIO接口的验证较为全面,对类似SoC芯片的开发测试具有较好的参考价值[13-14]。

[1] 王 齐.PCI Express体系结构导读[M].北京:机械工业出版社,2010:350-362.

[2] 王玉欢,田 泽,蔡叶芳.RapidIO IP核的验证方法研究[J].计算机技术与发展,2011,21(7):183-185.

[3] 邓 豹.RapidIO交换互连与配置管理研究[J].航空计算技术,2014,44(2):124-127.

[4] 蔡叶芳,田 泽,李 攀,等.一种RapidIO IP核的设计与验证[J].计算机技术与发展,2014,24(10):97-100.

[5] 郭 亮,李 玲,田 泽,等.ARINC 659总线接口芯片的FPGA原型验证[J].计算机技术与发展,2009,19(12):240-242.

[6] 秦 明,雷 刚,闫海峰.SRIO设备互操作性测试流程及平台构建[J].计算机工程,2012,38(21):257-260.

[7] RapidIO Trade Association.RapidIO interconnect specification Rev.2.3[S/OL].2012.http://www.rapidio.org.

[8] Xilinx Corporation.Serial RapidIO user guide v5.1 UG503[M].[s.l.]:Xilinx Corporation,2008.

[9] Tundra Semiconductor Corporation.Tsi578 serial rapid IO sw-itch user manual[M].[s.l.]:Tundra Semiconductor Corporation,2008.

[10] Texas Instruments Incorporated.TMS320 C645x DSP serial RapidIO[M].[s.l.]:Texas Instruments Incorporated,2009.

[11] 孙灯亮.RapidIO测试思路和方法[J].电子质量,2009(11):17-20.

[12] 申 敏,曹聪玲.基于SoC设计的软硬件协同验证技术研究[J].电子测试,2009(3):9-12.

[13] 陈 佳,田 泽,黎小玉,等.H.264/AVC视频编码核基于FPGA验证的设计与实现[J].计算机技术与发展,2013,23(7):10-13.

[14] 韩 霞,杨洪斌,吴 悦.面向SoC的事务级验证研究[J].计算机技术与发展,2007,17(3):33-36.

Design and Verification of SRIO in SoC Based on FPGA

CAO Peng-peng,TIAN Ze,ZHAO Qiang,LI Pan,WANG Quan

(Key Laboratory of Aeronautics Science and Technology of Integrate Circuit and Micro-system Design,AVIC Computing Technique Research Institute,Xi’an 710068,China)

SRIO interface is based on serial packet switch protocol.High-performance embedded CPU with SRIO interface is widely used in avionics embedded system.The verification of SRIO interface is particularly important for the design of the system.A reliable and complete verification platform for SRIO interface is very important.Based on the understanding of RapidIO protocol in this paper,a FPGA verification platform is designed and implemented based on SoC,planing functional test point and accomplishing the verification of SRIO IP core.The verification platform described in this paper can test SRIO interface with different line rates,different line width,and different package types.The content of the test has been covered by the SRIO protocol.

SRIO;FPGA platform;design;verification

2015-08-31

2015-12-09

时间:2016-05-25

航空科学基金(2015ZC51036)

曹朋朋(1984-),男,硕士,研究方向为集成电路设计;田 泽,博士,研究员,中国航空工业集团首席技术专家,研究方向为SoC设计、嵌入式系统设计、VLSI设计等。

http://www.cnki.net/kcms/detail/61.1450.TP.20160525.1700.002.html

TP39

A

1673-629X(2016)06-0183-03

10.3969/j.issn.1673-629X.2016.06.041

猜你喜欢
门铃嵌入式器件
锤子门铃
搭建基于Qt的嵌入式开发平台
门铃前的守候
嵌入式软PLC在电镀生产流程控制系统中的应用
旋涂-蒸镀工艺制备红光量子点器件
面向高速应用的GaN基HEMT器件
一种加载集总器件的可调三维周期结构
高分辨率遥感相机CCD器件精密热控制
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器