IntermediateQuestion 11 of 20Source PDF page 46

How do you define a generated clock correctly, and what goes wrong if you use create_clock instead on a divided clock?

From PDVerse STA Mentor Guide · pdVerse Mentor Guide

Explanation

A generated clock is one derived from a master (or another generated) clock by on-chip logic — a divider, clock gate, multiplexer, or inversion. It must be defined with create_generated_clock so the tool understands and preserves its phase relationship to the source clock.

Timing-path Walkthrough

If a divided clock is instead defined as an independent create_clock, the tool has no way to know it's actually phase-locked to the master clock — it treats it as a completely separate, unrelated clock. This breaks the phase relationship STA needs, and any paths crossing between the master domain and the divided domain get mis-timed, since the tool no longer understands their true edge alignment.

Command

create_generated_clock ... -divide_by ... -multiply_by ... -edges ... source ...

Switch-by-switch

-divide_by / -multiply_by: specify the frequency relationship to the source clock. -edges: specifies explicit edge relationships when needed. -source: must point to the correct upstream clock/pin the generated clock is derived from. la u n ch e 0 h o ld e 1 (-h o ld 1 ) se tu p e 2 (-se tu p 2 ) d a ta h a s tw o clo ck cycle s to a rrive , n o t o n e

Expected Report Behavior

Paths between the master clock and a correctly defined generated clock show properly aligned edges and correct inter-clock timing in report_timing; if create_clock was used instead, cross-domain paths would be timed as if the two clocks were unrelated, producing mis-timed (likely incorrect) slack.

Mentor Note — Common Mistake

Defining a divided or gated clock as an independent create_clock instead of create_generated_clock, breaking the phase relationship STA needs.

How To Debug

Verify every derived clock (divider, gate, mux, inversion output) is declared via create_generated_clock with a correct -source pointing to its true upstream clock/pin, and check for generated_clocks warnings in check_timing output where a generated clock's source isn't found.

Visual explanationSTA context: How do you define a generated clock correctly, and what goes wrong…
STA context: How do you define a generated clock correctly, and what goes wrong…A three-step concept map summarizes the focus, core answer, and practical verification for How do you define a generated clock correctly, and what goes wrong if you use create_clock instead on a divided clock?Question focusHow do you define agenerated clockcorrectly, and what goeswrong…Core answerA generated clock is onederived from a master(or another generated)…Verify in practicecreate_generated_clock... -divide_by ...-multiply_by ... -edges... source ...Understand → explain the mechanism → verify the assumptions

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.