基于FPGA的NoC多核处理器的设计-设计应用_第1页
基于FPGA的NoC多核处理器的设计-设计应用_第2页
基于FPGA的NoC多核处理器的设计-设计应用_第3页
基于FPGA的NoC多核处理器的设计-设计应用_第4页
基于FPGA的NoC多核处理器的设计-设计应用_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑基于FPGA的NoC多核处理器的设计-设计应用摘要:为了能够灵活地验证和实现自主设计的基于NoC的多核处理器,缩短NoC多核处理器的设计周期,提出了设计集成4片Virtex-6—550TFPGA的NoC多核处理器原型芯片设计/验证平台。分析和评估了NoC多核处理器的规模以及对FPGA硬件资源的需求,在此基础上给出了集成4片FPGA的开发板详细设计方案,并对各主要模块如互联架构、电源、板级时钟分布、接口技术、存储资源等关键设计要点进行阐述。描述了开发板各个主要模块的测试过程和结果,表明了该设计的可行性。

0引言

由于基于传统SoC(system-on-chip)的单芯片处理器在内核频率、片上通信、功耗以及面积等方面面临着很大问题,基于NoC(network-on-chip)的多核处理器应运而生,从体系架构上解决了前者所面临的诸多问题。NoC互连结构具有IP间的并行通信、扩展性好以及吞吐量大等优势,并且解决了多核处理器的体系结构问题以及困扰总线结构的全局时钟问题。因此,NoC互连结构是多核处理器系统有前途的解决方案。

目前,FPGA芯片作为承载和验证基于NoC的多核处理器硬件设计的途径,已经成为了研究热点,但是随着硬件设计的规模不断增加,单片FGPA的硬件资源并不能满足基于NoC的多核处理器需求。因此,本文设计的验证平台采用了4片Xilinx公司的40nmVirtex-6系列中的XC6VLX550T(FF1759);该芯片具有将近50万的逻辑单元、840个可用I/0、内部信号可达600MHz、36组2.5Gbps高速吉比特收发器端口以及丰富的分布式RAM、Blockft。由此观之,集成4片该型号FPGA芯片的开发板能够为FPGA硬件设计人员提供足够多硬件资源,以便验证和实现基于NoC的多核处理器的原型芯片设计,也为以后在片上网络(NoO上研究多核并行计算提供了条件。

1多FPGA开发板设计的总体方案

1.1多FPGA的互联结构

该开发板总体架构如图1所示,平台上有4片XilinxXC6VLX550TFPGA芯片,因此可以将需要处理的任务划分多个子任务分配到不同FPGA芯片上的处理单元分别处理,从而实现任务处理的并行化;其任务间数据通信速度和同步时间等不仅取决于处理单元本身的通信速度,还取决于链接处理单元的通信互联网络。所以本平台的4片芯片利用FPGA提供的全双工差分高速GTX接口(low-voltagediferenalsignaling,LVDS)_6]和单端模式的高速普通GPIOE,实现片间的全互联网络结构;其中差分高速GTX接口的数据通信遵循Aurora协议,实现FPGA间的大量数据的高速传输,而单端模式的高速GPIO为FPGA开发人员提供自定义接口空间。

1.2开发板的具体实现及其特点

该开发板的具体实现如下:3大组GTX10(每组GTXIO由4路独立的GTXIO通道构成)分别与另外3块FPGA芯片的对应GTXIO相连,提供64位宽,125MHz的数据传输通道,实现4块FPGA芯片的全互联,片间吞吐率达lOGbps;以及1O对单端模式的高速GPIO。每片FPGA子系统包如图2所示,含如下模块:电源管理模块、独立的存储系统、板级时钟管理模块、FPGA的配置方式以及对外对内的接口模块。该开发板具有以下特点:

(1)丰富的逻辑资源,4片FPGA总逻辑资源:549888*4=2199552。(2)丰富的存储资源,24片DDR3共计48Gb,片外SRAM达到256Mb,片内RAM共计115.8Mb。(3)存储端口吞吐率大:DDRIII400MHz*16*12=76.8Gbps,片外SRAM167MHz*64*4=42.752Gbps。(4)FPGA设计灵活性、通用性强:可以采用不同的处理器,也可以采用相同的处理器,如ARM等。(5)仿真综合软件支持好:第三方的Modelsim能很好地完成功能仿真,而Xilinx公司的ISE则能很好地完成综合。

2开发板各模块具体设计方案

2.1系统电源设计

