收藏 分销(赏)

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

上传人:精**** 文档编号:2397754 上传时间:2024-05-29 格式:DOC 页数:8 大小:82.04KB
下载 相关 举报
逻辑综合中对关键路径处理方法的研究.doc_第1页
第1页 / 共8页
逻辑综合中对关键路径处理方法的研究.doc_第2页
第2页 / 共8页
逻辑综合中对关键路径处理方法的研究.doc_第3页
第3页 / 共8页
逻辑综合中对关键路径处理方法的研究.doc_第4页
第4页 / 共8页
逻辑综合中对关键路径处理方法的研究.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、个人收集整理 勿做商业用途逻辑综合中对关键路径处理方法的研究 作者:同济大学微电子中心 夏有为 林正浩|转贴自:本站原创|点击数:315更新时间:2005819|文章录入:admin 摘 要:本文介绍了IC设计中逻辑综合的一般步骤及相关基本概念,并在此基础上以综合工具Design Compiler为例,从基本电路单元、端口、边界和结构4个方面,着重阐述了对关键路径的处理方法。关键词:综合;Design Compiler;关键路径引言在IC设计流程中,逻辑综合是后端设计中很重要的一个环节.综合就是指使用综合工具(本文以Design Compiler为例),根据芯片制造商提供的基本电路单元库,将硬

2、件描述语言描述的RTL级电路转换为电路网表的过程。主频是芯片性能的重要指标之一,如果希望关键路径的延迟满足芯片设计的周期时间,不但需要RTL代码描述满足要求,更要讲究综合中对关键路径的处理方法。图1 常见的时序路径示意图图2 边界转化示意图图3 structuring策略下某一逻辑的综合电路图4 flattening策略下同一逻辑的综合电路综合概述综合中的延迟及关键路径图1中给出了常见的两个寄存器R1和R2之间的时序路径。R1和R2分别具有延迟Tckq和Tsetup,TM和TN分别是M和N逻辑具有的延迟。B对R1来说是输出端口,输出延迟为Tsetup+TN,而对R2是输入端口,输入延迟为Tck

3、-q+TM,于是这条单周期路径的总延迟为Tck-q+TM+Tsetup+TN。从延迟的角度来说,关键路径就是指那些总延迟大于相应周期时间的路径。消减关键路径的延迟要从消减路径中的各部分延迟入手,主要方法就是利用综合工具对路径施加约束条件来限制优化,达到减小路径延迟的目的.综合的主要过程1 翻译:读入电路的RTL级描述,并将语言描述翻译成相应的功能块以及功能块之间的拓扑结构。这一过程的结果是在综合器内部生成电路的布尔函数表达式,不做任何逻辑重组和优化.2 优化:根据所施加的时序和面积约束,按照一定的算法对翻译结果进行逻辑重组和优化。3 映射:根据所施加的时序和面积约束,从目标工艺库中搜索符合条件

4、的单元来构成实际电路的逻辑网表。一般的综合步骤如表1所示。从表1中可以看出,约束条件是综合过程的重要组成部分。综合正是通过设置约束条件来优化设计,以达到设计要求的。对关键路径延迟的主要约束处理方法通过选择器件的处理方法从最直观的角度看,时序逻辑和组合逻辑都由基本的电路单元组成,因此,选择延迟小且不影响芯片性能的器件是既简易又高效的处理方法。例如,基本电路单元库中的DFFXL寄存器虽然面积较小,但它的延迟相关参数Tck-q、Tsetup较大,容易形成关键路径,于是可以通过设置set_dont_use等约束来禁用它.在一些特殊情况下,基本电路单元库中的器件不能满足要求,这时需要采用自定义的电路单元

5、。对端口间逻辑的处理方法这是诸方法中最常用、最有效、最重要的,一般通过set_input_delay、set_output_delay、set_max_delay等来实现,有以下几种情况:如果两个寄存器之间的逻辑比较少,那么可以对其输入延迟和输出延迟施加较宽裕的约束,即设置较大的set_input_delay和set_output_delay值,表明所做逻辑不受压缩,映射电路基本单元库的自由度较大。这样,两者的实际延迟之和将不大于单周期时间(非关键路径),不仅满足设计要求,而且对其他关键路径的影响很小。如果两个寄存器之间的逻辑比较多,那么就要对其输入延迟和输出延迟施加较严厉的约束,即设置较小的

6、set_input_delay和set_output_delay值,表明所做逻辑需要压缩,而映射电路基本单元库的自由度也较小。但这并不表示越小越好,如果设的值很小(甚至为零),那么会使综合器对这条路径的逻辑压缩得过大,而导致其它关键路径的延迟增加,甚至导致其它非关键路径转化为关键路径.因此要凭借经验,不断改变所设的约束值,最终使所有路径的延迟都不大于单周期时间,满足设计要求.对于一般芯片设计(中小规模),在以上两种情况下,对其输入延迟和输出延迟合理施加约束,基本就能满足设计要求。如有个别几条关键路径延迟仍然较长,可以通过设置set_critical_range和group_path来加以约束.

7、这两种约束对所约束路径的逻辑压缩效果较好,且不会影响其它路径的延迟。采用这样的约束之后,关键路径通常都能被消除了。对于一些大规模的芯片设计和上述处理后仍然存在关键路径的情况,就要用set_max_delay来进行约束,这种约束的效果非常明显,但会影响其它路径的延迟。因此也要凭借经验,不断改变所设的约束值,最终使所有路径的延迟都能满足设计要求。对层次间边界的处理方法硬件描述语言描述的RTL级电路通常是多层次模块,对其进行综合后得到的电路依然以独立模块的方式存在,即存在边界问题,因此综合中有专门针对边界问题的约束,利用这些约束可以打散边界、保持边界,或重新整合边界,从而优化边界,达到设计要求。如图

8、2所示,约束group用来生成新的层次模块,而约束ungroup的作用刚好相反,它用来打散边界,消除层次模块。通常它们都会结合起来使用,但不管以哪种方式选择边界,都应该根据具体的设计要求,参照综合结果,选择最好的方法。在用硬件描述语言描述RTL级电路时,有时会专门设计某些单独模块(类似全定制电路)来简化实现一定的功能,从而缩短延迟并减小面积。在综合中利用约束set_dont_touch可以保证这类模块不受影响,保持边界。对电路结构的处理方法一般情况下,设计者在描述RTL级电路时就应该考虑诸多因素,对电路结构进行规划,而在综合中只要将RTL代码映射到基本电路单元库几乎就能达到预期要求。但在有些状

9、况下,还是需要利用一些约束来进行优化,这里仅以最常见的set_structure和set_flatten来加以说明。structuring是综合中默认的逻辑优化策略,它同时考虑了延迟(速度)优化及面积优化;而flattening这种策略往往以牺牲面积来达到缩短延迟的目的。对某一逻辑的RTL级描述采用structuring和flattening两种策略得到的综合电路分别如图3、图4所示。flattening策略下得到的电路只有两级,延迟小于structuring策略下得到的三级电路,但电路面积比较大.当今IC工艺已经进入深亚微米级,因而在设计中往往需要首先考虑延迟因素,但究竟选择哪种策略,还是要根据具体的设计要求而决定。结语本文介绍了几种处理关键路径的主要方法,还有其它一些方法也能对关键路径有所贡献,但效果不是很明显,这里就不再赘述。在通常情况下,依照这些方法就能够优化设计并满足要求。如果采用上述方法后还不能消除关键路径达到设计要求,就需要改进系统级设计,修改RTL代码,再重新进行综合.

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服