为什么 DCM 在 Modelsim 10.3 中不起作用?

Why DCM doesn't work in Modelsim 10.3?

我尝试使用数字时钟管理器 (DCM) 并将输入时钟加倍。 iSim(Xilinx 仿真工具)给出了正确的结果,但在 Modelsim 中输出时钟始终为​​零。

我总是在modelsim的项目库中编译unisims文件夹(由xilinx软件中的IBUFG、DCM和BUFG模块组成)。


根据 Russel Answer,我使用了 Xilinx Core Generator。我希望 CLKFX 的频率是 CLKIN 的两倍。正如您在下面的图片中看到的,iSim(Xilinx 模拟器)的结果是正确的,但在 Modelsim 中 CLKFX 始终为零:

iSim 结果(Xilinx 模拟器):

Modelsim 结果:

如果您认为自己没有正确设置 DCM,则需要阅读有关 DCM 及其工作原理的文档。如果您搜索 Xilinx 库指南(+FPGA 名称),您将找到您的设备中可用的所有原语。或者您可以在此处查看完整列表:

Xilinx Library Guides

如果您在查看所有参数后仍然遇到问题,可以尝试使用 CoreGen 为您生成 DCM。 CoreGen 将确保您不会犯任何错误或在无效配置中实例化某些内容。 CoreGen 的输出是一个 .vhd 文件,您可以将其放入您的 modelsim 项目并用它进行模拟。