历史上的今天
今天是:2025年02月27日(星期四)
2020年02月27日 | 技术文章—2D NoC可实现FPGA内部超高带宽逻辑互连
2020-02-27 来源:EEWORLD
Achronix 最新基于台积电(TSMC)的7nm FinFET工艺的Speedster7t FPGA器件包含了革命性的新型二维片上网络(2D NoC)。2D NoC如同在FPGA可编程逻辑结构上运行的高速公路网络一样,为FPGA外部高速接口和内部可编程逻辑的数据传输提供了超高带宽(~27Tbps)。

图1 Speedster 7t FPGA结构图
NoC使用一系列高速的行和列网络通路在整个FPGA内部分发数据,从而在整个FPGA结构中以水平和垂直方式分发数据流量。NoC中的每一行或每一列都有两个256位的、单向的、行业标准的AXI通道,可以在每个方向上以512Gbps(256bit x 2GHz)的传输速率运行。
NoC为FPGA设计提供了几项重要优势,包括:
提高设计的性能。
减少逻辑资源闲置,在高资源占用设计中降低布局布线拥塞的风险。
减小功耗。
简化逻辑设计,由NoC去替代传统的逻辑去做高速接口和总线管理。
实现真正的模块化设计。
本文用一个具体的FPGA设计例子来展现NoC在FPGA内部逻辑互连中发挥的重要作用。本设计主要是实现三重数据加密解密算法(3DES)。该算法是DES加密算法的一种模式,它是对于每个数据块应用三次DES加密算法,通过增加DES的密钥长度增加安全性。
在该FPGA设计中,我们将输入输出管脚放在的FPGA上下左右四个方向上。上面管脚进来的数据经过逻辑1进行解密然后通过蓝色的走线送到逻辑2加密以后从下面的管脚送出。左边管脚进来的数据经过逻辑3进行解密然后通过红色的走线送到逻辑4加密以后从右边的管脚送出。如图2 所示。

图2 3DES设计(没有用NoC)后端布局布线图
本设计遇到的问题如下:
加密和解密模块中间的连线延时太长,如果不增加流水寄存器(pipeline),设计性能会收到很大限制。但是由于连接总线位宽是256位,增加几级流水寄存器又会占用很多额外的寄存器资源。
上下模块之间的连接总线和左右模块之间的连接总线出现了交叉,如果设计再复杂一点有可能会遇到布局布线局部拥塞,会大大增加工具布局布线时间。
上面两个问题也是广大FPGA设计者在复杂FPGA设计中或多或少会遇到的问题,导致的原因有可能是设计比较复杂,也有可能是硬件平台的限制,或者设计必须连接不同位置的外围Hard IP导致。
NoC的出现让我们上面遇到的问题迎刃而解。NoC为FPGA逻辑内部互连提供了双向288bit的原始数据模式(Raw data mode)。 用户可以通过这288bit的信号进行逻辑直连或者自定义协议互连。

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

图4 网络接入点NAP

图5 例化NAP宏定义示例
这样通过在3DES加密和解密模块上分别例化NAP,就可以实现3DES加密和解密模块之间的NoC互连。

图6 3DES设计(利用NoC)后端布局布线图
这样在简化用户设计的同时,设计性能有了很大的提高,从之前的260MHz提高到了750MHz。 图6中可以看到之前逻辑之间大量的连接总线已经看不到,总线的连接都由NoC接管,在后端布局布线图中只能看到绿色时钟走线和白色模块内部的逻辑走线。
本文主要想通过这样一个例子给广大FPGA设计者展示如何利用NoC来进行FPGA内部逻辑的互连,从而给广大FPGA设计者提供另一种考虑问题的思路。在传统的FPGA设计中出现了性能无法提升,布局布线拥塞的时候,是否可以考虑利用Achronix新一代的Speedster7t FPGA来简化和加速用户的设计。
史海拾趣
|
复合视频基带信号(CVBS)只是用负脉冲进行同步的。我在调试一个视频处理电路时,需要提取这个同步。但实际中遇到如下问题: 视频信号是经交流耦合到ADC采样的,这样在明场景和暗场景下负脉冲的最低值会变化。我首先想到的是数字处理的方法,提出 ...… 查看全部问答> |
|
在WIN98称霸的时代,每次使用U盘拷资料都是首先安装U盘厂商提供的驱动或者万能驱动程序,然后U盘才可以被系统识别,那个时候也没有这个疑问,后来到了2000/XP时代,安装U盘已经完全傻瓜式了,厂商不在需要提供驱动程序,直接把U盘插在USB口上就能使 ...… 查看全部问答> |
|
STC12C5A32S2这个片子,串口下载的时候,无法下载。出现以下提示 这个片子我按照厂家提供的下载电路搭建的,第一次下载成功了,再下载就无法下载了,上次下的程序还再执行,只要上上电就执行程序,就是不下载,我也按照顺序,先点下载然后再上电,还是不行,哪位给解决一下,谢谢。 Chinese:正在尝试与 MCU/单片 ...… 查看全部问答> |
|
要做个项目,以arm9为基础,控制器是别人开发的,提供接口给我们,我们负责应用程序的开发,自己做的程序需要查询mysql数据库,所以想把mysql集成到板子里去,想请教下这么做是否可行,可行的话要如何做,能推荐几本参考书?谢谢… 查看全部问答> |
|
因为100pin的没有PF和PG脚,所以貌似FSMC只能用在NOR Mux和NAND 16bit两种模式下了。24位的地址也只能接16M的FLASH,但是片选是不是就只有一个PD7了?那岂不是只能接一片?即使用NAND也就只能接两片8bit的了。请版主给说说,死等哈 ...… 查看全部问答> |
|
SPICE模型库网址http://www.intusoft.com/models.htmhttp://www.cadence.com/products/orcad/downloads/pspice_models/index.aspxhttp://www.aplac.hut.fi/aplac/models/main.htmlhttp://www.maxim-ic.com/tools/spice/http://www.altera.com.cn/su ...… 查看全部问答> |




