1 RapidStream:FPGA HLS设计的并行物理实现-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RapidStream:FPGA HLS设计的并行物理实现

SSDFans 来源:SSDFans 作者: EVE 2022-05-25 09:50 次阅读

FPGA的布局布线软件向来跑得很慢。事实上,FPGA供应商已经花了很大的精力使其设计软件在多核处理器上运行得更快。

最近,在ACM的FPGA 2022会议上发表了一篇题为“RapidStream: FPGA HLS设计的并行物理实现”的论文,论文中描述了一种非常有趣的方法,通过FPGA设计软件推动HLS设计更快地运行在多核处理器上。

这篇论文由UCLA、AMD-Xilinx、根特大学和康奈尔大学的研究团队撰写,描述了RapidStream自动分区算法,将数据流设计分割成多个“island”,在划分的island之间插入“anchor regions”,然后通过anchor regions中的寄存器将每个island的信号连起来整合到整个设计中。

所有这些划分和拼接背后的目的是将HLS设计分割成小块,交付给现代服务器中的多个核心。这种策略已经有悠久的历史,现在被用于加速FPGA的开发。

这个过程有三个主要的HLS级约束:

1、非重叠分区——并行化不同island的物理实现;

2、流水线化的island间连接——每个island间连接都流水线化,以满足时序要求;

3、直接连接——每个island只能与相邻的island直接连接。当并行化设计布局布线时,这个约束是至关重要的。

(注意:这些约束与用于控制逻辑综合的各种约束完全不同,它处于一个更高的层次。)

RapidStream的开发者将数据流设计定义为一组并行处理元素(processing element,简称PE)和一组根据设计的数据流需求将PE连接起来的FIFO。PE内部可以很复杂,但只能通过FIFO接口与其他PE进行数据通信

如上所述,RapidStream将FPGA fabric划分为两种region:大小相同的region和在相邻region之间以窄列和行放置的anchor region。有趣的是,RapidStream似乎是专门为AMD-Xilinx Virtex UltraScale+ FPGA构建的,这是由FPGAchiplet(AMD-Xilinx语言中的超级逻辑区域,简称SLR)制成的2.5D器件。

a247143c-dbbf-11ec-ba43-dac502259ad0.png

这篇论文包含了几个描述RapidStream工作性能的图表。下图显示了在分区后,六种不同的数据流设计与没有分区的流水线/非流水线版本时钟速率的比较。

a2b9d65c-dbbf-11ec-ba43-dac502259ad0.png

从上图可以看出,RapidStream比所有非流水线版本的时钟速率更高。这是意料之中的,因为流水线是FPGA时钟速度改进的核心。然而,六种情况中,有五种情况RapidStream的结果比相同设计的流水线RTL版本要好,这个结果要引起我们的注意。

下面是布局布线的时间结果对比:

a33394ce-dbbf-11ec-ba43-dac502259ad0.png

RapidStream的布局布线运行时间比未分区设计的结果要好得多。这是因为RapidStream可以将每个分区送给不同的处理器核心来布局布线。

虽然FPGA供应商试图让布局布线算法在多核处理器上工作得更快,但RapidStream的开发人员根据经验发现,如果FPGA设计没有分区,在超过两个处理器核心上运行AMD-Xilinx Vivado设计工具时并没有太大改善。

如果有读者正在用FPGA开发HLS设计——特别是AMD-Xilinx FPGA,那么应该会对RapidStream感兴趣。更细节的内容可以在GitHub上找到。

原文标题:HLS分区加速FPGA布局布线!

文章出处:【微信公众号:SSDFans】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    602986
  • Xilinx
    +关注

    关注

    71

    文章

    2167

    浏览量

    121303
  • 布局布线
    +关注

    关注

    1

    文章

    88

    浏览量

    15170
  • HLS
    HLS
    +关注

    关注

    1

    文章

    129

    浏览量

    24097

原文标题:HLS分区加速FPGA布局布线!

