层次化设计的时序收敛性研究

层次化设计的时序收敛性研究

ID:25159671

大小:54.50 KB

页数:10页

时间:2018-11-18

层次化设计的时序收敛性研究_第1页
层次化设计的时序收敛性研究_第2页
层次化设计的时序收敛性研究_第3页
层次化设计的时序收敛性研究_第4页
层次化设计的时序收敛性研究_第5页
资源描述:

《层次化设计的时序收敛性研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、层次化设计的时序收敛性研究摘要研究了层次化设计中如何达到时序收敛。从层次化设计的流程分析,介绍如何人为地选择并且调整一些布局布线方面的问题从而使得设计更能实现时序收敛。最后以图文及数据相结合的方式举例说明了层次化设计时序收敛的可行性。关键词层次化设计;收敛性;模块布局;时钟优化;延时分配;大型设计1引言如今一般的后端设计是采用把网表打散,把所有的逻辑单元看作是一个层次上,层次关系不用考虑,一起进行设计,优化。这样设计的好处是逻辑关系比较简单,在做优化的时候,可以对逻辑单元直接处理,所有的物理单元都是

2、可见的。但是,随着现在设计越来越复杂,单元越来越多,现在的单层次的EDA工具的承载能力遭到了挑战。由于设计的庞大,使得后端设计所花费的时间越来越长,于是出现了层次化设计流程。层次化设计流程是指把设计对象分成多个模块分层次设计,在设计的过程中,要考虑层次之间的关系,顶层模块和底层模块的关系,层次内部的优化等等。最终,在各个模块达到其各自设计要求的同时,满足顶层的设计要求。2层次化设计的背景2.1层次化设计的优势(1)大多数原因是设计规模的庞大。很大的一个设计就需要考虑层次化。(2)层次化设计可以给一个

3、模块里的设计单元一些约束,使他们可以在一个区域内布局布线。这种约束性给某些特殊的设计带来方便,比如说:多电压设计。随着现在对低功耗的要求越来越广泛,设计者一般会对不同的模块进行低功耗的考虑。不同模块会有不同的供电电压。这样,层次化设计可以对这些不同的模块单独进行功耗分析和设计。(3)层次化设计有时候也是应项目进行的情况可以采取的一个方法。一般来说,一个大型的设计会分几个小组分别设计几个模块。几个模块的进度有可能不一样。后端设计一般不会等到所有的模块完成了以后才进行。一般来说,可以对部分没有完成的模块

4、估计一个大小,时序。然后把这些模块当作是BlackBox(黑盒)放到顶层进行后端设计。这时候,我们采取的也是层次化设计。(4)层次化设计也是一种设计流程的选择。一个模块的单元如果约束在一起,其内部的优化可以更方便。芯片的各个模块能有效地控制单元固有的离散性,从而最大限度地减少时序或拥塞的变化。2.2层次化设计常见问题(1)由于有层次化的划分,模块之间及与顶层的关系是不透明的。和平面设计不同,顶层的优化不能进入到模块内部,这样,有可能造成优化的限制。(2)层次化设计对逻辑的要求比较严格,改变逻辑的时候

5、要注意对层次化的影响。比如,如果在布线的时候,需要穿越某些模块,那需要在这些模块中新增加逻辑连线。所以,逻辑的更新要和布局布线同步。(3)层次化设计中,模块内部优化所需要的约束条件是通过在顶层的分析中得到的,而顶层的分析又是基于模块内部的情况得出的。所以,这是个反复的过程。层次化设计要注意反复优化时应该遵循收敛原则。最后的结果应该是顶层的时序得到满足,模块的时序也得到满足。3层次化设计流程(1)层次化分块。在读入的网表文件中,前端的设计者会按照功能创建一些模块。在层次化设计中的初始,就要对这些模块进

6、行分析,有些模块需要打散并入到顶层,有些大的模块需要保留,当作一个子module进行分层处理。(2)层次化放置单元。把子模块里的单元集中放在子模块里。(3)如果timing有问题,做一下简单的优化,比如说修复一些DRC的violation(cap,transition,fanout),插入/删除/更换一些缓存器。(4)Po(记录了子模块接口的时序信息的模型)把内部的时序信息映射到顶层去。这样在顶层做时序分析的时候就能包含整个设计的了。(9)延时分配。这是很关键的一步。时序预估是通过时序分析,产生底层

7、的时序约束,把顶层和底层的优化的目标分配好。通过实际的每个模块的及其顶层的延时,得到各自模块在整个延时所占的比重,然后按照要求的时钟延时(requiredelay)进行分配。然后把得出的延时作为时序约束传给子模块。(10)有了子模块的时序约束,分别打开子模块进行布局,优化,布线。(11)子模快优化成功之后,转换成硬模块。这样,底层将不会再被改动任何信息,最后,回到顶层做顶层的优化。这里要注意的是,如果子模块不能达到优化的结果,需要回到顶层,进行顶层的优化,这样可以对底层的优化约束会降低,然后,再产生

8、底层的约束,再做底层的优化。这应该是个收敛的过程。最后的结果会越来越好。4层次化设计中哪些步骤需要注意得到收敛性的时序4.1模块分割阶段用来做层次化设计的子模块一般是网表里的单元器件比较多的模块,并且与其他模块连接关系较少的模块。原因是:由于子模块在布局布线的时候会集中在一个区域,如果这个模块和外界联系比较多的化,这种集中会使得其距离外界单元比较远,不如打散的效果好。如果有很多时序存在这个模块和外界之间,会造成整个设计的时序比较差。在我们没有划分模块之前,我们对全局进

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。