欢迎大家通过博客浏览我的历史文章,博客园包含了目前为止所有的文章,浏览效果更佳,并且有评论留言功能,有任何问题都可以给我留言,微信后台留言可能回复得不及时。
博客地址为:https://www.cnblogs.com/icparadigm/
网络课程《数字集成电路静态时序分析基础》的笔记
地址:https://www.iccollege.cn/portal/courseDetail/193.mooc
特殊时序检查 - 多时钟
所有讨论都是同步时钟,具有固定相位关系,异步时钟是没有时序检查的意义的
跨时钟域
慢时钟域到快时钟域
时钟约束,也可以使用 generate
最严格的时序检查如下
setup 检查,发射路径
捕获路径
hold 时序检查
慢时钟域的数据计算比较慢,用快时钟域来要求慢时钟域是不合理的,所以可以在第四个周期进行检查,这样可以放宽对慢时钟域的检查。注意要加上 -end 选项,因为这是对
注意到默认 hold 检查边沿是 setup 的前一个
约束后的建立时间检查,捕获路径中的 CLKP 增加到 20,也就是 4 倍
和多周期约束一样,对 hold 的默认检查也是不合理的
因此对 hold 也施加多周期约束
约束以后的检查边沿
总的来说,对于慢到快的检查,要对 setup 施加 N 的 multicycle,对 hold 施加 N-1 的 multicycle
从快时钟域到慢时钟域
时钟定义如下
最严格的时序检查
15 时刻的时序检查,发射路径
捕获路径
这对于慢时钟来说要求会比较高,裕度比较小
下面是 0 时刻边沿的 hold 检查,发射路径
捕获路径
同样使用多周期路径约束放宽 setup 和 hold 检查
约束以后的时序检查
约束以后建立时间的发射路径
捕获路径
保持时间的发射路径
捕获路径
多时钟
整数倍关系
现在有三个时钟
对最快到最慢的路径检查,最严格的检查边沿就是 15
捕获路径
保持时间
非整数倍
下面是一个例子,一个五分一个八分
这种情况下取最小公倍数进行处理
因此检查边沿如下
先考虑从慢到快时钟,最严格的建立时间边沿就是 24
最严格的情况下都能够 meet timing,那么其他地方都没有问题
保持时间最严格的检查边沿在 0 时刻
再考虑从快到慢
建立时间最严格的边沿在 15 时刻
hold 同样也在 0 时刻进行检查
捕获路径
相位有移动的情况,下面的两个时钟有 90°的相位差,约束如下
这里类似于半周期的约束,hold 的裕度比较多而 setup 裕度比较少
建立时间发射路径
hold 发射路径,注意这里开始时刻是 2,而捕获时刻在 0.5,所以说对保持时间裕度比较大