原创 [转]代码设计和CTS的讨论

2011-3-14 21:24 1871 6 6 分类: 消费电子

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://bb2hh.blogbus.com/logs/87236716.html

注明:如需转载,请注明作者出处,谢谢~,Author:pythonlong

以下根据资料和个人体会整理,如果错误,疑问欢迎请指正,讨论!!

soc设计中会用到很多选择时钟。如果选择后的时钟和接口没有关系,如下图:

可以直接在选择器输出端口create clock。

但是如果选择后的时钟和接口有了时序关系,就不能直接在选择器输出端口create clock,因为后端工具无法确定这个clock的source latency
如下图:




以上只是说明clock的声明的一些方法。下面讲到的是电路设计和后端以及clock tree影响。
考虑这样一个电路


为了满足时序以及clock tree,如下图:

为了满足时钟树p2=p3=p4
同时为了满足接口时序p1=p2(即可满足一般约束)
但是这样p5路径的范围只能在一个时钟周期内。
这样后端工具在place和route的时候会有所顾虑。

如果考虑将IO进来的第一级触发器不做clock tree(可以设置exclude pin),为了满足时序和clock tree,如下图:
满足时钟树P3=P4
满足接口时序P1=P2(p2不一定等于p3,因为第一级触发器不做clock tree)
这样p5只要在P3+Pclk-P2路径内即可,后端place的范围相对于上面的实现可变范围变大


如果再考虑将IO进来的数据寄存2-3拍,这里分析3拍情况。
如下图:
IO进来的2级触发器不做时钟树。
满足时钟树p3=p4.
满足接口时序p1=p2
这样p5只要在p7+Pclk-p2内即可,p6在p3+Pclk-p7范围内即可。
即:从dff1到dff3的路径可以在p3+2×Pclk-P2内变化,而这个路径上只有一个触发器。
所以后端工具place的范围可以变得很大。有利于place和时序优化


以上只是说明一种通过设计提高后端palce和时序的方法
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条