一种基于FPGA的高集成度技术研究设计

2015-08-17 08:41张伟栋
网络安全与数据管理 2015年4期
关键词:处理单元处理器控制器

张伟栋,李 涛

一种基于FPGA的高集成度技术研究设计

张伟栋1,李涛2

(1.中国航空计算技术研究所,陕西西安710065;2.中航飞机西安分公司,陕西西安710089)

综合核心处理机作为新综合化航空电子系统的核心,在航电系统中占有极重要的地位。综合核心处理机执行主要的航电处理任务,需要具有强大的处理能力,同时受到空间的限制,必须具有十分小的体积,于是对综合核心处理机提出了高性能和高集成度的要求。SoC技术是实现高集成度技术的关键,FPGA技术也可以实现高集成度技术。介绍了一种使用FPGA实现高集成度技术的方法。比较了SoC技术和FPGA技术,分析了各自的优缺点,结果表明,使用FPGA所需功能都可实现,而且简化了硬件设计。

片上系统;可编程门阵列;专用芯片;高集成度

0 引言

随着计算机技术、通信技术、存储技术及液晶显示技术的飞速发展与日益密切结合,航空信息化时代的到来以及网络中心战技术的迅速发展,需要处理的数据量和信息量急剧增长,对航空电子系统的设备性能、计算能力、综合程度、可靠性等提出了更高的要求和新的挑战,同时态势估计、预警、战场指挥等作战任务越来越需要高性能航空电子系统的支持,飞机对航空电子系统的依赖性越来越大,航空电子系统已经成为提高军用飞机性能最主要、最有效的手段之一[1]。

在综合航电系统中,综合核心处理机具有至关重要的作用,它居于系统的核心位置,是整个综合航电的“大脑”和“神经中枢”。综合化航电和高度综合化航电中都有综合核心处理机,它是一个实时的容错的分布式机群,具有数据、信号、图形图像等处理能力,能够对雷达、CNI(通信/导航/识别)、EW(电子战)、EO(电子光学系统)、显示控制、任务管理、武器管理、人机接口等多种典型航电任务进行综合处理[2]。

1 高集成度技术的必要性

综合核心处理机执行主要的航电处理任务,具有强大的处理能力,同时受到飞机空间的限制,必须具有十分小的体积,于是对综合核心处理机提出高性能要求的同时,还要求具有高集成度技术。

微电子技术的飞速发展带动数字系统向着高速度、大容量、小体积的集成化方向发展,SoC(System on Chip)电路设计技术是实现系统集成化的重要方式,FP GA(Field Programmable Gate Array)也可以实现高集成度。

通用处理单元在综合核心处理机中占据重要地位,结构相似程度高的功能模块都是由通用处理单元加专用功能单元实现的,整个系统的性能和体积很大程度上体现在通用处理单元上。因此在通用处理单元上实现高集成度技术是很有必要的。其基本功能和要求是:通用处理单元为模块提供高性能的处理能力、存储功能(包括主存、Flash和NvRAM存储)、FC通信功能、PCI扩展功能、调试接口功能(包括以太网口和串口)、定时器功能、看门狗功能、实时时钟功能、DMA控制器功能、及中断控制器功能和GPIO功能。

通过提供标准PCI总线,可扩展专用的图形处理功能、大容量存储器功能等;通过FC接口,能够实现与外部的数据通信。同时要求尽量减小通用处理单元的体积,提高系统集成度。

2 SoC技术与FPGA技术比较

SoC技术和FPGA技术都是提高系统集成度的方式,但是二者的设计技术和实现方式有所不同,使用的范围也不同,本文对两种方式进行分析比较。

集成电路发展的大趋势是高速、高集成度和低功耗的系统集成。SoC就是当今半导体微细加工工艺精度不断提高、IC集成度以惊人速度发展的最新成果。它通常是客户定制的,或是面向特定用途的标准产品。SoC的技术就是从“集成电路”级设计到“集成系统”级设计转变的结果,其设计是从整体系统性能出发,把微处理器、模型算法、外围器件乃至器件的设计紧密结合起来,并通过系统软件和硬件的协同设计,在单个芯片上完成整个系统的功能[3]。SoC具有以下几方面的优势:(1)降低耗电量:SoC产品多采用内部信号的传输,系统的功耗、体积与电磁干扰将大幅降低,同时整个系统的抗干扰特性得到提高;(2)减少体积:数颗IC整合为一颗SoC后,可有效缩小电路板的面积,达到重量轻、体积小的特色;(3)丰富系统功能:在相同的内部空间内,SoC可整合更多的功能元件和组件,丰富系统功能,同时提高系统的可靠性;(4)提高速度:随着芯片内部信号传递距离的缩短,信号的传输效率将提升,使产品性能有所提高;(5)节省成本。

