我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1110|回复: 0

基于图形的物理综合可满足先进FPGA设计需求-电子工程师俱

[复制链接]

该用户从未签到

1万

主题

1292

回帖

2万

积分

管理员

积分
29577

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-7-30 18:40:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
传统的综合技术越来越不能满足当今采用90纳米及以下工艺节点实现的非常大且复杂的FPGA设计的需求了。问题是传统的FPGA综合引擎是基于源自ASIC的方法,如底层规划、区域内优化(IPO,In-place Optimization)以及具有物理意识的综合(physically-aware synthesis)等。然而,这些从ASIC得来的综合算法并不适用于FPGA的常规架构和预定义的布线资源。   最终的结果是,所有的三种传统FPGA综合方法需要在前端综合与下游的布局布线工具之间进行多次耗时的设计反复,以获得时序收敛。这个问题的解决方案是一种基于图形的独特物理综合技术,能够提供一次通过、按钮操作的综合步骤,不需要(或者需要很少)与下游的布局布线引擎的设计反复。而且,基于图形的物理综合在总体的时钟速度方面可以将性能提高5%到20%。Synplify Premier先进FPGA物理综合工具就是这样一种工具,专门针对那些设计很复杂的高端FPGA设计工程师而定制,他们的设计需要真正的物理综合解决方案。   本文首先介绍了主要的传统综合方法,并说明这些方法存在的相关问题,然后介绍基于图形的物理综合概念,并指出这种技术如何满足当前先进FPGA的设计需求。传统综合解决方案存在的问题 对于2微米的ASIC技术节点以及上世纪80年代早期以前来说,电路单元(逻辑门)相关的延时与互连(连接线)相关延时的比例约80:20,也就是说门延时约占每个延时路径的80%。这样一来,设计师可以用连线负载模型来估计互连延时,在连线负载模型中,每个逻辑门输入被赋予某个“单位负载”值,与某个特定路径相关的延时可以作为驱动门电路的强度和连接线上的总电容性负载的函数来计算得出。 类似地,当在上世纪80年代后期(大约引入1微米技术节点的时候)第一个RTL综合工具开始用在ASIC设计中的时候,电路单元的延时与连线延时相比还是占主导地位,比例约为66:34。因此,早期的综合工具还是基于它们的延时估计方法,并使用简单的连线负载模型进行优化。由于电路单元的延时占据主导,因此初期综合引擎使用的基于连线负载的时序估计足够准确,下游的布局布线引擎通常能在相对较少的几次反复(在RTL和综合阶段之间)条件下实现设计。 然而,随着每个后续技术节点的引入,互连延时大大地增加(事实上,就2005年采用90纳米技术实现的标准单元ASIC来说,电路单元与互连的延时比例现在已经接近20:80)。这使得综合引擎的延时估计与布局布线后实际延时的关联性越来越低。 这具有一些很重要的牵连性,因为综合引擎在不同的优化方法之间选择,以及在实现功能的替代方法(诸如基于它们的时序预测的加法器)之间选择。例如,假设某个包含一个加法器(以及其它组件)的特定时序路径被预知具有一些(时序)裕量,这种情况下,综合工具可以选择一个占用芯片面积相对较小的较慢加法器版本。但是,如果时序估计与实际的布局布线后延迟情况出入比较大的话,这个路径可能最后非常慢。这样一来,不准确的延时估计意味着综合引擎最后才对不正确的对象进行优化,只有在完成了布局布线后你才发现问题并不是像你(或综合引擎)所想的那样,其结果是获得时序收敛所需的工作量将大大地增加,因为从前端到后端的设计反复次数大大增加了。 为了解决这些问题,有必要了解在综合过程中与设计相关的物理特性。因此,随着时间的推移,ASIC综合技术(紧跟着FPGA综合技术)采用了一系列的方法(某些情况下也抛弃了一些方法),例如下面讨论的底层规划、IPO和具有物理意识的综合。 底层规划 对于ASIC的RTL综合,底层规划技术在上世纪90年代早期出现,稍晚于综合技术本身的问世。底层规划工具允许设计师在器件上定义物理区域,通过手工或者使用自动交互技术来对这些区域布局,并将设计的不同部分分配到这些区域。 底层规划涉及到逐个模块地综合和优化设计,然后在最后将所有东西“缝合”在一起(早期底层规划工具使用的综合算法都是基于连接线负载模型)。这意味着底层规划工具不能按每个单元优化逻辑,只能影响逻辑模块的布局。而且,在定义上,底层规划工具不会全局性地考虑布线资源,在设计完全布线完成之前,它不可能准确分析所有的时序路径。这会导致在前端和后端工具之间的大量耗时的设计反复。尽管这种方法可以提高ASIC设计的时序性能和降低功耗,但它需要对设计的复杂分析和很高的专业技术水准。 图1:FPGA的主流架构。在早期,采用ASIC底层规划有下面几个原因:作为一种获得时许收敛的方法解决有限容量的问题,并支持基于逐个模块的递增变化。最近,底层规划不再被认为是一种其本身能获得时序收敛的方法;底层规划依然是一种有用的方法,但只是在与其它方法(例如物理优化)结合的时候才有用,使用综合后门级网表的底层规划依然需要非常多的专门技术。 对于FPGA来说,直到上世纪90年代晚期,底层规划技术还没有成为主流应用。平均而言,在一个FPGA设计中,关键路径一般会经过3个区域。由于FPGA一般用到的设计方法,如果使用综合后(“门级”)网表来执行底层规划,即使对RTL的相对较小的改变都可能导致先前所做的底层规划工作付之东流。解决这个问题的方法是在RTL级进行底层规划。然而,为了更有用,这必须和某种形式的物理优化相结合,源于ASIC的物理综合算法并不适合于FPGA的常规架构以及预定义的布线资源。布局优化 随着底层规划在ASIC领域的作用逐渐弱化,在上世纪90年代中期,IPO技术对其进行了强化/或者替代。这再次地涉及到时序分析和估计是基于连接线负载模型的综合。 在这种情况下,所产生的网表被传递到下游的布局布线引擎。在布局布线和寄生提取之后,实际的延时被背注到综合引擎。这些新值触发器在综合引擎中的递增优化,例如逻辑重构和复制。其结果是得到一个被部分修改的新网表。然后,这个网表被递交到递增布局布线引擎,产生一个改进的设计拓扑。 基于IPO流程所得到的最后结果比那些采用底层规划方法获得的通常更好。然而,这种方法同样可能需要在前端和后端工具之间进行很多次设计反复。而且基于IPO方法的一个重要的问题是对布局布线的修改可能导致新的关键路径,这个路径在前一次反复中是看不到的,即修正一个问题可能会激起其它的问题,这可能导致收敛的问题。 对于FPGA设计,基于IPO的设计流程大约在2003年开始受到主流关注。然而,尽管这样的流程已经可用,但那时这些流程并没有以一种有意义的方式得到采用,因为单个地优化时序路径的IPO技术通常导致其它路径时序的劣化和时序收敛不完全。设计师需要可使他们在不牺牲之前设计版本获得的成果的基础上对设计进行改变的可靠结果。但是基于IPO的方法并不能在多次设计反复之上产生稳定的结果,因为在一次反复中优化关键路径会在下一次反复中产生新的关键路径。类似地,增加约束以改进一个区域的时序可能使其它的区域的时序恶化。 具有物理意识的综合 当前先进的ASIC综合技术是具有物理意识的综合,这种综合技术在大约2000年开始受到主流关注。不考虑实际的技术(有几种不同的算法),具有物理意识的综合的基本概念是在一次性完成的过程中结合布局和综合。 这在ASIC领域中的实践效果很好,因为了解布局的综合引擎能根据已布局的单元的周边和Steiner以及Manhattan布线估计进行时序的预估。这种综合方法在ASIC中效果很好的原因是连接线有序地布置。这意味着与最后的布局和布线设计相关的延时与综合引擎所估计的结果具有非常好的相关性。 从2002年到2003年期间开始,很多的EDA供应商开始考虑将从ASIC中得到的具有物理意识的综合技术应用到FPGA设计中,但是他们并没有进一步将这种思路深入下去,而Synplicity公司新的基于图形的综合方法是一个例外,现在没有供应商能提供具有布局意识的RTL综合工具用于FPGA设计。问题是,与ASIC中的连线“按序构建”不同的是,FPGA具有固定数量的预先确定的布线资源,并不是所有的布线都设置成一样(某些连线短且快,某些长而快,某些短而慢,某些长而慢)。 对于实际的情况而言,基于ASIC的具有物理意识的综合可以根据形成设计的已布局单元的附近来进行布线和时序估计。而对于FPGA来说,将两个逻辑功能放在相邻的区域并不一定能实现它们之间的快速连接。-取决于可用的布线资源,将相连接的逻辑功能布局位置更远可能反而能获得更好的布线和时序结果,尽管这有一点违背常理。这就是为什么从ASIC设计中得来的具有物理意识的综合技术用于FPGA架构时并不能得到最佳结果的原因。同样,使用这些技术的设计流程需要大量耗时的前端(综合)与后端(布局与布线)引擎之间的设计反复,以获得相关性和时序收敛。 与FPGA架构相关的一些考量 在详细介绍基于图形的物理综合概念之前,先了解设计任务的复杂性很重要。正如前面谈到的,FPGA具有固定的连接资源,所有连线已经构建好,但并不是所有的路径都是一样的(有短的、中等的和长的连线,而每个连线都可能具有快、中等或者慢的特性)。 图2:比较传统和基于图形的布局。每个路径都可能具有多个“抽头点”(就像高速路的出口道)。这里的问题是,你可能具有一个能迅速地将一个信号从源点函数(高速路的最初的入口道)快速地传递到一个目的函数(高速路的最后出口道)的快速路径。然而,如果我们对一个内部抽头点增加第二个目的函数,这可能大大地减慢信号速度。 而且,当今FPGA的主流架构基于一个查找表(LUT)具有几个输入和单个输出的概念。一些FPGA架构具有通过与查找表相关的每个输入输出路径的不同延时。然而,更重要的事实是,到LUT的每个输入可能只能使用一部分的不同连线类型。如果来自一个LUT的输出驱动另外一个LUT,它们之间可能同时存在慢速和快速的路径,这取决于我们在接收LUT上所使用的特定输入。 总的情形被FPGA架构的分层特性进一步复杂化。例如,一个小的逻辑模块可能有几个LUT;在一个较大的逻辑模块中有几个这样的小模块;在整个的FPGA中具有大量的这种大逻辑模块。在这些大逻辑模块中的某个逻辑块中,一个LUT的输出与另外一个LUT的输入直接相连接的概率很小;为了实现额外的连接,可能必须绕道逻辑模块的外部,然后再绕回到模块内部来实现。这一点再次地说明所处理问题的复杂性:如果你知道将它们放置在什么地方以及使用哪个引脚,将两个对象/实例放在不同的逻辑模块将获得比放在采用非最佳互连资源的同一模块中会得到更短的延时。另外,任何被提出的综合方案必须解决围绕固定的硬宏资源,例如RAM、乘法器等相关的连线延时。同样的,方案必须解决增加的布线拥塞,这种拥塞常出现在靠近这些硬宏的地方。所有这些硬宏都属于特定器件具有的,因此任何被提出的方案必须能用于每个FPGA系列的每个器件。 基于图形的独特物理综合方案 能真正处理FPGA架构相关复杂性的具有物理意识的综合解决方案将以完全不同的观点来处理上述问题。这种方法将对FPGA中所有连线的特点进行描述,包括入口点、端点和内部出口点,然后对所有这些连线构建一个“地图”。对于软件行业来说,这种地图被称为图形(Graph);这就是为什么这种方法称为“基于图形的物理综合”的原因。 除了连线本身,这个图形还包括这些细节:哪个LUT引脚连接到哪类的连线;通过每个LUT的输入到输出的延时差异;以及器件中的任何硬宏的大小和位置。打个比方,这类似于通过查地图来显示你将驱车经过的街道、高速路以及像停车场(硬宏)这样的地方。当希望穿行于城市中的两个地方时,你将使用地图来选择最快的路径,这个路径通常并不是最短的点到点路径。 类似地,基于图形的物理综合引擎不是寻找最近的路径,而是使用一种以互连为中心的方法专注于速度。从最关键的路径开始处理,然后逐步到次关键路径(这样确保最关健的路径获得最快的路线),基于图形的物理综合引擎将选择连线和它们相关的入口点和出口点;从这些连线得到电路布局;从这些连线和布局得到准确的延时;最后按照要求进行优化和设计反复。 关键点是,所有的优化和反复在流程的前端部分(综合)执行。基于图形的物理综合的输出是一种完整布局的网表(包括将与每个连线相关联的特定LUT引脚),这种网表可以交给FPGA的后端布局布线引擎。 最终得到一种一次通过的、按键操作的综合步骤,下游布局布线引擎不需要(或者需要很少的)设计反复。而且,根据对超过200个实际的设计进行分析显示,就系统的总体时钟速度而言,基于图形的物理综合可以获得5%到20%的性能提升。 本文小结 以ASIC为中心的具有物理意识的综合中,连线从布局选择中衍生出来,与此不同的是,在FPGA设计中使用基于图形的物理综合时,布局源自于连接线选择。 对于时序收敛问题,基于已有的(源于ASIC)物理综合引擎可能需要在流程的前端(综合)与后端(布局布线)之间进行很多次耗时的设计反复。在所有这些反复之后,它们可能依然不能收敛。相比较而言,对于200多个采用基于图形的物理综合的设计进行分析之后显示,90%的设计处于最后实际时序的10%之内,80%的设计在实际时序值的5%以内,而采用逻辑综合的设计只有30%在实际时序值的5%以内,很多设计的误差很容易地达到30%,甚至更高)。而且,基于图形的物理综合能提高5%到20%的总体时钟速度性能。 此外,基于图形的物理综合的已布局网表的质量大大地提高,这意味着时序驱动的布线工具的工作量很少,优化了执行,这样运行将非常快。 Synplicity公司的突破是基于以布线为中心方法的概念,以及以图形来表示所有的东西,然后处理该图形。在经历了大量的研究和开发之后,Synplicity的综合专家已经创建了一种真正基于图形的物理综合解决方案。第一个具有基于图表物理综合特性的产品是Synplify Premier,这是一种先进的FPGA物理综合工具,专门针对那些设计复杂、要求采用真正的物理综合解决方案的高端FPGA设计。Synplify Premier工具还包括高级的功能,例如RTL原级调试以及支持ASIC原型设计工具Synopsys DesignWare。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

公告:服务器刚移机,
大家请不要下载东西。
会下载失败


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表