带你了解一下片上高速网络FPGA的八大好处

发布者:EEWorld资讯最新更新时间:2020-06-03 来源: EEWORLD关键字:FPGA  Achronix 手机看文章 扫描二维码
随时随地手机看文章

引言

 

自从几十年前首次推出FPGA以来,每种新架构都继续在采用按位(bit-wise)的布线结构。虽然这种方法一直是成功的,但是随着高速通信标准的兴起,总是要求不断增加片上总线位宽,以支持这些新的数据速率。这种限制的一个后果是,设计人员经常花费大量的开发时间来尝试实现时序收敛,牺牲性能来为他们的设计布局布线。

 

传统的FPGA布线基于整个FPGA中水平和垂直方向上运行的多个独立分段互连线(segment),在水平和垂直布线的交叉点处带有开关盒(switch box)以实现通路的连接。通过这些独立段和开关盒可以在FPGA上构建从任何源到任何目的地的通路。FPGA布线的这种统一结构为实现任何逻辑功能提供了极大的灵活性,可用于FPGA逻辑阵列内的任何数据路径位宽。

 

尽管在FPGA中的按位来布线非常灵活,但其缺点是每个段都会给任何给定的信号通路增加延迟。需要在FPGA中进行长距离传输的信号会导致分段之间的连接延迟,从而降低了功能的性能。按位布线的另一个挑战是拥塞,它要求信号路径绕过拥塞,这会导致更多的延迟,并造成性能的进一步降低。

 

Achronix将此挑战视为一个开发全新架构的机会,以消除传统FPGA的设计挑战并提高系统性能。Achronix的解决方案是在传统分段式FPGA布线结构之上,再为其全新的Speedster7t FPGA系列器件创建一个革命性的二维(2D)高速片上网络(NoC)。Speedster7t NoC连接到所有片上高速接口:400G以太网、PCIe Gen5、GDDR6和DDR4 / 5的多个端口。

 

NoC的内部由一组行和列组成,它们在整个FPGA逻辑阵列中将网络数据流量从水平和垂直方向上进行分发。主NoC接入(NAP)点和从NoC接入点位于NoC的每一行和每一列交叉的位置。这些NAP可以是NoC和可编程逻辑阵列之间的源或目的地。

 

 

图1:Speedster7t的片上网络(NoC)和接口

 

Ethernet:以太网

 

Security:安全性

 

Configuration:配置

 

each direction:每个方向

 

Speedster7t的NoC似乎只对FPGA内部的布线总线有所帮助;但是,这种新型架构可以显着提高设计人员的工作效率,实现全新的设计功能,并提供了轻松实现密集型数据处理应用的能力。下面列举了在效率提高、设计变更和性能提升方面最显著的八种应用场景。

 

在整个FPGA的逻辑阵列中简化高速数据分发

 

在传统的各种FPGA架构中,对连接到FPGA的片外存储器以及与之相连的外部高速数据源进行双向的读/写操作,需要数据在FPGA逻辑架构中经过一条较长且分段的路由路径。这种制约不仅限制了带宽,而且还会消耗在逻辑阵列中的用户设计所需的布线资源,这给FPGA设计人员在时序收敛方面带来了挑战,尤其是其他逻辑功能对器件利用率提高的时候。

 

使用Speedster7t的NoC将数据从外部源传输到FPGA和存储器,比使用传统的FPGA架构完成同样的工作要容易得多。Speedster7t NoC增强了FPGA阵列中传统的可编程互连,其中的NoC就像一个叠加在城市街道系统上的高速公路网络。虽然Speedster7t FPGA中传统的、可编程互连矩阵仍然适用于较慢的本地数据流量,但NoC可以处理更具挑战性的、高速的数据流。

 

NoC中的每一行或每一列都被实现为两个256位的、以2 Ghz固定时钟速率运行的单向数据通道。行具有东/西通道,列具有北/南通道,从而允许每个NoC行或列可以同时处理每个方向上512 Gbps的数据流量。总而言之,这些通道可以通过编写简单的Veriog或VHD代码,在FPGA阵列中传输大量的数据,这些代码支持FPGA与NAP通信并连接到NoC高速公路网络上。

 

