The-OpenROAD-Project / OpenSTA

OpenSTA engine
GNU General Public License v3.0
404 stars 172 forks source link

Limit data-to-data pin skew command #239

Closed phsauter closed 5 months ago

phsauter commented 5 months ago

Does OpenSTA have a command similar to Vivados set_bus_skew?

This command can limit the difference in arrival time between two disconnected data pins. This is useful to ensure a group of signals going through a clock domain crossing arrive within a certain time of each other.

https://www.intel.com/content/www/us/en/docs/programmable/683562/21-3/clock-domain-crossing.html

rovinski commented 5 months ago

set_bus_skew is not an SDC command and isn't supported. You won't find that command in any ASIC tools. Here is some recommended reading on clock domain crossing constraints in ASICs: https://gist.github.com/brabect1/7695ead3d79be47576890bbcd61fe426

phsauter commented 5 months ago

Thats a fantastic write-up thank you very much, our current constraints are a mix of what over people did before me, I will unify them into the described method.

I know that set_bus_skew is not an SDC command and just wanted to see if there is something similar. SDC has set_data_check which may be used for the same purpose but yesterday I read the OpenSTA documentation and wasn't quite convinced it is implemented the same way. I think I was just tired, reading it to day its pretty clear that it implements the same check.
Still, I am glad I asked, otherwise I wouldn't have known about the CDC writeup you linked, thanks for that.

I am closing this issue.