刘承禹,田 泽,王 婷,刘 浩
(1.中国航空计算技术研究所,陕西 西安 710068;2.集成电路与微系统设计航空科技重点试验室,陕西 西安 710068)
FC-AV协议处理SoC设计与实现
刘承禹1,2,田 泽1,2,王 婷1,2,刘 浩1,2
(1.中国航空计算技术研究所,陕西 西安 710068;2.集成电路与微系统设计航空科技重点试验室,陕西 西安 710068)
航电系统中往往需要多种视频格式,每种视频格式都有不同的帧速率、分辨率、像素密度、帧/场格式。FC-AV协议为满足这种需求,定义了不同的视频格式在光纤通道上统一的映射标准。为了满足新一代航电系统数字视频信号的高速传输需求,并突破国外技术封锁,实现航空电子系统自主设计、核心技术自主保障,必须自主设计实现FC-AV协议处理SoC。以SoC芯片的设计、验证流程及方法为指导,重点论述了FC-AV协议处理SoC的设计和软硬件协同验证。目前,FC-AV协议处理SoC已经流片,对样片进行了性能测试和系统验证。结果表明,FC-AV协议处理SoC完全满足航电系统对视频在FC网络高速传输的功能和性能需求。
光纤通道音视频协议;片上系统;设计;验证
光纤通道(Fibre Channel,FC)协议由美国国家标准协会(ANSI)T11委员开发[1],是一种高速传输数据、音频和视频信号的ANSI串行通信标准[2]。FC综合了通道和网络两方面的优点,具有高速率、低延迟、强实时性、抗干扰能力强、误码率低、对距离不敏感、拓扑灵活、支持多种上层协议等优点[3-5]。
光纤通道音视频协议[6-7](Fibre Channel protocol for Audio-Video,FC-AV)是FC-4层的一个高层协议,定义了音频、视频数据到FC网络上的映射方法[8-10],为在FC网络中传输数字音视频提供了一种标准,能够满足航空航天和军用系统中高速、实时性、任务关键性的数字音视频传输需要。
从航电系统的低功耗、高性能、高可靠、超小型化的技术发展需求和航电系统数据通信网络中大量图形图像以及视频的高速传输任务需求出发,采用SoC设计技术,设计面向新一代综合化航电系统的FC-AV协议处理SoC芯片,是突破国外技术封锁、实现自主创新的需要,也是实现航空电子系统自主设计、核心技术自主保障的需要。
文中针对FC-AV的应用,采用SoC设计技术,设计并实现了FC-AV协议处理SoC。首先介绍了FC-AV协议处理SoC的设计、验证流程及方法,在此基础上对其系统设计进行了介绍,随后对其模块设计与验证和虚拟平台及FPGA原型的软硬件协同验证进行了重点介绍,最后对其物理设计与验证的全过程进行了介绍。
FC-AV协议处理SoC设计以IP复用为基础,通过IP的集成,完成整个SoC系统的功能设计,以缩短设计周期,并以较低成本完成该SoC设计。同时,该SoC设计采用自顶向下的设计方法,在整个设计过程中,进行软件和硬件的协同设计和验证工作,以达到系统的最佳设计性能[11]。
FC-AV协议处理SoC设计与验证流程分为四个阶段。
(1)系统级设计。
进行FC-AV协议处理SoC的系统结构设计和软硬件的划分,按功能划分系统下的功能单元(模块),并规定软硬件的接口。
(2)模块设计与验证。
对各个功能模块的电路进行RTL级设计,并对其功能点进行基于Testbench的仿真验证。如果所有功能点的验证均通过,即进行互连集成;如果验证未通过,即修改RTL设计,直到验证通过。
(3)软硬件协同验证。
搭建虚拟原型验证环境,同时开发FPGA验证板,基于模块功能和系统功能开发软件验证程序,若有必要开发基于操作系统的验证软件和应用软件,并行进行虚拟原型和FPGA原型的软硬件协同验证。如果验证均通过,即进行物理设计;如果验证未通过,即查找问题,修改设计,直到验证通过。
(4)物理设计与验证。
进行芯片级逻辑综合、DFT设计、版图规划、布局布线等,并在此过程中完成静态时序分析,形式验证和后仿真。若仿真通过,即可流片;若仿真未通过,即修改物理设计,直到仿真通过。
四个阶段的设计验证完成后,即可进行流片、封装、测试及系统应用验证等工作。
FC-AV协议处理SoC系统架构如图1所示。
图1 FC-AV协议处理SoC系统架构
该芯片采用CoreConnect总线进行片上互连,各个功能单元通过PLB0、PLB1和OPB进行连接,PPC460处理器通过软件操作实现对挂接在总线上的各功能模块和单元进行管理。PCIe主机接口单元实现主机对FC-AV协议处理的控制接口功能,数字RGB输入输出接口单元分别实现数字视频数据的发送和接收,FC-AV协议处理单元实现视频数据与FC网络之间的映射,两组DDR2控制器分别作为视频数据的收发缓存接口,与片外DDR2存储器连接。
FC-AV协议处理SoC芯片作为一款用于FC网络视频数据传输的端节点芯片,需要满足视频数据在FC网络高速传输的需求。数字RGB输入输出接口支持800*600@60 Hz,1 024*768@60 Hz,1 280*1 024@30 Hz,1 400*1 050@30 Hz,1 600*1 200@30Hz五种视频分辨率,并支持动态切换和视频输入容错;FC-AV协议处理单元符合FC-PI-4、FC-FS和FC-AV协议,支持2.125 Gbps的FC传输速率,并进行双余度设计;DDR2控制器的数据速率为400 MHz,数据位宽为32位;PCIe主机接口支持x4、x1模式,通道速率2.5 Gbps;PPC460处理器工作频率为125 MHz;整个SoC支持FC-AV帧发送和接收独立处理的全双工工作模式。
在FC-AV协议处理单元中,信息交互区和寄存器组实现了在FC-AV协议处理中软件和硬件的接口,片上处理器PPC460通过PLB0总线、片外处理器通过PCIe主机接口均可以控制整个FC-AV协议处理的管理。
此外,系统还集成了VIC、WDT、UART、GPIO、TIMER等通用功能单元,丰富了系统功能。片内集成两个128 kB的SRAM,实现指令和数据的缓存,并集成外部存储器接口EMC,实现处理器程序加载等功能。
FC-AV协议处理SoC以IP复用为设计基础,PPC460处理器、PCIe主机接口、DDR2控制器等均为成熟IP,在此不作介绍。下面重点介绍数字RGB输入接口、数字RGB输出接口和FC-AV协议处理单元的逻辑设计与验证。
3.1 数字RGB输入接口设计
数字RGB输入接口的功能是对外部输入的符合VESA标准的数字RGB视频信号进行格式检查和视频有效数据提取,并将有效数据按DDR2的位宽组织,然后通过DDR2控制器缓存在DDR2存储器中,其电路结构如图2所示。
首先将外部输入的数字RGB视频信号中的帧起始、行起始和数据有效信号进行毛刺过滤,小于8个时钟周期的信号被当作毛刺过滤,只有大于8个时钟周期的信号才能通过过滤,认为是有效、稳定的信号;其次,将过滤后的信号进行帧起始、行起始的极性判断和处理;然后,按视频行采集有效RGB数据,并按像素顺序将RGB数据组织为32位数据,以行为单位,交替写入两个异步FIFO,在数据采集的同时,进行格式判断,当视频行数和行像素与VESA标准不符时,报出中断;最后,写控制交替读取两个异步FIFO中的视频行数据,并添加行号,写入发送DDR2控制器,完成视频数据的缓存。
图2 数字RGB输入接口电路结构
3.2 数字RGB输出接口设计
数字RGB输出接口的功能是将接收DDR2存储器中缓存的从FC网络中接收的视频像素数据读出,并严格按照VESA标准转换成相应视频分辨率的数据RGB视频信号,并输出,其电路结构如图3所示。
图3 数字RGB输出接口电路结构
在此接口电路,读控制电路在检查到接收DDR2存储器中有缓存的完整视频帧时,开始按视频行读取视频数据,并写入同步FIFO,当同步FIFO中的数据被视频组帧电路读取完后,读控制电路从DDR2存储器中读取下一行视频数据;视频组帧电路读取同步FIFO中的视频像素数据,并按照VESA标准添加相应视频分辨率的消隐数据和信号,组成数据RGB视频帧,并写入异步FIFO;最后,视频发送电路以对应视频分辨率的时钟频率读取异步FIFO中的视频帧信号数据,并输出,完成数据RGB视频信号输出。
3.3 FC-AV协议处理单元设计
FC-AV协议处理单元的功能是在视频发送时,将发送DDR2存储器中缓存的视频数据按FC-AV协议映射到FC帧,并转换成FC网络的串行数据,发送到FC网络;在视频接收时,将FC网络上的串行数据转换成FC-AV帧,并提取视频数据,缓存在接收DDR2存储器中。
FC-AV协议处理单元实现视频数据与FC网络之间的映射,视频发送和接收均为双余度设计,且相互独立,实现了全双工设计,其电路结构如图4所示。
在视频发送时,DDR2读控制电路以视频行为单位,通过发送DDR2控制器读取发送DDR2存储器中缓存的视频数据,并交替写入异步FIFO A和异步FIFO B,异步FIFO C和异步FIFO D;发送控制电路交替将异步FIFO的数据读出,并按FC-AV协议,组织成FC-AV帧;FC核将FC-AV帧转换成串行数据发送到FC网络,完成视频发送,在此过程中,余度使能时,发送控制0、FC核0通路和发送控制1、FC核1通路同时发送,否则只发送控制0、FC核0通路发送。
图4 FC-AV协议处理单元电路结构
在视频接收时,FC核将FC网络上的串行数据转换成FC-AV帧,接收控制电路将FC-AV帧中的视频数据提取出来,并通过接收DDR2控制器写入接收DDR2存储器,完成视频接收。在此过程中,接收控制电路默认接收来自FC核0的FC-AV帧,当FC核0下线,且FC核1在线时,切换接收来自FC核1的FC-AV帧,反之亦然。
3.4 模块级验证
在FC-AV协议处理SoC的开发过程中,IP/模块级验证是整个验证过程的第一步,对IP/模块的设计进行充分的功能正确性验证是逻辑设计正确性的首要保障。其侧重点是验证模块内部功能,其优点是可以方便地验证到模块功能的临界点和极限点,激励输入容易加入,调试除错手段丰富[12]。
模块级验证主要采用HDL语言,其步骤如下:
(1)验证策划。根据模块功能规范,针对各个IP/模块功能,制定出完备的验证规范。
(2)搭建验证环境。依据验证规范,开发完备的基于Testbench的验证环境。
(3)仿真验证。按照验证规范,对应每个验证项,开发相应的testcase,给设计施加激励并观察其响应,分析、观察各个IP/模块级功能是否正确。
对于数字RGB输入接口,需要开发符合VESA标准的800*600@60 Hz,1024*768@60 Hz,1 280*1 024@30 Hz,1 400*1 050@30 Hz,1 600*1 200@30 Hz五种视频分辨率的视频源,并对视频源多像素、少像素、多视频行、少视频行的容错性,不同分辨率视频切换输入进行重点验证。
对于数字RGB输出接口,重点验证对800*600@60 Hz,1 024*768@60 Hz,1 280*1 024@30 Hz,1 400*1 050@30 Hz,1 600*1 200@30 Hz五种视频分辨率的组帧是否准确。
对于FC-AV协议处理单元,重点验证视频数据与FC网络的映射是否正确,并加强余度模式,FC上下线、错误帧接收等的验证。
此阶段是整个SoC设计验证中最基本单元的验证,各个IP/功能模块的基本功能的正确性得到充分的仿真验证。
软硬件协同验证的意思是验证正在嵌入式系统硬件上执行的嵌入式系统软件能否得到预期结果,即在设计投产前对嵌入式系统软件能否正确运行在硬件设计上的验证[11]。协同验证有两个主要作用:使软件工程师在早期便能访问硬件;为硬件设计在投产前提供额外的测试激励,这样可以加快项目的进度。
软硬件协同验证的运行包括两种形式:一是虚拟原型验证,二是FPGA原型验证。
4.1 虚拟原型软硬件协同验证
FC-AV协议处理SoC的各个IP/模块通过片上CoreConnect总线集成互连后,芯片的设计虚拟原型基本实现,基于芯片的设计虚拟原型,构建FC-AV协议处理SoC的芯片虚拟原型验证平台,并开发相应验证软件,软硬件协同完成各项验证。
虚拟原型验证平台通过开发相应的验证组件来模拟FC-AV协议处理SoC实际工作时的周边元件,然后将这些验证组件同FC-AV协议处理SoC的RTL代码集成到一起;同时开发验证程序,将编译链接生成的存储器映像文件加载到相应的存储器模型中,使PPC460处理器可以从中取指执行,从而达到模拟FC-AV协议处理SoC内部工作过程来进行各项验证工作,即软硬件协同验证的目的[12]。
基于虚拟原型的软硬件协同验证需要各接口的功能模型和测试用例开发的相互配合,当未通过某项验证需要多次迭代进行回归验证。
此阶段的验证是基于每个IP/模块内部的功能经过正确仿真验证的基础上进行的,验证的重点在于一些系统级功能特性,如互连、流控制及模块间的互操作性等是否正常。
软件开发人员基于此平台开发的验证软件,包括针对模块的功能验证软件、系统中各模块之间的互操作的系统级功能验证软件及进行基于操作系统的验证软件[12-13]。这些验证软件可以在虚拟平台上运行,在FPGA原型验证时可以轻松移植使用。
4.2 FPGA原型软硬件协同验证
FC-AV协议处理SoC的FPGA原型验证平台是根据FC-AV协议处理SoC系统应用环境开发FPGA验证板,将FC-AV协议处理SoC系统集成的逻辑综合后下载到FPGA芯片中,事先将验证软件烧入FLASH单元,FPGA验证板上电后PPC460处理器从FLASH中开始取指执行,达到与FC-AV协议处理SoC芯片实际工作过程相同的运行效果[14]。
在FPGA原型验证平台中,需要使用FPGA验证板来实现原型验证平台,FC-AV协议处理SoC的逻辑经综合后下载到FPGA芯片中,输入输出通过开发板上的其他外设器件来完成。此外,还需要编写BootLoader程序、中断服务程序和软件验证程序,通过编译器把程序转化成处理器核能执行的二进制文件。在验证过程中,使用在线调试工具连接FC-AV协议处理SoC中的PPC460处理器,对PPC460处理器执行程序实行实时单步控制,方便观察每一步执行的效果和调试除错;也可以把文件写入Flash中,系统上电复位后处理器核通过EMC接口读取Flash中的程序,然后执行这些程序(包括搬运程序)以执行特定操作。验证中可根据验证项需要用主机板卡、其他成熟FC板卡与之进行通信,来检测各模块功能是否正确。
这里的主要方法是通过与计算机、外部商用芯片或者已经成熟的板卡进行通信,来检测各模块功能是否正确,在验证过程中对设计的时序检查也有一定的意义。该验证通过实际电路和外部的真实环境和激励来验证设计,整个FPGA内的设计与真实芯片的架构基本一致,可以在真实应用环境中进行替代验证,而且验证速度快,可同时对功能和时序进行验证[15]。
FC-AV协议处理SoC采用0.13 μm工艺实现,其物理设计采用全新Sonic-flow设计流程,该流程的特点有:
1)对物理工具加强集成性。
(1)优化工作目录,集成不同物理设计工具的工作环境;
(2)设计控制流程,管理不同工具的运行;
(3)直接集成sign off工具,减少流程的反复。
2)优化物理设计流程和步骤。
(1)针对网表的频繁提交,适当简化设计流程,及早提交后仿真文件;
(2)网表确定后的最终版本,在及早给出后仿真文件的同时,实现完整的物理设计过程。
3)针对设计进入高深亚微米阶段,增加了噪声约束和优化的步骤,并完善了DFM步骤。
4)Sonic flow为完全层次化设计流程,扩展性好。
5)设计流程脚本化,保证设计过程稳定性和可追溯。
FC-AV协议处理SoC集成了大规模的PPC460内核,为最大限度保持PPC460内核的独立性,减小干扰,且使PPC460内核与SoC逻辑的scan,jtag,mbist可测性设计全部独立,采用了PPC460内核和SoC逻辑各占一边的方案,PPC460内核与SoC逻辑的接口集中于芯片的中间部分。PLL的摆放远离数字逻辑,DDR2逻辑占据芯片的左右半边,PPC460和FC/PCIE分别放在芯片上方和下方。
FC-AV协议处理SoC经过几轮的后仿真和物理设计微调,其最终设计完全满足时序、功耗、封装等要求。
文中介绍了FC-AV协议处理SoC芯片的设计、验证流程及方法和芯片系统架构,重点描述了几个关键功能单元的设计、验证,虚拟原型、FPGA原型的软硬件协同验证过程和物理设计。
目前,FC-AV协议处理SoC已经一次性流片成功。对SoC芯片进行了性能测试和系统验证,结果表明FC-AV协议处理SoC完全满足航电系统对视频数据在FC网络高速传输的功能和性能需求。打破了国外垄断,实现了自主创新,具有里程碑意义。
[1] ANSI.Fibre Channel Framing and Signaling-2 (FC-FS-2),Rev0.01[M].US:ANSI,2003.
[2]ANSI.FibreChannelPhysicalandSignalingInterface(FC-PH),X3[M].US:ANSI,1994.
[3]ANSI.FibreChannelAvionicsEnvironment-AnonymousSubscriberMessaging(FC-AE-ASM),Rev1.2[M].US:ANSI,2006.
[4] 屠晓杰,熊华钢,徐 鼎,等.支持多种FC-4层协议的光纤通道接口卡实现[J].电讯技术,2013,53(2):188-194.
[5] 章宇东.SOC技术在FC芯片设计中的应用[J].航空电子技术,2005,36(1):42-48.
[6] 杨海波,田 泽,蔡叶芳,等.FCIP软核的仿真与验证[J].计算机技术与发展,2009,19(9):168-172.
[7]T11/Project1237-D/1.71:InformationTechnologyFibreCh-annel-AudioVideo(FC-AV)[S].US:AmericanNationalStandardsInstitute,2001.
[8] 王红春.基于FC的航电数字视频传输技术研究[J].计算机技术与发展,2010,20(5):250-252.
[9] 刘 浩,田 泽.FC-AV协议及实现方法研究[J].计算机技术与发展,2012,22(7):1-4.
[10] 黄浩益,黄栋杉,徐晓飞.光纤通道技术在航电系统中的应用[J].航空电子技术,2005,36(3):9-14.
[11] 申 敏,曹聪玲.基于SoC设计的软硬件协同验证技术研究[J].电子测试,2009(3):9-12.
[12] 陈孟杰,于海勋.光纤通道8B/10B编解码模块设计[J].电子测量技术,2007,30(5):161-164.
[13] 田 靖,田 泽.AFDX-ESSoC虚拟仿真平台的构建与应用[J].计算机技术与发展,2010,20(8):192-194.
[14] 郭 亮,李 玲,田 泽,等.ARINC659总线接口芯片的FPGA原型验证[J].计算机技术与发展,2009,19(12):240-242.
[15] 孙玉焕.64位CPU的FPGA原型验证[J].现代电子技术,2007,30(21):158-160.
Design and Implementation of FC-AV Protocol Processing SoC
LIU Cheng-yu1,2,TIAN Ze1,2,WANG Ting1,2,LIU Hao1,2
(1.Aeronautics Computing Technique Research Institute,Xi’an 710068,China; 2.Key Lab of Aeronautics Science and Technology of Integrate Circuit and Micro-system Design, Xi’an 710068,China)
Avionic system currently utilizes many different video formats.Video formats is different in their frame rates,resolution,pixel density,and field/frame mode.In order to meet these requirements,FC-AV defines a standard for video formats mapping to fibre channel.For meeting the high-speed transmission requirement for digital video signal of next-generation avionics system,breaking out the technology blockade abroad,implementation of the self-design of avionics system and the autonomous logistics of core technology,a FC-AV protocol processing SoC must be designed and implemented.Taking SoC design/verification flow and method as the guidance,it introduces the design and hardware/software co-verification for FC-AV protocol process SoC in this paper.The result of tape-out and system level test demonstrate that the FC-AV protocol process SoC can meet the performance and function requirement of avionics system for video data high-speed transmission on FC network.
FC-AV;SoC;design;verification
2015-06-16
2015-09-22
时间:2016-03-22
中国航空工业集团创新基金(2010BD63111)
刘承禹(1982-),男,工程师,研究方向为集成电路设计;田 泽,博士,研究员,中航首席技术专家,研究方向为SoC设计、嵌入式系统设计、VLSI设计。
http://www.cnki.net/kcms/detail/61.1450.TP.20160322.1517.008.html
TP39
A
1673-629X(2016)04-0105-05
10.3969/j.issn.1673-629X.2016.04.023