IntermediateQuestion 171 of 192Source: Synopsys PrimeTime User Guide U-2022.12-SP2: Distributed Multi-Scenario Analysis (Merged Reporting); Reporting and Debugging Analysis Results (Cover Design, Quality of Results Report)

What does merged reporting in DMSA give you, and what can't be merged?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

Merged reporting lets you run a report once at the manager and get one answer across every scenario in command focus, with duplicates removed, results sorted by slack and each line labelled with its scenario. It works with report_timing (PT), get_timing_paths (PT), report_constraint (PT), report_analysis_coverage (PT), report_si_bottleneck (PT), report_clock_timing (PT) and report_min_pulse_width (PT). The main exception is cover-design reporting: report_timing -cover_design (PT) runs at the workers but cannot be merged at the manager.

Technical Reference DiagramWhat does merged reporting in DMSA give you, and what can't be merged?
A table of PrimeTime reports run at the DMSA manager, marking which produce a merged cross-scenario report and showing report_timing -cover_design as worker-only.

Technical Explanation

  • Merged report_timing (PT) treats the scenarios as one virtual PrimeTime run. When the same path appears in several scenarios it keeps only the most critical instance and names that scenario, and -nworst and -max_paths apply to the merged set.
  • Two paths count as the same when path group, data pin sequence, transitions, launch clock, capture clock and constraint type all match. -dont_merge_duplicates keeps every copy.
  • Merging spreads the report across the design instead of listing one region that is critical in every scenario.
  • Merged report_analysis_coverage (PT) calls a check untested only if it is untested in all scenarios; one scenario that tests it makes it met or violated.
  • At the manager, -from, -through and -to take strings. Curly braces make the worker evaluate an expression, and -pre_commands builds a collection in the same task.
  • report_global_timing (PT) also works with DMSA. For the QoR TNS, both counting modes of timing_report_union_tns (PT) take each endpoint's worst slack across all scenarios, so scenarios never double-count.
  • Cover design has to run inside remote_execute (PT). Its output goes to the working directory, or to the console with -verbose.
  • Every merged report is a round of work on all workers, so with scenario swapping, fewer merged reports mean faster runs.

What To Check

  • The scenario column on the worst paths.
  • Whether a count is merged endpoints or per-scenario paths before comparing runs.
  • For coverage, which scenarios were in focus.

Command Checks & Actions

PrimeTime (pt_shell)report_timing -nworst 1 -max_paths 50

Merged worst paths across the scenarios in focus.

PrimeTime (pt_shell)report_timing -dont_merge_duplicates -max_paths 50

Shows the same path from each scenario that has it.

PrimeTime (pt_shell)report_global_timing -delay_type max

WNS and TNS summary across scenarios.

PrimeTime (pt_shell)report_qor

QoR overview; TNS takes each endpoint at its worst scenario.

PrimeTime (pt_shell)report_constraint -all_violators

Merged DRC violators across scenarios.

PrimeTime (pt_shell)remote_execute -verbose {report_timing -cover_design}

Runs cover design at the workers, since it cannot be merged.

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): Merged WNS equals the worst per-scenario WNS and each worst path names its scenario.
  • Suspicious (illustrative): Coverage shows no untested checks while the test scenarios are not in focus; the merge sees only scenarios in focus.
  • Hard stop: Signoff numbers taken from a merged report with a signoff scenario missing from the session.

Common Mistake

The Trap: Expecting report_timing -cover_design (PT) at the manager to give a merged report like other report_timing options. It only runs at the workers, so a script that parses the manager log for cover-design violations reads an empty result and signs off on it.

What The Interviewer Is Testing

  • Which commands merge, and the cover-design exception.
  • Whether you understand how duplicate paths merge and when to stop it.
  • Reading merged coverage correctly.

Follow-up Question & Model Response

"Why does merged coverage report a check as tested if only one scenario tested it?"

Candidate Model Response: Many checks only mean something in one mode: scan paths are untested in functional mode and tested in test mode. If merged coverage flagged every check untested in any scenario, the report would fill with expected gaps. So a check is untested only if no scenario in focus tested it. The flip side is useful: if the one scenario that tests a check leaves the focus, the check turns untested, which is exactly the warning you want.

Practical Example

Tapeout Scenario: Four scenarios are in focus: func_ss, func_ff, test_ss and test_ff (illustrative). Merged report_timing -max_paths 50 (PT) returns 50 unique paths, 38 from func_ss and 12 from test_ss. With -dont_merge_duplicates, 19 of the first 50 lines are repeats of paths already shown from another scenario. Merged coverage shows 412 setup checks with 0 untested. When test_ss and test_ff are dropped from focus, 96 scan-enable checks turn untested.

PnR Flow Mentor Guide

Read the complete 8-chapter PnR Flow Mentor Guide free on the web — library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.

PnR Flow Physical Design Mentor Guide — eight chaptersPnR Flow Mentor GuideEight chapters, library setup through to stream-out. →