Forum Discussion

Omer1's avatar
Omer1
Icon for New Contributor rankNew Contributor
1 day ago

Timing Slacks inside Altera IP

Hi,

I am compiling my design for the device 10AX115N2F40I2SG using:

Quartus Version: 22.1std.2 (Build 922, 07/20/2023, Standard Edition)

I am encountering timing violations (negative slack) on the clock a10_internal_oscillator_clock0 across all synthesis seeds. Due to these violations, I am unable to close timing on my design.

From my analysis, the failing paths appear to be internal to the Intel (Altera) IP, for example:

From:

ddr3_phy_wrapper48:ALTERA_DDR.ddr3_phy_wrapper_u|se_phy_master:u_qm2_phy|se_phy_master_altera_emif_221_zihdyxy:emif_0|se_phy_master_altera_emif_arch_nf_221_lnlpemi:arch|se_phy_master_altera_emif_arch_nf_221_lnlpemi_top:arch_inst|altera_emif_arch_nf_pll:pll_inst|iopll_bootstrap:gen_pll_dprio.inst_iopll_bootstrap|gen_pll_dprio.r_dprio_writedata_in_use~RTM

To:

|ddr3_phy_wrapper48:ALTERA_DDR.ddr3_phy_wrapper_u|se_phy_master:u_qm2_phy|se_phy_master_altera_emif_221_zihdyxy:emif_0|se_phy_master_altera_emif_arch_nf_221_lnlpemi:arch|se_phy_master_altera_emif_arch_nf_221_lnlpemi_top:arch_inst|altera_emif_arch_nf_pll:pll_inst|pll_inst~dprio_reg

My understanding is that this clock is only active during PLL calibration at device power-up and is not used during normal functional operation.

Given this, I would like to confirm whether it is safe and appropriate to constrain these paths as false paths. For example:

"set_false_path -from [get_clocks {a10_internal_oscillator_clock0}]"

Could you please advise if this approach is valid, or if there is a recommended way to properly constrain these paths?

I attached an image of the slacks.

2 Replies

  • AdzimZM_Altera's avatar
    AdzimZM_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi Omer1,

     

    Please help to provide more information to help on clarify the issue.

     

    I guess the a10_internal_oscillator_clock0 is a reference clock to EMIF IP.

    Correct me if I'm wrong. 

    Any other instance that used same clock for the clock source in your design?

     

    Is there any other instances that has been connected to EMIF IP?

     

    Can you try to remove other IP and fit the EMIF IP first in the design?

    Then observe if the timing violation is still there.

     

    Regards,

    Adzim

  • sstrell's avatar
    sstrell
    Icon for Super Contributor rankSuper Contributor

    Are there any warnings or issues shown for the EMIF IP since this appears to be referring to one of the IOPLLs for the EMIF in an I/O bank?  What is your refclk for the IP and what speed do you have the EMIF running at (internal and external)?