下图显示了NoC中各个点之间的数据传输。点1和点2的逻辑分别实例化了一个水平NAP。NAP可以发送和接收数据,但是每个单独的数据流都只是朝向一个方向。类似地,点3和点4的逻辑实例化了一个垂直NAP,并且可以在彼此之间发送数据流。

 

 

图2:NoC上跨越器件逻辑阵列的数据流

 

自动将PCIe接口连接到存储器

 

在现在的FPGA中,设计人员在将高速接口连接至连有FPGA的存储器件进行读写时,必须考虑在器件内由于连接逻辑、进行布线、以及输入和输出信号的位置而产生的延迟。为了实现基本的接口功能,在设计过程中构建一个简单的存储接口通常就要花费大量的时间。

 

在Speedster7t架构中,将嵌入式PCIe Gen5接口连接到已连接的GDDR6或DDR4存储器这项工作,可由外围NoC自动处理,不需要设计人员编写任何RT来建立这些连接。由于NoC连接到所有的外围IP接口,因此设计人员在将PCIe连接到GDDR6或DDR4的任何一个存储器接口时,都具有极大的灵活性。在下面的示例中,NoC能够提供足够的带宽,以持续支持PCIe Gen 5通信流连接到GDDR6内存的任意两个通道。这种高带宽连接无需消耗任何FPGA逻辑阵列资源即可实现,并且设计所需时间几乎为零。用户只需要启用PCIe和GDDR6接口即可在NoC上发送事务。

 

 

图3:将PCIe直接连接到GDDR6接口

 

在独立的FPGA逻辑阵列模块上实现安全的局部重新配置

 

与其他基于静态随机存取存储器(SRAM)的FPGA一样,Speedster7t FPGA必须在通电时进行配置。Speedster7t FPGA具有一个片上FPGA配置单元(FCU),用于管理FPGA的初始配置和任何后续的局部重新配置。FCU还被连接到NoC,从而在配置FPGA时提供了更高的灵活性。使用NoC将配置位流传输到Speedster7t FCU,可以使用以前不可用的新方法来对FPGA进行配置。

 

在器件配置之前,Speedster7t NoC可用于某些读/写事务: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重新配置,并加载经过优化的新设计以处理下一个工作负载。在器件仍处于运行状态时,局部重新配置可以在逻辑阵列集群(custer)级别上独立完成。一个聪明的用例是开发一个具有自我感知的FPGA,该FPGA通过使用一个软CPU来监测器件操作以实时启动局部重新配置,来关闭逻辑从而节省功耗,或在FPGA架构中添加更多加速器模块,以临时处理大量的输入数据。这些功能为设计人员提供了前所未有的配置灵活性。

 

轻松支持硬件虚拟化

 

Speedster7t NoC通过利用NAP及其AXI接口,为设计人员提供了在单个FPGA中创建虚拟化安全硬件的独特能力。将可编程逻辑设计直接连接到NoC只需要在逻辑设计中实例化一个NAP及其AXI4接口即可。每个NAP还具有一个相关的地址转换表(ATT),该表将NAP上的逻辑地址转换为NoC上的物理地址。NAP的ATT允许可编程逻辑模块使用本地地址,同时将NoC定向事务映射到NoC全局存储映射所分配的地址。此项重新映射功能可以以多种方式使用。例如,它可以用于允许加速引擎的所有相同副本使用基于零的虚拟寻址,同时将数据流量从每个加速引擎发送到不同的物理存储位置。

 

每个ATT条目还包含一个访问保护位,以防止该节点访问被禁止的地址范围。该功能提供了一种重要的进程间安全机制,可防止同时在一个Speedster7t FPGA上运行的多个应用或多个任务干扰分配给其他应用或任务的存储模块。这种安全机制还有助于防止由于意外、偶然甚至是故意的存储地址冲突而导致系统崩溃。此外,设计人员可以使用此方案阻止逻辑功能访问整个存储设备。

 

 

图4:使用Speedster7t NoC实现硬件虚拟化

 

Memory Space:存储空间

 

简化团队协同设计

 

