linux fall delay 10,Cell的Rise delay和Fall delay、Rise transition和fall transition

Cell的Rise delay和Fall delay、

Rise transition和Fall transition

介绍:

如下图所示为一个Cell的lib中关于cell_rise/cell_fall、rise_transition/fall_transition的描述:

b9fff15ded972cefefc56e9cebe7ddaf.png

在NLDM模型的.lib中,cell_rise/cell_fall它描述的是Cell从输入到输出的延迟查找表,它是一个Input transition和Output load的二维查找表。

256b3c4ff8c95d4880b5b3191ff727f6.png

rise_transition/fall_transition描述的是Cell输出上升和下降沿transition time与Input transition和Output load的二维查找表。

问题:

以上内容大家应该都知道,下面提出一个问题:

对于.lib中的cell_rise/fall这里的rise和fall指的是输入是rise/fall还是输出是rise/fall情况下的cell delay呢?

输入是rise的猜想:因为delay是Input transition和Output load的二维查找表,所以可能指的是input rise或者fall的情况。另外该字段里面的related pin也是输入pin。

输出是rise的猜想:因为整个描述是定义在timing里面的output pin里面的,所以可能指的是output rise的情况,另外从名称判断cell_rise应该是输出上升的情况。

在给出答案之前大家可以想想哪个答案是对的。

混淆你的视听:

为了找到问题的答案,找了很多资料,可是发现网上有些资料是不可靠的,可能会混淆你的视听。

下面是Liberty UG里面相关的介绍,从里面并不能获得该问题的答案。

0cf73a6153c95455e4eb2ac5e94cc2cf.png

后来网上看到一个Liberty File的介绍,里面明确说明了rise_transition指的是output rise,而cell_rise感觉有点像是指的Input rise/fall:

http://web.engr.uky.edu/~elias/lectures/LibertyFileIntroduction.pdf

880077a546ff956819ca5f48bc774af7.png

后来找了更多资料研究后发现这个图里面错误有很多,不具有参考性。

这个图里面的错误你能发现几个呢?

错误之处:

1、index_1和index_2不一定是input transition和output load,也可能是反着来的,要看lib前面的定义。不过在这里index_1是input transition没错,可是这个cell的timing_sense是negative_unate的,怎么可能出现input和output同时是rise的情况呢,所以上面的黄字介绍是错的,lib没错;

2、在index_1的input transition或者output transition rise time的时候里面说的是20%-80%,这个是有问题的,这个是lib里面定义的slew threshold的值,所以是slew time,而非transition time。这里应该写10%-90%。这里需要注意slew和transition的区别,之前一直以为是同一回事,研究发现并不是。后边会专门写篇推文介绍一下。

上面找到的例子有点问题,介绍几个正确的博文:

https://vlsiuniverse.blogspot.com/2016/12/liberty-format-introduction.html

https://gogul.dev/hardware/cmos-basics-for-sta-2

答案:

下面给出答案:

Cell_rise指的是当输出从0变为1时,在输入和输出之间的传播延迟;

Cell_fall指的是当输出从1变为0时,在输入和输出之间的传播延迟。

由于输入输出不是瞬间从0变成1的,反之亦然,因此我们需要定义一个阈值来进行测量:

# threshold point of input falling edge

input_threshold_pct_fall : 50.0 ;

# threshold point of input rising edge

input_threshold_pct_rise : 50.0 ;

#threshold point of output falling edge

output_threshold_pct_fall : 50.0 ;

#threshold point of output rising edge

output_threshold_pct_rise : 50.0 ;

这些点经常为VDD的50%,如下图所示为cell_rise/fall的真实定义:

91334abb90d69bb2441a0dd733cf9d98.png

举个例子:

下面左图是一个Inverter的输入波形,input rise transition是20ps,input fall transition是15ps,output load是10fF。

那么Cell的fall delay通过查找LUT里面的cell_fall表格获取,其中查表用的输入分别为:

Input transition time(rising): 20ps;

Output load: 10fF

03d95bd8133da4e54220cec937848f04.png

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值