Article ID: 000077476 Content Type: Error Messages Last Reviewed: 04/12/2023

Warning : Input frequency violation on DLL instance

Environment

    Quartus® II Subscription Edition
    Simulation
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Description

When running simulations with the ModelSim*-Intel FPGA Edition software on the UniPHY DDR3 IP with either the example testbench or the <IP _name>_sim fileset,  the simulation may generate transcript messages of type :

Note: Input frequency on DLL instance <IP_name>_example_sim.e0.if0.dll0.dll_wys_m.inst now matches with specified clock frequency.

Warning : Input frequency violation on DLL instance <IP_name>_example_sim.e0.if0.dll0.dll_wys_m.inst. Specified input period is 2500 ps but actual is 3750 ps

and the simulation never completes calibration.

This may occur with some combinations of DDR3 UniPHY parameter editor -> PHY Settings parameters for "Memory clock Frequency" and "PLL reference clock frequency".

It is due to a rounding issue in the UniPHY DDR3 IP testbench clock source code.

Resolution

The workaround for the design example testbench is as follows :

Verilog:

In the file <IP_name>_example_sim.v,  for the pll_ref_clk instance of altera_avalon_clock_source, on code line  
CLOCK_RATE (x)  where x is a frequency value change x to be the frequency specified as the DDR3 megawizard PHY Settings ->  “PLL reference clock frequency”

VHDL:

  1. In the file submodules/altera_avalon_clock_source.vhd, change the line:

    generic (CLOCK_RATE : integer :=10);  -- default rate 10 MHz (100 ns)

    to:

    generic (CLOCK_RATE : real :=10.0);  -- default rate 10 MHz (100 ns)

 

  1.  In the file <IP_name>_example.vhd, change:

    component altera_avalon_clock_source is
        generic (
            CLOCK_RATE : positive := 10
        );
        port (
            clk : out std_logic  -- clk
        );
    end component altera_avalon_clock_source;


to:

  component altera_avalon_clock_source is
        generic (
            CLOCK_RATE : real := 10.0
        );
        port (
            clk : out std_logic  -- clk
        );
    end component altera_avalon_clock_source;

 

  1. In the file <IP_name>_example.vhd, change the input frequency x to the value specified in the DDR3 parameter editor PHY settings ->  “PLL reference clock frequency”. For example, if the input frequency is 100 MHz, put 100 for the value of x.

Change

pll_ref_clk : component altera_avalon_clock_source
        generic map (
            CLOCK_RATE => x
        )
        port map (
            clk => pll_ref_clk_clk_clk  -- clk.clk
        );


to:

    pll_ref_clk : component altera_avalon_clock_source
        generic map (
            CLOCK_RATE => “PLL reference clock frequency”
        )
        port map (
            clk => pll_ref_clk_clk_clk  -- clk.clk
        );

 

This problem is fixed starting with the Quartus® II software version 12.0.

Related Products

This article applies to 5 products

Stratix® V GS FPGA
Stratix® V E FPGA
Stratix® V GT FPGA
Stratix® V GX FPGA
Stratix® V FPGAs

1