Closed egorxe closed 2 years ago
@vvbandeira hit a similar issue with bp_dual.
Without running it I can see that the set_max_delay has invalid from/to pins (they are not valid start/end points). They would have to use -through to be valid. But that is certainly no excuse to seg fault.
Without running it I can see that the set_max_delay has invalid from/to pins (they are not valid start/end points). They would have to use -through to be valid. But that is certainly no excuse to seg fault.
Do you consider only input pins of combinational cells as valid start points and outputs as end points? Commercial EDAs I worked with supported inputs and outputs for both (as well as hierarchical pins in non flat designs). This limitation is not a problem, but there is no way to know about it, may be some kind of warning should be produced then SDC is loaded?
my bad, the start/endpoints are fine; it is mcp and false paths that have restrictions. fixed in 50ec2e3c5e36b0c9fc0bf55b2a3f8b3a51936b43
It seems that resizer can't correctly handle internal combinational paths constrained with set_max_delay. I am attaching OpenLane packaged example containing a line of SKY130 buffers constrained like this:
This leads to a crash during repair_timing -setup command with the following stack trace:
Crash comes from NULL dereference in the following line, but I'm not sure where to progress from here: https://github.com/The-OpenROAD-Project/OpenROAD/blob/8cd8fd14357244ec6b5d53b91a6249accdac2832/src/rsz/src/Resizer.cc#L2562
openroad_issue_reproducible.tar.gz