볼록한 끝점의 수, edge의 길이, 인접한 모서리 각도/길이에 따른 edge를 선택한다.
convex edge에서 가장 중요한 개념은 볼록한 끝점(convex endpoint)를 이해 하는 것.
<그림1>에서 주황색 위치가 convex endpoint.
아래 예제는 모두 위 <그림1>을 기준으로 설명
Basic syntax
endpoint_constraint에는 0, 1, 2만 기술 할 수 있음.
convecx corner의 interior angle은 180도보다 작아야 한다.
interior angle이 180도 보다 크다는 것은 corner가 concave(오목한)라는 의미이다.
CONVEX EDGE M2dg == 0
13, 14, 15, 16 edge가 선택 됨
CONVEX EDGE M2dg == 1
2, 3, 6, 7, 18, 19, 22, 23 edge가 선택 됨
CONVEX EDGE M2dg == 2
1, 4, 5, 8, 9, 10, 11, 12, 17, 20, 21, 24 edge가 선택 됨
CONVEX EDGE M2dg == 2 WITH LENGTH == 2.5
선택 된 1, 4, 5, 8, 9, 10, 11, 12, 17, 20, 21, 24 edge중 edge의 length가 2.5인 edge만 선택
Detailed syntax
basic syntax에서는 convex endpoint의 각도와 관계없이 endpoint_constraint에 따라 edge를 선택 함. 그러나 detailed syntax에서는 사용자가 원하는 각도로 연결 되어 있는 edge를 선택함. angle은 두개를 지정 해야함.
왜? edge는 항상 두 개의 endpoint를 가지니까. ^^
CONVEX EDGE M2dg ANGLE1 == 90 ANGLE2 == 90
1, 4, 5, 8, 9, 10, 11, 12, 20, 24 edge가 선택 됨.
CONVEX EDGE M2dg ANGLE1 >= 90 ANGLE2 == 90
1~8, 9~12, 17, 19, 20, 21, 23, 24 edge가 선택 됨.
위 두 예제의 차이점에서 angle에 대한 이해를 할 수 있음.
7번 edge를 예로 들면, 7번과 8번 edge의 각도는 90도이고 6번과 7번의 각도는 270도 이다. (참고. convex edge에서 angle을 측정하는 방법은 붙어있는 edge의 안쪽(interior-facing) 즉 shape의 안쪽의 각도를 측정한다).
첫번째 예제에서는 abutting edge의 두 개의 angle이 모두 90도 이어야 한다. 그래서 7/8 edge는 조건에 맞지만 6/7은 조건에 맞지 않아 선택 되지 않는 것이다.
두번째 예제에서는 abutting edge의 angle이 한쪽은 90도이고 다른 한쪽은 90도와 같거나 크면 되므로 7/8 edge도 조건에 맞고(==90) 6/7 edge도 조건에 맞다(>=90) .
또 다른 예로 18번 edge가 선택 안 된 이유는 붙은 edge의 각도가 모두 90도 보다 크기 때문이다. 만약 18번 edge와 22번 edge를 선택하고 싶으면 다음과 같이 사용하면 된다.
CONVEX EDGE M2dg ANGLE1 >= 90 ANGLE2 >= 90
이 예제를 사용하면 1~24번까지 모든 edge가 선택된다.
CONVEX EDGE M2dg ANGLE1 == 270 ANGLE2 == 270
13, 14, 15, 16 edge가 선택 됨.
'EDA > Mentor' 카테고리의 다른 글
Coincident Edge (0) | 2019.05.02 |
---|---|
Net Area Ratio (0) | 2019.04.26 |