<@U016EM8L91B>: KLayout also does not deliver the ...
# magic
p
@User: KLayout also does not deliver the specific layer(s) a DRC issue has happened on, I asked Matthias now to add it there too, I hope that we can find a solution for it within the next 2 weeks, so that I dont have to move my project to mpw-three
m
What is this issue? Sorry, don't see it in the scroll back recently...
p
magic does not report the exact layer(s) of a DRC issue, it only reports which DRC rule the violation caused. But there are rules that are generic and apply to several layers, so when you get such a DRC issue, you don't know which of the layers it is, and that makes it hard to fix those issues in an automatic way
m
Can't the design rule description just be fixed? I thought this is usually just a text phrase for each rule
p
Good idea! @Tim Edwards Which way do you prefer?
t
It's a matter of the fact that Magic doesn't record what layer a design rule violation occurs on. If a rule applies to 20 different types, then magic flags the same error regardless. Fixing it so that each error records what the edge types are requires a wholesale change in the way magic records error information.
m
I guess I still don't understand his issues as most of the rules have messages with the layer types (e.g. "Local interconnect spacing < %d (li.3)"). Is there an example of a rule that matches multiple layers?
t
@Matthew Guthaus: The issue, as I understand it, is that Philipp wants to do fully-automated DRC correction, which means that you really need to get complete details of each error. For boolean geometry checks like Calibre does, I don't see how that's possible, but with magic's edge-based checks, it seems like it could be feasible.
p
I just had another idea: I could try to develop a DRC rule expander, that takes the existing DRC rules and precompiles them into individual DRC rules for each layer?
What about runtime and memory impact for DRC in magic, which would be the preferred solution?
Yes, exactly, I want to fix DRC issues completely automatically
m
You'll need to set up a lot of new data structures for that. I've done one project in layout compaction a few years back -- there's a rich literature on the subject. In particular, you will need to do a "scanline" approach to get the same layer dependencies. Here was my paper that cites some other papers.
That student worked at Gauda at the time which did GPU-based lithography stuff