找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于FPGA的NoC硬件系统设计

[复制链接]
admin 发表于 2013-3-24 22:33:30 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
   摘  要: 设计了基于FPGA的片上网络系统硬件平台。系统由大容量的FPGA、存储器、高速A/D与D/A、通信接口和一个扩展的ARM9系统组成。完成了集高速数字信号处理、视频编解码和网络传输功能与一体的多核系统设计。针对典型的3×3 2D Mesh结构的NoC系统应用进行了探讨,阐述了NoC系统设计过程中的关键技术,并使用SigXplorer软件对系统的信号完整性解决方案进行了PCB的反射与串扰仿真。
      关键词: 片上网络;信号完整性;验证平台;片上端接
       中图分类号:TN47           文献标识码:B          文章编号:0258-7998(2012)02-0117-03
           IC制造技术的发展推动着芯片向更高集成度方向前进,从而能够将整个系统设计到单个芯片中构成片上系统SoC(System on Chip)。SoC采用全局同步型共享总线通信结构。这类系统由于挂在总线上的设备在通信时对总线的独占性以及单一系统总线对同步时钟的要求,使得在片上IP核越来越多的芯片中,不可避免地存在通信效率低下、全局同步时钟开销大等问题。
     片上网络NoC(Network on Chip)的提出有效地解决了上述问题。该系统借鉴了计算机网络中分组交换的通信方法,可以根据应用灵活地采用多种网络拓扑结构互连片上IP核[1]。各IP核间有多条链路可以进行并行通信,由FIFO跨接处于异步时钟域中的IP核,实现全局异部局部同步时钟系统。具有可扩展性好、低互连功耗和低延迟等特点。
     然而目前NoC还处于研究阶段,国内许多科研机构和院校围绕着网络拓扑结构、映射算法、路由算法、测试方法、路由节点的设计等展开研究[2]。各种基础理论的验证通常依赖于软件建模和硬件仿真。但针对NoC具体的应用系统少有报道。本文阐述了一个小型NoC系统的硬件实现,对系统的硬件实现方案、通信接口及信号完整性等问题进行了细致地研究。通过对完整系统的设计与实现,探索了NoC系统应用过程中的关键技术与难点,同时验证了NoC相关理论算法与结构、路由节点的设计和FPGA的多核技术等。
   1 硬件平台的设计
      NoC应用的最终目标是将大型的多核系统设计到单芯片中,使得片内可以容纳大量处理器核、专用IP核、存储器、数据通信单元等。然而这类庞大的系统在流片之前都需要合适的硬件平台来进行仿真、验证工作。另外某些场合的NoC系统更可能会直接选择使用FPGA作为其最终的硬件实现方案。因此基于FPGA的NoC应用系统设计具有实用性。考虑到FPGA的资源限制与NoC系统特点,针对3×3 的2D Mesh结构设计了基于FPGA的NoC应用系统框架,如图1所示。
    20121107050553506383520.jpg
   图1 NoC平台的FPGA系统结构图
       图中NoC系统包含9个资源节点,分为3行3列排列,每个资源节点有一个相邻的路由节点R与其相连。9个路由节点按规则的二维网状排列,由并行互连线连接构成通信网络。资源节点包括资源网络接口SNI(Source Network Interface)、片内存储器M和IP核等。其中IP核可以是处理器核NIOS、专用IP核、DSP核,也可以是用户设计的专用电路,而处理器核运行所需的存储任务在验证过程中由片外存储器SDRAM和Flash实现;通信网络包括路由节点R和并行互连线,路由节点实现与本节点相连的资源节点的数据收发和相邻路由节点的数据转发功能。互连线构成路由节点间信息传输的载体,FPGA内部大量的可编程互连线可以保障路由节点间足够的通信带宽。
   1.1 NoC系统设计
     NoC系统中资源节点使用的IP核、路由节点所需的FIFO缓冲器以及大量的互连线, 对平台的核心器件FPGA提出了严峻的挑战。以目前最先进的FPGA来构建大型的NoC系统仍显不足,解决的方法通常由多片FPGA组合实现系统功能。考虑到本平台主要由一个小型应用系统的实现,以及算法和路由的验证等组成,采用了单片大容量器件构成独立的系统平台,并设计了扩展接口,可进行多片组合实现更大的应用系统。
       目前,大容量可编程器件的供应商主要有Xilinx公司、Altera公司和Actel公司。各大供应商都提供了大容量与高速度的产品、完善的开发工具支持和常用IP核。综合应用的速度、软核的开放性、器件的定购周期与性价比,最终选定了Altera公司Cyclone IV 系列的EP4CE115F29芯片。该器件具有115 KLE,432 个M9K存储块,4个锁相环,20个全局同步时钟网络,780脚的BGA封装内提供528个用户I/O端口[3]。
     处理器核是多核系统中应用功能实现的常用部件。作为一款32位RISC处理器,Altera提供的软核NIOS II在仅占用3 KLE的情况下提供超过200 DMIPS的性能,并提供了丰富的外设接口IP和高性能的AVLEN总线。开发工具SoPC Builder软件支持单芯片内多个独立NIOS核的定制,同时NIOS II IDE软件提供了多核的程序开发与调试环境。因此NIOS II可以作为NoC应用系统中的软核处理器。
      路由节点负责NoC的通信工作,其通信带宽与可靠性直接影响着系统的性能。许多研究人员深入研究了路由节点的设计,并针对多种应用设计进行了优化[4]。这类优化大多围绕着提高通信吞吐量、减少通信延迟,解决拥塞等问题。路由的改进给节点的RTL综合提出了新的要求。例如一个缓冲式快速虫孔交换路由节点,片内设计有10个以上独立的32×16 FIFO,然而许多的小FIFO在综合时都会各自占用一个包含32×256 的M9K单元。造成内部存储单元的使用效率低下、资源紧缺的问题。另外由于片上网络全局异步时钟的特点,现代FPGA越来越丰富的全局时钟树网络显得多余而浪费。器件供应商们如果能在FPGA的设计过程中引入对这些问题的解决方案,必然会极大地推动未来NoC应用系统的FPGA实现。
   1.2 基于ARM的资源网络节点设计
       ARM(Advanced RISC Machines)系列处理器因其高性能、低功耗、开放性好等优点,在许多领域广泛应用。长期的应用开发形成了许多相关的软硬件资源。例如三星公司的S3C24XX系列处理器,不仅提供了丰富的外设接口,移植了成熟的ARM-Linux,更可以提供完整的TCP/IP协议支持和相当丰富的外设驱动,加速了应用的开发速度。NoC系统如能将片外的ARM处理器作为片上多核系统中的片外资源节点,充分利用现有软硬件资源,将给NoC系统带来巨大的应用空间。片外硬核与NoC系统的信息交换,即ARM同路由节点的通信由专用资源网络接口SNI完成。针对ARM 处理器AHB总线时序,设计了基于DMA通信的SNI单元,如图2所示。图中ARM的数据总线为双向数据总线,需要通过SNIC(Source NetworkInterface Controller)的控制实现分时复用。数据传输由SNIC发起,经过nXDREQ向DMAC发送请求信号,DMAC在获得总路控制权后发出nXDACK信号[5]。随后AHB总线将产生源和目的地址的读写信号进行数据传送,最终完成一次DMA传输。
    20121107050553553263521.jpg
   图2 ARM通信接口结构图
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-26 11:32 , Processed in 0.056616 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表