The-OpenROAD-Project / OpenROAD

OpenROAD's unified application implementing an RTL-to-GDS Flow. Documentation at https://openroad.readthedocs.io/en/latest/
https://theopenroadproject.org/
BSD 3-Clause "New" or "Revised" License
1.41k stars 494 forks source link

Reworked sta is to use uniquified ids in hierarchy mode. #5206

Closed andyfox-rushc closed 2 weeks ago

andyfox-rushc commented 2 weeks ago

This pull request reworks the id mechanism used in dbNetwork.cc in hierarchy mode to avoid using the concrete network infra structure (which uses the sta object id) and instead use the database id.

(Matt this step seems sufficiently complex and atomic to merit a pull request in its own right. I factored the code so that the database object id is used to determine the uniquified object id. The database id is shifted left by 4 and then a tag inserted into the lower 4 bits to determine the type of the object.)

github-actions[bot] commented 2 weeks ago

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] commented 2 weeks ago

clang-tidy review says "All clean, LGTM! :+1:"

maliberty commented 2 weeks ago

Are you sure they form a single id space? It seems there is one pretty sta type and only multiple odb objects that map to one sta type need discrimination

github-actions[bot] commented 2 weeks ago

clang-tidy review says "All clean, LGTM! :+1:"

andyfox-rushc commented 2 weeks ago

Is this very small pull request now acceptable ? It is required to allow us to advance to the next step which is remove the intermediate library in dbNetwork used to represent hierarchical cells (which follows the existing coding pattern used) . That step will then allow the sta to work natively on the hierarchical db cells and is a significant functionallity gated by this very minor step.

github-actions[bot] commented 2 weeks ago

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] commented 2 weeks ago

clang-tidy review says "All clean, LGTM! :+1:"