Altera_Forum
Honored Contributor
16 years agoDDR2 High Perfomance Mimic Path failing timing
I am getting setup errors from the DDR_CLK to the mimic_data_in_metastable[0] path (launch clock is DDR_phy_DDR_CLK_mimic_launch_clk, latch clock is DDR_phy_ddr_mimic ).
In the 9.0 errata (http://www.altera.com/literature/rn/rn_ip.pdf) I found: --- Quote Start --- The Quartus II software may fail to place the mimic path correctly. The report timing script then indicates a timing setup failure on the mimic path. --- Quote End --- This is vague but it does describe my problem. The listed workaround is: --- Quote Start --- Manually edit the following parameter in the autogenerated Synopsis design constraint (.sdc) script to correct the timing analysis:mimic_shift Add a value of at least the worst case failed slack to the value already stated in the Synopsis design constraint file. --- Quote End --- I don't fully understand the workaround. Theseare the items in the .sdc file that are related to the mimic path: # The maximum allowed length of the mimic path.
set t(mimic_shift) 1.600
foreach ck $pins(ck_p) {
create_clock -period $t(period) $ck -name ${instname}_${ck}_mimic_launch_clock -add
}
set_max_delay -from -to $t(mimic_shift)
set_false_path -from |*]
Do I need to declare mimic_shift independently? Is the "set t(mimic_shift) 1.600" assigning the wrong number? Should I add the negative slack to the 1.600 value? If my slack is -.488, should I change the number to 1.112 or 2.088? Would it be safer to change the numbers to 1.1 or 2.1 (or 1.0/2.0) to add a safety margin? There are not a lot of details on the cause of the errata, the consequences, or the workaround.