赛灵思
直播中

李巍

7年用户 1445经验值
私信 关注
[问答]

DCM不同的时钟信号会改变clk0的频率

我在DCM时钟频率方面遇到了一些麻烦。
我创建了两个具有相同时钟输入的相同DCM,我使用这些DCM的clk0输出作为两个相同模块的输入。
但是,当我更改clkfx_multiply或clkfx_divide参数时,有时这会改变clk0的频率。
根据我的理解,这些参数应该只影响clkfx输出。
clk0在仿真中都是相同的,但是当在FPGA上实现时,它们是不同的。
这有什么特别的原因吗?
另外,100Mhz inputclkfx_multiply为9 andclkfx_divide为5并不能给我180Mhz时钟(它在模拟中但不在FPGA上),但是clkfx_multiply为9且clkfx_divide为10(模拟时为90MHz,FPGA上为180Mhz)。
以前有没有人遇到过这些问题?

以上来自于谷歌翻译


以下为原文

I am having some trouble with DCM clock frequencies.

I have created two identical DCMs with the same clock input and I am using the clk0 output from these DCMs as the input to two identical modules.

However when I change the clkfx_multiply or the clkfx_divide parameters, sometimes this will change the frequency of the clk0 out. From my understanding, these parameters should only affect the clkfx output.

Both clk0 are the same in simulation but when implemented on an FPGA, they differ.

Is there any particular reason for this?

Also with a 100Mhz input clkfx_multiply of 9 and clkfx_divide of 5 does not give me a 180Mhz clock (it does in simulation but not on the FPGA), however clkfx_multiply of 9 and clkfx_divide of 10 does (90MHz in simulation but 180 Mhz on FPGA). Has anyone ever come accross these problems before?

回帖(6)

杨玲

2019-1-25 09:10:34
模拟模型可能比模拟模型简单得多
真正的硬件。
鉴于您的硬件结果的奇怪性质
我会检查你的反馈路径是否正确连接。
使
确定你将CLK0送回CLKFB(可能通过BUFG或BUFGMUX)
如果你使用任何DLL输出。
另请查看数据表
部分是为了确保你没有超过任何频率范围。
-  Gabor
-  Gabor

以上来自于谷歌翻译


以下为原文

It's possible that the simulation model is a bit more simple than
the real hardware.  Given the strange nature of your hardware results
I would check that your feedback path is correctly connected.  Make
sure you're feeding CLK0 back to CLKFB (possibly through a BUFG or BUFGMUX)
if you use any of the DLL outputs.  Also check the datasheet for your
part to make sure you're not exceeding any of the frequency ranges.
 
-- Gabor
-- Gabor
举报

杨玲

2019-1-25 09:17:07
我忘了添加 - 确保时钟反馈来自clk0输出
相同的DCM。
-  Gabor
-  Gabor

以上来自于谷歌翻译


以下为原文

I forgot to add - make sure the clock feedback comes from the clk0 output
of the SAME DCM.
 
-- Gabor
-- Gabor
举报

郭武莱

2019-1-25 09:22:14
感谢您的回复。
我正在使用XC5VLX50,并且已经将DCM的clk0连接到同一DCM的clkfb输入。
频率范围似乎不是问题,因为当我改变clkfx_divide和clkfx_multiply参数时,我似乎能够设计特定的频率。
即,使用10的M和10的M为180 MHz,而9的M和5的5给出200MHz而不是预期的180MHz(使用100MHz输入clk)。

以上来自于谷歌翻译


以下为原文

Thanks for your reply. I am using the XC5VLX50 and have already connected clk0 of the DCM to the clkfb input of the same DCM.
 
Frequency ranges do not seem to be the problem as when I alter the clkfx_divide and clkfx_multiply parameters, I seem to be able to engineer particular frequencies. i.e. 180 MHz using M of 9 and D of 10 whereas M of 9 and D of 5 gives me 200MHz instead of the expected 180MHz (using a 100MHz input clk).
举报

李林

2019-1-25 09:37:55
您是否在FPGA_EDITOR中检查了您的DCM设置是否已进入NCD?
有三种方法(通用/参数传递,defparam和UCF)我可以想到可以改变DCM设置。
我不知道你是如何改变M和D的价值的。它可能被设置在你不知道的其他地方,这会覆盖你的改变。
干杯,
吉姆
declanwalsh25写道:
感谢您的回复。
我正在使用XC5VLX50,并且已经将DCM的clk0连接到同一DCM的clkfb输入。
频率范围似乎不是问题,因为当我改变clkfx_divide和clkfx_multiply参数时,我似乎能够设计特定的频率。
即,使用10的M和10的M为180 MHz,而9的M和5的5给出200MHz而不是预期的180MHz(使用100MHz输入clk)。
干杯,吉姆

以上来自于谷歌翻译


以下为原文

Did you check in FPGA_EDITOR that your DCM settings made into the NCD? There are three ways (generic/parameter passing, defparam, and UCF)  I can think of that can change the DCM settings. I don't know how you change the valuds for M and D. It's possible they are set in other places that you're not aware of, which overrides your changes.
 
Cheers,
Jim
 
 
declanwalsh25 wrote:
Thanks for your reply. I am using the XC5VLX50 and have already connected clk0 of the DCM to the clkfb input of the same DCM.
 
Frequency ranges do not seem to be the problem as when I alter the clkfx_divide and clkfx_multiply parameters, I seem to be able to engineer particular frequencies. i.e. 180 MHz using M of 9 and D of 10 whereas M of 9 and D of 5 gives me 200MHz instead of the expected 180MHz (using a 100MHz input clk).
 
Cheers,
Jim
举报

更多回帖

发帖
×
20
完善资料,
赚取积分