时序分析基本概念介绍<Timing Derate>

640?wx_fmt=gif

今天我们介绍的时序分析概念是timing derate. 我们可以称为时序增减因子。我们知道在芯片的生产过程中,由于刻蚀,不同点的温度,金属不均匀,串扰,晶体管沟道长度等影响因素,导致片上各个位置单元延迟不一样。因此,我们需要一个缩放因子来让设计更加严格。

timing derate是计算OCV的一种简单方法,在某单一条件(BC-WC)下,把指定path的delay放大或者缩小一些,这个比率就是derate。比如说:

-late 

setup ==> data path * 1.1

hold ==> clock path * 1.1

-early 

setup ==> clock path * 0.9

hold ==> data path * 0.9

以下图为例:

setup check中,

640?wx_fmt=jpeg

Date arrival time即data path和launch clock path需要使用-late 选项,使得路径变慢。

Date require time即capture clock path需要使用 -early 选项,加快路径延迟。

需要注意的是:考虑time derate需要在某个单一条件下,比如说BC或者WC条件下,把指定path的延迟再放大或者缩小一点,要么是BC,要么是WC,不要把BC和WC混在一起,再OCV,那样太过于悲观。

setup check 一般是工作在WC PVT条件下,因此不需要在late path上,即launch clock path以及data path上再加time derate,因为在WC条件下,launch clock path以及data path上的延迟已经是所有条件下最差的delay了,没有必要再加大延迟,但是WC条件下capture clock path上的delay肯定不是最小的,因此需要加快。

所以上面的timing path做setup check,time derate只需要这样设置:

set_timing_derate -early 0.9

set_timing_derate -late 1.0

我们可以计算一下设了timing derate以后setup check的变化:

上图中:launch clock path = (1.2+0.8)*1.0 = 2.0

max data path = 5.2 * 1.0 =5.2

capture clock path = (1.2 + 0.86) *0.9 = 1.854

所以最小时钟周期 T = 2.0 + 5.2 -1.854 + 0.385= 5.731

可以看到:考虑timing derate以后,会降低整个design的工作频率。

在Hold check中

640?wx_fmt=jpeg

考虑time derate的情况与setup正好相反,

Data require time中的capture clock path使用-late选项,使路径变慢。

Data arrival time中的data path和launch clock path使用-early选项,使路径加快

实际上,Hold check一般在BC条件下,因此,launch clock path与data path不需要再进一步减小delay, 因为已经是最小delay, 但是BC条件下的capture clock path需要derate. 可以使用如下设置

set_timing_derate -early 1.0

set_timing_derate -late 1.2

这样添加time derate后

Launch clock path = 0.85 * 1.0 = 0.85

Min data path = 1.7 * 1.0 = 1.7

Capture clock path = 1.0 * 1.2 = 1.2

所以slack=0.85+1.7-1.2-1.25=0.1


640?wx_fmt=jpeg

公司招聘

各大IC公司招聘各类IC工程师

简历请戳邮箱:taozhang3260@163.com

  • 8
    点赞
  • 136
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>音乐相册</title> <style> @import url("CSS/ring.css"); @import url("CSS/square.css"); /* 定义动画 */ @keyframes box-ani{ /* 开始动画 */ from{ transform: rotateX(-15deg) rotateY(10deg); } /* 结束动画 */ to{ transform: rotateX(-15deg) rotateY(370deg); } } /* 使用动画 */ .box{ animation-name: box-ani; animation-duration: 10s; animation-iteration-count: infinite; animation-timing-function: linear; } </style> </head> <body> <div class="btn-box"> <button class="btn">环形</button> <button class="btn-square">正方体</button> </div> <div class="box square"> <img src="img/w01.jpg" alt=""/> <img src="img/w02.jpg" alt=""/> <img src="img/w03.jpg" alt=""/> <img src="img/w04.jpg" alt=""/> <img src="img/w05.jpg" alt=""/> <img src="img/w06.jpg" alt=""/> <img src="img/w07.jpg" alt=""/> <img src="img/2014.jpg" alt=""/> <img src="img/2015.jpg" alt=""/> <img src="img/2016.jpg" alt=""/> <img src="img/2017.jpg" alt=""/> <img src="img/2018上.jpg" alt=""/> </div> </body> <script> var btn =document.querySelector(".btn"); var box =document.querySelector(".box"); var btnSquare=document.querySelector(".btn-square") btn.onclick =function(){ // 现在点击以后要在box的盒子上面添加一个class 为ring的样式 box.classList.remove("square"); box.classList.add("ring"); } btnSquare.onclick =function(){ box.classList.remove("ring"); box.classList.add("square"); } </script> </html>帮我写一个可以添加背景音乐的代码
06-09
可以在 body 标签中添加以下代码来实现添加背景音乐的功能: ```html <audio src="音乐文件的路径" autoplay loop></audio> ``` 其中,src 属性指定音乐文件的路径,autoplay 属性设置为自动播放,loop 属性设置为循环播放。例如,如果将音乐文件命名为 music.mp3,并放在项目的根目录下,可以将代码改为: ```html <audio src="music.mp3" autoplay loop></audio> ``` 将该代码添加到 body 标签的末尾即可。完整代码如下: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>音乐相册</title> <style> @import url("CSS/ring.css"); @import url("CSS/square.css"); /* 定义动画 */ @keyframes box-ani{ /* 开始动画 */ from{ transform: rotateX(-15deg) rotateY(10deg); } /* 结束动画 */ to{ transform: rotateX(-15deg) rotateY(370deg); } } /* 使用动画 */ .box{ animation-name: box-ani; animation-duration: 10s; animation-iteration-count: infinite; animation-timing-function: linear; } </style> </head> <body> <audio src="music.mp3" autoplay loop></audio> <div class="btn-box"> <button class="btn">环形</button> <button class="btn-square">正方体</button> </div> <div class="box square"> <img src="img/w01.jpg" alt=""/> <img src="img/w02.jpg" alt=""/> <img src="img/w03.jpg" alt=""/> <img src="img/w04.jpg" alt=""/> <img src="img/w05.jpg" alt=""/> <img src="img/w06.jpg" alt=""/> <img src="img/w07.jpg" alt=""/> <img src="img/2014.jpg" alt=""/> <img src="img/2015.jpg" alt=""/> <img src="img/2016.jpg" alt=""/> <img src="img/2017.jpg" alt=""/> <img src="img/2018上.jpg" alt=""/> </div> <script> var btn =document.querySelector(".btn"); var box =document.querySelector(".box"); var btnSquare=document.querySelector(".btn-square") btn.onclick =function(){ // 现在点击以后要在box的盒子上面添加一个class 为ring的样式 box.classList.remove("square"); box.classList.add("ring"); } btnSquare.onclick =function(){ box.classList.remove("ring"); box.classList.add("square"); } </script> </body> </html> ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值