• 注册
  • 查看作者
  • 时钟树综合(Clock Tree Synthesis)之前应该做好哪些工作?

    本周小编继续跟大家聊聊时钟树相关的主题,聊聊在做时钟树综合前我们应该做好哪些基础性工作。对于很多还仅仅停留在跑flow,一切只靠工具的工程师,希望今天的分享对你们有所启发,有所帮助。因为小编时常面过一些小伙伴们,他们都表示仅仅停留在跑flow的技术水准(小编真是替你们着急)。如果你的技术仍然处于这个高度,是否应该引起重视?

    2019年亚博app下載IC后端校招笔试题目(附亚博app下載后端培训视频教程)

    时钟树基础性工作

  • 时钟定义正确

  • 在时钟树综合阶段,一般我们讲时钟定义是指为了长时钟树而定义的clock,而非传统意义的func时钟定义。小编已经跟大家普及过很多次这方面的知识,对于时钟结构比较复杂的设计,希望通过EDA Tool来帮我们长好时钟树,简直就是天荒夜谈,不太现实的。

     

    Clock source应该是通过create_clock或者create_generated_clock来声明的。Generated  clock定义的点必须能trace到source上。

     

    深度解析Create_clock与Create_generated_clock的区别

     

  • 标准单元已经正常摆放好

  • 使用check_legality –verbose来检查所有标准单元是否legal的。如果对一个存在illegal的模块进行时钟树综合,其QoR会比较差,而且会加倍整个runtime。

  • Congestion 适度

  • 如果一个模块placement做完之后congestion map特别差,存在特别大的overflow,那么基于这样的database继续做时钟树综合意义不是很大。一方面是QoR会比较差,另外一方面是cts后congestion 会更差,模块本身一定是绕不通的。

    亚博app下載后端实现时congestion比较严重,你hold得住吗?

     

  • Timing可接受

  •  

    Placement后时序要差不多符合设计要求。如果placement后wns是500ps左右,那继续tune cts也是没太大意义。因为本身placement没做好,即标准单元的摆放位置并不是很合理。此时应该返回place阶段,进一步fine tune timing。

     

  • DRV(Max transition  Max capacitance)可接受

  •  

  • Power &Ground net 已经prerouted

  •  

  • 高扇出的net,比如scan 使能端,已经解过fanout(时钟树综合后存在特别大的max transition问题)

  •  

     

  • floorplan是否对时钟树友好

  •  

    比如细长条memory之间的channel,未进行特殊处理。这种情况,如果reg被摆放进去,很有可能导致比较大的clock skew或者拖长clock tree。

    【机密】从此没有难做的floorplan(亚博app下載后端设计实现floorplan篇)

    如何评价亚博app下載后端设计中floorplan的好坏?

     

  • Placement后逻辑分布合理

  •  

    比如某个ICG所带的寄存器分布在天南地北,试问这样的placement能否做好时钟树?关于如何将icg所带的sink聚集在icg附近的脚本,请移步知识星球查看下载。

    时钟结构分析

    小编一直强调做时钟树综合前需要分析时钟树结构,不是说着玩的,实在是因为它太重要了。想要做好时钟树,仅仅需要做好三点。第一,了解设计。第二,时钟结构清晰。第三,编写时钟树综合约束文件。

     

    对于设计的理解,需要同前端工程师多沟通。

    分析时钟结构后,最好画出时钟结构图,并搞清楚以下几个问题。这些问题都搞清楚后,写一个引导工具长tree的时钟约束文件是水到渠成的事情,只能说so easy。

    合理的时钟结构能够加速Timing收敛(时钟树综合中级篇)

     

  • 时钟的root

  •  

  • Clock的sink和clock tree exception

  •  

  • 时钟路径上是否存在mux切换电路,各路时钟应该如何长tree?如何写cts constraint来让工具自己长好tree?

  • 留个思考题。假如CK1为func clk,CK2为scan clock,对于下面的电路,时钟树会怎么长?假如CK1为时钟,CK2为data,做时钟树前要作何处理?

     

  • 各个时钟clock(含某些data需要做balance的)之间是否有需要做clock inter-balance?

  • 最后,小编用一句话来总结下时钟树综合工作的主要要点。时钟(它们)从哪里来,它们要去哪里,它们之间有何联系?

     

    小编知识星球简介(如果你渴望进步,期望高薪,喜欢交流,欢迎加入

    在这里,目前已经规划并正着手做的事情:

  • ICC/ICC2 lab的编写

  • 基于ARM CPU的后端实现流程

  • 利用ICC中CCD(Concurrent Clock Data)实现高性能模块的设计实现

  • 基于ARM 四核CPU  亚博app下載后端Hierarchical Flow 实现教程

  • 时钟树结构分析

  • 低功耗设计实现

    定期将项目中碰到的问题以案例的形式做技术分享

  • 在这里,各位可以就公众号推文的内容或者实际项目中遇到的难题提问,小编会在24小时内给予解答(也可以发表你对亚博app下載后端设计实现中某个知识点的看法,项目中遇到的难点,困惑或者职业发展规划等)。

    反正它是一个缩减版的论坛,增强了大家的互动性。更为重要的是,微信有知识星球的小程序入口。星球二维码如下,可以扫描或者长按识别二维码进入。目前已经有139星球成员,感谢这139位童鞋的支持!欢迎各位渴望进步,期望高薪的铁杆粉丝加入!终极目标是打造实现本知识星球全员年薪百万的宏伟目标。(星球的门票即将调整到228元/年,有需求的朋友趁早上车,目前价格已经提高至208元/年,折算每天需要六毛钱 

    点击下方“阅读全文”了解更多

     

     

     

    本篇文章来源于微信公众号: 吾爱IC社区

  • 0
  • 0
  • 0
  • 6.73w
  • 单栏布局 侧栏位置: