文献标识码:A
DOI:10.16157/j.issn.0258-7998.2016.12.020
中文引用格式:谈俊燕,华迪,Virginie Fresse,等. 用于油画鉴别的自适应MPSoC中NoC仿真平台研究[J].电子技术应用,2016,42(12):76-80.
英文引用格式:Tan Junyan,Hua Di,Virginie Fress,et al. Emulation platform dedicated to adaptive MPSoC-based NoC architecture for the art authentication application[J].Application of Electronic Technique,2016,42(12):76-80.
0 引言
多光谱成像技术是一项针对光谱图像处理而开发的技术。专用的图像采集设备可以采集到相比于人类视觉更多的频率下的图像,多光谱成像算法提取人类眼睛在红、蓝、绿色可见光谱中不能采集的附加信息。光谱成像技术应用广泛,通常用于检测、鉴定、卫星观测以及医学检查中[1-3]。这类应用常要求系统有较大的计算资源用于处理复杂的图像处理算法,并且随着用户对实时性和集成度要求的提高,这类应用通常定位为实时的嵌入式应用。而现有的系统实现平台已经无法满足系统所要求的性能。
基于FPGA平台的片上网络(Network on Chip,NoC)作为通信架构的片上系统(System on Chip,SoC),被认为是应用于多谱或者超谱的实时图像处理及其他高性能的图像处理最合适的解决方案之一[4]。FPGA能以较少的资源实现高速的性能,处理大规模的复杂的操作。片上网络NoC以其自身特有的性能,成为了SoC的可扩展通信架构设计的一个可行性的选择。一个NoC能在低功耗、低复杂度的前提下,为通信架构的设计提供更多的带宽和更强的可扩展性能[4,5]。而NoC的设计意味着对不同架构的选择,包括缓冲区的大小、流量控制的策略以及拓扑的选择。在NoC的设计过程中,这些结构的选择必须满足目标用途的要求,例如延迟、功耗以及测试时间等关键约束条件及需求。另外,设计空间的宽度、设计流程的自动化都必须在设计过程中考虑到,从而确保对每种设计方案的快速评估和测试。
针对上文中提到的设计中需要考虑的相关约束,本文提出了一种基于FPGA的仿真平台,用于开发和评估基于NoC通信架构的多核片上系统(Multi-Processors- System-on-Chip,MPSoC)。仿真平台包括了NoC架构、可参数化的流量生成模块和流量接收模块,用于评估图像处理应用所需要的通信设计。仿真平台的生成和执行的可靠性高,实验的时间短。设计者指定采用的算法,在FPGA平台上仿真通信结构,从而获得准确的时间和性能的实时评估。
1 基于多谱的油画鉴别算法
多谱成像技术可以比人眼捕获更多频率的光。目前,光谱成像技术有着广泛的应用,航天、探测、鉴别等领域较为广泛地采用该成像技术[1,2]。本文采用的多谱成像技术油画鉴别算法主要通过对原始图像和鉴别图像之间的比较来实现。
鉴别算法的流程如图1所示,OI表示原始图像,CI表示需鉴别的图像。
首先,采用多光谱照相机采集图像上每个像素的光谱值作为原始数据。从OI和CI中提取图像的几个显著区域,并计算这些区域的平均色值。根据实验的需要,本文所有实验均采用32×32像素的窗口尺寸。通过色彩投影将色平均值转换成颜色空间值,OI和CI将分别进行色彩投影。投影后的色彩图像将在鉴别算法中进行比较处理。颜色距离是指OI和CI之间具有的基本的中性几何距离。目前所存在的颜色距离都可以被鉴别算法采用。基于多谱技术的鉴别算法采用光谱算法来计算CI的光谱图像数据与OI的光谱图像数据之间的多谱距离。在鉴别过程中,某些算法要求高精度的计算,这就意味着设计的硬件系统能够处理大量的浮点数据,实现复杂的计算功能。
针对油画鉴别应用的通信架构是全可参数化的。设计者可调整下述参数:OI和CI的尺寸、平均色值计算的窗口尺寸(或者其他类似的计算)、算法中的公式的数目和类型、每个公式的数据的大小和数目。执行的操作中数据可以是不同大小的浮点数或定点数(8,16,32或者为64位的数据)。
2 仿真平台
通信架构的开发探索是依托于连接着仿真模块的NoC架构进行的。仿真模块主要包括流量生成模块和流量接收模块。下文中将详细介绍这些模块的构成以及评估标准。
2.1 NoC架构
NoC架构作为一种新的通信架构,至今已有十几年的发展[6-8]。这类通信架构具有高扩展性、高性能、低功耗的优点,致力于改善SoC通信系统的灵活性。NoC架构的应用实现了片上系统千兆级通信的集成。一般情况下,NoC架构由几个基本要素构成:网络接口(Network Interface,NI)或网络适配器(Network Adaptor,NA)、交换机(Switch,S)、链接(Link)、处理单元(Resource)。
上述要素组成了NoC架构中的网络节点。数据以数据包的模式在NoC架构中传输。流量控制单元(Flow control Unit,Flit)是NoC内部数据传输最基本的单元。若干个Flit构成构成一个数据包。若干个数据通过一个数据包进行传输。NoC中的Flit的数量可以根据所要传输的数据的大小和数量进行调整。NoC架构支持不同大小的数据。
本文实验采用的NoC为Hermes NoC[7]。该NoC由巴西Rio Grande do Sul天主教大学研究设计,采用2D Mesh 交换机的基础结构,针对不同的协议、Flit的大小、缓冲器的深度以及路由算法在芯片上实现分组交换(packet-switching)网络。Hermes NoC的基本结构如图2所示,主要包含Hermes交换机和IP核。Hermes交换机含有路由控制逻辑和5个双向端口:East、West、North、South和Local端。Local端用来建立交换机和本地IP核之间的链接。其他的端口则被连接到附近的交换机上。所有的端口都具有用于临时存储信息的输入缓冲器。
Hermes NoC采用虫洞(wormhole)调度技术,包含了4种路由算法,一个确定性算法(XY算法)和3个部分自适应算法, 即West-first、North-last和Negative-first。这4种算法中,XY算法的确定性和最小化的设计使得该算法最为常用,本文的实验中也将采用该种算法。
2.2 流量发生器
对于NoC架构的仿真,连接到NoC的IP模块或其他组件由流量生成模块,即流量发生器(Traffic Generator,TG)代替。确定性的流量发生器被广泛使用于NoC的仿真评估。流量生成器模拟NoC中IP模块之间的通信。根据给定的应用,流量生成器产生传输的数据,并参数化数据的大小、传输时间、空闲时间以及传输目标模块,从而与替换的IP模块的行为和功能相匹配。现有的几种用于NoC仿真评估的流量发生器无法用于仿真图像处理应用的SoC中的通信结构。本文介绍的仿真平台包含了针对图像处理应用中的复杂数据处理和通信而设计的流量生成器。在NoC的仿真评估过程中,流量发生器产生的数据包包含两部分:5个Flits作为数据包的头信息部分和数据部分,如图3所示。头信息部分包括下列内容:
(1)目标核地址(Dest)。任意一个数据始发核都可以向一个或多个目标核发送数据。
(2)始发核地址(Source)。
(3)初始化时钟(Clk_init)。该Flit专属用于保存延迟的评估。当数据包发送时,发送时间被加载到改Flit中。
(4)传输的数据包的大小(Sz_pckt)。
(5)数据包数量(Nb_pckt)。
仿真平台中的流量发生器被设计成为一个参数化的VHDL的IP模块,如图4所示。
2.3 流量接收器
流量发生器产生的仿真数据在通信架构内被发送传输,并被目标核中的流量接收器(Traffic Receptor,TR)所接收。在接收数据包后,流量接收器在NoC的内部分析数据并提取数据传输的性能。本文设计的仿真平台提供了两种类型的流量接收器。一种流量接收器通过硬件中执行的仿真来分析和统计(周期数、内部的FPGA连接数…)。另一种流量接收器仅仅生成一个包含了仿真评估所有具体数值的追踪报告,然后通过外部的软件对数值进行分析和统计,从而得到整体NoC架构性能的仿真评估。仿真平台中的这两种类型的流量接收器都被设计成参数化的VHDL模块,便于仿真平台的自动生成。
2.4 实验仿真平台
在建立针对相关应用的SoC的NoC通信仿真平台前,首先需要根据具体的应用确定NoC的尺寸[9]。通过对油画鉴别算法的具体分析,整个SoC系统中所涉及到的功能处理单元及相关的参数规格如下:
(1)每个Flit为8 bit或者16 bit;
(2)2个处理单元用于平均色彩投影;
(3)采用6个处理单元,利用任务并行处理XYZ色彩投影:3个用于原图,3个用于鉴别图像;
(4)6个处理单元用于原图和鉴别图像的RGB、Lab、RMS的色彩投影;
(5)1个处理单元用于颜色距离的计算;
(6)1个处理单元用于多光谱距离的计算;
(7)1个处理单元用于多谱鉴别;
(8)从多谱照相机采集的数据(鉴别图像)和来自于存储器的数据(原始图像)分别来自于2个不同的交换机;
(9)数据包的数量和大小没有限制。
因此,仿真平台自动生成的用于油画鉴别应用的NoC仿真评估平台是一个带有处理功能的4×4的Mesh NoC,如图5所示。在实验中,采用MIPS处理器来实现图5中的相关处理计算功能。
3性能评估标准
本文中对NoC Hermes的性能评估将从时间和资源上进行仿真实验,标准主要为:平均延时和占用的资源。
平均延时Laverage(时钟周期数)定义如下:
其中,L为每个数据包的平均延时,P为总的数据包数量。
用于架构评估的标准还包括FPGA中使用的资源,主要为查找表(Look-Up-Table,LUT)、寄存器和存储器。
4 实验仿真
油画鉴别应用的通信架构的仿真评估在单片FPGA上进行,各个处理功能具有多个仿真场景。
用于NoC仿真的FPGA平台为ML506。该平台包含了Virtex5 XC5VSXFPGA芯片、32 640个LUT、32 640个寄存器和480个输入/输出模块(Input/Output,IO)。所有这些组件被配置成用来生成所属的通信架构和仿真模块。资源性能的评估主要考察占用资源的百分比。
上文中介绍的算法采用下述的参数:
(1)区域数R=1;
(2)每个区域的波长数W=128,240,480,960,992;
(3)图像窗大小S=8×8,16×16,32×32,64×64像素。
下文中介绍的实验基于处理功能的评估和交换机之间的通信评估。通过改变各种参数进行仿真评估。
4.1 处理模块的评估
因为计算的复杂性,整个应用中的处理功能将植入到MIPS处理器中来实现计算。MIPS是一个32位的RISC机构的处理器。通过自动生成的仿真平台,每一个处理功能的执行时间都可以由仿真得到。平均值的计算取决于窗口的尺寸和波长数量。平均值模块的执行时间和窗口的尺寸及波长数量成线性正比的关系。其他功能模块的执行时间如表1所示。模块的执行时间和波长的数量成线性关系,主要是因为MIPS体系结构是一个顺序处理器核。
设计者可以根据波长的数量和窗口的尺寸来估算每个处理功能在MIPS上的执行时间。
4.2 通信评估
该部分的实验主要是对通信性能的评估,所用的NoC为4×4 的Mesh结构。参数化TG和TR来模拟算法中核与核之间的数据传输。数据通过数据包的形式从一个节点传输到另一个节点。
表2给出了NoC结构在FPGA平台上所占用的资源。NoC架构单独占用了30%的LUT、8%的寄存器。整个仿真平台占用了58%的LUT和24%的寄存器。仿真模块占用的资源较少,TG占用362个LUT和214个寄存器,TR占用382个LUT和240个寄存器。处理核或者IP模块的选择将直接影响仿真平台,因为FPGA无法满足大规模的处理单元所需的资源。在这种情况下,需要将NoC分布在多个FPGA上进行仿真评估。
仿真平台中用于NoC的时钟频率为100 MHz,用于获得一个同步的MPSoC架构。
(1)实验1基于以下参数:R=1,W=128,S=64。实时仿真评估结果见表3。
鉴别算法中的8种通信场景分别列于表3,用于所有数据传输的延时为56 041个时钟周期。由于算法的复杂性,Average1和Average2做 GFC的算法处理的时占用了9 872个时钟周期。而由于处理的数据量庞大,输入数据平均值算法占据了总处理周期的80%。
(2)实验2主要进行input_1与average1之间的通信仿真,通过改变窗口的尺寸和波长的数目来评估通信性能,见图6和图7。
因为数据传输是通过数据包的模式进行,窗口尺寸变化的情况下,通信的延时不再呈线性关系。在改变波长数量的情况下,数据传输时间则随波长的增加而线性增加。因此设计者可以通过平台的仿真评估获得每个功能之间的通信周期,从而估算不同参数下的功能通信。
(3)实验3主要通过改变区域数R来仿真评估系统的通信。一个区域的数据使用一个数据包进行传输。数据包的数量取决于区域的数量。表格4介绍了不同区域数目的情况下所获得的系统通信时间。数据注入率为50%。从表4可以看出,通信时间取决于区域数目,增加的通信时间和等同于乘以增加的区域数目的倍数。设计者根据这个实验来预算应用程序的若干区域所需的通信时间。
5 结论
本文提出了一个基于NoC的MPSoC仿真评估平台。所设计的仿真模块用来模拟图像处理应用中所有的数据传输方案。可参数化的IP核直接连接到所选择的NoC架构。整个仿真平台可快速方便地植入到FPGA中,用于实时的仿真评估。设计人员可以通过修改不同的参数来仿真评估所设计的MPSoC的通信系统从而来定义结构的设计空间探索,并评估应用程序的实时性能。
通过对油画验证算法进行仿真实验,采用不同的参数来仿真评估通信架构,验证了所设计平台的功能。
参考文献
[1] CORCHS S,GASPARINI F.Enhancing underexposed images preserving the original mood[C].International Workshop,2011:125-136.
[2] RUGNA J D,KONIK H.A robust approach to segment desired object based on salient colors[J].Eurasip Journal on Image & Video Processing,2008,6957(5):1-11.
[3] BORENGASSER M,HUNGATE W S,WATKINS R.Hyper-spectral remote sensing:Principles and applications[M].Crc Press,2007.
[4] AL-HASHIMI B M.System-on-Chip:next generation electronics[M].IEE Press,2006.
[5] JANTSCH A,TENHUNEN H.Networks on Chip[M].Springer US,2003.
[6] DALLY W J,TOWLES B.Route packets,not wires:on-chip interconnection networks[C].Proceeding of the 38th Conference on Design Automation,2001:684-689.
[7] MORAES F,CALAZANS N,MELLO A,et al.HERMES:an infrastructure for low area overhead packet-switching networks on chip[J].Integration the Vlsi Journal,2004,38(1):69-93.
[8] GENKO N,ATIENZA D,MICHELI G D,et al.A complete network-on-chip emulation framework[C].Design,Automation & Test in Europe Conference & Exhibition.IEEE,2005:246-251.
[9] FRESSE V,TAN J,ROUSSEAU F.Exploration of an adaptive NoC architecture on FPGA dedicated to multi and hysperspectral algorithm for art Processing Theory Tools and Applications(IPTA),2010 2nd International Conference on.IEEE,2010:529-534.