FPGA是一种可编程阵列逻辑电路器件。一般的FPGA采用基于SRAM的查找表逻辑形成结构,就是用SRAM来构成逻辑函数发生器,这种结构每次系统上电时需要加载编程数据。FPGA设计最终是产生出所需功能电路的编程数据。在完成一个项目的设计规范制订和总体方案设计工作后,采用FPGA设计实现方式一般采用以下流程:(1)设计输入:利用电路图或硬件描述语言等工具完成设计电路的输入;(2)功能验证:通过对设计电路的功能仿真,证明输入电路的功能达到确定目标;(3)设计综合:将用高级语言描述的电路转换成低级的、基于设计库的基本结构相映射的网表文件或程序;(4)门级仿真:包含门延时信息的仿真。仿真就是让计算机根据一定的算法和一定的仿真库对设计进行模拟,以验证设计,排除错误;(5)布局布线:将由设计综合产生的网表文件配置于指定的目标器件中;(6)后仿真:布局布线后提取出的元件和走线延时信息加载到设计电路所进行的仿真;(7)产生用于编程的下载文件,编程下载和硬件测试[4]。

SoC与FPGA技术有两大相同之处:(1)都可以提高系统的集成度,把各种控制器和一些小的资源(如定时器等)在一片芯片中实现,节省板上面积;(2)设计时工作量都很大,虽然有可复用的IP核,但某些特定功能的接口是没有IP核的,如处理器接口等,用户需要实现接口逻辑,调整系统的时序使性能能够满足系统要求。

SoC与FPGA技术的不同之处:(1)SoC的一次性工程费用很高,因此适合于大量使用SoC的系统中,在少量使用的情况下,成本很高,而FPGA没有这个问题。(2)修改功能时,SoC技术修改一次功能的代价很高,需要重新流片,而FPGA修改功能后,只需要重新下载文件即可。

3 设计方案

处理器加桥接器是一种通用ASIC技术设计方法,桥接器中集成了多种控制器以及一些内部资源,处理器通过桥接器访问主存、Flash以及一些内部资源,桥接器可通过PCI接口扩展功能。因高性能处理器选择的是PowerPC7447A,所以选择的桥接器要求能够支持Power-PC7447A,整个系统的性能关键在于桥接器的选择。

处理器加FPGA也是一种设计方式,在FPGA内部实现各种接口,实现桥接器的功能,处理器通过FPGA访问主存、Flash以及一些内部资源,FPGA内部实现PCI接口可扩展功能,FC接口也集成在FPGA内部。所以系统的性能在于FPGA内部逻辑的设计。

虽然通用ASIC技术的方式设计相对简单,而且性能可以满足要求,但是这种方式集成度不高,FC接口需要另外的芯片实现,大量的硬件在一块印制板上布局是不现实的。

而FPGA实现方式的集成度高,包括FC接口等各种控制逻辑在FPGA内部实现,硬件资源比通用ASIC技术的方式少,性能可以满足系统的要求,而且增减功能方便,设计灵活,因此通用处理单元适合用FPGA实现方式。

FPGA实现方式中有串口和以太网接口作为调试接口;有PCI接口作为扩展接口,可扩展图形处理、大容量等功能;FC接口作为通信接口,与其他模块进行通信;PPC7447A作为主处理器,进行高性能计算;DDR作为主存;FPGA内集成各种控制器以及一些内部资源,如定时器、看门狗等。FPGA实现方式的功能框图如图1所示。

图1 处理器加FPGA的功能框图

在FPGA内实现的各个接口功能和目的如下:

(1)处理器接口:处理器接口为通用处理单元提供处理器资源,处理器主频为1 000 MHz,数据总线宽度为64 bit,支持60X总线模式,支持单一传输、突发传输、流水线传输以及Cache一致性。目前FPGA生产公司并没有提供外部处理器接口,需要用户自己编写逻辑。

(2)DDR存储器接口:为通用处理单元提供DDR SDRAM资源,为处理器接口、其他I/O接口以及一些内部处理单元(DMA控制器、以太网接口等)提供存储功能。DDR控制器支持直接连接DDR SDRAM,数据位宽为64 bit,时钟为100 MHz,支持DDR SDRAM的容量至少为512 MB。

(3)扩展存储器接口:为通用处理单元提供4个存储器BANK资源,每个BANK容量为64 MB,数据宽度为32 bit。Flash、NvRAM直接接在扩展存储器接口上,Flash又分为BOOT Flash和应用Flash,BOOT Flash存放上电程序,应用Flash为用户所用;NvRAM存放掉电时的重要数据。

(4)PCI总线接口:对外提供1路PCI总线接口,通过PCI总线接口,能够扩展标准的图形处理、大容量存储器等功能。PCI总线接口数据宽度为32 bit,工作频率为33 MHz,完全符合PCI Local Bus Specification Revision 2.2;支持存储器读写、I/O读写、配置空间读写三种读写方式;支持MASTER、TARGET工作方式,具有仲裁器功能。

(5)FC接口:对外提供1路FC接口,传输速率为1 Gb/s,可支持N端口工作方式。为了确保FC接口通信效率,在FC接口中要集成专用的DMA控制器、外部存储器接口,除此之外,还在FC端口中集成2路UART接口,用以支持FC底层协议软件的调试。

(6)以太网接口:为通用处理单元提供软件调试接口,传输速率为10/100 Mb/s。

