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 是软核