How to determine all the objects in the propagation path of clock? This would include clock gating elements, buffers/inverters, flops, latches, macros...
Graphically we have this functionality under "Clock->Analyze Clock Tree".
Programatically, what I see a lot of people doing is tracing the clock network, writing it to a file and then parsing the file for the information they're looking for. For example:
ckSynthesis -clk DTMF_INST/TEST_CONTROL_INST/i_150/Y -check -trace DTMF_CHIP.cts_trace -forceReconvergent -breakLoop
Hope this helps,Bob
Thanks for the response. We currently follow the method you suggest.
I was hoping if we can query it using "get_attribute". That would be a very good option.
The clock_network_pins attribute returns all pins that are
in the clock tree of the specified clock.
get_attribute [get_clocks clock_name] clock_network_pins
"get_attributes [get_clocks clock_name] clock_network_pins" does work for clocks in the timing domain but as you know from a CTS perspective there isn't necessarily alignment between clocks that originate from SDC and those that we as users define as part of a clock tree spec file. I'm not aware of a way to programmatically query CTS clocks though it's something that would be useful.