基于团队的协同化FPGA设计并不是一个新的概念,但是底层架构和布线依赖于FPGA的其他部分,从而使得实现这个简单概念非常具有挑战性。一旦一个团队完成了设计的一部分,另一个设计其他部分的团队在尝试访问设备另一端的资源时,通常会遇到挑战,因为需要在已经完成的设计部分进行布线。同样,对一部分已进行设计布线的FPGA的区域或大小进行更改,可能会对所有其他FPGA设计模块产生连锁影响。

 

使用Speedster7t NoC,可以将设计模块映射到FPGA的任何部分,并且可以对资源分配进行更改,而不会影响其他FPGA模块的时序、布局或布线。由于器件中所有的NAP都支持每个设计模块无限制地访问NoC进行通信,因此使得基于团队的设计成为可能。因此,如果一个设计的某个部分在规模上有所增大,只要有足够的FPGA资源可用,数据流就会由NoC自动管理,从而使设计人员不必担心是否满足时序,以及对其他团队成员正在进行的设计的其他部分可能带来的后续影响。

 

 

图5:致力于开发同一个FPGA的多个设计团队

 

Design Team:设计团队

 

通过独立的接口和逻辑验证加快设计速度

 

Speedster7t NoC的另一个独特功能是支持设计人员独立于用户逻辑去配置和验证I/O连接。例如,一个设计团队可以验证PCIe至GDDR6的接口,而另一个设计团队可以独立地验证内部逻辑功能。这种独立操作之所以能够实现,是因为NoC的外围部分连接了PCIe、GDDR6、DDR4和FCU,而不会消耗任何FPGA资源。这些连接可以在不使用任何HD代码的情况下进行测试,从而可以同时独立地验证接口和逻辑。该功能消除了验证步骤之间的依赖关系,并实现了比传统FPGA架构更快的总体验证速度。

 

 

图6:独立的I/O和逻辑验证

 

Design Team 1: I/O Verification:设计团队1:I/O验证

 

Design Team 2: ogic Verification:设计团队2:逻辑验证

 

采用分组模式(Packet Mode)简化400 Gbps以太网应用

 

在FPGA中实现高速400 Gbps以太网数据通路所面临的挑战是找到一种能够满足FPGA性能要求的总线位宽。对于400G以太网,全带宽运行的唯一可行选择是运行在724 MHz的1,024位总线,或运行在642 MHz的2,048位总线。如此宽的总线难以布线,因为它们在FPGA架构内消耗了大量的逻辑资源,即使在最先进的FPGA中也会在这样的速率要求下产生时序收敛挑战。

 

但是,在Speedster7t架构中,设计人员可以使用一种称为分组模式(packet mode)的新型处理模式,其中传入的以太网流被重新排列为四个较窄的32字节数据包,或者四条独立的以506 MHz频率运行的256位总线。这种模式的优点包括:当数据包结束时减少了字节的浪费,并且可以并行传输数据,而不必等到第一个数据包完成后才开始第二个数据包的传输。Speedster7t FPGA架构的设计旨在通过将以太网MAC直接连接到特定的NoC列,然后使用用户实例化的NAP从NoC列连接到逻辑阵列中,从而启用分组模式。使用NoC列,数据可以沿着该列被发送到FPGA架构中的任何位置,以便进一步处理。使用ACE设计工具配置分组模式,可大大简化用户设计,并在处理400 Gbps以太网数据流时提高了效率。

 

 

图7:分组模式下的数据总线重排

 

Packet:数据包

 

Byte:字节

 

 

图8:使用分组模式的400 Gbps以太网

 

降低逻辑占用并提高整体FPGA性能

 

与以前的传统FPGA相比,Speedster7t NoC具有更大的灵活性和更简单的设计方法。一个潜在的好处是NoC会自动减少给定设计所需的逻辑量,设计可以使用NoC代替FPGA逻辑阵列来进行模块间布线。ACE设计工具自动管理将设计单元连接到Speedster7t NoC的复杂性,因此设计人员无需编写HD代码即可实现生产率。这种方法简化了实现时序收敛的耗时挑战,同时又不会由于FPGA逻辑阵列内的布线拥塞而降低整体应用性能。NoC还可以在不牺牲FPGA性能的情况下提高器件利用率,并且可以显着增加可用于计算的查找表(UT)数量。

 

