专栏首页陌上风骑驴看IC论STA | clock min period check

论STA | clock min period check

有时候,问题的来去也会扎堆,周二跟某几位小朋友讨论过clock min period check, 今天又跟某小猪讨论了一遍。

按照惯例从lib 说起,通常RAM 的lib 里都会定义min_period 的timing check, 至于为什么RAM 需要check min_period 而其他时序逻辑不需要,驴还没搞清楚,请教各位予以指导。

老工艺,min_period 在RAM 的lib 里是一个定值;新工艺,min_period 在RAM 的lib 里定义为index 是CLK pin transition 的一张一维表,在lib 里会先定义一个如下图所示的Lookup table , index_1 里列出的值是CLK pin 的transition 值。

在CLK pin 上会定义如下的minimum_period 的timing check. Values 的值即为对应transition 所要求满足的min_period. 显然,输入transtion 越大,min_period 要求越大。

搞清楚lib 的定义之后再来对着具体电路看,老驴懒得画图,从Tempus 的user guide 里找了一张比较典型的图,假装后面的寄存器是RAM. 所谓的clock min period check, 就是先计算电路中到达RAM CLK pin 真实的clock period 值,然后跟lib 中定义的值比较。

要计算电路中到达RAM CLK pin 真实的clock period, 首先要明白都要考虑哪些因素:

  • SDC 中定义的clock period: T;
  • Clock lunch path 跟Capture path 上的derate 值;
  • Clock uncertainty.
  • Clock path 上的crosstalk.

对于示例电路,Clock 在到达RAM 的CLK pin 之前就有了分叉,按照惯例, 此处从clock root 点到clock 分叉点的delay 称为source latency; 从clock 分叉点到RAM CLK pin 的delay 称为network latency, 那么在考虑串扰的情况下可得:

如果设置了OCV 或读入了AOCV/ SOCV 文件,并且enable 了对应的计算,工具在计算latency 的时候会自动将derate 值计算在内,对于source latency 需要减去CPPR. 因为Clock period 计算的是不同沿clock 的delay 所以CPPR 中只减掉Derate 部分,cross talk 引起的delta delay 不会被减掉。故,clock period 的计算为:

在memory 选型的时候,clock min period 是一个重要指标,需要根据电路实际的工作频率, clock 的uncertainty, Crosstalk, 工艺的Variation 来选定。

在STA 阶段如果有clock min period 的violation, 可以做:

  • check 是否有clock 的分叉点,如果有是否可以尽量把分叉后的path 做短;
  • 修clock transition, 更小的transition 对应的clock min period 要求更小。
  • check clock path 上是否有crosstalk, 如果有,修干净。

如果以上事情都做好了,依然meet 不了clock min period 的需求,说明memory 选型时考虑不周全,可以尝试换low VT 的memory , 再不行就需要推倒重来。

再贴一个Tempus report 的示例:


驴说IC

本文分享自微信公众号 - 陌上风骑驴看IC(MoShangFengQiLv),作者:陌上风骑驴

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 曲线们 | 学习曲线预测单个晶体管的成本收益

    最近读了一些关于『曲线』的文章,挺有意思,搬运翻译几篇外文来,一起欣赏。学习曲线是去年早些时候受某兄之托做过一遍译文校验,后来也不知有无发表。

    老秃胖驴
  • 论STA | min pulse width

    之前写过《 论STA | clock min period check 》今天再撸一下min pulse width.

    老秃胖驴
  • Cadence发布Tempus电源完整性签核方案

    中国上海,2019年11月15日——楷登电子(美国Cadence公司,NASDAQ:CDNS)发布Tempus电源完整性解决方案,业界首款全面的静态时序/信号完...

    老秃胖驴
  • Flex HTTPService

    URL中如果使用&符号应写成& 例如上面的示例就应将url中内容改为http://hello.api.235dns.com/api.php?code=xml...

    三产
  • 人工智能的领域5G「嵌入式人工智能」技术

    当今时代,是5G时代,嵌入式和人工智能都是热门话题,二者时长放在一起谈论。那么他们之间到底有着什么样的关系呢?

    用户7742714
  • 手把手教你两招,轻松完成图片格式转换

    我们平时在工作生活中肯定会使用到图片,图片有不同的格式,像我们平时常用的图片格式有JPG、PNG、GIF等格式,不同格式的图片有不同的优缺点,并且有时候在提交照...

    用户7197538
  • 丰富排版页面——为你的wordpress主题添加短代码形式美化框

    相信有些wordpresser知道这个东东,在一些主题上这是标配,如deve主题、iartwork主题。原理大概是通过wordpress本身的短代码功能,事先在...

    Jeff
  • k8s实践(二):基本概念、kubectl命令和资料分享

    Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,主要功能包括:

    loong576
  • R语言中使用RCPP并行计算指数加权波动率

    指数加权波动率是一种波动率的度量,它使最近的观察结果有更高权重。我们将使用以下公式计算指数加权波动率:

    拓端
  • 003.Ceph扩展集群

    需求:添加Ceph元数据服务器node1。然后添加Ceph Monitor和Ceph Manager node2,node3以提高可靠性和可用性。

    木二

扫码关注云+社区

领取腾讯云代金券