meet skew via constraint
setOptMode -ignorePathGroupsForHold {in2reg reg2reg in2out} -holdTargetSlack 0 -setupTargetSlack 0 -fixHoldAllowSetupTnsDegrade false
setOptMode -holdFixingCells {BUFFER_NAME}
setDelayCalMode -engine xxx -SIAware true -signoff true
set_analysis_view -setup funcPostC_PVT_setup -hold funcPostC_PVT_setup
update_constraint_mode -name funcPostC -sdc_files “constraint_file_path”
optDesign -postRoute -outDir ./rpts/fix_skew_setup
update_constraint_mode -name funcPostC -sdc_files “constraint_file_path”
setOptMode -fixHoldAllowSetupTnsDegrade true
optDesign -postRoute -hold -outDir ./rpts/fix_skew_hold
constraint file
set DQS_TSEL_SEL {tsel_dqs_1_opad tsel_dqs_2_opad tsel_dqs_3_opad}
set dqs_delay_max 0.65
set dqs_delay_min 0.65
set range 0.015
foreach k $DQS_TSEL_SEL {
set_load -pin_load -max 0.025 $k
set_load -pin_load -min 0.025 $k
set_max_delay [expr $dqs_delay_max + $range] \
-from STA_check_begReg_N/CPN \
-to ${k}
set_max_delay [expr $dqs_delay_max + $range] \
-from STA_check_begReg/CP \
-to ${k}
set_min_delay [expr $dqs_delay_min – $range] \
-from STA_check_begReg_N/CPN \
-to ${k}
set_min_delay [expr $dqs_delay_min – $range] \
-from STA_check_begReg/CP \
-to ${k}
}
STA skew result in worst corner
MAX_TSEL_SKEW 0.125 actual_skew_dqs_tsel_rise 0.028
MAX_TSEL_SKEW 0.125 actual_skew_dqs_tsel_fall 0.038
MAX_TSEL_SKEW 0.125 actual_skew_dqs_tsel 0.046
MAX_TSEL_DELAY 1.2 actual_delay_dqs_tsel 0.655
Comments
So empty here ... leave a comment!