[逻辑综合中对关键路径处理方法的研究.docVIP

[逻辑综合中对关键路径处理方法的研究.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[逻辑综合中对关键路径处理方法的研究

逻辑综合中对关键路径处理方法的研究 [ 作者:同济大学微电子中心 夏有为 林正浩?|?转贴自:本站原创?|?点击数:315?|?更新时间:2005-8-19?|?文章录入:admin ] 摘 要:本文介绍了IC设计中逻辑综合的一般步骤及相关基本概念,并在此基础上以综合工具Design Compiler为例,从基本电路单元、端口、边界和结构4个方面,着重阐述了对关键路径的处理方法。 关键词:综合;Design Compiler;关键路径 ? 引言 在IC设计流程中,逻辑综合是后端设计中很重要的一个环节。综合就是指使用综合工具(本文以Design Compiler为例),根据芯片制造商提供的基本电路单元库,将硬件描述语言描述的RTL级电路转换为电路网表的过程。主频是芯片性能的重要指标之一,如果希望关键路径的延迟满足芯片设计的周期时间,不但需要RTL代码描述满足要求,更要讲究综合中对关键路径的处理方法。 ? ? ? ? ? 图1 常见的时序路径示意图 图2 边界转化示意图 ? ? ? ? ? ? 图3 structuring策略下某一逻辑的综合电路 图4 flattening策略下同一逻辑的综合电路 综合概述 综合中的延迟及关键路径 图1中给出了常见的两个寄存器R1和R2之间的时序路径。R1和R2分别具有延迟Tck-q和Tsetup,TM和TN分别是M和N逻辑具有的延迟。B对R1来说是输出端口,输出延迟为Tsetup+TN,而对R2是输入端口,输入延迟为Tck-q+TM,于是这条单周期路径的总延迟为Tck-q+TM+Tsetup+TN。 从延迟的角度来说,关键路径就是指那些总延迟大于相应周期时间的路径。消减关键路径的延迟要从消减路径中的各部分延迟入手,主要方法就是利用综合工具对路径施加约束条件来限制优化,达到减小路径延迟的目的。 综合的主要过程 1. 翻译:读入电路的RTL级描述,并将语言描述翻译成相应的功能块以及功能块之间的拓扑结构。这一过程的结果是在综合器内部生成电路的布尔函数表达式,不做任何逻辑重组和优化。 2. 优化:根据所施加的时序和面积约束,按照一定的算法对翻译结果进行逻辑重组和优化。 3. 映射:根据所施加的时序和面积约束,从目标工艺库中有哪些信誉好的足球投注网站符合条件的单元来构成实际电路的逻辑网表。 一般的综合步骤如表1所示。从表1中可以看出,约束条件是综合过程的重要组成部分。综合正是通过设置约束条件来优化设计,以达到设计要求的。 对关键路径延迟的 主要约束处理方法 通过选择器件的处理方法 从最直观的角度看,时序逻辑和组合逻辑都由基本的电路单元组成,因此,选择延迟小且不影响芯片性能的器件是既简易又高效的处理方法。例如,基本电路单元库中的DFFXL寄存器虽然面积较小,但它的延迟相关参数Tck-q、Tsetup较大,容易形成关键路径,于是可以通过设置set_dont_use等约束来禁用它。在一些特殊情况下,基本电路单元库中的器件不能满足要求,这时需要采用自定义的电路单元。 对端口间逻辑的处理方法 这是诸方法中最常用、最有效、最重要的,一般通过set_input_delay、set_output_delay、set_max_delay等来实现,有以下几种情况: 如果两个寄存器之间的逻辑比较少,那么可以对其输入延迟和输出延迟施加较宽裕的约束,即设置较大的set_input_delay和set_output_delay值,表明所做逻辑不受压缩,映射电路基本单元库的自由度较大。这样,两者的实际延迟之和将不大于单周期时间(非关键路径),不仅满足设计要求,而且对其他关键路径的影响很小。 如果两个寄存器之间的逻辑比较多,那么就要对其输入延迟和输出延迟施加较严厉的约束,即设置较小的set_input_delay和set_output_delay值,表明所做逻辑需要压缩,而映射电路基本单元库的自由度也较小。但这并不表示越小越好,如果设的值很小(甚至为零),那么会使综合器对这条路径的逻辑压缩得过大,而导致其它关键路径的延迟增加,甚至导致其它非关键路径转化为关键路径。因此要凭借经验,不断改变所设的约束值,最终使所有路径的延迟都不大于单周期时间,满足设计要求。 对于一般芯片设计(中小规模),在以上两种情况下,对其输入延迟和输出延迟合理施加约束,基本就能满足设计要求。如有个别几条关键路径延迟仍然较长,可以通过设置set_critical_range和group_path来加以约束。这两种约束对所约束路径的逻辑压缩效果较好,且不会影响其它路径的延迟。采用这样的约束之后,关键路径通常都能被消除了。 对于一些大规模的芯片设计和上述处理后仍然存在关键路径的情况,就要用set_max_delay来进行约束,这种约束的效果非常明

文档评论(0)

wu12youli + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档