UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 13530

5.1i Timing Simulation, DCM - " Warning: MAXCLKPERIOD VIOLATION ON CLK"

Description

Keywords: timing, simulation, SIMPRIMS, DCM, CLKFX, no, feedback, warning, MAXCLKPERIOD, violation

Urgency: Standard

General Description:
When I simulate a DCM, the following warning is reported:

"** Warning: MAXCLKPERIOD VIOLATION ON CLK;"

Solution

1

This warning occurs when the input clock frequency to the DCM is not within the valid range specified in the data book. (See the data book for the valid input ranges: http://www.xilinx.com/xlnx/xweb/xil_publications_index.jsp)

If you are only using the CLKFX output and are not using CLKFB, the input clock may be as low as 1 MHz. In this case, the simulation will incorrectly issue a warning if the input clock is below 24 MHz.

This problem is fixed in the latest 5.1i Service Pack, available at:
http://support.xilinx.com/support/techsup/sw_updates
The first service pack containing the fix is 5.1i Service Pack 1.

2

For software versions prior to 5.1i SP1, use the work-around below or ignore the warning. Only use this work-around if only the CLKFX output of the DCM is being used:

For Verilog, enter information similar to the following in the testbench:
defparam uut.U_DCM.MAXPERCLKIN = 1000000;

This assumes that you instantiated the top level with the instance name of "uut" and that the DCM is instantiated in the top level with an instance name of "U_DCM".

For VHDL, add configuration statements.

For behavioral simulation, the configuration statement will look like:

configuration my_config_behavioral of testbench is
for behavior
for uut : top_level
for top_level_arch
for U_DCM : DCM use entity unisim.dcm
generic map (MAXPERCLKIN => time(1000 ns));
end for;
end for;
end for;
end for;
end my_config_behavioral;


For timing simulation, the configuration statement will look like:

configuration my_config_timing of testbench is
for behavior
for uut : top_level
for top_level_arch
for U_DCM : X_DCM use entity simprim.x_dcm
generic map (MAXPERCLKIN => time(1000 ns));
end for;
end for;
end for;
end for;
end my_config_timing;

(These configuration statements are also located in the testbench.)
AR# 13530
Date Created 01/10/2002
Last Updated 08/11/2005
Status Archive
Type General Article