片上网络(NoC)技术的发展及其给高端FPGA带来的优势
|
1. 概述 在摩尔定律的推动下,集成电路工艺取得了高速发展,单位面积上的晶体管数量不断增加。片上系统(System-on-Chip,SoC)具有集成度高、功耗低、成本低等优势,已经成为大规模集成电路系统设计的主流方向,解决了通信、图像、计算、消费电子等领域的众多挑战性的难题。 随着片上系统SoC的应用需求越来越丰富,SoC需要集成越来越多的不同应用的IP(Intellectual Property)。另外,片上多核系统MPSoC(MultiProcessor-System-on-Chip)也已经成为必然的发展趋势。 随着SoC的高度集成以及MPSoC的高速发展,对片上通信提出了更高的要求。片上网络技术(Network-on-Chip,NoC)在这个时候也得到了极大的应用,它本质上就是提供一种解决芯片内不同IP或者不同核心之间数据传输的片上通信方案。 片上网络技术从发明至今已有20多年的历史,在SoC中已经有了广泛的应用。针对片上网络高带宽、低延迟的特性,主流FPGA公司也开始考虑将NoC用于高端FPGA中来解决数据传输的高带宽需求。Achronix的新一代7nm工艺的Speedster 7t便是最早集成了NoC的高端FPGA之一。如图1所示。
图1 Speedster 7t FPGA结构图
2. 片上互连架构的发展 片上互联架构的发展主要经历了三个阶段:共享总线(Bus)、Crossbar以及片上网络(NoC)[1]。 (1) 传统的SoC片上通信结构一般采用共享总线的方式。在共享总线结构中,所有的处理器和IP模块共享一条或多条总线。当有多个处理器同时访问一条总线时候需要有仲裁机制来决定总线的所有权。共享总线片上通信系统结构一般比较简单,且硬件代价也小。但是带宽有限,而且带宽也没法随着IP的增多而进行扩展。1996年,ARM公司提出的AMBA总线广泛应用于嵌入式微处理器的片上总线,现在已经成为事实上的工业标准。
图2 典型的AMBA总线系统[2]
(2) 对于传统的共享总线,当多个处理器同时去访问不同的IP的时候,因为需要仲裁机制去决定总线的所有权,所以传统的总线方式在这种情况下就会造成一定的瓶颈,最大的问题就是访问的延时。在这种情况下,为了满足多处理同时访问的需求同时提高整个系统的带宽,一种新的解决方案Crossbar孕育而生,如图3所示一个典型的Crossbar结构。 Crossbar保证了多路通信同时进行的实时性,只要不是访问同一个目标设备,就不需要用到仲裁,大大减少了因为仲裁带来的瓶颈问题。但是随着设备数的增加,Crossbar的规模会以几何级数增长。所以通常我们通过桥接设备去级联多个Crossbar来支持设备的扩展。但是桥接设备可能会成为系统的瓶颈,增加传输的延迟。
图3 典型的单向8x8 Crossbar
实际应用中,我们通常也会采用Crossbar和共享总线相结合的方式,用桥接器将Crossbar网络和共享总线网络连接起来,如图4所示一个典型的混合型拓扑结构。
图4 典型的混合拓扑网络
(3) 片上网络NoC带来了一种全新的片上通信方法,显著优于传统的总线式和Crossbar的性能。NoC是一种可扩展性更好的设计。在NoC架构中,每一个模块都连接到片上路由器,模块传输的数据则是形成了一个个数据包,通过路由器去送达数据包的目标模块。如图5所示是一个典型的NoC结构,图中的R表示Router, 所有的Router可以是同步,但每个Router所连接的PE(Processing Element)与Router异步,自成一个时钟域(Clock Domain)。所以基于NoC的系统能更好地适应在复杂多核SoC设计中使用的全局异步局部同步时钟机制。另外,NoC可以支持各种扩展功能,比如流量控制(flow control)、服务质量(QoS)等等。 因此,NoC是多核系统的最佳互联机制。
图5 典型的片上网络NoC结构
|













