版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑Achronix-使用带有片上高速网络的FPGA的八大好处-基础电子
自从几十年前首次推出FPGA以来,每种新架构都继续在采用按位(bit-wise)的布线结构。虽然这种方法一直是成功的,但是随着高速通信标准的兴起,总是要求不断增加片上总线位宽,以支持这些新的数据速率。这种限制的一个后果是,设计人员经常花费大量的开发时间来尝试实现时序收敛,牺牲性能来为他们的设计布局布线。
传统的FPGA布线基于整个FPGA中水平和垂直方向上运行的多个独立分段互连线(segment),在水平和垂直布线的交叉点处带有开关盒(switchbox)以实现通路的连接。通过这些独立段和开关盒可以在FPGA上构建从任何源到任何目的地的通路。FPGA布线的这种统一结构为实现任何逻辑功能提供了极大的灵活性,可用于FPGA逻辑阵列内的任何数据路径位宽。
尽管在FPGA中的按位来布线非常灵活,但其缺点是每个段都会给任何给定的信号通路增加延迟。需要在FPGA中进行长距离传输的信号会导致分段之间的连接延迟,从而降低了功能的性能。按位布线的另一个挑战是拥塞,它要求信号路径绕过拥塞,这会导致更多的延迟,并造成性能的进一步降低。
Achronix将此挑战视为一个开发全新架构的机会,以消除传统FPGA的设计挑战并提高系统性能。Achronix的解决方案是在传统分段式FPGA布线结构之上,再为其全新的Speedster7tFPGA系列器件创建一个革命性的二维(2D)高速片上网络(NoC)。Speedster7tNoC连接到所有片上高速接口:400G以太网、PCIeGen5、GDDR6和DDR4/5的多个端口。
NoC的内部由一组行和列组成,它们在整个FPGA逻辑阵列中将网络数据流量从水平和垂直方向上进行分发。主NoC接入(NAP)点和从NoC接入点位于NoC的每一行和每一列交叉的位置。这些NAP可以是NoC和可编程逻辑阵列之间的源或目的地。
图1:Speedster7t的片上网络(NoC)和接口
Ethernet:以太网
Security:安全性
Configuration:配置
eachdirection:每个方向
Speedster7t的NoC似乎只对FPGA内部的布线总线有所帮助;但是,这种新型架构可以显着提高设计人员的工作效率,实现全新的设计功能,并提供了轻松实现密集型数据处理应用的能力。下面列举了在效率提高、设计变更和性能提升方面显著的八种应用场景。
在整个FPGA的逻辑阵列中简化高速数据分发
在传统的各种FPGA架构中,对连接到FPGA的片外存储器以及与之相连的外部高速数据源进行双向的读/写操作,需要数据在FPGA逻辑架构中经过一条较长且分段的路由路径。这种制约不仅限制了带宽,而且还会消耗在逻辑阵列中的用户设计所需的布线资源,这给FPGA设计人员在时序收敛方面带来了挑战,尤其是其他逻辑功能对器件利用率提高的时候。
使用Speedster7t的NoC将数据从外部源传输到FPGA和存储器,比使用传统的FPGA架构完成同样的工作要容易得多。Speedster7tNoC增强了FPGA阵列中传统的可编程互连,其中的NoC就像一个叠加在城市街道系统上的高速公路网络。虽然Speedster7tFPGA中传统的、可编程互连矩阵仍然适用于较慢的本地数据流量,但NoC可以处理更具挑战性的、高速的数据流。
NoC中的每一行或每一列都被实现为两个256位的、以2Ghz固定时钟速率运行的单向数据通道。行具有东/西通道,列具有北/南通道,从而允许每个NoC行或列可以同时处理每个方向上512Gbps的数据流量。总而言之,这些通道可以通过编写简单的Verilog或VHDL代码,在FPGA阵列中传输大量的数据,这些代码支持FPGA与NAP通信并连接到NoC高速公路网络上。
下图显示了NoC中各个点之间的数据传输。点1和点2的逻辑分别实例化了一个水平NAP。NAP可以发送和接收数据,但是每个单独的数据流都只是朝向一个方向。类似地,点3和点4的逻辑实例化了一个垂直NAP,并且可以在彼此之间发送数据流。
图2:NoC上跨越器件逻辑阵列的数据流
自动将PCIe接口连接到存储器
在现在的FPGA中,设计人员在将高速接口连接至连有FPGA的存储器件进行读写时,必须考虑在器件内由于连接逻辑、进行布线、以及输入和输出信号的位置而产生的延迟。为了实现基本的接口功能,在设计过程中构建一个简单的存储接口通常就要花费大量的时间。
在Speedster7t架构中,将嵌入式PCIeGen5接口连接到已连接的GDDR6或DDR4存储器这项工作,可由外围NoC自动处理,不需要设计人员编写任何RTL来建立这些连接。由于NoC连接到所有的外围IP接口,因此设计人员在将PCIe连接到GDDR6或DDR4的任何一个存储器接口时,都具有极大的灵活性。在下面的示例中,NoC能够提供足够的带宽,以持续支持PCIeGen5通信流连接到GDDR6内存的任意两个通道。这种高带宽连接无需消耗任何FPGA逻辑阵列资源即可实现,并且设计所需时间几乎为零。用户只需要启用PCIe和GDDR6接口即可在NoC上发送事务。
图3:将PCIe直接连接到GDDR6接口
在独立的FPGA逻辑阵列模块上实现安全的局部重新配置
与其他基于静态随机存取存储器(SRAM)的FPGA一样,Speedster7tFPGA必须在通电时进行配置。Speedster7tFPGA具有一个片上FPGA配置单元(FCU),用于管理FPGA的初始配置和任何后续的局部重新配置。FCU还被连接到NoC,从而在配置FPGA时提供了更高的灵活性。使用NoC将配置位流传输到Speedster7tFCU,可以使用以前不可用的新方法来对FPGA进行配置。
在器件配置之前,Speedster7tNoC可用于某些读/写事务:PCIe至GDDR6、PCIe至DDR4、是PCIe至FCU。一旦PCIe接口被设置好,FPGA就可以通过PCIe接口接收配置比特流(bitstream),并将其发送给FCU以配置器件的其余部分。一旦到达FCU,配置比特流被写入FPGA可编程逻辑以配置器件。在器件被配置完成后,设计人员可以灵活地重新配置FPGA的某些部分(局部重新配置),以增加新的功能或提高加速性能,而无需关闭FPGA。
新的局部重新配置比特流可以通过PCIe接口发送到FCU,来重新配置器件的任何部分。当部分器件被重新配置时,通过在所需的区域中实例化一个NAP与NoC进行通信,任何进出新配置区域的数据都可以在Speedster7t1500器件中被轻松访问。NoC消除了传统FPGA局部重新配置的复杂性,因为用户不必担心围绕现有逻辑功能进行布线并影响性能,也不必担心由于该区域中的现有逻辑而无法访问某些器件的引脚。该功能节省了设计人员的时间,并在使用局部重新配置时提供了更大的灵活性。
此外,局部重新配置允许设计人员在工作负载变化时调整器件内的逻辑。例如,如果FPGA正在对输入的数据执行压缩算法,并且不再需要压缩,则主机CPU可以告诉FPGA重新配置,并加载经过优化的新设计以处理下一个工作负载。在器件仍处于运行状态时,局部重新配置可以在逻辑阵列集群(cluster)级别上独立完成。一个聪明的用例是开发一个具有自我感知的FPGA,该FPGA通过使用一个软CPU来监测器件操作以实时启动局部重新配置,来关闭逻辑从而节省功耗,或在FPGA架构中添加更多加速器模块,以临时处理大量的输入数据。这些功能为设计人员提供了前所未有的配置灵活性。
轻松支持硬件虚拟化
Speedster7tNoC通过利用NAP及其AXI接口,为设计人员提供了在单个FPGA中创建虚拟化安全硬件的独特能力。将可编程逻辑设计直接连接到NoC只需要在逻辑设计中实例化一个NAP及其AXI4接口即可。每个NAP还具有一个相关的地址转换表(ATT),该表将NAP上的逻辑地址转换为NoC上的物理地址。NAP的ATT允许可编程逻辑模块使用本地地址,同时将NoC定向事务映射到NoC全局存储映射所分配的地址。此项重新映射功能可以以多种方式使用。例如,它可以用于允许加速引擎的所有相同副本使用基于零的虚拟寻址,同时将数据流量从每个加速引擎发送到不同的物理存储位置。
每个ATT条目还包含一个访问保护位,以防止该节点访问被禁止的地址范围。该功能提供了一种重要的进程间安全机制,可防止同时在一个Speedster7tFPGA上运行的多个应用或多个任务干扰分配给其他应用或任务的存储模块。这种安全机制还有助于防止由于意外、偶然甚至是故意的存储地址冲突而导致系统崩溃。此外,设计人员可以使用此方案阻止逻辑功能访问整个存储设备。
图4:使用Speedster7tNoC实现硬件虚拟化
MemorySpace:存储空间
简化团队协同设计
基于团队的协同化FPGA设计并不是一个新的概念,但是底层架构和布线依赖于FPGA的其他部分,从而使得实现这个简单概念非常具有挑战性。一旦一个团队完成了设计的一部分,另一个设计其他部分的团队在尝试访问设备另一端的资源时,通常会遇到挑战,因为需要在已经完成的设计部分进行布线。同样,对一部分已进行设计布线的FPGA的区域或大小进行更改,可能会对所有其他FPGA设计模块产生连锁影响。
使用Speedster7tNoC,可以将设计模块映射到FPGA的任何部分,并且可以对资源分配进行更改,而不会影响其他FPGA模块的时序、布局或布线。由于器件中所有的NAP都支持每个设计模块无限制地访问NoC进行通信,因此使得基于团队的设计成为可能。因此,如果一个设计的某个部分在规模上有所增大,只要有足够的FPGA资源可用,数据流就会由NoC自动管理,从而使设计人员不必担心是否满足时序,以及对其他团队成员正在进行的设计的其他部分可能带来的后续影响。
图5:致力于开发同一个FPGA的多个设计团队
DesignTeam:设计团队
通过独立的接口和逻辑验证加快设计速度
Speedster7tNoC的另一个独特功能是支持设计人员独立于用户逻辑去配置和验证I/O连接。例如,一个设计团队可以验证PCIe至GDDR6的接口,而另一个设计团队可以独立地验证内部逻辑功能。这种独立操作之所以能够实现,是因为NoC的外围部分连接了PCIe、GDDR6、DDR4和FCU,而不会消耗任何FPGA资源。这些连接可以在不使用任何HDL代码的情况下进行测试,从而可以同时独立地验证接口和逻辑。该功能消除了验证步骤之间的依赖关系,并实现了比传统FPGA架构更快的总体验证速度。
图6:独立的I/O和逻辑验证
DesignTeam1:I/OVerification:设计团队1:I/O验证
DesignTeam2:LogicVerification:设计团队2:逻辑验证
采用分组模式(PacketMode)简化400Gbps以太网应用
在FPGA中实现高速400Gbps以太网数据通路所面临的挑战是找到一种能够满足FPGA性能要求的总线位宽。对于400G以太网,全带宽运行的可行选择是运行在724MHz的1,024位总线,或运行在642MHz的2,048位总线。如此宽的总线难以布线,因为它们在FPGA架构内消耗了大量的逻辑资源,即使在的FPGA中也会在这样的速率要求下产生时序收敛挑战。
但是,在Speedster7t架构中,设计人员可以使用一种称为分组模式(packetmode)的新型处理模式,其中传入的以太网流被重新排列为四个较窄的32字节数据包,或者四条独立的以506MHz频率运行的256位总线。这种模式的优点包括:当数据包结束时减少了字节的浪费,并且可以并行传输数据,而不必等到个数据包完成后才开始第二个数据包的传输。Speedster7tFPGA架构的设计旨在通过将以太网MAC直接连接到特定的NoC列,然后使用用户实例化的NAP从NoC列连接到逻辑阵列中,从而启用分组模式。使用NoC列,数据可以沿着该列被发送到FPGA架构中的任何位置,以便进一步处理。使用ACE设计工具配置分组模式,可大大简化用户设计,并在处理400Gbps以太网数据流时提高了效率。
Packet:数据包
Byte:字节
降低逻辑占用并提高整体FPGA性能
与以前的传统FPGA相比,Speedster7tNoC具有更大的灵活性和更简单的设计方法。一个潜在的好处是NoC会自动减少给定设计所需的逻辑量,设计可以使用NoC代替FPGA逻辑阵列来进行模块间布线。ACE设计工具自动管理将设计单元连接到Speedster7tNoC的复杂性,因此设计人员无需编写HDL代码即可实现生产率。这种方法简化了实现时序收敛的耗时挑战,同时又不会由于FPGA逻辑阵列内的布线拥塞而降低整体应用性能。NoC还可以在不牺牲FPGA性能的情况下提高器件利用率,并且可以显着增加可用于计算的查找表(LUT)数量。
为了强调这一优势,我们创建了一个支持二维输入图像卷积的示例设计。每个模块都使用Speedster7t机器学习处理器(MLP)和BRAM模块,每个MLP在一个周期内执行12次int8乘法。将40个二维卷积模块链接在一起,以利用器件中几乎所有可用的BRAM和MLP资源。总共有40个二维卷积示例设计实例并行运行,使用了94%
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 实验室安全培训试题及答案
- 2026年护理osce层级考核试题(含答案)
- 土方回填压实施工方案-作业指导书
- 社区上访事件应急预案演练脚本
- 《药品管理法》培训考核试题(+答案)(2026版)
- 2026年全国国家版图知识竞赛题库及答案题(中小学组)
- 食品加工企业车工装卸作业安全操作规程
- 2026人教统编版新高一语文开学复习-整本阅读
- 多旋翼无人机驾驶证理论考试题库精-编答案
- 二年级下册数学暑假作业每日一练
- 城市轨道交通设备(第2版)课件:乘客信息系统
- 2026年新版电力交易员考试题库
- 中国临床检验技术操作指南(2026版)
- 神华准格尔能源有限责任公司黑岱沟露天矿矿山地质环境保护与土地复垦方案
- 高质量数据集建设和标准化情况介绍
- 2026年高考历史二轮复习:重难11 中国近现代民族意识与国家重建(重难专练)(全国适用)(解析版)
- 探秘抗肿瘤天然产物:三尖杉酯碱与白坚木型生物碱的研究进展与展望
- 快消品销售公司市场推广专员活动效果绩效考核表
- 建筑工程中级职称评定个人工作总结
- 2025年山东省烟台市辅警招聘公安基础知识考试题库及答案
- 《JYT 0616-2023高等学校实验室消防安全管理规范》(2026年)实施指南
评论
0/150
提交评论