ExpertQuestion 316 of 111Source PDF page undefined

How does record_layout_editing actually enable multiple engineers to work on parallel ECO changes to the same layout?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

record_layout_editing -start begins recording, and every layout-editing operation performed afterward (create/remove of layout objects via Tcl, set_attribute, and GUI move/resize) gets captured. record_layout_editing -stop -output <file> writes those recorded operations as a Tcl script. Multiple engineers can each record their own independent session this way, producing separate Tcl files that can ALL be applied to the original, unmodified layout -- rather than each engineer's changes needing to be applied sequentially to an already-modified copy.

Technical Reference DiagramHow does record_layout_editing actually enable multiple engineers to work on parallel ECO changes to the same layout?
How does record_layout_editing actually enable multiple engineers to work on parallel ECO changes to the same layout?, illustrating the physical design concept.

Technical Explanation

  • record_layout_editing -start begins recording; every layout-editing operation performed afterward -- create/remove of layout objects via Tcl, set_attribute, and even GUI move/resize actions -- gets captured.
  • record_layout_editing -stop -output <file> writes the recorded operations as a standalone Tcl script.
  • This lets MULTIPLE engineers each record their own independent editing session against the same starting layout, producing separate Tcl files.
  • Those separate files can all be applied to the ORIGINAL, unmodified layout -- rather than requiring each engineer's changes to be applied sequentially to an already-modified copy, which would create ordering dependencies and merge conflicts.

What To Check

  • Warning sign: two engineers' recorded ECO scripts, when both applied to the original layout, produce conflicting or overlapping changes to the same object.
  • Inspect: review both recorded Tcl scripts for overlapping object references before applying both.
  • Correct: resolve the conflict explicitly (coordinate which engineer's change takes precedence, or merge the intent manually) rather than applying both scripts and hoping the later one silently wins.

Command Checks & Actions

ICC2record_layout_editing -start

Begins capturing every layout-editing operation performed from this point forward.

ICC2record_layout_editing -stop -output layout_changes1.tcl

Stops recording and writes the captured operations as a standalone, independently-applicable Tcl script.

Healthy, Suspicious & Hard-stop Results

  • Expected: each engineer's recorded script applies cleanly to the original layout with no object-level conflicts against other engineers' scripts.
  • Investigate: two recorded scripts reference the same layout object -- worth reviewing before applying both, since the tool itself doesn't automatically resolve that kind of conflict.
  • Stop: multiple engineers' recorded scripts are applied to the original layout without ever checking for overlapping object references between them.

Common Mistake

The Trap: Assuming parallel ECO changes from different engineers have to be applied sequentially to the same evolving layout (risking one engineer's change disrupting another's) -- record_layout_editing specifically avoids that by letting each recorded script apply independently to the original layout.

What The Interviewer Is Testing

Whether you understand record_layout_editing's actual value proposition (parallel, independently-applicable scripts against a shared original) rather than just knowing the -start/-stop syntax.

Practical Example

Debug Scenario: Two engineers each use record_layout_editing to make independent ECO fixes to different regions of the same design. Their two recorded Tcl scripts both apply cleanly to the original layout since they touched different, non-overlapping objects -- exactly the workflow record_layout_editing is built to support.

Physical Design & Planning Handbook

Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.