新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA和ARM9的片上网络系统硬件平台

基于FPGA和ARM9的片上网络系统硬件平台

作者:时间:2013-04-24来源:网络收藏

IC制造技术的发展推动着芯片向更高集成度方向前进,从而能够将整个设计到单个芯片中构成片上SoC(System on Chip)。SoC采用全局同步型共享总线通信结构。这类由于挂在总线上的设备在通信时对总线的独占性以及单一系统总线对同步时钟的要求,使得在片上IP核越来越多的芯片中,不可避免地存在通信效率低下、全局同步时钟开销大等问题。

本文引用地址:http://www.eepw.com.cn/article/189626.htm

NoC(Network on Chip)的提出有效地解决了上述问题。该系统借鉴了计算机网络中分组交换的通信方法,可以根据应用灵活地采用多种网络拓扑结构互连片上IP核[1]。各IP核间有多条链路可以进行并行通信,由FIFO跨接处于异步时钟域中的IP核,实现全局异部局部同步时钟系统。具有可扩展性好、低互连功耗和低延迟等特点。

然而目前NoC还处于研究阶段,国内许多科研机构和院校围绕着网络拓扑结构、映射算法、路由算法、测试方法、路由节点的设计等展开研究[2]。各种基础理论的验证通常依赖于软件建模和硬件仿真。但针对NoC具体的应用系统少有报道。本文阐述了一个小型NoC系统的硬件实现,对系统的硬件实现方案、通信接口及信号完整性等问题进行了细致地研究。通过对完整系统的设计与实现,探索了NoC系统应用过程中的关键技术与难点,同时验证了NoC相关理论算法与结构、路由节点的设计和的多核技术等。

1 硬件平台的设计

NoC应用的最终目标是将大型的多核系统设计到单芯片中,使得片内可以容纳大量处理器核、专用IP核、存储器、数据通信单元等。然而这类庞大的系统在流片之前都需要合适的硬件平台来进行仿真、验证工作。另外某些场合的NoC系统更可能会直接选择使用作为其最终的硬件实现方案。因此基于的NoC应用系统设计具有实用性。考虑到FPGA的资源限制与NoC系统特点,针对3×3 的2D Mesh结构设计了基于FPGA的NoC应用系统框架,如图1所示。

基于FPGA和ARM9的片上网络系统硬件平台

图中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传输。

基于FPGA和ARM9的片上网络系统硬件平台

1.3 外围电路及电源设计

系统为实现各类功能验证提供了大量的外围电路,包括多套NIOS软核运行所需的存储器、双通道高速模拟信号输入与输出单元、摄像头模组接口、VGA视频输出单元、10 M/100 M以太网接口单元和音频接口单元。

电压要求的多样化需要多组的电源设计,其中FPGA由1.2 V核心电压、3.3 V与2.5 V I/O Buffer电压、2.5 V模拟PLL电压以及1.2 V数字PLL电压组成。模拟PLL电压需选用线性整流降压得到,以获得低纹波输出的稳定电压源;其他数字部分电源适合采用开关型整流器电路供应。例如TI的TPS54550器件,具有输出电流大、效率高、外围器件少等优点。值得一提的是,CYCLONE IV 内部具有电压检测与电源管理功能,没有上电顺序要求,简化了电源的设计。

2 信号完整性分析

大量高速器件的采用、FPGA的高密度封装、敏感的A/D和D/A转换芯片和许多开关整流器的噪声,这些都决定着需要对信号完整性分析予以足够的重视。设计过程中对叠层、电源隔离、地线处理做了细致的工作。采用Cyclone片内端接OCT(On-Chip Termination)的源端端接方案,并通过精心的布局布线,有效地克服了各种信号干扰。最后使用SigXplorer 软件提取PCB模型对信号的反射和串扰进行仿真,验证了系统的信号完整性设计。

2.1 叠层设计

叠层设计涉及电源与信号层的规划、走线的密度与层数的折衷等问题。本系统中29×29的BGA780封装的扇出是决定信号层层数的重要因素,假设1 mm球间距间扇出一根导线,在没有考虑顶层扇出限制和扇出线物理连接限制的情况下,可以计算出528个用户I/O端口加上少量配置线至少需要5个信号层,加上电源层后的总层数将达到8~12层,导致层数过大。结合加工工艺和串扰分析等情况,在允许的范围内尽可能降低层数的原则,最终确定间距39.37 mils扇出2根导线, 其中包括14 mils 的扇出过孔、5 mils的线宽和扇出线间距。采用信号1-电源-信号2-信号3-地-信号4的层叠方案。信号线线宽为5mils时的特征阻抗控制为50 ?赘。

tcp/ip相关文章:tcp/ip是什么


锁相环相关文章:锁相环原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