-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added layer map manupulation functions to LefImport #129
Conversation
A preview of is uploaded and can be seen here: ✨ https://lip6.github.io/coriolis/pull/129/ ✨ Changes may take a few minutes to propagate. Since this is a preview of production, content with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK for me. Just one though : why the layer name in the Coriolis config files be different that the ones in the LEF file ? I try to use the same names for the sake of clarity, but maybe there are corner cases.
There is no problem with single LEF, but for different IPs that provide different LEFs, like standard cells LEF and padring cells LEF and SRAM macro LEF they all could have different layer names for the same technology and especially if they are from different providers. The layermap file that accompany the LEF file could be used for mapping names to the proper GDS layers. |
I assume that you did encounter that case. I find it extremely scary that, for a same technology, different providers uses different layer names. Especially as the GDS layer name is not indicated in the LEF file, so we have to rely on some third party information to ensure that the mapping is consistent across different LEF files. |
The accompanied layermap file contains information that maps LEF layer names to GDS numerical values. So this makes LEF use any names for the GDS layers. Using this information will guarantee no mess with layers. |
Also it is not uncommon that the layer names in the design rule manual and the Virtuoso layer names differ from the layer names used in LEF files. In such cases I think in Coriolis the names used in DRM/Virtuoso should be used and the LEF layers mapped onto those names. |
Co-authored-by: Serge Rabyking <[email protected]>
Python functions added to LefImport:
addLayer - add LEF layer name mapped to existing layer
getLayer - get layer mapped by LEF layer name
clearLayer - remove LEF layer name mapping
With these functions it is possible to import LEF with it's layer names mapped to proper existing layers.