primary clock, generated clock and virtual clock in SDC
primary clocks
- Primary clocks should be created at input ports and output pins of black boxes.
- Never create clocks on hierarchy pins. Creating clocks on hierarchy will cause problems when reading SDF. The net timing arc becomes segmented at the hierarchy and PrimeTime will be unable to annotate the net successfully.
generated clocks
- Generated clocks are generally created for waveform modifications of a primary clock (not including simple inversions). PrimeTime does not simulate a design and thus will not derive internally generated clocks automatically - these clocks must be created by the user and applied as a constraint.
- PrimeTime caculate source latency for generated clocks if primary clock is propagated, otherwise its source latency is zero.
1 | # primary clock |
virtual clocks
- Are clock objects without a source
- Do not clock sequential devices within the current_design
- Serve as references of input or output delays
1 | # create a virtual clock, vclk, for input and output delay constraints |
There is no network latency to calculate, even if a virtual clock is propagated.