当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]借助物理综合提高FPGA设计效能

随着FPGA密度的增加,系统设计人员能够开发规模更大、更复杂的设计,从而将密度优势发挥到最大。这些大规模设计基于这样的设计需求——需要在无线通道卡或者线路卡等现有应用中加入新功能,或者通过把两种芯片功能合并到一个器件中,减小电路板面积,或者针对新应用开发新设计。


这些不同的设计含有应用程序已有代码,或者是对延时要求较高的DSP。对于这类设计,综合工具可能无法优化设计,使其达到最优,导致关键通路出现较长的延时。关键通路延时较长的原因在于逻辑综合工具依靠估算的延时来综合设计。


这些延时较长的关键通路带来了时序逼近问题,导致性能劣化,迫使设计人员重新编写RTL代码以改进这些延时较长的关键通路。此外,用户在得到满足时序规范的最佳RTL代码之前,还需要进行多次迭代。这就进一步推迟了产品面市时间。


逻辑利用率较高的设计中出现的另一问题是布线拥塞。设计人员必须重新编写RTL或者在布局布线工具中尝试不同的设置,以提高这些关键通路的性能。这种“尝试出错”的方法也导致产品推迟面市,降低了效能。


设计人员在进行时序逼近时,这两个问题的确是很大的挑战,时序逼近成为系统设计人员面临的主要难题。能够同时解决这两个问题并提高性能的一种解决方案是采用物理综合工具。物理综合工具由FPGA供应商提供,有时也由第三方EDA工具供应商提供。物理综合工具的主要功能是以尽可能少的迭代次数,通过减少关键通路的数量来提高时序逼近(即性能),从而缩短了产品面市时间。


物理综合工具的设计流程如图1所示,按以下方式进行工作。逻辑综合工具使用逻辑复制等算法复制扇出较多的逻辑,对较长的逻辑通路中的寄存器重新定时,以提高性能。物理综合工具不同于逻辑综合工具,它使用相似的算法,利用精确的延时和精确的信息来优化关键通路。逻辑综合工具更多的依靠全局延时估算,而物理综合工具使用精确的延时。

图1. 物理综合工具是整个综合设计流程的一部分。


图1显示了物理综合工具也是整个综合流程的一部分。物理综合工具作为综合工具的一部分在逻辑综合之后运行,为进一步澄清概念,可以把它称为早期物理综合。在这一流程中,逻辑综合之后,工具对整个设计的布局布线进行建模,再次使用重新定时和复制等算法来提高关键通路的性能。某些EDA供应商开发了基于这一级精度的工具来解决时序逼近问题。


图2显示了另一物理综合工具流程,在典型流程中,布局阶段之后首先调用这一流程。在这一阶段,对设计进行全面布局,对互联延时进行延时估算,因此,能够更精确地预测关键通路。通过使用上面介绍的算法,可以改进关键通路来满足性能要求。不需要修改RTL代码的任何一行就可以完成这些处理工作。在综合工具中有可能以不精确的延时对寄存器重新定时,导致性能下降,而通过对设计进行布局,使物理工具做出智能判断,从而有助于预测对哪些寄存器重新定时,提高性能。

[!--empirenews.page--]


图2. Quartus II设计软件中的物理综合工具设置。

目前的FPGA体系结构有两个级别或者层次。第一级是逻辑模块,它是LAB逻辑单元组或者集合。层次的第二级由逻辑单元组成,每个逻辑单元含有一对寄存器,一对查找表和一对全加器。在Altera FPGA中,这类逻辑单元被称为自适应逻辑模块(ALM)。这些逻辑模块堆叠成阵列的形式,通过一定数量的连线(布线)与片内存储器模块、DSP模块和IO模块连接起来,从而构成了FPGA体系结构。


在典型设计流程中,进行两次布局。第一步是在逻辑模块级对整个设计进行布局。完成后,布局算法将逻辑放在逻辑单元级。由于物理综合工具依靠精确的信息,因此经过第二次布局后,很容易看出物理综合结果得到了提高,产生质量更好的结果(QoR),从而提高了效能。


