AdvancedPrimeTime guide question 34 of 65Source PDF page 26

How do generated clocks interact with source latency, and how does edge-specific source latency propagation work?

From PDVerse PrimeTime STA Interview Guide · pdVerse Mentor Guide

Ten-second Interview Answer

A generated clock's source latency is the master's insertion delay from its origin to the generated clock's source pin. PrimeTime auto-computes it when the master is propagated, and it tracks the master's latencies per edge.

Complete Technical Explanation

Think of a generated clock's source latency as inherited, not independently specified. It is the latency from the master clock's origin down to the generated clock's source pin - in other words the master's insertion delay up to the generation point. If the master clock has propagated latency, PrimeTime can compute this automatically: it propagates the master's real latency to the generated clock's source pin, so the generated clock inherits the correct upstream insertion delay and you do not specify it separately. If the master is ideal there is no real latency to propagate, so you supply the generated clock's source latency explicitly or it comes from the master's specified latency as applicable. On top of that, PrimeTime supports generated-clock edge-specific source latency propagation. The master's rising and falling edges, and their early and late values, may not reach the source pin with the same delay, because the clock network's rise and fall delays through cells and nets can be asymmetric. Since a generated clock is derived from specific master edges through the divide, multiply or -edges relationship, which master edges it uses determines which source latencies it inherits. PrimeTime therefore tracks source latency per edge of the generated clock and propagates the master's edge-specific latencies through the generation relationship, rather than collapsing them into one averaged number. That is what makes generated-clock timing accurate where master-edge latency asymmetry is significant.

In Pd / Signoff

This is why you propagate the master before trusting a divided clock's numbers post-CTS. In practice you define the generated clock with create_generated_clock, apply set_propagated_clock, and then read report_clock to confirm the source latency was inherited rather than left at an estimate - the difference shows up directly in launch and capture arrivals on paths across the divider.

Common Trap

Hand-specifying a source latency on the generated clock while the master is already propagated. You then override the real inherited insertion delay with a stale estimate, and because the command succeeds silently the generated domain times against a clock origin that does not match the built tree.

Expect Next

Under what condition can PrimeTime auto-compute a generated clock's source latency?

Topic And Primetime Commands

Clocks / Generated Clocks. create_generated_clock, set_propagated_clock, report_clock
Original guide diagramSource latency versus network latency

Keep building interview depth

Continue practising STA

Continue learning free

Get a practical low-power chapter

Receive the existing “Low Power and Multivoltage Fundamentals” PDF chapter and its download link by email.