(7)FPGA内部资源:定时器不少于3个,用于定时计数,一个提供给系统,两个留给用户;实时时钟1个,支持年月日时分秒及1/10秒计时功能,CPU可以访问实时时钟;可编程中断器,支持多中断、多级优先级,所有的可屏蔽中断输入都需要接在中断控制器上,可为每个中断设定优先级;提供看门狗功能,保证处理器处于正常工作状态;DMA控制器不少于3路,使通信效率有大幅度的提高,降低CPU的负担;串口2路,最大波特率为115 200 b/s,用于调试功能;GPIO接口,用于离散量的输入输出。

(8)电压转换单元:由于模块有多种电压,需要有电压转化电路把输入的电压转化成所需要的电压。

在所有接口资源中,只有处理器接口和FC接口需要用户自己编写逻辑,其他都有IP核,可根据自己需要的功能设置相关参数。

设计中FPGA相当于桥接器加FC接口的功能,内部逻辑是固化的,不需要担心因为下电而使逻辑丢失,这种方式是可行的。

本文使用该方法设计实现了通用处理单元,所需要的功能全部可以实现,对于FPGA的设计方式,其性能的提高在于FPGA内部逻辑的优化,目前情况下该方案走通了原理,还没有对性能进行优化,所以在这里没有给出关于性能的数据。

4 设计方案的优缺点

处理器加FPGA实现方式中,FPGA内实现各种控制逻辑,包括对CPU、存储器等的控制,一些内部资源(如定时器、看门狗等)也在FPGA内部实现。

使用FPGA的优点如下:(1)FPGA设计灵活,用户可实现指定的功能,以后可增删功能,而且设计方便进行修改更新,产品具有一定的灵活性,多个控制器(如DDR SDRAM、Flash等控制器)都有IP核,一些内部资源(如定时器、看门狗等)也有IP核。(2)FPGA芯片设计流程的主要工作是电路设计和前后仿真验证,而综合和布局布线等工作主要依靠计算机完成且占用时间很少,设计完成后可直接进行数据下载及硬件调试,因此研发周期短。(3)FPGA内部集成各种功能,简化了系统设计,各个IP核的灵活配置选项可让系统开发过程更加快速、高效,各种功能集成在FPGA中,降低了系统的成本。用户其他的控制器逻辑可与IP核在同一片FPGA内实现,节省板子的面积,尤其是在面积比较紧张的板子上更为重要,调试过程中,FPGA都有相应的软件,这些软件可更好地帮助用户完成调试。

使用FPGA的缺点:用户的工作量较大;要提高系统的性能,需要合理利用FPGA内部资源,所以要用户熟悉利用FPGA提高系统性能的方法,而且要熟悉FPGA相应软件。

5 结论

在嵌入式系统中,性能要求越来越高,体积要求越来越小,因此实现高集成度技术很有必要。本文比较了SoC技术和FPGA技术实现高集成度的方法,最后选用FPGA技术实现了通用处理单元的高集成度技术,并分析了其优缺点。结果表明,使用FPGA可实现高集成度,该方法值得推广。

[1]何志强.综合化航空电子系统发展历程及重要支撑技术[J].电讯技术,2004(4):1-5.

[2]袁晓晗.航空电子综合核心处理技术研究[J].航空电子技术,2004(3):6-10.

[3]孟李林.FPGA和ASIC设计特点及应用探讨[J].半导体技术,2006(7):526-529.

[4]于宗光,魏敬和,王国章.SoC和FPGA技术未来的发展趋势[J].电子与封装,2006(3):1-5.

The research and design of high-integration method based on FPGA

Zhang Weidong1,Li Tao2

(1.Aeronautic Computing Technique Research Institute,Xi′an 710065,China;2.Aeronautic Airplane Xi′an Subcompany,Xi′an 710089,China)

Being the core of next-generation integrated avionic system,integrated core processor(ICP)plays an important role in avionics.ICP performs primary tasks in avionic system,and needs high performance.At the same time,due to limit of the space,ICP must have small cubage.So high-performance and high-integration requirements are proposed to ICP.The SoC technique is key technique of implementing the high-integration technique,and the high-integration technique can be implemented by the FPGA technique.The paper introduces a method of implementing high-integration by FPGA,compares the SoC technology and FPGA technology,and analyzes advantages and disadvantages.Finally FPGA is used to realize high integration technology of general processing unit.The result indicates that all functions are implemented by FPGA technique,and this method makes hardware design easy.

SoC;FPGA;ASIC;high-integration

TP336

A

1674-7720(2015)04-0011-03

(2014-10-27)

张伟栋(1984-),男,硕士研究生,工程师,主要研究方向:数据处理技术。

猜你喜欢
处理单元处理器控制器
工商业IC卡控制器改造为物联网控制器实践
不同生物链组合对黄河下游地区引黄水库富营养化及藻类控制
城市污水处理厂设备能耗及影响因素分析研究
长填龄渗滤液MBR+NF组合工艺各处理单元的DOM化学多样性
一种高可用负载均衡网络数据采集处理的方法及系统
ADI推出新一代SigmaDSP处理器
模糊PID控制器设计及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列
倍福 CX8091嵌入式控制器
火线热讯