EEJournal

专题文章
现在就订阅

HLS分区可以加快FPGA设计的放置和路由吗?是的,哦,是的!

由来已久的分治战术依然有效

FPGA位置和路线软件运行太快了,没人说过。事实上,FPGA供应商已经花费了相当大的努力,使他们的设计软件在多核处理器上运行得更快。最近在ACM FPGA 2022会议上发表的一篇题为“RapidStream: FPGA HLS设计的并行物理实现”的论文描述了一种非常有趣的方法,可以更快地通过运行在多核处理器上的FPGA设计软件推动HLS设计。这篇论文由加州大学洛杉矶分校、AMD-Xilinx、根特大学和康奈尔大学的一大研究团队撰写,描述了RapidStream,这是一种自动分区算法,它将数据流设计分割成多个“岛”,在分割的岛之间插入注册的“锚区”,然后通过将来自每个岛的信号路由到锚区寄存器来缝合整个设计。

所有这些分区和拼接背后的目的是将HLS设计切割成小块,可以传递给现代服务器中的许多核心。这是工程师们使用了几个世纪的古老的分治策略,现在被用于加速FPGA的开发。

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

  1. 非重叠分区——为了并行化不同岛的物理实现,每个岛必须包含一个唯一的、不重叠的设计分区。
  2. 管道化的岛间连接——每个岛间连接都是管道化的,以满足定时并实现定时关闭。
  3. 直接相邻连接-每个岛屿只能与紧邻的岛屿有直接连接。这个约束在并行设计布局和路由时非常关键。

(注意:这些约束与用于控制逻辑合成的各种约束完全不同。他们的水平更高。)

RapidStream的创建者将数据流设计定义为一组并行处理元素(pe)和一组fifo,这些fifo根据设计的数据流需求将pe彼此连接起来。每个PE在内部可以任意复杂,但它只能通过FIFO接口与其他PE通信数据。如上所述,RapidStream将FPGA结构划分为两种类型的区域:大小相同的岛和位于相邻岛之间的薄列和行中的锚定区域。有趣的是,RapidStream似乎是专门为AMD-Xilinx Virtex UltraScale+ FPGA建造的,这是用FPGA芯片(超级逻辑区域或AMD-Xilinx的“SLRs”)制成的2.5D设备,连接到硅衬底上。Xilinx开创了FPGA的这种构造技术,并已经在几代FPGA中使用了大约十年。这一事实之所以重要,是因为在AMD-Xilinx单反相机之间有一个自然的分区,而RapidStream似乎是专门编写的,其算法是专门考虑这种单反相机物理分区的,如下图所示,摘自FPGA 22论文。

RapidStream将HLS设计划分为包含处理元素(PEs)的岛和在通信岛之间提供FIFO通信寄存器的锚定区域。

当你将HLS中描述的数据流设计提供给RapidStream时,它使用三相过程对设计进行划分:

阶段1:将HLS数据流设计切割成大致相等的分区(或pe),以适应预定义的岛。RapidStream利用数据流设计的弹性,确保每个岛间(或pe间)连接都通过锚寄存器进行管道连接,这确保分区设计的时序将提供并行放置和路由所需的隔离。

阶段2:放置和布线不相交的岛和插入锚寄存器。Rapidstream在这个阶段使用了一个简单的距离驱动的放置算法,与标准FPGA放置器相比,它实现了类似的时间质量,但它运行得更快。此外,每个PE岛可以由不同的处理器核心放置和路由,因为它们在分区期间是相互独立的。一个时钟管理方案确保时钟倾斜在岛屿之间是一致的,当他们被路由和后来缝合在一起。这一步避免了拼接后违反hold规则。

阶段3:通过预先放置的锚寄存器将放置和路由的岛缝合在一起。由于上述约束1,岛间连接被锚定,因此缝合器只需要将每个岛路由到其周围的锚点,然后再路由到相邻的岛。这个方案极大地简化了拼接任务,除了设计的全球时钟,这是一个扇形的全球网络,覆盖所有岛屿。

当然,我已经浏览了很多细节。你可以从报纸上得到这些。真正的问题是,“这个想法的效果如何?”答案是:很好。

这篇论文包含了几个图表,描述了RapidStream的工作情况。第一个图表显示了六种不同的数据流设计在分区后实现的时钟速率,并与相同设计的管道和非管道版本在没有分区的情况下进行了比较。

与流水线但没有分区的设计相比,RapidStream分区提高了6个RTL设计中的5个的时钟速度。

RapidStream结果是蓝色条,它显示了比这些设计的所有非分区、非管道版本更快的时钟速率。这是你所期望的结果。流水线是FPGA设计中提高时钟速度的核心。然而,在这六种情况中,有五种情况下,RapidStream的结果要优于相同设计的流水线RTL版本。这个结果应该引起你的注意。

接下来,这里是本文的地点和路线计时结果:

与管道或非管道、非分区设计相比,RapidStream提高了六种RTL设计中的六种的位置和路线运行时间。

RapidStream的位置和路由运行时结果比未分区设计的结果要好得多。同样,这是因为RapidStream可以将每个分区交给不同的处理器核心进行放置和路由。虽然FPGA供应商试图让他们的位置和路由算法在多核处理器上更快地工作,但RapidStream的开发人员根据经验发现,如果FPGA设计没有被划分,那么在运行AMD-Xilinx Vivado设计套件工具时,超过两个处理器核(更准确地说是2.1个处理器核)并没有太大的好处。

到目前为止,如果您正在使用fpga(特别是AMD-Xilinx fpga)开发HLS设计,您应该会对RapidStream产生兴趣。您可以在其上找到关于RapidStream项目的更多信息GitHub页面

关于“HLS分区可以加快FPGA设计的布局和路由吗?”是的,哦,是的!”

留下回复

有特色的博客
2023年1月19日
你是否在调整表带或更换手表电池时遇到了问题?如果是这样,我是好消息的携带者....
2023年1月19日
AMD以制造世界上最先进的处理器而闻名。AMD的EPYC服务器处理器在高性能计算、云和企业工作负载方面迈出了一大步。当涉及到他们的产品设计周期的仿真阶段时,…
2023年1月18日
了解为什么2023年将是多模系统的重要年份,因为芯片设计人员使用芯片技术和UCIe标准来满足高性能计算及其他领域日益增长的PPA需求。文章《为什么2023年对多芯片系统有很大的希望》首先出现在从硅到软件....上
2023年1月16日
所以你的网迹有太多的寄生虫抗性。它来自哪里?你运行了... ...

有特色的视频

Synopsys 224G和112G以太网PHY IP OIF在ECOC 2022互操作

Synopsys对此

这段特色视频展示了Synopsys 224G和112G以太网PHY IP中长到达性能的四个演示,与第三方通道和serde互操作。

了解更多

特色粉笔谈话亚博里的电子竞技

高性能asic、soc和xpu的“可扩展电源交付”

英飞凌

今天的人工智能和网络应用正在推动计算能力的指数级增长。当谈到使用下一代芯片组的这类应用的伸缩能力时,我们需要牢记封装尺寸限制、动态电流平衡和输出电容。在本集Chalk Talk中,英飞凌的亚博里的电子竞技Mark Rodrigues与Amelia Dalton一起讨论了下一代芯片组增加功率密度的系统设计挑战,相位并行带来的好处,以及为什么英飞凌采用XDP架构和Trans电感稳压器的最佳暂态性能可以帮助您的下一个高性能ASIC, SoC或xPU设计。

点击这里了解英飞凌关于计算和数据存储的更多信息

Baidu