Run PrimeTime DMSA Analysis
Run PrimeTime distributed multi-scenario analysis for timing signoff and ECO generation.
fc/scripts/setup.tcl file starting from the current directory.fc/scripts/setup.tcl to extract DESIGN_NAME and PROJECT_PATH.pt/scripts/setup.tcl to understand the DMSA configuration.$PROJECT_PATH/fc/output/${DESIGN_NAME}_pt.v$PROJECT_PATH/fc/output/${DESIGN_NAME}.sdc$PROJECT_PATH/starrc/spef/:
cmax_25c.spef, cmax_125c.spef, cmin_25c.spef, cmin_125c.spefpt/scripts/setup.tclif [ -d "$PROJECT_PATH/pt/report" ] && [ "$(ls -A $PROJECT_PATH/pt/report 2>/dev/null)" ]; then
cp -a $PROJECT_PATH/pt/report $PROJECT_PATH/pt/report_backup_$(date +%Y%m%d_%H%M%S)
fi
PrimeTime DMSA runs 4 scenarios (func_tt_cmax, func_tt_cmin, func_ss_cmax, func_ss_cmin). This typically takes 5-15 minutes.
cd $PROJECT_PATH/pt && mkdir -p report result work temp
Use background execution:
cd $PROJECT_PATH/pt/temp && nohup pt_shell -multi_scenario -f ../scripts/dmsa.tcl > dmsa.log 2>&1 &
echo $! > /tmp/.pt_pid
Poll for completion:
kill -0 $(cat /tmp/.pt_pid) 2>/dev/nulltail -20 $PROJECT_PATH/pt/temp/dmsa.logwrite_changes output)Alternatively for smaller designs:
cd $PROJECT_PATH/pt/temp && pt_shell -multi_scenario -f ../scripts/dmsa.tcl 2>&1 | tee dmsa.log
$PROJECT_PATH/pt/report/${DESIGN_NAME}_allvios.rpt$PROJECT_PATH/pt/report/${DESIGN_NAME}_fix_all_vios.reportcat $PROJECT_PATH/pt/work/error_log.txt$PROJECT_PATH/fc/scripts/eco_changes.tcl:
size_cell or insert_buffer commands -> ECO changes needed*_allvios.rpt)Count lines containing (VIOLATED) and categorize:
*_fix_all_vios.report)Same parsing -- these show residual violations after ECO fixes.
Check *_report_noise_all_viol_*.report for noise violations.
Check *_report_annotated_parasitics_*.report for annotation coverage -- should be close to 100%.
=== PrimeTime DMSA Summary ===
| Category | Pre-ECO Violations | Post-ECO Violations |
|------------------|-------------------|-------------------|
| Setup Timing | N | N |
| Hold Timing | N | N |
| max_transition | N | N |
| max_capacitance | N | N |
| Noise | N | N |
ECO Changes Generated:
- Cell sizings: N
- Buffer insertions: N
- Convergence: YES/NO
pt/work/error_log.txt for any worker errors.