Tim Edwards
11/01/2023, 2:12 AMcomp.edges.without_angle(0).without_angle(45).without_angle(90)
.without_angle(-45).output('comp_angle',
'ACUTE : non 45 degree angle comp')
"ACUTE" means an angle of less than 90 degrees, and this is explicitly called out in the GF DRC documentation for "Polygon shapes to be avoided". No circles (roundflashes), no angles or inside corners on transistor gates, and no acute angles on diffusion, poly, or metal.
The rule as implemented in the klayout deck prohibits any angle other than multiples of 45 degrees. That is not the definition of "acute".
Generally speaking, acute angle rules are satisfied by spacing rules, given the way basic spacing rules are usually implemented.
The caravel logo on GF may not have been intended to have non-45-degree angles on polygons (apparently they are an artifact of rescaling the logo from sky130), but they are not DRC errors.Amro Tork
11/01/2023, 3:18 AMAmro Tork
11/01/2023, 3:25 AMTim Edwards
11/01/2023, 1:14 PMSH.2: Avoid any COMP, poly and metal shapes with acute angles (angles <90 degrees). Exceptions are only for pre-tested metal inductors with IND_MK mark layers and lettering (non circuit elements).
Interestingly, they actually allow acute angles in alphabetic characters but (as far as I've found) give no layer to specify areas to be excepted from rule SH.2.Tim Edwards
11/01/2023, 1:23 PMAmro Tork
11/01/2023, 2:30 PMTim Edwards
11/01/2023, 2:32 PMAmro Tork
11/01/2023, 2:33 PM