为了能够承载更多的硬件设计,开发板在设计中使用了4片FPGA为处理。因此,系统的功耗要远远超出普通系统的设计要求。所以,能否设计出满足系统功耗需求的稳压电源成为系统能否正常运行的关键。通常,电源设计有两种实现方式:低压差线性稳压电源LIX)与开关电源(DC_DC)开关电源(DC-DC)。u)O的特点是电源精度高、噪声小,比较适合于精密电路供电,其缺点是输出功率往往不够大,并且功率的转换效率偏低[8]。I)C-DC的特点是功率转换效率高,能够提供较大的电源功率,但相比较LIND而言其电源噪声会有所提高,因此I)C-DC一般作为系统整体稳压电源使用或直接为大功率器件供电。

2.1.1系统功耗估计根据图1和图2可以得出系统的部分主要4片XC6VLX550TFPGA、24片DDR3s亡IRAM、8片SRAM及8片NORFlash,它们占据了系统功耗的主要部分。因此,主要对这部分的功耗进行大致上的估算,同时考虑到板上的其它器件,对估算的结果适当放宽,终给出电源部分的具体设计参数。

本文对系统部份其中一个子系统所需的电压品种的对应的功耗进行了一个估算,参见表1。

表1的数据计算均参考每片芯片工作电流,为了提高电源的稳定性,本设计中电源的设计输出电流能力大于估算系统总功耗值的5O系统总功耗即可,并对FPGA进行功耗估算时使用Xilinx公司的功耗计算工具XPE(XPoweresTImator)对FPGA的功耗进行估算,当FPGA内部时钟工作在100MHz时,使用了90以上的内部资源,实际使用时一般不能用到所有的内部资源。

2.1.2系统电源设计方案为了使该系统更具稳定性和扩展性,本文设计的电源管理系统的带载能力至少是现有估计功耗的两倍。由于系统需要0.75V、1.0V、1.2V、1.5V、1.8V、2.5V和3.3V稳压电源,考虑到整个系统的功耗,整个系统主要采用DC-DC这种效率高、输出功率大的开关电源,而局部功耗较小、精度要求高的部分电路则采用LDO线性稳压电源,充分结合开关电源与线性稳压电源各自的优势进行系统电源的设计。DC-DC开关电源的芯片采用了凌力尔特公司的LTM4601;整个系统的外部供电12V。本文设计的电源方案如图3所示。

因为1.OV、1.5V、1.8V及2.5V的电源所需电流较大,所以我们采用一个相位震荡器来并联两片LTM4601得到24A的电流输出,而其中的0.75V是DDR3所需的一个参考电压则通过1.5V分压得到;1.2V和3.3V通过LTM4601降到5V后通过一个LD0得到。

虽然采用的LTM4601的效率高,但是考虑到PCB板的空间以及有超过IOA的输出电流,整个系统的散热成为了考虑的关键。在进行PCB的版图设计时,尽可能的加大铺铜的面积,并每片FPGA上贴有散热片和风扇,以便系统散热。

2.2板级时钟分布

基于SoC结构的处理器要求单一系统时钟全局同步工作,给设计带来了极大的困难。然而,基于NoC结构的多核处理器采用全局异步一局部同步的通讯机制,很好地解决了单一时钟同步问题,也为验证平台的时钟分布设计提供了便利。本文为每个FPGA子系统设计相应的时钟驱动,实现全局异步一局部同步的板级时钟分布。

本文设计的多核处理器原型芯片设计的验证平台实现了两种RTC方案。一种是外接有源晶振,选用EPSON公司的EG-2101CA125M为整个系统的差分高速GTX接口提供125MHz的差分时钟驱动;另外一种是利用25MHz的无源晶振和ICS公司的低噪声频率合成器ICS8430011-22,通过配置和调节芯片可以精准的产生200MHz差分时钟,并通过时钟芯片ICS8543BGT分出4路提供给每片FPGA所挂载的DDR3的参考差分时钟,具体电路参见图4。第二种方式因为其时钟输出频率的可调节,使得其更具灵活性,也就为整个平台的通用性和可扩展性做好了铺垫。

虽然只提供两个外部时钟,可以利用FPGA芯片内部的PLL产生400MHz的DDR3工作时钟;100MHz系统时钟和SRAM工作时钟。

2.3系统接口设计

2.3.1SDRAMDDR3接口设计NoC多核处理器的各处理单元在进行并行处理任务时,需要快速存储和读取数据,避免各个处理单元处理数据时产生冲突,就需要提供数量足够多、数据传输带宽和存储空间足够大的存储器。因此,本文设计的平台采用数据存取频率能达到1333MHzDDR3芯片。

