@channel we have just merged into dev branch the a...
# ihp-sg13g2
k
@channel we have just merged into dev branch the alpha version of the LVS rules, it is ready for testing. You can find it here: https://github.com/IHP-GmbH/IHP-Open-PDK/tree/dev/ihp-sg13g2/libs.tech/klayout/tech/lvs Any feedback is more than welcome
🙌 4
a
Please note that this still alpha and finalization will happen over the next couple of weeks.
b
Thanks, Amro & Krzysztof. I ran some tests today and here is my input: 1. I was able to run the provided test cases and they worked fine. 2. I then tried to LVS a standard cell and found that the LVS seems to require the "HeatTrans" layer to recognize MOS devices. The standard cells don't have that layer, but after adding it manually, the cell passed. I would like to LVS the existing standard cells without that manual step. Any thoughts? 3. Can you briefly explain what the polygons on the *.pin layers do for the LVS? I see them used in the test case. I am used to just assigning pin labels as text (using e.g. Metal1.label) and that also seems to work fine. 4. I think there is a typo in the lyp file, making the Metal1.label layer invalid (the layer should also be "marked" by default so that one can see the text origin):
Copy code
<properties>
    <frame-color>#39bfff</frame-color>
    <fill-color>#39bfff</fill-color>
    <frame-brightness>0</frame-brightness>
    <fill-brightness>0</fill-brightness>
    <dither-pattern>C11</dither-pattern>
    <line-style>C2</line-style>
    <valid>false</valid>
    <visible>true</visible>
    <transparent>false</transparent>
    <width>1</width>
    <marked>false</marked>
    <animation>0</animation>
    <name>Metal1.lbl</name>
    <source>8/1</source>
Plus a bonus question: The documentation says that KLayout 0.28.14+ is required, but my course is currently running version 0.28.13. Is there a good reason to update (I'd like to avoid unless there's a good reason).
a
Thanks Dr. @Boris Murmann
1. That’s great, happy to hear that it worked for you. 2. HeatTrans layer is a layer drawn on top of the gate in this technology for some reason. Based on @Krzysztof Herman response to this, the correct course of action is to update the standard cells to have this layer. 3. Inductor terminal recognition pin layer is required. But I’ll get back to you about general usage. 4. Will fix that. 5. As for the klayout version, I’ll get back to you on that one as well.
🙏 1
Dr. @Boris Murmann, For the klayout version, unfortunately, you have to move to 0.28.14 as some of the derivations for the inductors require a new functionality added by Matthias in Klayout in version 0.28.14. Minimum version is 0.28.14. But I do recommend that you move to 0.29 if possible.
In my setup, I do have multiple versions of klayout to allow switching between different versions while working.
Hope that helps. Please don't hesitate to ask if you have more questions, concerns or issues. Always happy to help.
f
Just confirming, the pin layer is specifically required for inductor devices (ind.pin) according to the DRM, while it is not necessary for other device types.
👍 1
k
@Amro Tork @Farag Elsayed we found a weird behavior of the LVS deck. It is related to the
lvs_options.yml
file where the configuration is stored. So if one run a testcase once the option of
netlist_simplify: true
disappear when closing klayout. Then when starting klayout once again the option is not created what results in the LVS errors.
f
@Krzysztof Herman Will check
1
a
@Krzysztof Herman I haven't finished my review yet.
Stay tuned.
f
I have fixed that, thanks for the catch @Krzysztof Herman
b
Thank you, everyone. Any further thoughts on the HeatTrans layer requirement? Is there a reason why active & poly does not suffice for detecting a transistor? My main issue is that many of the provided cells (digital, IO), do not consistently use that layer on transistors.
a
@Boris Murmann I don't know why it's required. But all the custom devices (PCell based) has this layer on the gate. @Krzysztof Herman Could you please comment on this? If you confirmed that we don't need it, then we could remove it from the recognition requirements.
@Krzysztof Herman The way to go around this, is either to change the LVS and make this layer not required, or to fix the provided standard cells.
b
OK, I think IHP will need to make that decision. Could also be an LVS option, I guess.
a
Would be happy to adopt any decision they reach.
b
@Amro Tork I think I found one more issue: The dpantenna extraction does not seem to be implemented correctly. The test case puts a piece of p+ into the substrate without an n-well (that's not a diode, just an ohmic contact). A device with the proper n-well around it does not get recognized.
f
This device is not completed, we're still waiting for an answer to this question. The testcase matches the current primitive cell in
sg13g2_pr.gds
Similar to some resistors, the current implementations match what we have in provided samples. Will be updated based on answers.
a
Thanks @Farag Elsayed. Thanks Dr. @Boris Murmann, yes we are aware of this issue and we have informed IHP team about this in our review slides.