在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 3876|回复: 9

[求助] DC逻辑综合的纯组合逻辑电路I/O约束问题

[复制链接]
发表于 2022-7-25 20:28:00 | 显示全部楼层
保守一点,7/3开吧
Virtual clock应该可以,是不是没写对。set_max_delay应该也可以,无法就是想让组合逻辑紧凑一些。
回复 支持 反对

使用道具 举报

发表于 2022-8-2 14:50:49 | 显示全部楼层


   
xingyun666666 发表于 2022-8-2 00:39
保守一点,7/3开吧
--jake哥,这个其实一直是我很懵懂的地方,做了很多项目,有些设计拿到前端的SDC,看到 ...


一般block I/O默认是7/3。
出现8/2可能是top level预计到了上游下游两个block离得远,上游输出的数据经过一些组合逻辑,或是上下游的时钟有很大的skew, 这时可能会要求上游下游两个block都用8/2,给中间的top level路径多争取一点时间。
Top level的I/O很多时候要看通信协议的标准,并不遵循默认的7/3。

回复 支持 反对

使用道具 举报

发表于 2022-8-2 15:59:17 | 显示全部楼层


   
挽梦夏已深 发表于 2022-8-2 01:26
比如一个设计模块下有多个子设计模块,并且由不同的clk控制,这些clk由domain clk分频得到。如果你只是综 ...


Rule #1:任何timing分析,首先要确定的是参照(timing reference)。确定了参照,各个delay无非就是加加减减。
对于一个block的I/O,最直接的参照就是和数据一起进来或出去的clock。这样做有个小小的缺陷。在synthesis的时候,clock network是ideal的。但到了place & route的CTS阶段,clock network变成了propagated。例如, clock进来后会经过一些clock buffer后才到达reg/CLK。因为这些clock buffer有delay,clock在刚到达block边缘的时间和clock到达锁存输入reg/CLK的时间是不一样的。如果仍旧用clock作为参照,会出现一些模糊,具体就暂时不展开讲了。 这时如果在block外面设一个频率和实际clock一样的virtual clock,并用这个virtual clock作为参照,对I/O进行约束,就会精准一些。Virtual clock不会因为place & route的CTS而改变,是一个绝对的timing reference。

当然,你提到的子模块使用分频后的时钟,但不是I/O的reference clock,这个情况用virtual clock是最自然的。



回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X 关闭广告

手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 ) |网站地图

GMT+8, 2025-10-17 04:23 , Processed in 0.016692 second(s), 4 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表