AR# 25185


9.1i EDK SP2 - 'plb_ddr2_v1_01_a', The pbl_ddr2 in Asynch mode is generating timing errors on signals that have separate clock domains


The plb_ddr2_v1_01_a in Asynch mode is generating timing errors on signals, as in the following example: 



Timing constraint: TS_dcm_1_dcm_1_CLK0_BUF = PERIOD TIMEGRP "dcm_1_dcm_1_CLK0_BUF" 

TS_dcm_0_dcm_0_CLKFX_BUF HIGH 50%; 


5099 items analyzed, 3 timing errors detected. (3 setup errors, 0 hold errors) 

Minimum period is 9.279ns. 


Slack: -0.593ns (requirement - (data path - clock path skew + uncertainty)) 

Source: ddr2_sdram/ddr2_sdram/WO_ECC.DDR_CTRL_I/INITSM_I/Calib_start (FF) 

Destination: ddr2_sdram/ddr2_sdram/WO_ECC.DDR_CTRL_I/WO_ECC.WO_ECC_ASYNC.REG_UNREG_I/calib_rd_ctrl_d1 (FF) 

Requirement: 2.500ns 

Data Path Delay: 2.729ns (Levels of Logic = 1) 

Clock Path Skew: -0.112ns 

Source Clock: Clk_100MHz rising at 20.000ns 

Destination Clock: Clk_133MHz rising at 22.500ns 

Clock Uncertainty: 0.252ns


This problem has been fixed for the plb_ddr2_v1_02_b in the latest EDK 9.2i, available at:


However, with respect to plb_ddr2_v1_01_a, add the following TIGs or constraints to the following paths: 


NET "ddr2_cal_clk" TNM = cal_clk_grp; 

NET "clk_133mhz" TNM = clk_133_grp; 

NET "sys_clk_s" TNM = clk_plb_grp; 

TIMESPEC TS_TIG0 = FROM cal_clk_grp TO clk_133_grp 7500ps; 

TIMESPEC TS_TIG1 = FROM clk_133_grp TO cal_clk_grp 20000ps; 

TIMESPEC TS_TIG2 = FROM cal_clk_grp TO clk_plb_grp 10000ps; 

TIMESPEC TS_TIG3 = FROM clk_plb_grp TO cal_clk_grp 20000ps; 

TIMESPEC TS_TIG4 = FROM clk_133_grp TO clk_plb_grp 10000ps; 

TIMESPEC TS_TIG5 = FROM clk_plb_grp TO clk_133_grp 7500ps;

AR# 25185
日付 05/21/2014
ステータス アーカイブ
種類 一般
People Also Viewed