sunhongwei的个人空间 https://blog.eetop.cn/1708597 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

学习sdc

已有 414 次阅读| 2023-7-26 16:28 |系统分类:芯片设计| sdc, sdc

set_false_path和set_disable_timing区别:
1. set_false_path有选择性地disables the arrival time information depending
on优先的rules;
2. set_false_path不影响constant values;
3. set_disable_timing物理上剪掉一个timing arc,所以arrival times和constant values都不能穿过arc;
4. all cases可以应用set_disable_timing到valid timing arcs。

转自知乎 林曼曼

SDC是一个设计中最重要的文件,那sdc有哪些具体的内容呢,1、描述芯片的工作速度,包括 create_clock, create_generate_clock; 要知道clock的root点,clock的sinks也要知晓。 2、描述芯片的边界约束,包括set_input_delay, set_output_delay; 3、描述芯片的一些设计违反rule(DRV)包括 set_max_fanout, set_max_capacitance, set_max_transition; 4、描述设计中一些特殊的路径,包括set_false_path, set_multicycle _path, 5、描述设计中一些需要禁止的timing arc,例如 set_disable_timing;

针对multicycle path,需要注意的是-end和-start的用法,-end是指capture flop的clock, -start是指launch flop的clock。注意hold的cycle是相对于setup path的沿往前算的,也就是说clk2的setup capture edge为1,前一个沿为0,针对快时钟到慢时钟,对于setup要加-start;针对慢时钟到快时钟,hold必须加-end.

为什么设置input delay呢,因为不设置input delay,工具并不会分析这条path,由于大多数信号进入芯片内部都是需要和芯片进行数据传递的,所以必须通过设计input delay(算在launch path路径上)和output delay (算在launch path路径上)的方式告诉工具此处的timing信息,这才能保证芯片内部正确采样。另外还会牵扯到虚拟时钟,虚拟时钟用作设置input delay和output delay的参考,定义虚拟时钟的目的是用于指定虚拟时钟的latency和接口时序。比如把reg2output路径,capture path路径上设置一个output external delay,算时序的时候capture路径上要减去这个值。cts不会为虚钟创建时钟树。物理上不存在。

此外,针对MMMC,我们主要讲讲RC corner,针对setup violation,我们要设置cmax,rcmax,因为90nm以下,net delay的比重越来越大,C=a*W *L, RC=ab*L^2, 对于短线来说,电容起主要作用;对于长线来说,RC起主要作用。



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 1

    关注
  • 2

    粉丝
  • 0

    好友
  • 2

    获赞
  • 4

    评论
  • 230

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-19 22:21 , Processed in 0.014184 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部