It looks like you're new here. If you want to get involved, click one of these buttons!
Hi all,
I encountered a strange bug that in a recent xsection update some steps etch does not work unless it is done twice.
For example here I am emulating wet etch hardmask removal, and it only works if done twice, despite the thickness of the hardmask being only 0.5um.
_depth = 3
_bias = 3
etch(_depth, _bias, :into => [@SiOx,@SiNx])
#bugs out and does not work without the second etch
etch(_depth, _bias, :into => [@SiOx,@SiNx])
If I increase depth to 6 then it still does not work with only one etch. Only the second etch works.
Any idea of what is going on?
//Btw, xsection is an amazing process visualization tool!
Comments
Hi @ResuS,
Thanks for your feedback
Actually, the xsection script does not really belong here as it is a separate project (https://github.com/klayoutmatthias/xsection). However, I do not actively maintain it and it is pretty much frozen. The reason is that it is already beyond what is reasonable - it is amazingly useful but also is quick to lead you to wrong conclusions and people are raising feature requests that I consider inappropriate for this simple concept. So use on your own risk. I mean that.
If you want to learn more about this: I gave a talk 2022 in Paris about XSection and why I do not really like it. You can watch it here: https://peertube.f-si.org/videos/watch/25b56a31-7357-468c-a9fd-8938e6005fe4
About your specific problem: Did you properly set "depth" (see here: https://klayoutmatthias.github.io/xsection/DocReference)? The default depth is only 2µm (fitting to a planar CMOS process for example), but you are using values much bigger that this. Try a depth of 10µm for example and don't forget to set a larger height too.
With just a small snippet it's impossible to debug the issue. If you find "depth" does not help, please try to paste a stripped down sample and attach some test layout (.zip it to attach it).
Matthias
I think this is a shame that this project is frozen, since it is exceptionally useful in "large processing" such as older nodes or outside of SI world (e.g. InP photonics). For example in my case, if simple wet etch selectivity would be supported - it would cover 99.9% of the process.
Well .. it is easy to unfreeze - anyone can fork and continue the project. It is GPL, so there are no claims from my side.
Seriously - I explained my reasons. It is not a process simulator. There is nothing that simulates a wet etch, hence I don't know how to implement selectivity here. This is why I froze the project. It is not what you think it is. I'm sorry.
Matthias
I hope one day my skill will be high enough to unfreeze it. But for the moment I was not even able to find most the piece of codecin the source files which is responsible for generating "etch" method:) So my time has not come yet.