What is a virtual clock and why is it used?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
A virtual clock has no physical design source and commonly represents an external launch or capture reference for I/O timing.
Technical Explanation
A virtual clock is a timing reference with no physical source inside the block. It is useful for describing the behavior of circuitry outside the block boundary.
What To Check
• Warning sign: I/O delays reference a missing or inappropriate internal clock. • Inspect: Start with one named object in the report and trace it to the netlist, library, or SDC statement that created it. • Correct: Create the specified virtual reference in the correct mode and verify each boundary constraint uses it intentionally.
Command Checks & Actions
• report_clocks: shows clock definitions and relationships
• report_ports -input_delay [get_ports *]: shows boundary constraints and electrical assumptions
• report_ports -output_delay [get_ports *]: shows boundary constraints and electrical assumptions
Run the commands in order. Each line answers a separate part of the check.Healthy, Suspicious & Hard-stop Results
• Expected: A virtual clock has no physical design source and commonly represents an external launch or capture reference for I/O timing. • Investigate: I/O delays reference a missing or inappropriate internal clock. • Stop before floorplanning when required logic or timing coverage is missing or unexplained. Create the specified virtual reference in the correct mode and verify each boundary constraint uses it intentionally.
Common Mistake
Do not assume the check passed just because ICC2 continued: I/O delays reference a missing or inappropriate internal clock. Fix or narrowly justify the named objects, then rerun the same command.
What The Interviewer Is Testing
Be ready to explain why this matters before floorplanning: I/O delays reference a missing or inappropriate internal clock.
Practical Example
Symptom: I/O delays reference a missing or inappropriate internal clock. Corrective path: Create the specified virtual reference in the correct mode and verify each boundary constraint uses it intentionally.
Continue practising