物理综合工具能够提高效能的另一应用是结合渐进式设计流程进行设计。在这种方法中,不是在整个设计中使用物理综合,而是将其应用到每个模块上。由于物理综合工具重点放在它需要的模块上,因此,这不但有助于缩短编译时间,而且还提高了性能。


物理综合工具是Altera Quartus II布局布线工具的一部分。物理综合工具为用户提供优化选择和努力等级,以提高性能和效能。下面列出了用户可以控制的某些优化选项。


可提高性能的物理综合


组合逻辑物理综合:工具基于精确的信息来进一步优化组合逻辑。这一选项使Quartus II物理综合工具能够重新综合设计中的组合逻辑,缩短关键通路的延时,提高性能。


异步流水线物理综合:装入和清除等流水线异步信号。这一选项使Quartus II物理综合工具能够在装入和清除信号中插入流水线寄存器,提高性能。


用于寄存器的物理综合


重新定时:使工具能够自动进行寄存器平衡。这一选项使Quartus II能够在组合电路间移动寄存器,提高性能。

寄存器复制:对扇出较多寄存器进行复制。这一选项使Quartus II能够根据布局信息来复制寄存器,提高性能。


用于适配的物理综合


组合逻辑物理综合:这是对组合电路进行第二次优化。Quartus II对组合电路进行第二次优化,以帮助适配设计。

完成逻辑至存储器映射:这将组合逻辑映射到存储器,从而减小面积。Quartus II将组合逻辑自动映射到未使用的存储器模块中,以减小面积,适配设计。


Quartus II还提供渐进式设计流程,同时支持自上而下和自下而上的设计流程。这类流程用于缩短编译时间,提高性能。

本文小结


当今的大部分企业都希望在竞争中能够将自己的产品率先推向市场。作为主动战略,提高效能和产品及时面市是任何产品获得成功的关键。利用物理综合工具来提高设计性能意味着更短的设计周期和更高的效能。能够高效地使用这类工具的设计人员必将获胜。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

74LS175是一款4D触发器集成电路,它包含6个D触发器,这些触发器可以组合起来形成寄存器或抢答器等多种功能部件。

关键字: 74ls175 触发器 寄存器

单片机复位电路的作用是:使单片机恢复到起始状态,让单片机的程序从头开始执行,运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。

关键字: 复位电路 单片机 寄存器

寄存器变量是计算机中一种重要的存储方式,它使用CPU中的寄存器来存储数据和指令。寄存器直接与CPU的运算和控制部件相连,因此访问速度非常快,通常在一个CPU周期内就能完成数据的读写操作。相比于内存和硬盘等存储设备,寄存器...

关键字: 寄存器 存储器

寄存器和存储器是计算机及其它电子设备中的两种重要存储组件,它们在存储方式、存储容量和访问速度等方面存在明显的差异。

关键字: 寄存器 存储器

寄存器和内存是计算机系统的两个重要组成部分,它们之间存在着密切的关系。本文将介绍寄存器和内存的基本概念、功能、类型以及它们之间的关系,旨在帮助读者更好地理解计算机系统的运行原理。

关键字: 寄存器 内存

寄存器是计算机硬件中的重要组件,用于临时存储数据和指令。正确地使用寄存器能够提高程序的执行效率,然而不正确的使用也可能导致各种问题。本文将详细介绍寄存器的使用方法以及在使用时需要注意的事项。

关键字: 寄存器 计算机硬件

寄存器和暂存器都是计算机硬件中的重要组件,它们在计算机系统中发挥着不同的作用。下面我们来详细了解一下它们的区别以及各自的特点和应用。

关键字: 寄存器 暂存器

寄存器是一种重要的计算机硬件组件,用于临时存储数据或指令。在计算机架构中,寄存器是CPU内部的一部分,用于加速数据的处理速度。寄存器通常由高速缓存(cache)和随机存取存储器(RAM)组成。

关键字: 寄存器 计算机硬件

寄存器是计算机中一种用于暂存数据的高速存储器,也是计算机体系结构中的重要组成部分。它们通常被集成在中央处理器(CPU)内部,用于存储和处理指令执行过程中的数据。

关键字: 寄存器 存储器 计算机

AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1Mips/MHz),克服...

关键字: AVR单片机 RAM 寄存器
关闭
关闭