Problema critico
Questo problema riguarda i prodotti DDR2 e DDR3.
Design DDR2 e DDR3 utilizzando il controller di memoria rigida su I dispositivi Arria V o Cyclone V potrebbero non chiudere i tempi.
Di seguito sono riportate le possibili soluzioni per questo problema:
Soluzione alternativa:
Aggiungere i seguenti falsi percorsi al file UniPHY SDC ( submodules/<
core_name >_p0.sdc
):
set_false_path -from *|*c0|hmc_inst~FF_* -to *p0|*umemphy|*lfifo~LFIFO_IN_READ_EN_DFF
set_false_path -from *|*p0|*umemphy|hphy_inst~FF_* -to *p0|*umemphy|*vfifo~INC_WR_PTR_DFF
set_false_path -from *|*c0|hmc_inst~FF_* -to *p0|*umemphy|*vfifo~QVLD_IN_DFF
set_false_path -from *|*p0|*umemphy|hphy_inst~FF_* -to *p0|*umemphy|*altdq_dqs2_inst|phase_align_os~DFF*
I percorsi sopra indicati sono trasferimenti rigidi che funzioneranno correttamente. Il taglio di questi percorsi evita modelli di ritardo errati.
Soluzione alternativa due:
Per ridurre la frequenza del dominio di clock del sequencer ( clock_pll_avl_clk
),
aprire submodules/<
core_name >_p0_parameters.tcl
in
un editor di testo e aumentare di una delle cifre più significative di ::GLOBAL_dut_if0_p0_pll_div(5)
.
Ad esempio, modificare quanto segue:
set ::GLOBAL_dut_if0_p0_pll_mult(5) 5333333�
set ::GLOBAL_dut_if0_p0_pll_div(5) 6000000�
al seguente:
set ::GLOBAL_dut_if0_p0_pll_mult(5) 5333333�
set ::GLOBAL_dut_if0_p0_pll_div(5) 7000000�
Aprire i sottomoduli/_pll0.sv in un editor di testo e modificare il valore di PLL_NIOS_CLK_FREQ_STR in modo che corrisponda alla precedente Passo.
Ad esempio, modificare quanto segue:
parameter PLL_NIOS_CLK_FREQ_STR = "88.888883 MHz";�
al seguente:
parameter PLL_NIOS_CLK_FREQ_STR = "76.190476 MHz";�
Questo problema verrà risolto in una versione futura.