文章出处:【微信号:SSDFans,微信公众号:SSDFans】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4

    受限的设备上运行,尤其在低功耗、实时检测的边缘计算设备中表现出色。相比传统 GPU,FPGA 能在小面积和低功耗下实现类似的推理性能,非常契合 AIoT 应用。像米尔 ZU3EG 这样的 FPGA
    发表于 12-06 17:18

    如何在FPGA实现按键消抖

    FPGA(现场可编程门阵列)中实现按键消抖是一个重要的设计环节,特别是在处理用户输入时,由于物理按键的机械特性和电气特性,按键在按下和释放的瞬间会产生抖动现象,这种抖动可能导致系统错误地识别为多次
    的头像 发表于 08-19 18:15 1763次阅读

    优化 FPGA HLS 设计

    减少错误并更容易调试。然而,经常出现的问题是性能权衡。在高度复杂的 FPGA 设计中实现高性能需要手动优化 RTL 代码,而这对于HLS开发环境生成的 RTL 代码来说是不可能的。然而,存在一些解决方案
    发表于 08-16 19:56

    FPGA在人工智能中的应用有哪些?

    以承担机器人路径规划、环境感知、运动控制等任务,结合外部传感器的反馈信息,实现高效、准确的机器人控制系统。 四、优势总结 高并行性:FPGA的高并行性使其在处理大规模
    发表于 07-29 17:05

    在多FPGA集群上实现高级并行编程

    今天我们看的这篇论文介绍了在多FPGA集群上实现高级并行编程的研究,其主要目标是为非FPGA专家提供一个成熟且易于使用的环境,以便在多个并行
    的头像 发表于 07-24 14:54 1241次阅读

    基于FPGA的图像采集与显示系统设计

    源和固有的并行处理能力,在数字信号处理、硬件加速、汽车电子等领域得到了广泛应用。在图像采集与显示系统中,FPGA能够实现高速、并行的数据处理,显著提高系统的实时性和性能。本文设计了一个
    的头像 发表于 07-17 10:58 1837次阅读

    一种在HLS中插入HDL代码的方式

    很多人都比较反感用C/C++开发(HLSFPGA,大家第一拒绝的理由就是耗费资源太多。但是HLS也有自己的优点,除了快速构建算法外,还有一个就是接口的生成,尤其对于AXI类接口,按照标准语法就可以很方便地生成相关接口。
    的头像 发表于 07-16 18:01 730次阅读
    一种在<b class='flag-5'>HLS</b>中插入HDL代码的方式

    请问如何使用fx3芯片来对FPGA进行并行配置?

    我阅读过AN84868,了解到fx3可以对连接的FPGA芯片进行串行配置;但是我的项目中,希望能尽量缩短FPGA配置的时间,因此希望能够了解是否有办法使用fx3芯片对外接的FPGA芯片进行并行
    发表于 05-28 08:30

    基于FPGA的网络加速设计实现

    首先是FPGA硬件的变化太多,各个模块可配参数的变化(比如卷积模块并行数的变化),另外一个是网络模型多种多样以及开源的网络模型平台也很多(tensorflow,pytorch等)。网络压缩也有很多种算法,这些算法基本上都会导致网络模型精度的降低。
    发表于 04-08 09:48 1019次阅读
    基于<b class='flag-5'>FPGA</b>的网络加速设计<b class='flag-5'>实现</b>

    # FPGA 编程如何工作?

    FPGA 在提高智能电网的可扩展性和性能方面非常有用,同时仍保持低功耗。 =#3。= 航空航天和国防 飞机有时会飞过恶劣的环境。因此,制造公司生产抗辐射和抗辐射 FPGA,与传统 ASIC 实现
    发表于 03-30 11:50

    为何高端FPGA都非常重视软件

    和Achronix在其设备架构中都采取了一些新颖的架构步骤,以帮助实现当今大型复杂设计的时序收敛。 但是,赛灵思在FPGA领域也领导了高级综合(HLS)领域,而且Vivado HLS
    发表于 03-23 16:48

    fpga芯片的主要特点包括 fpga芯片上市公司

    FPGA芯片的主要特点包括以下几个方面: 高性能和实时性:FPGA芯片由数百万个逻辑单元组成,因此具有并行处理能力,其运行速度远超单片机和DSP。这种并行计算能力使得
    的头像 发表于 03-14 16:46 1129次阅读

    如何使用FPGA驱动并行ADC和并行DAC芯片?

    ADC和DAC是FPGA与外部信号的接口,从数据接口类型的角度划分,有低速的串行接口和高速的并行接口。
    的头像 发表于 02-22 16:15 3639次阅读
    如何使用<b class='flag-5'>FPGA</b>驱动<b class='flag-5'>并行</b>ADC和<b class='flag-5'>并行</b>DAC芯片?

    FPGA实现原理

    FPGA(Field-Programmable Gate Array,现场可编程门阵列)是一种特殊的集成电路,其内部结构由大量的可配置逻辑块和互连线组成。FPGA可以通过编程来实现各种数字系统功能
    发表于 01-26 10:03

    AMD-Xilinx的Vitis-HLS编译指示小结

    ;j++) { b = 2; } } 由于这条指令的应用条件十分苛刻,因此很少使用。一般直接通过代码重构的方式对连续循环进行优化。 参考文档 官方vitis-hls的ug1399文档 FPGA并行编程 【流水线】
    发表于 12-31 21:20