半导体工艺技术进入深亚微米年代后,依据总线体系芯片SoC(Svstem on Chip)的体系结构在物理规划、通讯带宽以及功耗等方面无法满意未来多IP体系开展的需求。片上网络NoC(Netwotlk on Chip)是一种新的体系芯片体系结构,其中心思维是将核算机网络技术移植到体系芯片规划中来,从体系结构上彻底解决总线架构带来的问题。
研讨人员从拓扑结构、路由算法、交流战略以及流控机制等多个方面临NoC进行研讨,可是怎么构建NoC验证渠道,快速得到NoC的功用也一直是NoC研讨的要点。
在曩昔的几年里,一些研讨机构提出了关于NoC不同笼统层次的验证办法的研讨,一般的NoC验证是依据软件的仿真和建模,如:用C、C++、SvstemC进行体系级建模仿真,这样验证很灵敏,但在仿真时刻上却开支很大。本文提出的依据FPGA的NoC验证渠道在仿真速度方面是一般依据HDL的软件仿真的16 000倍,而依据PC机编写的NoC软件更增强了该渠道的灵敏性和实用性。
1 验证渠道架构
该验证渠道选用模块化规划,能够很容易地对不同的NoC进行功用验证和功用*估。图1给出了该验证渠道的根本架构。
它首要包含3个模块:
1)模仿IP核模块 该模块包含稀有据流量发生器TG(Traffic Generator)模块及数据流量接纳器TR(Traffic Receiver)模块。TG模仿发生NoC网络中各个IP节点或许发生的数据流量,TR用于搜集NoC运转过程中的各种信息。TG/R作为一个IP节点和待测NoC中的每个交流节点相连接。
2)微处理器MPU及其接口MPI模块 PC机经过MPU(FPGA中自带的NiosⅡ软核)和MPI完结对NoC各IP核中TG内部各个装备寄存器的装备,并将TR中各个寄存器的内容读取到PC机中进行处理。本模块和模仿IP核模块构成FPGA硬件渠道。
3)NoC软件模块 完结对NoC的装备以及NoC体系的功用核算。PC机经过MPU与FPGA进行通讯,完结对NoC的装备并从FPGA中得到数据并进行后端处理,以图形的办法显现给用户,供用户对所规划的NoC进行*估。一起PC机能够监控NoC运转的状况。
FPGA选用Ahera公司Stratix IV系列中的EP4SGX230KF40C2,该器材能够供给高速的时钟信号和很多的片内资源,并具有很多外围接口电路可供运用,这为依据FPGA的验证供给了强有力的确保。
1.1 流量发生器TG
该渠道中的TG是一个可重用的软核,用户能够经过为装备寄存器写入不同的装备信息使其发生不同的流量并注入NoC中。TR用于接纳数据信息,并核算发包数和收包数。
记载延时信息,核算误码个数。图2给出了TG、TR和MPI以及NoC之间的数据流向。
在片上网络中,流量的散布由以下2方面决议:1)流量的源/意图节点对的散布,即空间方位上的通讯概率散布,称为空间散布;2)流量注入网络时,注入网络的时刻距离在时刻上出现的概率散布,称为时刻散布。为了使该渠道到达*价NoC功用的意图,流量发生器TG将从空间散布和时刻散布的不同,模仿出不同的流量。
空间散布首要包含:1)给定方针地址:即装备TG发生发往确认方针地址的数据包;2)均匀散布:即装备TG发生均匀的发往网络中各个节点的数据包,类似于网络中的播送现象;3)热门散布:即装备TG发生发往网络中一些特定的数据交流相对频频的节点的数据包;4)部分散布:即装备TG发生发往网络中某一部分的网络距离较近的节点的数据包;5)矩阵转化地址散布:即依照矩阵X,Y向量转置的特色。装备TG发生发往与发送节点地址相对应的节点的数据包。
时刻散布首要包含:1)确认时刻距离:即装备TG每过一定数意图时钟周期发送1个数据包,直到中止发包中止;2)自类似流量模型:即ON-OFF流量模型。即装备TG在一段时刻内发送数据包,在一段时刻内中止发包。此类流量模型便是模仿实践中在某一段时刻突发很大的流量,而在别的的时刻段不发生流量;3)随机散布:即装备TG在发送1个数据包之间的距离是1个随机时钟周期数。
空间散布和时刻散布一般会交织装备运用,那么组合之后能够发生十几种不同的流量模型。别的,数据包的格局能够是用户指定的数据,也能够是伪随机序列PRBS(Pseudo Random Binary Sequences)。数据包的巨细亦可由用户指定,以数据片为单位,最小的数据包包含4片,最大的数据包包含511片。那么将流量模型和数据格局以及数据包的巨细组合起来,就会发生品种更为丰厚的流量模型。
流量发生器TG内部设有多个装备寄存器,包含:发包使能寄存器,发包距离寄存器,发包地址和数据寄存器以及发包类型寄存器。这些寄存器一致编址,用户能够经过装备这些寄存器操控TG作业。
1.2 流量接纳器TR
流量接纳器TR用于搜集收发包数目,收发包的收据片,而且核算误码和时延信息。为了到达此意图,TR内部设有多个只读寄存器,包含:发包个数寄存器.收包个数寄存器,发包数据寄存器,收包数据寄存器,中止寄存器,误码计数器以及延时寄存器,延时寄存器能够保存最近80个包的延时信息。这些寄存器一致编址,能够经过拜访这些寄存器来读取各种用于功用验证和功用*估的原始数据。
1.3 微处理器MPU及微处理器接口MPI
微处理器MPU是在QuartusⅡ软件的SOPC Builder东西中定制的。它包含1个NiosⅡ处理器IP核和外围的一些并行输入输出接口。NiosIⅡ系列嵌入式处理器是一款通用的RISC结构的CPU,运用32位指令集结构(ISA)的二进制代码兼容。将NiosⅡ处理器嵌入到FPGA硬件渠道中,合作整个体系完结验证的功用。该渠道在所定制的NiosⅡ处理器的外围还参加读信号、写信号、地址信号、输入数据信号、输出数据信号和中止信号等,来完结PC机和FPGA硬件渠道之间的数据通讯。
NiosⅡ处理器外围还包含一个锁相环(PLL)软核,用于供给NoC电路中所需求的各种时钟频率。微处理器MPU与TG/R通讯时,读写操控时钟作为突发时钟,频率一般比较低。而NoC中交流节点之间的数据交流会因为特定电路的不同,作业时钟频率会巨细不同,那么依据此作业频率,PLL发生相应的时钟信号合作其作业。MPU处理器仅占StraTIx IVEP4SGX230KF40C2器材2 820个逻辑资源LE (Logic Element)(即1%)。因而运用十分高效。
该渠道还供给一个通用的微处理器接口MPI,用于保证MPU和TG/R之间的数据通讯,也为MPU和TG/R的重复运用供给了一致接口。
1.4 NoC软件
NoC软件首要完结对FPGA硬件渠道的初始化装备和信息搜集及核算处理。依据功用划分为2部分:
1)NoC测验部分 其根本功用包含对FPGA硬件渠道的各个IP中TG内部装备寄存器的初始化装备,发动发生数据流并注入到NoC中,一起对NoC的运转状况进行监控,并实时搜集与功用验证和功用*估相关的信息。该软件是在NiosⅡ的集成开发环境(IDE)下用C言语规划开发的,在GNU的编译器下编译之后构成能够下载到MPU上直接运转的二进制文件。
2)NoC功用核算处理部分 该部分的首要功用是借助于第三方绘图东西依照NoC功用核算规矩对搜集到的数据进行核算处理,并以图表的办法直观显现NoC的根本功用和核算学功用。
以上两部分都是在PC机上开发完结的,可应用于对不同NoC的测验与验证。这为依据FPGA的硬件验证渠道增强了灵敏性和实用性。
2 仿真验证流程
该验证渠道的验证流程包含FPGA硬件渠道的构建和对该硬件渠道的初始化装备以及NoC运转之后的信息搜集和核算处理。仿真验证流程如图3所示。
其流程简述如下:1)依据硬件架构思维和模块化规划战略将用HDL言语描绘的NoC连接到FPGA硬件渠道;2)初始化装备FPGA硬件渠道,在PC机上编写NoC测验软件,并经过Jtag线下载到MPU上运转,装备TG发生指定流量,并注入到NoC中;3)当FPGA渠道运转时,即当数据在NoC各个交流节点之间传送或中止传送时,用户能够随时改动装备以发生不同的流量,来测验NoC在不同流量下的功用,并随时*测验渠道的运转状况;4)将TR搜集到的数据在NiosⅡIDE的操控台显现,并保存数据。然后对搜集到的数据进行核算处理,并以图形的办法直观显现待测NoC的功用。
3 NoC功用核算处理
在验证渠道中,选用PC机对NoC中运转之后相关的数据进行处理,并借助于第三方东西将处理成果以图形办法显现,以直观表明NoC的功用。该渠道关于课题组规划的Mesh结构的NoC进行了功用验证和功用*估。
首要处理包含均匀网络吞吐量和最近收到的80个数据包从发送端到接纳端的网络均匀延时以及误码核算,下面简略介绍功用*估的办法:
1)网络均匀吞吐量 关于TR搜集到的收包个数经过PC读取之后,制作功用曲线图。以归一化仿真时刻为基准,以相一起刻段中搜集的数据包数目作为网络总吞吐量。
式中,总运转时刻xlO%表明取归一化时延的l/l0。
图4给出了在不同流量模型下,每包4个数据片时,所规划NoC的网络均匀吞吐量。
2)均匀网络推迟 关于TR搜集到的最近80个数据包从发送端到接纳端的推迟信息,以归一化仿真时刻为基准,核算均匀网络推迟:
式中,P是发包总数,每个包的推迟为Li,那么Latency便是一段时刻内的均匀网络推迟。
图5给出了在不同流量模型下,在相同仿真时刻段中接纳到的数据包的均匀网络推迟。图6给出了在相同的流量模型-均匀地址,自类似流量模型下,在相同仿真时刻段中,关于每包分片不一起的均匀网络推迟。
3)误码核算 表l给出了误码个数核算表,这儿所规划的NoC是有保证服务,因而,在NoC运转过程中并不发生误码。验证成果与实践规划相一致。
4 结束语
本文提出了一种依据FPGA的NoC验证渠道。具体评论了该验证渠道中FPGA硬件渠道和NoC软件的根本功用,并论述了TG/R,MPU,MPI以及NoC软件的可重用性等特色。经过一个实例仿真验证的成果说明晰该验证渠道的根本功用和优越性。现在正在开发不同参数化的流量模型,以便将该渠道用于对各种不同NoC的验证。