微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 后端在CTS时遇到两个时钟域的时候,怎么办?

后端在CTS时遇到两个时钟域的时候,怎么办?

时间:10-02 整理:3721RD 点击:
在CTS时遇到两个时钟域的时候,一个是generate clk,一个是master clk,时钟树会做clk minimum skew。但两个时钟域时他默认是分别确保两个时钟域里面的skew都最小,还是会把genenrate clk这个时钟域合并到master clk里面做最小skew?正确的做法是怎么样 的?

LZ, 请先确认这个generated clock 与 master clock 的频率关系是几分频?
如果一分频, 那么就是一个时钟域, master clock 是 generated clock 的 root, CTS会自动 balance skew。 如果是n分频的话, 那才是两个时钟域。

哦。是两分频,3x哈

这种情况下,看你要怎么做了。 一般无特殊要求,可以把generated clock作为一个domain单独balance。
有时,有的design 要求generated clock domain中的每个FF CK 的 rising edge 要和master clock rising edge 做 align,这意味着generated clock要纳入master domain做CTS。此时注意, 要让tool知道“两分频点”的FF的CK pin不是balance sink point,这样tool就会把用做“两分频点”的FF尽量提前放。 如果不这样做, 后面的FF的与master clock的skew会不太好, 原因可以自己揣摩一下。

请问下chris_li:
”此时注意, 要让tool知道“两分频点”的FF的CK pin不是balance sink point,这样tool就会把用做“两分频点”的FF尽量提前放。“
这个是什么意思?没有理解!

给个带脚本的例子看看? 这样一看就明白了.

都可以吧,只要timing过就行
缺省下master 和generated clock都会自动balance的,也就是 整个tree skew比较小
如果要简单做tree,就去除generated clock, 然后在那个点设 non_stop_pin ,
这样就是一个master clock做tree,也简单些

CTS很有难度啊

很好做啊, 只要balance或者设不同的 stop pins/non_stop pins /float pin 就行
以timing结果为主,‘

CTS决定的整个芯片的电路架构,要学的东西,很多的。各个时钟树综合模型必须针对不同的电路结构,例如
并不是所有时钟域电路都需要balance时钟skew,还有些时钟与信号需要添加同步,例如对时钟的选择控制,总之,没有统一之法,还是酌情处理,理解电路结构和算法是必要的。



两个clock domain有数据交互吗? 有数据交互的话,是critical path吗? design 是否留有余量。在知道这些信息之后,我才能判断两个时钟是否需要不做同步。
每个design中,时钟几十上百很正常。我们需要关注的是那些cirtical的路径。其他的没必要,都按照常规做就好了。

有数据交互的,你说的我明白了,3x3x~

大家好,有没有用脚本做过CTS的,我现在要用Perl进行自动的CTS,还没有思路,望大家赐教!

请问下,有没有EDI做CTS的算法和指导么?我想了解下EDI是如何做CTS的?工具的动作是具体如何的?

EDI工具是如何做balance 的呢?还有这些sink是按照什么原则来划分子树的呢?
比如说,他在做CTS的时候,是先对子树进行balance,然后再做子树之间的balance么?
我在做手动usefulskew的时候发现,设置macromodel的sink被单独分到一个子树上面,这个子树的delay+macromodel值差不多等于=其他子树的delay。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top