_TOP_MENU

Feb 5, 2014

Timing Constraint



Below are the basic commands in constraint file.

1. current_instance  -- Sets the current instance of design.
Example  -   /design/ins1/moduleA

2. set_hierarchy_separator  -- Specifies the hierarchy separator used in SDC file.
Example -
set_hierarchy_separator .
set_hierarchy_separator /

all_clocks
all_inputs
all_outputs
all_registers -clock CLK1

current_design 


create_clock  
This will define the clock , simple syntax to define clock is
create_clock -period [get_ports <CLK>]
user can define custom clock also, like define the duty cycle if it is not 50/50. also one can define the multiple rising edge , falling edge within one clock period using -waveform {.. ,..}


create_generated_clock
A generated clock is a clock derived from a master clock. master clock is define using create_clock.
In Design , in clocking architecture, multiple clock can be derived from one master clock, and generated could be a divided version of master clock or could be a multiplier version of master clock. either one can be defined using -multiply_by or -divide_by option. 



set_clock_latency

There are two types of clock latency ,
1. source latency  - also called insertion delay , this is the delay from clock source to clock definition point.
2. network latency - network latency is the delay from clock definition point to the clock input of flop.
The total clock latency is the sum of both , network latency and source latency.example is given below.

# Rise clock latency on CLK_A is 1ns:
set_clock_latency 1.0 -rise [get_clocks CLK_A]
# Fall clock latency on all clocks is 1.2ns:
set_clock_latency 1.2 -fall [all_clocks]

clock latency


set_clock_sense

set_clock_uncertainty
clock uncertainty is the time in clock period which used to model clock jitter and other pessimism factor during the timing analysis.
Example  -
set_clock_uncertainty -setup 0.1 [get_clocks CLK_A]
set_clock_uncertainty -hold 0.05 [get_clocks CLK_A]

set_data_check

set_disable_timing

set_false_path

set_ideal_latency

set_ideal_network

set_ideal_transition

set_input_delay

set_max_delay

set_max_time_borrow

set_min_delay

set_multicycle_path  (important one)

set_output_delay

set_case_analysis

set_driving_cell

set_fanout_load

set_load

set_max_fanout

set_max_transition

set_operating_condition (optional)


set_clock_groups 
You can use either one of option depends on the functionality and clock muxing in design.
physically_exclusive means that particular clocks will never be present physically at the same time , logically_exclusive means particular clocks will be available but will never used at the same time. this helps in crosstalk analysis between the clocks , as if clocks are physically available on board then there will be noise and crosstalk associated with it.

set_false_path is having the same thing as logically_exclusive , either one of them can be used to remove false paths from timing analysis and reports.

1.) Looks like you are mixing set_false_path and set_clock_groups. Both of them are very different and typically you don't need both at the same time in a certain section of the design.
The whole idea behind set_clock_groups is to make timing paths go away (i.e. not show up in reports - so in that sense it is similar to false paths, but both these commands have very different purposes).
All 3 options i.e. -asyn -phys_excl and -logic_exl will cause no paths to show up. So there is no need for an explicit false path if you are able to use set_clock_groups.

2.) The differenece between -async and -log_excl is in the way, PT handles crosstalk analysis.
If 2 clocks are async, it means that they don't have any phase relationship at all. So instead of using definite timing windows based on arrival times/skew etc, the tool will use infinite timing windows when calculating aggressors and victims,

When you use -logic_excl switch, it still means that no timing paths will show up, however crosstalk analysis will be done with regular timing windows based on arrival times/skew etc.

Practical Example of Timing Constraint like on I2C/SPI/etc 

----------------------