为了强调这一优势,我们创建了一个支持二维输入图像卷积的示例设计。每个模块都使用Speedster7t机器学习处理器(MP)和BRAM模块,每个MP在一个周期内执行12次int8乘法。将40个二维卷积模块链接在一起,以利用器件中几乎所有可用的BRAM和MP资源。总共有40个二维卷积示例设计实例并行运行,使用了94%的MP、97%的BRAM、但仅使用了8%的UT。在总的可用UT中,其余92%的UT仍可被用于其他功能。

 

随着更多的实例被内置于器件中,单个单元模块的最高频率(FMAX)不会降低。该设计能够保持性能,因为进出每个二维卷积模块的数据可以直接从连接到NoC的NAP访问GDDR6内存,而无需通过FPGA逻辑阵列进行布线。

 

 

图9:一个带有40个二维卷积模块实例的Speedster7t器件

 

结论

 

Speedster7t NoC实现了FPGA设计过程的根本转变。Achronix是第一家实现二维片上网络(2D NoC)的FPGA公司,该2D NoC可以连接所有的系统接口和FPGA逻辑阵列。这种新型架构使Achronix公司的FPGA特别适用于高带宽应用,同时显著提高了设计人员的生产率。由于NoC管理了FPGA中设计的数据加速器和高速数据接口之间的所有网络功能,因此设计人员只需要设计其数据加速器并将其连接到NAP原语即可。ACE和NoC负责其他所有事务。通过使用NoC,FPGA设计人员将受益于:

 

  在整个FPGA逻辑阵列中简化高速数据分发

 

  自动将PCIe接口连接到存储器

 

  在独立的FPGA逻辑阵列模块上实现安全的局部重新配置

 

 

 

 


关键字:FPGA  Achronix 引用地址:带你了解一下片上高速网络FPGA的八大好处

上一篇:易灵思三种RISC-V®SoC系统芯片,帮助工程师简单高效设计芯片
下一篇:加速FPGA应用开发,Lattice Propel™全新软件解决方案问市

推荐阅读最新更新时间:2024-11-05 16:25

