Design Compiler使用笔记_DC中文笔记.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
/members/wawu/feed.rss DC的手册包括3部分,分别是命令行手册,User Guide,以及参考手册。其中参考手册有3个,分别是:Constraints Timing Optimization Timing Analysis Register Retiming 本系列笔记为阅读这三个参考手册所做的笔记Notes for DC Reference Manual: Constraints Timing, No.1 本文档(约束和时序)包括六章: 1. 基本概念 2. 约束设计 3. 描述设计环境 4. 指定时钟和时钟网络 5. 描述逻辑功能和信号端口 6. 在层次化设计中传播约束 Notes for DC Reference Manual: Constraints Timing, No.2 基本概念篇: 利用DC进行综合,主要的过程就是设定适当的约束,从而指导DC综合出较为优化的结果,DC当中进行综合可以分成三大步骤:Transfer、Mapping、Optimization。总的流程来说为: 设定各种用于综合的库(.db或者.lib格式)这些库包括标准单元库、I/O库、Memory Compiler生成的Memory/Regfile的.lib库以及各种IP核的库。库中主要描述了库线负载模型、Max_transition、Max_Capacitance等等;各种单元的时延、面积、逻辑功能、输入输出负载、功耗等等,注意,具有相同footprint的单元是可以互相替换的。 读入设计此时可以对设计设定参数(Verilog当中的parameter,VHDL当中的generic)。设计读入以后将会被转换(Transfer)成网表,该网表是基于一种通用库的,即gtech库(GenericTechnology),该库可以较为容易的映射到各种实际的工艺库当中,当然,这个库是没有时延的。 设定约束DC的约束总体分成两类:Design Rule Constraints以及Optimization Constraints。前者是必须要满足的,包括工艺库当中进行的各种限定,而后者是为了优化而设定的。总的说来,约束包括面积,时序,负载,Porosity,动态/漏功耗(使用Power Compiler)等几大类。 4. 约束设定好之后,就可以让DC根据这些约束将通用库的网表映射(Mapping)到实际的库当中去,并进行各种的优化(Optimization),此时就可以得到结果的网表,用于后端的布局布线。 5. DFT的流程可以在步骤3中完成,也可以在网表settle之后。DFT的流程包括扫描链插入以及ATPG等。 6. 最后就是生成门级的网表(.v)、导出约束文件(.sdc,用于指导后面的布局布线)、时延文件(.sdf,用于静态时序分析STA),当然还要包含功耗、面积、时序的报告之类的。综合产生的结果(门级的网表)的评价指标应该包括速度、面积、功耗、Porosity(不知如何翻译,这个指标代表结果布局布线的布通的能力),当然,在做完DFT ATPG之后,还要保障一定的覆盖率,最后,我们还希望花较短的时间和计算资源就达到时序收敛。综合软件将利用我们给出的各种约束的指导进行综合,然而上述5个目标并不能同时满足,甚至很多时候会互相矛盾,例如速度和面积一般来说是互相矛盾的,所以这些目标必须要有一个优先级,只有较高优先级的目标有一定的Slack的时候才考虑对较低优先级的目标进行优化。我们的设计往往要求速度为第一目标,覆盖率也必须达到量产要求(例如90%以上),而面积、功耗、Porosity等则是可以容忍的。 Notes for DC Reference Manual: Constraints Timing, No.2 (contd) 约束的分类:约束总的分成两类Design Rule Constraints和Optimization Constraints,其中前者是隐式约束(Implicit),后者是显式约束(Explicit)。前者由定义工艺库定义,多个工艺库定义值不同的时候取最严格者,而后者是用户定义的,前者具有优先权。但是隐式的约束用户仍然可以重新设定为更加严格的值(不能设为更松弛的值)。约束施加的对象包括net、port(in/out)、cell、design、path。其中Design Rule Constraints只是施加到net/pin上面。 Design Rule Constraints: Max Fanout 约束对象为net,设定该in port或者整个design当中的所有net的fanout。如果违反fanout,则可以将设计unflatten,即将原先扁平的变成拉长的,从而减少fanout,也可以增加buf

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档