Hello David.
On 8/1/19 7:42 AM, David Lanzendörfer wrote:
Hi everyone Magic uses the MOSIS design rules by default (on which we've built our rules). The minimum width and length for contacts (including poly contact) is 4 lambda (2 microns side length). So either I hack Magic in a way that it requires less height/length for the vias of LibreSilicon or we try to use 2 microns side length.
Yes, in Magic the Tool like to gets rectangles which are at least 4 by 4 lambdas (2 by 2 micron)
I think, we are free to export them as 2 by 2 lambdas (1 by 1 micron), 'cause we also like to get the overlapping area.
I ascii art a contact on metal1 would would look like
--------+_______+------- | | met1 | cont | met1 | | |_______| --------+ +------- 2u by 2u
The contact itself would 'break', or 'interrupt' the metal1 stripe. As long as the contact is developed fine, no problem. But
--------+-------+------- : ___ : met1 : | | : met1 : |___| : : : --------+-------+------- 1u by 1u
exporting the contact hole smaller than the metal stripe ensures that the metal1 stripe is still conductive even if the contact itself is broken.
Same, when contacts are longer, as in the following ascii art.
--------+-------+-------+------- : ___ : ___ : met1 : | | : | | : met1 : |___| : |___| : : : : --------+-------+-------+------- 2 times 1u by 1u
This contact would have a size of 8 lambdas (4 micron) length and the 4 lambdas (2 micron) width in Magic. In reality, after exporting them from Magic, there are two holes with 1 by 1 micron each on our masks.
So my suggestion is, we use the 4 by 4 lambda rule for Magic and exporting them (with help of our scripts) by - splitting up longer / wider holes into 4 by 4 lambda areas - leave 1 lambda margin around contact holes - every contact hole has to be 2 by 2 lambdas (1 by 1 micron) to satisfy etching issues
BTW, this design pattern of dozens of smaller contact holes instead of one bigger one is quite common in industry. Now, with our etching issues, I figured out why :-)
Regards, Hagen.