Achronix Speedster7t FPGA芯片中2D NoC的设计细节

摘要
随着旨在解决现代算法加速工作负载的设备越来越多,就必须能够在高速接口之间和整个器件中有效地移动高带宽数据流。achronix的speedster7t独立fpga芯片可以通过集成全新的、高度创新的二维片上网络(2d noc)来处理这些高带宽数据流。achronix的fpga中特有的2d noc实现是一种创新,它与用可编程逻辑资源来实现2d noc的传统方法相比,有哪些创新和价值呢?本白皮书讨论了这两种实现2d noc的方法,并提供了一个示例设计,以展示与软2d noc实现相比,achronix 2d noc是如何去提高性能、减少面积并缩短设计时间。
介绍
achronix为其speedster7t系列fpga完全重新设计了片上通信架构,通过集成创新的2d noc来适应高带宽数据流的需求。在该fpga器件的外围,这个2d noc连接到所有高速接口:包括多个400g以太网、pcie gen5、gddr6和ddr4/5端口。在该fpga内的可编程逻辑阵列上部署了一系列高速行和列通道,它们分别向fpga可编程逻辑阵列的水平和垂直方向分配网络流量。除了这些行和列之外,在noc的每一行和每一列交叉的位置还有发送点和目标noc访问节点(nap)。这些nap充当noc和位于可编程逻辑阵列中的资源之间的源或目的地。
为了将achronix fpga中内置的2d noc,与使用传统方法在可编程逻辑阵列中创建的noc进行比较,为此我们评估了几种软noc设计;最后,基于同行评审和fpga结构的可移植性,我们选择了米兰理工学院的软2d noc(https://github.com/agalimberti/nocrouter,2017)设计。这种软noc在单向网状网络(mesh)中实现了虫洞前瞻预测切换。在实施时,它需要每个mesh节点上的多个存储器来存储和转发流控制单元(flit)。
为了量化片上2d noc实现模式和使用逻辑阵列资源的软实现模式之间的差异,首先创建了一个实例化alexnet 2d卷积的19个实例设计,然后在完整的2d noc设计之间比较了三个主要指标:所需资源、设计性能和设计时间(创建设计的时间以及在工具中编译设计的时间)。其结果是在所有三种情况下,集成achronix 2d noc的性能都明显优于软实现。
2d noc减少使用的资源
为了比较两种不同的2d noc设计,两种2d noc都与现有的2d卷积(conv2d)设计相结合。conv2d设计对输入图像执行alexnet 2d卷积。此conv2d设计需要一个或两个axi-4连接:一个用于从内存读取,一个用于写入内存,或者一个共享的axi-4执行读取和写入。为了实现与软noc的最佳集成,选择了单个共享axi-4接口,conv2d模块的实例位于每个mesh节点。然后,软noc启用了gddr6存储接口的数据入口和出口——在软noc中,内存接口连接到第20个mesh节点上;而在内置式noc中,这种连接已经存在。在整个设计中,从gddr6到每个conv2d节点都存在节点到节点通信,但conv2d节点之间不通信。
achronix 2d noc的设计细节
该设计有19个conv2d模块实例,每个实例都访问gddr6存储器。第20个实例是空闲的,因为gddr6接口直接连接到集成的2d noc。80个可用的noc接入点(nap)中有38个用于连接到conv2d实例。每个conv2d实例使用64个机器学习处理器(mlp),它在垂直方向覆盖两个nap。由于这种部署是针对内置2d noc,所以采用双axi-4方法连接conv2d模块。下表列出了本设计中使用的资源。
表1:achronix 2d noc使用的资源
使用achronix fpga集成的2d noc,可为设计布局产生了一种不凌乱的、可重复的结构,并且只消耗了不到一半的器件资源。下面是ac7t1500器件中资源使用的平面图。
图1:在ac7t1500中使用achronix 2d noc布局实例
软2d noc的设计细节
该设计被配置为5 × 4规模mesh,具有19个conv2d模块实例,每个实例都连接到一个软noc节点。其第20 mesh节点是为gddr6接口预留的。因此,需要更多的逻辑资源来管理软2d noc结构。此实现还需要每个节点上的存储,以便存储flit并将其转发到下一个节点。结果是显著提高了资源的使用量,以及在器件上的不规则布局。下表列出了使用的资源;下图为ac7t1500所用资源的平面图。
表2:软2d noc使用的资源
图2:使用软2d noc布局实例
2d noc提高性能
如前所述,通过使用achronix 2d noc,conv2d设计产生了规则的资源布局,从而形成规则的布线。减少了逻辑资源使用就减少了拥塞,因为需要布线的逻辑更少。该解决方案实现了最高565 mhz的频率,关键路径包含在conv2d实例逻辑中。随着更多conv2d节点添加到设计中,最大频率不会降低。
下图显示了使用achronix 2d noc时产生的布线
图3:使用achronix 2d noc的cnv2d设计布线
使用软2d noc解决方案会导致复杂且不规则的布线,同时时序也受到影响,因为需要深度lut逻辑来选择软2d noc中的适当路径。
此外,性能会随着mesh网络大小的增加而降低。使用2 × 3 mesh的设计可以达到94 mhz,而5 × 4 mesh只能达到82 mhz。关键路径包含在软noc mesh网络中,而不是在conv2d逻辑中。如果花更多时间优化设计以提高性能,则可以进一步优化软2d noc的时序。
下图显示了使用软2d noc设计时生成的布线。
图4:使用软2d noc时的cnv2d设计布线
2d noc改善了带宽
achronix的2d noc使用运行速度在2 ghz的256位双向总线,每个conv2d实例连接到两个nap,从而在一个节点上与gddr6接口之间的连接可实现的最大带宽为512 gbps。下面的框图显示了2d noc和一个连接到本地conv2d实例的nap的细节。
图5:achronix的2d noc和nap
软2d noc使用五路交叉开关(crossbar switch),其中一个端口与本地conv2d实例通信,而其他端口与网格中的下一个节点通信。该解决方案可以实现节点到节点连接的频率为82 mhz,从而在一个节点上形成最高为21 gbps的gddr6接口带宽。下面的框图显示了软2d noc mesh中的一个交叉开关。
图6:软2d noc交叉开关
2d noc缩短了设计时间和工具运行时间
achronix的2d noc采用axi-4标准与nap通信,这是许多fpga设计人员已经熟悉的接口标准。此外,2d noc包括内置功能,例如跨时钟域逻辑、流量控制和地址解码等,这些功能不再需要包含在用户逻辑中。achronix的2d noc的全功能实现为用户省去了大量的设计工作,使设计人员能够专注于连接到2d noc的加速器。
除了缩短设计时间外,使用achronix片上2d noc的设计比使用软2d noc的设计使用更少的资源。结果是需要布局和布线的逻辑更少,从而使得工具的编译时间更短。例如,与使用软2d noc的实现相比,使用achronix片上2d noc的设计布局和布线所需的时间不到一半。
结论
集成2d noc的speedster7t器件创新地带来了fpga设计过程的根本转变。achronix是第一家集成2d noc的fpga公司,它连接所有系统接口和fpga逻辑阵列。这种新架构使achronix fpga器件特别适用于高带宽应用,同时显著提高了设计人员的工作效率。由于2d noc管理着从设计在fpga逻辑阵列中的数据加速器到高速数据接口之间的所有网络功能,因此设计人员只需设计他们的数据加速器并将它们连接到nap接入点。与使用软2d noc相比,设计人员可以受益于以下优点:
● 降低逻辑资源占有率并提高fpga的整体性能
● 增加带宽
● 减少对存储器的需求
● 更快的设计时间和更短的工具编译时间
表3:speedster7t 2d noc与soft 2d noc的总结比较
如希望进一步了解achronix speedster7t fpga芯片及其2d noc可以发挥的巨大效用。
原文标题:achronix在其先进fpga中集成2d noc以支持高带宽设计(wp028)
文章出处:【微信公众号:achronix】欢迎添加关注!文章转载请注明出处。


rfid是如何辅助倒车的
边界扫描测试对PCB组装有何好处?
PPP已成为RTK,瞬时实现厘米级GNSS全球定位
双通道单芯片理想二极管通过无毛刺切换优先考虑电源
什么是特征工程?机器学习的特征工程详解解读
Achronix Speedster7t FPGA芯片中2D NoC的设计细节
Marvell新款ARMADA应用处理器,具备1080p全高
DFT设计—MBIST算法测试
台湾地区外销订单总额为515.9亿美元,较去年同期增长9.1%
为应对新冠肺炎,将3D打印应用于医疗领域
电动汽车双向充电有什么优势?
振荡水槽仪的产品特点以及工作原理的介绍
索尼注册PS系列商标,PlayStation 5将于2020年假期上市
液晶显示器DC/DC变换器电路图
世界模型在实体机器人上能发挥多大的作用?
吉时利3706A型系统开关的优势及应用介绍
什么是变压器的中性点?有何作用呢?
液压控制阀的作用
如何应对6G?关于6G技术的研究
TensorFlow Lite (TFLite) 在内存使用方面的改进