So does spacing alldifflv,var alldifflv 270 touchi...
# magic
p
So does spacing alldifflv,var alldifflv 270 touching_ok "Diffusion spacing < %d (Diff/tap 3)" mean spacing alldifflv alldifflv 270 touching_ok "Diffusion spacing < %d (Diff/tap 3)" spacing var alldifflv 270 touching_ok "Diffusion spacing < %d (Diff/tap 3)" or does it mean spacing (alldifflv OR var) alldifflv 270 touching_ok "Diffusion spacing < %d (Diff/tap 3)" ?
t
I don't see how those would be different.
p
When you OR 2 layers together, you might "close" holes/notches and therefore you would get less DRC spacing issues.
t
Yes, you are right. So it means (alldifflv OR var).
p
Yes, when I am seperating the rules I get additional DRC violations due to this semantic difference:
So my concept of expanding the DRC rules does not work. And it even seems that magic itself is conceptually not able to determine which layer specifically caused the issue.
That reminds me of Heisenberg, you can either know which layer is affected, or you can know which rule exactly applies, but you can't really know which polygon on which layer on which position exactly causes the DRC violation. Fascinating!
Because one single error- rectangle that magic flags a DRC issue could be actually caused by several pieces on different layers
Hmm, so there are several possible solutions:
We could cross-check the found DRC issues whether they are real DRC issues or fake DRC issues due to the exanding, and weed out the fake DRC issues first.
Or we could keep the virtual DRC rules, and annotate them with all possible layers that could cause them, and just try to correct them on all the layers.