Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

DDR2 SDRAM with UniPHY not generating half_rate_clock

Hi there,

I'm using Quartus 12.1 SP1 and generated a DDR2 SDRAM Controller with UniPHY via the MegaWizard Plugin Manager.

The Memory Frequency is 400 MHz, PLL reference clock 50 MHz and the Rate on the Avalon-MM interface is set to Half. So I should have a 200MHz clock on the afi_clk pin.

After I compiled the core once, I wanted to use the Half Rate Clock for another entity, controlling the USB Chip on my DE4 Board. So I checked the Box at "Enable AFI half rate clock".

After conecting this clock pin to my Entity I got errors like

--- Quote Start ---

Warning (14130): Reduced register "ISP1761Control:ISP1761Control_INST|ISP1761HAL:isp_hal|state.READING1" with stuck clock port to stuck value GND

Warning (14110): No clock transition on "ISP1761Control:ISP1761Control_INST|ISP1761HAL:isp_hal|state.WRITING1" register due to stuck clock or clock enable

--- Quote End ---

indicating there is no Clock on afi_half_clock. In the RTL Viewer afi_half_clock is driven by GND.

I already deleted my db and incremental db folders and did a Analysis/Synthesis, but that did'nt change anything. Also running the pin_assignments script again didn't change anything.

Am I missing something, or does this feature simply not work.

Thanks in advance

Felix

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    FWIW, I can confirm the above; these are my observations (Quartus 12.1 sp1, 12.1 uniphy, ddr2, stratix III)

    o the afi clock is active, hopefully it runs at half rate if its a half rate uniphy and at full rate if its a full rate uniphy consistent with the Uniphy functional description doc

    o the afi half clock always runs at 0 Hz, independent of whether its enabled or not in the megawizard gui
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    FWIW, I think I see that this happens because of generated code as follows; seems to be independent of half-rate / full-rate controller setting.

    In <instance>/synthesis/submodules/<instance>_mem_if_ddr2_emif_pll0.sv we have some assignments.

    assign afi_clk = pll_afi_clk;

    assign afi_half_clk = 1'b0;

    This is service request 10945983.