行波(ripple)时钟的处理
时间:10-02
整理:3721RD
点击:
假设有这样一个问题:
有三个模块,第一个模块对晶振时钟,也就是主时钟,进行一系列操作(比如说相位、占空比调整之类),希望得到一个变换后的时钟信号;而第二个模块则是对第一个模块输出的时钟进行分频;第三个模块则是在分频后的时钟下进行工作。
查看quartus的时序报告得出在第三个模块中存在较大的保持时间违规,这是情理中的。想请教DC、Timequest的高手们,这种情况你们一般怎么处理。
有三个模块,第一个模块对晶振时钟,也就是主时钟,进行一系列操作(比如说相位、占空比调整之类),希望得到一个变换后的时钟信号;而第二个模块则是对第一个模块输出的时钟进行分频;第三个模块则是在分频后的时钟下进行工作。
查看quartus的时序报告得出在第三个模块中存在较大的保持时间违规,这是情理中的。想请教DC、Timequest的高手们,这种情况你们一般怎么处理。
1、片内的PLL做时钟的相位和变频处理。
2、主时钟产生使能信号,用时钟的上升沿去采使能信号,实现分频操作。
谢谢您的回复。
由于第一个模块是根据算法对时钟进行调整,故不能使用锁相环。
我也是按照第二条做的,不过还是存在违规。现在我的想法是尝试用面积约束试一试
我感觉用行波时钟还不如用gating clock呢。似乎小编的方法也可以通过gating时钟来实现,而用gating时钟的话,时序好控制一些了。
模块3采用模块1输出的输出作为时钟,采用模块2输出的分频信号作为时钟使能。你是时序违规是行波时钟引起的,应该解决行波时钟的问题,不该通过面积约束规避,这是治标不治本的