128 comments:

  1. There is definately a great deal to learn about this
    issue. I like all of the points you made.

    ReplyDelete
  2. I could not resist commenting. Well written!

    ReplyDelete
  3. This comment has been removed by a blog administrator.

    ReplyDelete
  4. This comment has been removed by a blog administrator.

    ReplyDelete
  5. This comment has been removed by a blog administrator.

    ReplyDelete
  6. This comment has been removed by a blog administrator.

    ReplyDelete
  7. This comment has been removed by a blog administrator.

    ReplyDelete
  8. This comment has been removed by a blog administrator.

    ReplyDelete
  9. This comment has been removed by a blog administrator.

    ReplyDelete
  10. This comment has been removed by a blog administrator.

    ReplyDelete
  11. This comment has been removed by a blog administrator.

    ReplyDelete
  12. This comment has been removed by a blog administrator.

    ReplyDelete
  13. This comment has been removed by a blog administrator.

    ReplyDelete
  14. This comment has been removed by a blog administrator.

    ReplyDelete
  15. This comment has been removed by a blog administrator.

    ReplyDelete
  16. This comment has been removed by a blog administrator.

    ReplyDelete
  17. This comment has been removed by a blog administrator.

    ReplyDelete
  18. This comment has been removed by a blog administrator.

    ReplyDelete
  19. This comment has been removed by a blog administrator.

    ReplyDelete
  20. This comment has been removed by a blog administrator.

    ReplyDelete
  21. This comment has been removed by a blog administrator.

    ReplyDelete
  22. This comment has been removed by a blog administrator.

    ReplyDelete
  23. This comment has been removed by a blog administrator.

    ReplyDelete
  24. This comment has been removed by a blog administrator.

    ReplyDelete
  25. This comment has been removed by a blog administrator.

    ReplyDelete
  26. This comment has been removed by a blog administrator.

    ReplyDelete
  27. This comment has been removed by a blog administrator.

    ReplyDelete
  28. This comment has been removed by a blog administrator.

    ReplyDelete
  29. This comment has been removed by a blog administrator.

    ReplyDelete
  30. This comment has been removed by a blog administrator.

    ReplyDelete
  31. This comment has been removed by a blog administrator.

    ReplyDelete
  32. This comment has been removed by a blog administrator.

    ReplyDelete
  33. This comment has been removed by a blog administrator.

    ReplyDelete
  34. This comment has been removed by a blog administrator.

    ReplyDelete
  35. This excellent website definitely has all of the information I wanted
    concerning this subject and didn’t know
    who to ask.

    ReplyDelete
  36. This comment has been removed by a blog administrator.

    ReplyDelete
  37. This comment has been removed by a blog administrator.

    ReplyDelete
  38. This comment has been removed by a blog administrator.

    ReplyDelete
  39. This comment has been removed by a blog administrator.

    ReplyDelete
  40. This comment has been removed by a blog administrator.

    ReplyDelete
  41. This comment has been removed by a blog administrator.

    ReplyDelete
  42. This comment has been removed by a blog administrator.

    ReplyDelete
  43. This comment has been removed by a blog administrator.

    ReplyDelete
  44. This comment has been removed by a blog administrator.

    ReplyDelete
  45. This comment has been removed by a blog administrator.

    ReplyDelete
  46. This comment has been removed by a blog administrator.

    ReplyDelete
  47. This comment has been removed by a blog administrator.

    ReplyDelete
  48. This comment has been removed by a blog administrator.

    ReplyDelete
  49. This comment has been removed by a blog administrator.

    ReplyDelete
  50. This comment has been removed by a blog administrator.

    ReplyDelete
  51. This comment has been removed by a blog administrator.

    ReplyDelete
  52. This comment has been removed by a blog administrator.

    ReplyDelete
  53. This comment has been removed by a blog administrator.

    ReplyDelete
  54. This comment has been removed by a blog administrator.

    ReplyDelete
  55. This comment has been removed by a blog administrator.

    ReplyDelete
  56. This comment has been removed by a blog administrator.

    ReplyDelete
  57. This comment has been removed by a blog administrator.

    ReplyDelete
  58. This comment has been removed by a blog administrator.

    ReplyDelete
  59. This comment has been removed by a blog administrator.

    ReplyDelete
  60. This comment has been removed by a blog administrator.

    ReplyDelete
  61. This comment has been removed by a blog administrator.

    ReplyDelete
  62. This comment has been removed by a blog administrator.

    ReplyDelete
  63. This comment has been removed by a blog administrator.

    ReplyDelete
  64. This comment has been removed by a blog administrator.

    ReplyDelete
  65. This comment has been removed by a blog administrator.

    ReplyDelete
  66. This comment has been removed by a blog administrator.

    ReplyDelete
  67. This comment has been removed by a blog administrator.

    ReplyDelete
  68. This comment has been removed by a blog administrator.

    ReplyDelete
  69. This comment has been removed by a blog administrator.

    ReplyDelete
  70. This comment has been removed by a blog administrator.

    ReplyDelete
  71. This comment has been removed by a blog administrator.

    ReplyDelete
  72. This comment has been removed by a blog administrator.

    ReplyDelete
  73. This comment has been removed by a blog administrator.

    ReplyDelete
  74. This comment has been removed by a blog administrator.

    ReplyDelete
  75. This comment has been removed by a blog administrator.

    ReplyDelete
  76. I used to be able to find good advice from your articles.

    ReplyDelete
  77. This is a topic which is near to my heart... Cheers!
    Exactly where are your contact details though?

    ReplyDelete
  78. It’s hard to find knowledgeable people in this particular subject, however, you seem like you know what you’re talking about!
    Thanks

    ReplyDelete
  79. You are so awesome! I don't think I have read through a single thing like this before.

    So nice to discover another person with genuine thoughts on this
    topic. Seriously.. thanks for starting this up. This site is one thing that's needed on the web,
    someone with a little originality!

    ReplyDelete
  80. Hi, I do think this is an excellent site. I stumbledupon it ;) I am going to revisit
    yet again since I bookmarked it. Money and freedom is the
    greatest way to change, may you be rich and continue to
    guide others.

    ReplyDelete
  81. Saved as a favorite, I really like your blog!

    ReplyDelete
  82. After exploring a handful of the blog articles
    on your web page, I honestly appreciate your technique of writing a blog.
    I bookmarked it to my bookmark webpage list and
    will be checking back in the near future. Please visit my web
    site too and let me know how you feel.

    ReplyDelete
  83. After checking out a few of the blog articles on your site,
    I really like your technique of blogging. I added it to my
    bookmark webpage list and will be checking back soon. Take a look at my
    web site as well and let me know how you feel.

    ReplyDelete
  84. Spot on with this write-up, I seriously think this web site needs much more
    attention. I’ll probably be back again to read more,
    thanks for the information!

    ReplyDelete
  85. I was more than happy to uncover this great site. I wanted to thank you for ones time for this
    fantastic read!! I definitely really liked every bit of it and
    I have you book marked to see new information on your site.

    ReplyDelete
  86. I couldn’t resist commenting. Exceptionally well written!

    ReplyDelete
  87. Great post. I am facing many of these issues as well..

    ReplyDelete
  88. This is a topic that is near to my heart... Thank you! Where are your contact details
    though?

    ReplyDelete
  89. This is the perfect blog for anyone who wants to find out about this topic.
    You realize a whole lot its almost tough to argue with you (not that I actually will need to…HaHa).
    You definitely put a brand new spin on a subject that's
    been discussed for many years. Great stuff, just wonderful!

    ReplyDelete
  90. Can I simply say what a comfort to find somebody who truly knows what they're talking about on the
    net. You certainly understand how to bring a problem to light and
    make it important. More people must look at this and understand this side of
    your story. It's surprising you're not more popular
    given that you certainly have the gift.

    ReplyDelete
  91. Everything is very open with a precise explanation of the issues.
    It was definitely informative. Your site is very helpful.

    Thank you for sharing!

    ReplyDelete
  92. Having read this I thought it was rather enlightening.
    I appreciate you finding the time and energy to put this
    information together. I once again find myself spending a
    significant amount of time both reading and commenting.
    But so what, it was still worthwhile!

    ReplyDelete
  93. Hello there! I just wish to offer you a huge thumbs up for the excellent information you've got right here on this post.
    I am returning to your website for more soon.

    ReplyDelete
  94. Greetings! Very helpful advice in this particular post! It is the little changes that make the
    largest changes. Many thanks for sharing!

    ReplyDelete
  95. Hi there, There's no doubt that your blog could possibly be having web browser compatibility issues.
    Whenever I look at your blog in Safari, it looks fine
    however, when opening in Internet Explorer,
    it's got some overlapping issues. I simply wanted
    to give you a quick heads up! Other than that, wonderful site!

    ReplyDelete
  96. Howdy! This blog post couldn’t be written much
    better! Looking through this article reminds me of my previous roommate!

    He constantly kept preaching about this. I'll forward this article
    to him. Fairly certain he's going to have a very good read.
    Thank you for sharing!

    ReplyDelete
  97. Aw, this was an extremely nice post. Taking a few minutes and actual effort to generate
    a superb article… but what can I say… I hesitate a whole
    lot and don't manage to get anything done.

    ReplyDelete
  98. This blog was... how do I say it? Relevant!! Finally I've
    found something that helped me. Thanks!

    ReplyDelete
  99. Everything is very open with a very clear description of the challenges.
    It was really informative. Your website is very useful.
    Thanks for sharing!

    ReplyDelete
  100. This website was... how do I say it? Relevant!!
    Finally I've found something which helped me. Kudos!

    ReplyDelete
  101. A motivating discussion is definitely worth comment. I do believe that you need to write more on this topic, it
    may not be a taboo subject but typically folks don't discuss such issues.
    To the next! Cheers!!

    ReplyDelete
  102. I'd like to thank you for the efforts you've put
    in writing this blog. I'm hoping to view the same high-grade content from
    you later on as well. In truth, your creative writing abilities
    has inspired me to get my very own website now ;)

    ReplyDelete
  103. You made some good points there. I looked on the web for more info about the issue and found most people will go along with your views on this web site.

    ReplyDelete
  104. This excellent website certainly has all the information I
    needed about this subject and didn’t know who to ask.

    ReplyDelete
  105. Can I just say what a comfort to discover someone who genuinely understands what they are talking about on the web.

    You actually understand how to bring a problem to light and make it
    important. More people should read this and understand this side of
    the story. I can't believe you're not more popular because
    you certainly possess the gift.

    ReplyDelete
  106. This website was... how do I say it? Relevant!!
    Finally I have found something that helped me. Appreciate it!

    ReplyDelete
  107. I needed to thank you for this great read!! I definitely loved every bit of it.
    I have got you saved as a favorite to check out new stuff you post…

    ReplyDelete
  108. I’m amazed, I have to admit. Seldom do I
    come across a blog that’s equally educative and interesting, and let me tell you, you have hit the nail on the head.
    The issue is an issue that not enough men and women are speaking intelligently about.
    Now i'm very happy I came across this in my hunt for something concerning this.

    ReplyDelete
  109. I blog often and I seriously appreciate your information. This great article has truly peaked my interest.

    I am going to bookmark your site and keep checking for new information about once per week.
    I subscribed to your RSS feed as well.

    ReplyDelete
  110. bookmarked!!, I really like your blog!

    ReplyDelete
  111. Wonderful article! We are linking to this particularly great article on our website.
    Keep up the good writing.

    ReplyDelete
  112. I love reading an article that will make men and women think.

    Also, thank you for allowing me to comment!

    ReplyDelete
  113. Can I simply say what a relief to uncover someone that genuinely knows
    what they are talking about on the net. You actually realize
    how to bring an issue to light and make it important.
    More and more people really need to check this out and understand this side of the story.

    I was surprised that you are not more popular given that you
    definitely have the gift.

    ReplyDelete
  114. Great info. Lucky me I ran across your site by chance (stumbleupon).
    I've book marked it for later!

    ReplyDelete
  115. Having read this I believed it was very
    informative. I appreciate you spending some time and energy to put this short
    article together. I once again find myself spending a lot of time both reading and commenting.
    But so what, it was still worthwhile!

    ReplyDelete
  116. There is definately a lot to find out about this issue. I really like
    all the points you've made.

    ReplyDelete
  117. This is a great tip especially to those fresh to the blogosphere.
    Brief but very precise information… Thanks for sharing this one.
    A must read post!

    ReplyDelete
  118. An outstanding share! I have just forwarded this onto a co-worker who had been conducting a little homework on this.
    And he actually ordered me lunch simply because
    I discovered it for him... lol. So let me reword this....
    Thank YOU for the meal!! But yeah, thanks for spending time to talk about this topic here on your blog.

    ReplyDelete
  119. Greetings! Very helpful advice within this
    post! It's the little changes that produce the biggest changes.

    Thanks for sharing!

    ReplyDelete
  120. Aw, this was an incredibly good post. Spending some time and actual effort
    to make a superb article… but what can I say… I put things off a lot and never seem to get anything done.

    ReplyDelete
  121. I enjoy reading a post that will make men and women think.
    Also, thanks for allowing for me to comment!

    ReplyDelete
  122. Great site you've got here.. It’s hard to find quality writing like
    yours nowadays. I seriously appreciate individuals like you!
    Take care!!

    ReplyDelete
  123. This is a topic which is near to my heart... Many thanks!
    Exactly where are your contact details though?

    ReplyDelete
  124. I blog quite often and I seriously appreciate your content.
    This article has really peaked my interest. I will take a note of your site and keep checking for new information about once
    a week. I opted in for your Feed as well.

    ReplyDelete
  125. Great article. I am facing some of these issues as well..

    ReplyDelete
  126. The very next time I read a blog, I hope that it won't disappoint me as much as this particular one.

    After all, I know it was my choice to read through, however I genuinely believed you'd
    have something interesting to talk about. All I hear is a bunch of crying about something that you could fix if you weren't
    too busy seeking attention.

    ReplyDelete
  127. Spot on with this write-up, I absolutely feel this web site needs much more
    attention. I’ll probably be returning to read more, thanks for the advice!

    ReplyDelete
  128. The next time I read a blog, I hope that it won't disappoint me just as much as this
    particular one. I mean, Yes, it was my choice to read through, however I actually believed you
    would have something useful to talk about.
    All I hear is a bunch of complaining about something you can fix if you weren't too busy searching
    for attention.

    ReplyDelete