新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 利用片上高速网络(2D NoC),创新实现FPGA内部超高带宽逻辑互连

利用片上高速网络(2D NoC),创新实现FPGA内部超高带宽逻辑互连

—— 一个运用NoC来优化加解密设计的例子
作者:Achronix资深现场应用工程师 黄仑时间:2020-02-28来源:电子产品世界收藏

Achronix 最新基于台积电(TSMC)的7nm FinFET工艺的Speedster7t FPGA器件包含了革命性的新型二维片上网络(2D NoC)。2D NoC如同在FPGA可编程逻辑结构上运行的高速公路网络一样,为FPGA外部高速接口和内部可编程逻辑的数据传输提供了(~27Tbps)。

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

1582882392517672.png

图1  Speedster 7t FPGA结构图

NoC使用一系列高速的行和列网络通路在整个FPGA内部分发数据,从而在整个FPGA结构中以水平和垂直方式分发数据流量。NoC中的每一行或每一列都有两个256位的、单向的、行业标准的AXI通道,可以在每个方向上以512Gbps(256bit x 2GHz)的传输速率运行。

NoC为FPGA设计提供了几项重要优势,包括:

l提高设计的性能。

l减少逻辑资源闲置,在高资源占用设计中降低布局布线拥塞的风险。

l减小功耗。

l简化逻辑设计,由NoC去替代传统的逻辑去做高速接口和总线管理。

l实现真正的模块化设计。

本文用一个具体的FPGA设计例子来展现NoC在FPGA内部逻辑互连中发挥的重要作用。本设计主要是实现三重数据加密解密算法()。该算法是DES加密算法的一种模式,它是对于每个数据块应用三次DES加密算法,通过增加DES的密钥长度增加安全性。

在该FPGA设计中,我们将输入输出管脚放在的FPGA上下左右四个方向上。上面管脚进来的数据经过逻辑1进行解密然后通过蓝色的走线送到逻辑2加密以后从下面的管脚送出。左边管脚进来的数据经过逻辑3进行解密然后通过红色的走线送到逻辑4加密以后从右边的管脚送出。如图2 所示。

image.png 

图2  设计(没有用NoC)后端布局布线图

本设计遇到的问题如下:

l加密和解密模块中间的连线延时太长,如果不增加流水寄存器(pipeline),设计性能会收到很大限制。但是由于连接总线位宽是256位,增加几级流水寄存器又会占用很多额外的寄存器资源。

l上下模块之间的连接总线和左右模块之间的连接总线出现了交叉,如果设计再复杂一点有可能会遇到布局布线局部拥塞,会大大增加工具布局布线时间。

上面两个问题也是广大FPGA设计者在复杂FPGA设计中或多或少会遇到的问题,导致的原因有可能是设计比较复杂,也有可能是硬件平台的限制,或者设计必须连接不同位置的外围Hard IP导致。

NoC的出现让我们上面遇到的问题迎刃而解。NoC为FPGA逻辑内部互连提供了双向288bit的原始数据模式(Raw data mode)。 用户可以通过这288bit的信号进行逻辑直连或者自定义协议互连。

 image.png

图3  利用2D NoC进行内部逻辑互连

在NoC的每个交叉点上都有两个网络接入点(NAP),用户只要简单地通过例化NAP的原语或者宏定义就可以将自己的逻辑接入到NoC并进行互连。



关键词: 3DES 超高带宽

评论


技术专区

关闭