微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > PLL之后的时钟约束

PLL之后的时钟约束

时间:10-02 整理:3721RD 点击:
输入时钟25M,经过PLL 4倍频之后成为100M内部使用时钟。综合的时候,因为PLL是硬IP,没有任何的.db文件可调用,因此我把PLL设为黑盒。请问:此时我的时钟该如何约束呢?

请问楼上两个问题:
1.我听说过在PLL输出定义时钟的说法,这是什么情况下用的呢?
2.在时钟输入端口定义时钟直接定义100M的,还是先定义25M,然后在PLL之后4倍频,定义一个generated clock?
请高手帮忙回答!

直接定义100M的时钟属性就可以了啊 ....

不懂啊

同样关注中。

直接定义PLL之后的时钟,PLL不需要你管,它是一个硬核啊

同楼上

将时钟源直接定义为模块之间的port!

[quote]请问楼上两个问题:
1.我听说过在PLL输出定义时钟的说法,这是什么情况下用的呢?
2.在时钟输入端口定义时钟直接定义100M的,还是先定义25M,然后在PLL之后4倍频,定义一个generated clock?
请高手帮忙回答!
在两个时钟没有同步关系时用.就是说你输入的25M时钟与PLL倍频得到的100M时钟这两个时钟域没有同步关系.那就可以直接定义100M的时钟.后面用set_false_path说明两者是异步关系就可以了.

请问楼上:原始时钟和PLL倍频之后的时钟不算同步时钟吗?

我觉得比较好的答案应该是将时钟端口设在CLKGEN模块的输出,若没有CLKGEN模块,则可以设在PLL输出端口

直接定义PLL的时钟输出端100M,

不一定需要同步呀,看前端的应用.如果前端写的代码将两个时钟域里的电路按异步来处理的话,那就可以将他们之间的路径设为false_path。如果是DLL,即延时锁相环,则一般是有相位依赖关系,这时DLL的输入时钟和输出时钟一般是同频不同相的。这时我觉得可以通过指定上升和下降边沿的时间来定义相位差,然后不用设置它们之间的电路为false_path应该就可以了。也不用generate吧。其实我觉得只要不设置false_path,工具就会认为是同步的,就会去分析两个时钟域的同步关系。

直接在PLL OUTPUT定义. 如果你有用100M来分频产生其他的clock, 那么这些clock 要定义为generated_clock.
PLL本身是一个hardcore,他的输入输出你不用管的。

如果芯片的时钟都是100M或者都来自100M,就可以在PLL的输出上定义100M的时钟。如果还有DFF使用25M的时钟,则还需要定义25M的时钟。至于两者之间的关系,就要看设计了,实际上如果要想两者同步是非常困难的事情,一般应该在两者之间同步处理一下,否则,两者之间的时序关系是非常难于满足的。

PLL 是软核

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

网站地图

Top