使用具有2D NoC的FPGA提高性能

作者:
黄伦
高级现场应用工程师

发布于:2020年4月20日

Achronix 真人百家乐 具有革命性的新型二维片上网络(NoC),可为外部高速接口提供>20Tbps的超高带宽连接,并在可编程逻辑结构内路由数据。NoC的结构是一系列行和列,分布在真人百家乐结构上。每行或每列有两条256位数据路径,采用行业标准AXI数据格式,支持512 Gbps数据速率。有关Speedster7t NoC的更多详细信息,请访问革命性的新型2D片上网络

真人百家乐 NoC为FPGA设计提供了几个重要优势,包括:

  • 提高设计性能
  • 在具有高逻辑利用率的设计中降低位置和路线拥堵的风险
  • 降低功耗
  • 通过用NoC取代传统的逻辑数据路由来简化逻辑设计
  • 支持模块化FPGA设计

本博客使用一个具体的FPGA设计示例来展示NoC在提高FPGA结构中的性能和减少路由拥塞方面所起的重要作用。该设计实现了三重数据加密和解密算法(3DES)。它对每个数据块应用3DES加密算法三次,并通过增加3DES密钥长度来提高安全性。

在这个FPGA设计中,我们将输入和输出引脚放置在FPGA顶部、底部、左侧和右侧的四个位置。来自顶部引脚的数据由逻辑1解密,然后通过蓝色迹线发送到逻辑2进行加密,并通过底部引脚传输。来自左引脚的数据由逻辑3解密,然后通过红色迹线发送到逻辑4进行加密并传输到右引脚。

3DES FPGA设计布局图(无NoC)

3DES FPGA设计布局图(无NoC)

如果在传统FPGA架构中实现,这种设计遇到的问题如下:

  • 连接FPGA中间的加密和解密模块的路由是拥塞的。
  • 为了保持设计性能,需要增加流水线寄存器的数量。
  • 由于连接总线的宽度为256位宽,添加多级流水线寄存器将消耗大量寄存器资源。
  • 连接模块(1、2、3和4)之间的交叉点非常拥挤。随着设计复杂性的增加,设计可能不会布线,或者由于绕过拥堵区域的路线遇到的布线延迟,性能可能会下降。

上述问题对于构建复杂FPGA设计的FPGA设计人员来说是典型的:设计复杂性、硬件平台的局限性,以及由于需要连接到FPGA内的硬IP而必须连接到不同固定位置的外围设备的设计。

Speedster7t NoC的使用以一种以前FPGA架构无法实现的方式解决了拥塞问题。当配置为数据流模式时,NoC提供288位的双向逻辑互连。用户可以通过这288位路径执行逻辑直接连接或自定义协议互连。

Speedster

使用2D NoC的内部逻辑互连

真人百家乐提供分布在整个FPGA核心的80个主网络接入点和80个从网络接入点(NAP),用于将FPGA结构中的功能连接到NoC。设计者只需实例化NAP原语或宏,即可将逻辑连接到NoC。

NoC NAP

Speedster7t NoC行、列和网络接入点(NAP)

NoC代码

NAP宏示例的实例化

使用NoC大大简化了3DES设计平面图,非常重要的是,将设计性能从260 MHz提高到750 MHz,惊人地提高了188%。下图显示,逻辑模块之间的大量连接总线不再可见。总线连接已被吸收到NoC中,只有白色模块内的绿色时钟迹线和逻辑迹线可见。

3DES设计(使用NoC)布局图

使用2D NoC的内部逻辑互连

在本博客中,我们分享了FPGA设计人员如何利用Speedster7t NoC在Speedster7t-FPGA的内部逻辑之间进行连接,而不是使用传统的逻辑总线路由,因为传统的逻辑母线路由无法轻易提高性能。在集成不同的FPGA IP模块时,我们不仅可以大幅提高性能,还可以节省设计过程中的时间。

请继续关注更多关于Speedster7t NoC的文章、参考设计和技术见解。