老古开发网首页
导航:老古开发网首页文章索引文章分类EDA/IC设计→[逻辑综合中对关键路径处理方法的研究]
| -文章搜索 - 最新文章 - |

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

发布时间:2005年9月8日 点击次数:885
来源:电子设计应用   作者:同济大学微电子中心 夏有为 林正浩
 

IC设计中逻辑综合的一般步骤及相关基本概念,并在此基础上以综合工具为例,从基本电路单元、端口、边界和结构个方面,着重阐述了对关键路径的处理方法。

Design Compiler;关键路径

IC设计流程中,逻辑综合是后端设计中很重要的一个环节。综合就是指使用综合工具本文以为例,根据芯片制造商提供的基本电路单元库,将硬件描述语言描述的级电路转换为电路网表的过程。主频是芯片性能的重要指标之一,如果希望关键路径的延迟满足芯片设计的周期时间,不但需要代码描述满足要求,更要讲究综合中对关键路径的处理方法。

 

 

 

 

1 常见的时序路径示意图

                                 

2边界转化示意图

                               

3structuring策略下某一逻辑的综合电路

 

4flattening策略下同一逻辑的综合电路

1中给出了常见的两个寄存器12之间的时序路径。12分别具有延迟ck-qsetup,MN分别是逻辑具有的延迟。1来说是输出端口,输出延迟为setup+T,而对2是输入端口,输入延迟为ck-q+T,于是这条单周期路径的总延迟为ck-q+T+T+T。

RTL级描述,并将语言描述翻译成相应的功能块以及功能块之间的拓扑结构。这一过程的结果是在综合器内部生成电路的布尔函数表达式,不做任何逻辑重组和优化。

1所示。从表中可以看出,约束条件是综合过程的重要组成部分。综合正是通过设置约束条件来优化设计,以达到设计要求的。

 

DFFXL寄存器虽然面积较小,但它的延迟相关参数ck-qsetup较大,容易形成关键路径,于是可以通过设置等约束来禁用它。在一些特殊情况下,基本电路单元库中的器件不能满足要求,这时需要采用自定义的电路单元。

set_input_delay等来实现,有以下几种情况:

set_input_delay值,表明所做逻辑不受压缩,映射电路基本单元库的自由度较大。这样,两者的实际延迟之和将不大于单周期时间非关键路径,不仅满足设计要求,而且对其他关键路径的影响很小。

set_input_delay值,表明所做逻辑需要压缩,而映射电路基本单元库的自由度也较小。但这并不表示越小越好,如果设的值很小甚至为零,那么会使综合器对这条路径的逻辑压缩得过大,而导致其它关键路径的延迟增加,甚至导致其它非关键路径转化为关键路径。因此要凭借经验,不断改变所设的约束值,最终使所有路径的延迟都不大于单周期时间,满足设计要求。

(中小规模,在以上两种情况下,对其输入延迟和输出延迟合理施加约束,基本就能满足设计要求。如有个别几条关键路径延迟仍然较长,可以通过设置来加以约束。这两种约束对所约束路径的逻辑压缩效果较好,且不会影响其它路径的延迟。采用这样的约束之后,关键路径通常都能被消除了。

set_max_delay来进行约束,这种约束的效果非常明显,但会影响其它路径的延迟。因此也要凭借经验,不断改变所设的约束值,最终使所有路径的延迟都能满足设计要求。

RTL级电路通常是多层次模块,对其进行综合后得到的电路依然以独立模块的方式存在,即存在边界问题,因此综合中有专门针对边界问题的约束,利用这些约束可以打散边界、保持边界,或重新整合边界,从而优化边界,达到设计要求。

2所示,约束用来生成新的层次模块,而约束的作用刚好相反,它用来打散边界,消除层次模块。通常它们都会结合起来使用,但不管以哪种方式选择边界,都应该根据具体的设计要求,参照综合结果,选择最好的方法。

RTL级电路时,有时会专门设计某些单独模块类似全定制电路来简化实现一定的功能,从而缩短延迟并减小面积。在综合中利用约束可以保证这类模块不受影响,保持边界。

RTL级电路时就应该考虑诸多因素,对电路结构进行规划,而在综合中只要将代码映射到基本电路单元库几乎就能达到预期要求。但在有些状况下,还是需要利用一些约束来进行优化,这里仅以最常见的来加以说明。

(速度优化及面积优化;而这种策略往往以牺牲面积来达到缩短延迟的目的。

RTL级描述采用两种策略得到的综合电路分别如图、图所示。策略下得到的电路只有两级,延迟小于策略下得到的三级电路,但电路面积比较大。当今工艺已经进入深亚微米级,因而在设计中往往需要首先考虑延迟因素,但究竟选择哪种策略,还是要根据具体的设计要求而决定。

 

RTL代码,再重新进行综合。

 

 


欢迎进入老古论坛进行讨论
[EDA/IC设计] 相关文章:
如何选择正确的验证方法
简介:
众所周知,功能验证在芯片的整个设计周期中占用的时间最多。尽管目前有许多技术可用于减少验证时间,但最终应当如何选择?答案并不简单明了,而且经常令人迷惑并要付出高昂的代价。 一个项目中需要使用的工具和技术必须在设计周期的初期就确定下来,以便获得新验证方法费用预算的准确信息。经常有公司因为错误估计了运转这些新型工具和技术所需的设计和技术的复杂性而浪费大量的资金和资源。 &n......

复杂SoC设计中的功率管理 (下)
一种新型线性调节器的鲁棒性频率补偿设计
采用任意形状结构的MMIC器件的设计方法
复杂SoC设计中的功率管理 (上)
印制电路板的抗干扰设计
三阶电荷泵锁相环系统级设计与仿真验证
用SKILL语言对Concept HDL进行二次开发
X结构成为主流
分子存储器: 低成本的选择?
 
下一个:[EDA/IC设计]边界扫描结构的FPGA实现
简介:
摘 要:本文利用Altera公司的FPGA和EDA工具MAX+plusⅡ和实现了基本的边界扫描结构电路,利用此设计可以满足数字电路系统可测性设计和在系统配置(In-System Configuration)的要求。 关键词:边界扫描 ;现场可编程门阵列 ;可测性设计 引言 芯片封装技术的发展,特别是表面贴装技术(SMT)的发展给传统针床测试带来很多困难。为了解决传统测试方法中存在的物理探针不可达等问题,联合测试行动小组(JTAG)提出了边界扫描体系结构,后来成为IEEE1149.1标准。利用边界扫描技术,可以对大规模数字集成电路芯片......
 

上一个:[芯片介绍]几种新型的高性能生物电放大器

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