Home > Community > Forums > Digital Implementation > How to find ThroughPin(s) for generated clock

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 How to find ThroughPin(s) for generated clock 

Last post Thu, Jul 1 2010 12:10 AM by MMode. 6 replies.
Started by MMode 30 Jun 2010 01:31 AM. Topic has 6 replies and 3113 views
Page 1 of 1 (7 items)
Sort Posts:
  • Wed, Jun 30 2010 1:31 AM

    • MMode
    • Not Ranked
    • Joined on Sat, Jul 4 2009
    • Posts 6
    • Points 90
    How to find ThroughPin(s) for generated clock Reply

    Hi all,

    in our design we use a number of generated clocks, i.e. the main clock is for instance divided by 13339. The clock dividers are specified as generated_clock in the SDC file. Now, we would like to build a clock tree for the main clock including the generated clock domains. This should be possible with the ThroughPin feature of the clocktree spec. However, we are unsure of how to correctly define our scenario using ThroughPins. Do we actually need to specify a ThroughPin entry for every bit of the counter that divides the clock? Or is this the wrong approach anyway?

     

    We have tried some approaches by now but still cannot achieve timing closure on our design, so we would be thankful for any suggestions and background explanations.

    Filed under: ,
    • Post Points: 20
  • Wed, Jun 30 2010 1:51 AM

    • Rajesh Vembu
    • Top 150 Contributor
    • Joined on Thu, Jul 17 2008
    • Bangalore, Karnataka
    • Posts 50
    • Points 895
    Re: How to find ThroughPin(s) for generated clock Reply

     Have you tried using the automatic clock tree specification generation available in encounter?

    If not, please refer the user manual/ command reference manual for createClockTreeSpec or clockDesign -genSpecOnly 

    The automatic clock tree specification determines the ThroughPins automatically based on the timing constraints.

    Please review the generated ctstch file and modify according to your needs.

     

    Hope this is helpful.

    • Post Points: 20
  • Wed, Jun 30 2010 2:21 AM

    • MMode
    • Not Ranked
    • Joined on Sat, Jul 4 2009
    • Posts 6
    • Points 90
    Re: How to find ThroughPin(s) for generated clock Reply

     Hi Rajesh,

     

    thank you for your suggestion. We tried that but the ThroughPin section was empty in the resulting file. However, with this we were unable to reach timing closure.

    • Post Points: 20
  • Wed, Jun 30 2010 2:37 AM

    • Rajesh Vembu
    • Top 150 Contributor
    • Joined on Thu, Jul 17 2008
    • Bangalore, Karnataka
    • Posts 50
    • Points 895
    Re: How to find ThroughPin(s) for generated clock Reply

     Have you checked the clock trace file?

    This can be generated using ckSynthesis -check [-forceReconvergent] after specifying the cts spec file.

    The trace file would give a good idea as to how the tool traces the clock path based on the AutoCTSRootPin definitions in ctstch file.

    Sometimes the ThroughPins are not "explicitly" defined in the ctstch file created automatically. But this can always be verified by checking the trace file.

    • Post Points: 20
  • Wed, Jun 30 2010 3:17 AM

    • MMode
    • Not Ranked
    • Joined on Sat, Jul 4 2009
    • Posts 6
    • Points 90
    Re: How to find ThroughPin(s) for generated clock Reply

    Thank you for your hints, that was very helpful - we considered the ThroughPin spec to be mandatory for every generated clock, this does not seem to be correct.

    We checked the clock trace, it shows that the registers in questions are sinks of the clock tree, so you are right, the ThroughPin does not seem to be necessary here. However, we do not reach a setup WNS better than -3 ns for the generated clock during postCTS and postRoute optimizations - even though there is enough space and the divided clock is really slow.

    Do you have any other suggestions where we might locate the problem? According to the clock trace, the clock tree does not seem to be the problem.

    • Post Points: 20
  • Wed, Jun 30 2010 9:29 AM

    • Kari
    • Top 10 Contributor
    • Joined on Tue, Jul 15 2008
    • Cary, NC
    • Posts 693
    • Points 14,395
    Re: How to find ThroughPin(s) for generated clock Reply

     I would suggest next running the Timing Debugger. By looking at the failing paths visually, you may see what the issue is. Make sure to look at the Timing Interpretation tab - this will flag some potential issues as well.

    • Post Points: 20
  • Thu, Jul 1 2010 12:10 AM

    • MMode
    • Not Ranked
    • Joined on Sat, Jul 4 2009
    • Posts 6
    • Points 90
    Re: How to find ThroughPin(s) for generated clock Reply

     Hi Kari, thank you for your suggestion. It seems we were simply misled by assuming that the ThroughPin entries are mandatory for every clock divider - as a result, we were trying to locate the source of our problem at the wrong place. I think we have found some potential issues by now.

     

    Thank you all for your clarifications and suggestions, that was very helpful!

    • Post Points: 5
Page 1 of 1 (7 items)
Sort Posts:
Started by MMode at 30 Jun 2010 01:31 AM. Topic has 6 replies.