Dear Community, I'm having an issue with OpenSTA: ...
# general
r
Dear Community, I'm having an issue with OpenSTA: When defining generated_clocks, the report_check command shows the timing from the last generated_clock until the register and omits all the path from the original clock (master clock). Is there a way to enable the report of the whole path from the original clock? For example, in primetime, with the same procedure, the whole path is shown. However, in OpenSTA, the path from the master clock until the last generated_clock is completely omitted. Thank you in advance. Best Regards, Rodrigo Iga #open_sta #sta #static_timing_analysis
v
Can you attach the test case with commands you tried? Have checked this command refere pdf https://github.com/The-OpenROAD-Project/OpenSTA/blob/master/doc/OpenSTA.pdf?
m
Have you tried report_checks -format full_clock_expanded ?
r
Hi Vijayan and Matt, Thank you very much for your response. Yes, I'm using the full_clock_expanded option, and I'm quite familiar with the OpenSTA manual. My issue is quite particular, because I'm working with asynchronous circuits. I want to guide the tool to check the path I need, even if I go across the same path two or three times (necessary for some hold checks and specific controllers). In primetime it works very well (it prints the whole path, from the master clock until the last generated_clock), but in OpenSTA, it only prints the path from the last generated_clock arriving to the endpoint. I wanted to know if there is a "hiden" option to say OpenSTA to print the whole path? Thank you again. Best Regards, Rodrigo Iga
Hi Vijayan and Matt, I will explain my issue with more details, maybe you know how to avoid the issue. I'm implementing STA for asynchronous circuits. In the base case, the combinational loops are conveniently cut in the right places. However, for the hold check, I'm guiding the timing calculation making some generated clocks to follow the whole launch path (we need to make a complete loop to do it), and in this path, I'm passing twice by the same instance and the same timing arc, however, it is not exactly the same clock, but, in the second pass, it is a generated clock derived from the master clock that already passed by this timing arc in the first pass (I hope this explanation is clear for someone reading it). In Primetime, this technique works well, because it is not exactly the same clock passing by the same timing arc twice. However, in OpenSTA, I'm seeing that the tool is arbitrarily cutting the timing arc when the second pass is made, I think, because it is a generated clock derived from a master clock that already passed by this timing arc. Is there any way to make OpenSTA behave like Primetime in a case like this (to detect a combinational loop only if it is the same clock)? I hope my explanations are understandable. Thank you in advance. Best Regards, Rodrigo Iga
m
To be honest I doubt it. @Tom Spyrou might know more
r
Thank you Matt for your response. I will wait for the opinion of @Tom Spyrou. Best regards
t
Try the option -format full_clock_expanded