Search code examples
verilogfpgaxilinxmodelsim

Why DCM doesn't work in Modelsim 10.3?


I tried to use Digital Clock Manager (DCM) and double the input clock. iSim (Xilinx simulation tool) gives the correct result, but in Modelsim the output clock is always zero.

I always compile the unisims folder (that consist of IBUFG, DCM and BUFG modules in xilinx software) in the library of my project in modelsim.


According to the Russel Answer I used Xilinx Core Generator. I want the frequency of CLKFX to be double of CLKIN. As you see in the following pictures, the results of iSim (Xilinx simulator) is correct, but in Modelsim CLKFX is always zero :

iSim results (Xilinx Simulator) :

enter image description here

Modelsim results :

enter image description here


Solution

  • If you think you're not setting up the DCM correctly, you need to read the documentation about DCMs and how they work. If you search for Xilinx Library Guide (+FPGA Name) you'll find all of the Primitives that are available in your device. Or you can look at the full list here:

    Xilinx Library Guides

    If you're still having trouble after looking at all of your parameters, you can try using CoreGen to generate your DCM for you. CoreGen will ensure that you do not make any mistakes or instantiate something in an invalid configuration. The output of CoreGen is a .vhd file that you can drop into your modelsim project and simulate with that.