专栏首页陌上风骑驴看ICETM 抽取,应该知道的一些细节

ETM 抽取,应该知道的一些细节

点论 | 多mode ETM lib》曾经写过一点ETM, 最近在跟某兄解某问题时,突觉对ETM 的胴体竟然一无所知,比如,在抽ETM 时:

  • input port 的transition 是如何来的?output 的load 是如何来的?
  • in2reg path 被抽成setup/ hold check 时,其计算公式是什么?
  • reg2out path 被抽成sequential path 时,其计算公式是什么?
  • in2out path 被抽成combinational path 时,其计算公式是什么?
  • min period 跟pulse width 的计算公式是什么?
  • 是GPA 还是PBA?
  • SDC 中的相关命令如何处理?
  • 多clock 怎么处理?
  • 常值跟未约束的path 怎么处理?
  • PG pin 怎么抽取?
  • SI 怎么建模?
  • AOCV, SOCV 怎么度量?

有多少人会像老驴一样想脱口而出:WTF!!! 老驴打算就着这些问题捋一捋,今天先捋前四个。

抽取ETM 时context 的处理


ETM 不应该依赖于该设计当前的工作环境,也就是说在抽timing model 时不能用其当前的input transition 跟output load 为前提抽取,因为ETM 是要用于更上一层做timing 分析的,而在抽当前层时,是无法得知更上一层使用该model 时具体的transition 跟load 是多少,这其实跟std cell 类似,因为无法预知std cell 将要工作的外部环境,所以在K 库时,需要对input transition 跟outpu load 设定一个范围。那么问题来了,在抽ETM 时,这个范围从何而来?就这个问题,老驴请教了一些老专家,似乎各家工具处理时并不完全相同,在innovus 跟Tempus 中按如下方式处理:

可以在抽ETM 时指定input transition 跟output load:

如果在抽取ETM 时没有指定input transition 跟output load, 则按照如下规则:

  • check timing arc: 对于setup/ hold 这样的 "check timing arc" 是用reference pin 跟data pin 的transition 来查表的,其中reference pin 的transition index 用该clock pin 在该block 内部驱动的第一个cell 的transition index; data pin 的transition index 用该data pin 在该block 内部驱动的第一个cell 的transition index;
  • sequential timing arc: sequential timing arc 跟寄存器CK->Q 的timing arc 一样,用clock pin transition 跟output pin 的load 查表,其中clock pin 的transition index 用该clock pin 在该block 内部驱动的第一个cell 的transition index; output pin 的load 用该block 内部驱动该output pin 的最后一个cell 的load index.
  • combinational timing arc: 这类arc 用input pin 的transition 跟output pin 的load 查表,其中input pin 的transition index 用该input pin 在该block 内部驱动的第一个cell 的transition index; output pin 的load 用该block 内部驱动该output pin 的最后一个cell 的load index.

举个栗子,假设在block 内部有如下三条path:

  • check timing arc, clk->in, 其中clk pin 的transition index 取clk_buf 在原始lib 中的transition index, 即:cell ( CLK_BUF ) 的index_1; in pin 的transition index 取buf 在原始lib 中的transition index, 即:cell ( BUF ) 的index_1;
  • sequential timing arc 跟combinational timing arc, input pin 的transtion index 选取同check timing arc 类似,out pin 的load 取buf 在原始lib 中的load index, 即:cell ( BUF ) 的index_2;

抽取ETM 时各类型arc 的计算


从timing path 的角度,任何一个电路都可以简化成四类:

  • in2reg, 抽取ETM 时会将这类path 模拟成check timing arc, 其计算公式为:
  • reg2out, 抽取ETM 时会将这类path 模拟成sequential timing arc, 其计算公式为:
  • in2out, 抽取ETM 时会将这类path 模拟成combinational timing arc, 其计算公式为:
  • reg2reg, 抽取ETM 时不考虑这类path.

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

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

原始发表时间:2020-11-08

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数字电路实现中的DRC

    数字实现硅农大方向可分为前端后端或中端后端,再细分可分为综合、DFT、形式验证、PR, PV, PI, STA 等,细分之后各工种缝扣子的缝扣子,挂衣领的挂衣领...

    老秃胖驴
  • STA | Logical DRC

    本文源于一个问题:min capacitance DRC violation 需要fix 吗?

    老秃胖驴
  • 论职场 | 我们的职场生命有多长?

    最新一期《GQ talk》梁文道对谈马家辉聊职场关系,聊到退休,他们都认为这件事不会在自己身上发生。也是,不论用哪种价值体系衡量,他们都算得上现世的凤毛麟角,所...

    老秃胖驴
  • 如何正确看待谷歌宣布Fuchsia操作系统没有选Go作为终端开发语言

    前段时间偶尔的机会下在 Go 圈被这条新闻刷屏了(当然还有 Go1.14 发布):

    IT大咖说
  • 如何在项目优雅使用webp

    使用picture标签,这个是html5新加的标签,浏览器支持情况,可以见caniuse

    用户2845596
  • 面试题第二十期-第一个offer-深信服&面试经验

    就算所有人都不支持你。这条路会很曲折,你也会一度认为是不是自己选错了,但只要坚持,就算最后没有成功,但努力了就不会有遗憾。

    测试小兵
  • 【CodeForces 698A】Vacations

    饶文津
  • 机器学习中的正则化是怎样进行的?——ML Note 41

    如果用二次函数去拟合就是下图左边的样子,如果用高阶函数拟合就会得到下图右边的样子(即泛化能力比较差的过拟合情况)。

    讲编程的高老师
  • 华为交换机Console密码重置操作

    CPU Core Frequency ..............................1000 Mhz

    用户6174826
  • 阿里获中文语法大赛 CGED冠军后,我们和领队科学家聊了聊中文语义识别

    大数据文摘

扫码关注云+社区

领取腾讯云代金券

,,