开发板的每片FGPA芯片外接有3组美光公司的容量为2Gb,单片位宽为8bit的MT41J256M8HX-15E(DDR31033)的存储器,由两片组成16bit宽度的数据总线。XC6VLX550TFPGA能够支持SSTL15电平标准,能够和DDR3SDRAM进行无缝连接,FGPA与DDR3SDRAM的接口如图5所示。

图5中只是给出了其中一组DDR3与FPGA的连接,其所连接的FPGABANK是通过Xilinx公司的软件ISE开发环境锁定得到。FPGA的不同BANK的电平标准,用户可以自己定义,本文在设计时是参考ISE生成的UCF文件来给各个BANK输入电源,比如BANK28和BANK38的VCCO使用1.5V的电源进行供电。两片DDR3芯片的数据、时钟、读写闪烁信号和数据掩码信号使用FPGA分别控制,地址和控制命令信号共享。

2.3.2N0RFlash接口设计与FPGA的配置方式FPGA是基于SRAM架构来实现逻辑设计,所以在掉电后,编程信息立即丢失。芯片在每次加电时,都必须重新由设计文件生成的配置数据烧写文件。本系统每片FPGA芯片外接有两片相同的BPINORFlash,容量为256Mbit,位宽为16bit。其中的一片Flash接口在系统初始化过程中使用,当系统上电后或FPGA原型芯片复位键有效时,系统从片外的Flash加载硬件设计程序的bit文件到各个FPGA的本地程序存储器,实现对FPGABPI方式的配置和编程;另外,在这一片Flash还用来加载软件程序设计的bit文件。

使用同一片BPIFLASH保存软件bit文件。BPI方式通过NOR型FLASH加载FPGA配置,无需Bootloader搬移FLASH中的应用软件bit文件,就可以直接运行。

同样,XC6VLX550TFPGA能够支持LVCOMS2.5V电平标准,能够和NORFlash进行无缝连接,FPGA与NORFlash的接口如图6所示。

图6中BPIFlash与FPGA相连两个是特定的BANK,分别是BANK24和BANK34;Flash的数据线和控制信号与FPGABANK24相连,地址信号与BANK34相连,其中的复位信号与BANK0的PROG—B相连,硬件设计人员可以自行设定对应BANK的电平标准。

BPI方式中,M0,M1和M2配置管脚的设置,010和110都是BPI方式,当M0为0时,FPGA加载时由BPIFlash的OxO00000地址递增读取配置文件;MO为1时,FPGA加载时有BPIFlash的0xFFFFFF地址递减读取配置文件,如图7所示。

每片FPGA都是一个子系统,有可作为独立的模块独立工作,4片FPGA芯片相互独立,因此4片FPGA使用了相互独立的Flash。此外,在本系统中,4片FPGA芯片还连成传统的菊花链,以便可以通过JTAG链式并结合Xilinx的iMPACT软件配置FPGAl”],从而提高了系统的通用性。

配置方式的选择:通过FPGABANK0的M0,M1,M2进行配置方式的选择,本系统使用了两种配置方式:BPI和JTAG,管脚的设置如表2所示。

2.3.3数据传输端口的设计为了加大整个系统的数据吞吐率和更加合理的利用FPGA芯片的高速吉比特收发器,所以在FPGA2和FPGA4的BANK118各外接一个光纤接口,吞吐率可达2.5Gbps,比普通的千兆网口快了许多,从而增强了系统的实时性。光口与系统相连的情况如图8所示。

该系统数据处理的工作流程如下:待处理的数据通过前端数据传输接口(光口)在前端FPGA2进行处理,通过FPGA之间的高性能数据传输通道(LVDS)发送到后端的FPGA进行进一步处理,通过后端FPGA4传输到后向数据传输端口。4片FAGA实现流水线并行,能够很好的满足片上多核处理器并行性要求。

3开发板调试实验过程和结果

在开发板制版和贴片结束之后,剩下的主要工作是完成开发板整体功能的调试和验证。作者主要从电源配置电路、系统电路以及接口电路等方面对开发板的各功能模块进行调试,并进行整体功能验证。目前,已顺利完成电源配置电路、4片FPGA互联结构、FPGA菊花链的加载电路、存储器接口电路等电路系统的调试实验工作。硬件设计的功能验证则由相关的硬件设计人员进行完成,开发板设计人员从旁辅助。开发板实物图如图9所示。

在测试电源管理模块的过程中,采用了线性直流稳压电源,型号是HK1000—11PEP(12V,18A)为开发板提供电源;采用了HP33401A对开发板上个保险丝测试点进行各种电压的测试,测试结果如表3所示表3的数据表明电源管理模块能够稳

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论