结合FPGA与结构化ASIC进行设计
由于结构化ASIC具有单位成本低、功耗低、性能高和转换快(fast turnaound)等特点,越来越多的先进系统设计工程师正在考虑予以采用。在结构化ASIC中,像通用逻辑门、存储器、锁相环和I/O缓存这些功能性资源都嵌在芯片内部经过预设计和预验证的基层中。然后,该层和顶部少数金属互联层一起完成定制。比起从头开始创建ASIC来说,这种方法可大幅缩短设计时间。 仅在芯片少数金属层上配置电路,不仅可以降低开发成本和缩短开发时间,而且降低了设计错误发生的风险。这是因为与ASIC需要设计许多掩膜层来构成芯片相比,结构化ASIC供应商只需要生成相对简单的金属层。 然而,利用结构化ASIC进行开发也不是没有风险。逻辑设计错误仍然可能存在。
[嵌入式]
异步SRAM存储器接口电路设计(Altera FPGA开发板)
异步SRAM存储器接口电路设计(Altera FPGA开发板)如图所示:
[模拟电子]
异步SRAM存储器接口电路设计(Altera <font color='red'>FPGA</font>开发板)
基于单片机和FPGA的多功能计数器的设计
1 引言 频率、周期、相位是交流信号的3大要素。一般情况下,分析交流信号需研究其频率与相位,而周期可直接由频率计算。对于正弦信号的频率、相位测量准确度的要求不断提高,而随着电子技术的发展,对其测量方法仍不断改进完善。较早采用直接频率测量的测频法,为了保证测试精度,一般低频信号采用测周期法,而高频信号采用测频法,测量很不方便。而相位测量最初采用测量信号一个周期参数的方法,该方法精度适用于低频,而高频时误差变大。该多功能计数器采用等精度测量法来测量信号频率,同时采用基于单片机和FPGA的计数相位测量方法完成精确相位测量,并能在液晶显示器实时显示当前信号的频率、周期和相位差。该计数器将正弦信号频率和相位的测量于一体,精度高,实用性强
[单片机]
基于单片机和<font color='red'>FPGA</font>的多功能计数器的设计
英特尔首款FPGA运算加速的AI处理器年底问世
英特尔今日揭露了接下来几款主要AI专用芯片的推出时间表,最快将在今年底前发表搭载Intel FPGA加速运算技术的Intel Stratix 10全新处理器,而另一款专为深度学习设计的Crest系列处理器,则将延后到明年才会推出,至于Xeon Phi芯片也将会在年底推出新产品 。 英特尔今日除推出新一代Xeon Scalable服务器处理器外,也同时揭露了接下来几款主要AI专用芯片的推出时间表,最快将在今年底前发表搭载Intel FPGA加速运算技术的Intel Stratix 10全新处理器,而另一款专为深度学习设计的Crest系列处理器,则将延后到明年才会推出,至于Xeon Phi芯片也将会在年底推出新产品 。 英特尔从去
[半导体设计/制造]
Altera和Apical交付WDR FPGA监控应用解决方案
Altera公司 (NASDAQ: ALTR)和Apical有限公司今天宣布,为视频监控摄像机提供世界上第一个高清晰宽动态范围(WDR) CMOS图像传感器处理解决方案。在内华达洲拉斯维加斯3月24号到26号举行的国际安防大会(ISC)西部博览会上,Altera展示了这一解决方案。Altera和Apical全面的解决方案保证了各种照明条件下优异的视频图像质量,而这是前几代监控摄像机面临的主要瓶颈问题。结合Altera的 Cyclone® III和Cyclone IV FPGA以及Apical的知识产权(IP),这一解决方案支持Aptina新的MT9M033高清晰WDR CMOS图像传感器。 标准CMOS图像传感器受限
[嵌入式]
基于DSP Builder的DDS设计及其FPGA实现
直接数字合成器,是采用数字技术的一种新型频率合成技术,他通过控制频率、相位增量的步长,产生各种不同频率的信号。他具有一系列的优点;较高的频率分辨率;可以实现快速的频率切换;在频率改变时能够保持相位的连续;很容易实现频率、相位和幅度的数控调制等。目前可采用专用芯片或可编程逻辑芯片实现DDS ,专用的DDS芯片产生的信号波形、功能和控制方式固定,常不能满足具体需要 。可编程逻辑器件具有器件规模大、工作速度快及可编程的硬件特点,并且开发周期短,易于升级,因为非常适合用于实现DDS。 1 DDS的工作原理 DDS的结构原理图如图1所示,DDS以数控振荡器的方式,产生频率、相位和幅度可控的正弦波 。电路包括了相位累加器、相位
[应用]
赛灵思28nm一站式集成方案为中国智造提速
赛灵思公司全球总裁兼CEO Moshe Gavrielov2011年3月, 中国政府通过了雄心勃勃的第十二个五年计划,旨在打造一个既可以改善中国人民的生活同时可以实现可持续增长的发展环境。新的计划对于清洁能源、通信、运输和医疗保健等领域的技术创新尤为关注,因为中国正努力从当前“世界工厂”的价值链向研发及高端制造和服务中心的目标实现战略转型(“中国制造”到“中国智造”),服务于整个国内和国际市场。 赛灵思公司在中国拥有深厚的用户基础, 其中大家最熟悉的,就是赛灵思是所有主要中国领先通信企业无线基础设备的FPGA(现场可编程门阵列)供应商。然而, 您也许不知道,实际上赛灵思的产品和服务早已经广泛应用于中国的许多领域,比如工业自
[嵌入式]
基于FPGA的高速SDRAM控制器的视频应用
   0 引言    SDRAM (同步动态存储器)是一种应用广泛的存储器,具有容量大、数据读写速度快、价格低廉等优点,特别适合那些需要海量存储器的应用领域,例如 视频 方面。   这里有一个视频项目要求将非标准的ITU-R BT.656视频格式的数据转换成VGA格式,直接用于 显示器 显示。如图1,输入的视频格式是非标准的ITU-R BT.656格式,图像分辨率是1280×1024,帧速是15帧/秒,每一个像素点是24bit;输出的视频格式是VGA格式,图像分辨率是1280× 1024,帧速是60帧/秒,每一个像素点还是24bit。   本项目使用SDRAM来存储视频数据。在设计中,要求能够将一幅完整的图像(1280×
[嵌入式]
基于<font color='red'>FPGA</font>的高速SDRAM控制器的视频应用
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved